/*
Theme Name: Astra Kessler Coaching
Theme URI: https://kesslercoaching.ch
Description: Child Theme fuer Astra
Author: Philipp Kessler
Template: astra
Version: 1.0.0
Text Domain: astra-kessler-coaching
*/

/* Eigene CSS-Anpassungen hier */

/* Homepage pattern: conversion-oriented layout */
.kc-home {
	--kc-max: 1200px;
	--kc-space-desktop: 72px;
	--kc-space-tablet: 48px;
	--kc-space-mobile: 28px;
	--kc-radius: 16px;
	--kc-accent: #8bc53f;
	--kc-accent-hover: #57ae80;
	--kc-brand-dark: #22495a;
}

.kc-home .kc-home__hero-banner,
.kc-home .kc-proof-strip,
.kc-home .kc-offers,
.kc-home .kc-about,
.kc-home .kc-process,
.kc-home .kc-testimonials,
.kc-home .kc-final-cta {
	padding-block: var(--kc-space-desktop);
}

.kc-home h1,
.kc-home h2,
.kc-home h3 {
	color: var(--kc-brand-dark);
}

.kc-home .kc-eyebrow {
	margin-bottom: 0.4rem;
	color: var(--kc-accent-hover);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.85rem;
}

.kc-home .kc-hero__title {
	margin-bottom: 1rem;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.15;
}

.kc-home .kc-hero__text {
	max-width: 62ch;
	margin-bottom: 1.6rem;
}

.kc-home .kc-hero__visual img {
	border-radius: var(--kc-radius);
}

/* Buttons use Astra Customizer presets by default.
 * Keep child-theme overrides minimal to avoid conflicts.
 */

.kc-home .kc-proof-strip {
	padding-top: 18px;
	padding-bottom: 18px;
	background: linear-gradient(90deg, rgba(139, 197, 63, 0.08), rgba(87, 174, 128, 0.08));
	border-radius: var(--kc-radius);
}

.kc-home .kc-proof__item {
	margin: 0;
	text-align: center;
	font-size: 0.95rem;
}

.kc-home .wp-block-columns.kc-offer-grid {
	margin-top: 1.4rem;
	align-items: stretch !important;
	display: flex !important;
}

.kc-home .kc-offer-card {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-radius);
	padding: 1.4rem;
	box-shadow: 0 6px 24px rgba(34, 73, 90, 0.05);
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

.kc-home .kc-offer-grid > .wp-block-column.kc-offer-card {
	display: flex !important;
	flex-direction: column;
	align-self: stretch;
	flex: 1 1 0;
}

.kc-home .kc-offer-grid > .wp-block-column.kc-offer-card .wp-block-button {
	margin-top: auto;
}

@media (min-width: 783px) {
	/* Use grid on tablet+desktop so all three cards keep equal height. */
	.kc-home .wp-block-columns.kc-offer-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
		column-gap: 1rem;
		row-gap: 1rem;
	}

	.kc-home .kc-offer-grid > .wp-block-column.kc-offer-card {
		min-width: 0;
	}
}

.kc-home .kc-offer-card.is-featured {
	border-color: rgba(139, 197, 63, 0.8);
	box-shadow: 0 8px 28px rgba(139, 197, 63, 0.16);
}

.kc-home .kc-offer-meta {
	font-size: 0.9rem;
	color: #4c6370;
	margin-bottom: 1rem;
}

.kc-home .kc-about,
.kc-home .kc-process,
.kc-home .kc-testimonials {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-home .kc-process-grid .kc-step {
	background: #f7fafb;
	border-radius: var(--kc-radius);
	padding: 1.2rem;
}

.kc-home .kc-step__number {
	font-weight: 700;
	color: var(--kc-accent-hover);
	margin-bottom: 0.45rem;
}

.kc-home .kc-testimonial {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-radius);
	padding: 1.2rem;
}

.kc-home .kc-testimonial__name {
	margin: 0.65rem 0 0;
	font-weight: 700;
	color: var(--kc-brand-dark);
}

.kc-home .kc-testimonials-carousel {
	position: relative;
	padding-inline: 2.2rem;
}

.kc-home .kc-testimonials-viewport {
	overflow: hidden;
}

.kc-home .kc-testimonials-track {
	display: flex;
	gap: 1rem;
	transition: transform 0.85s ease-in-out;
	will-change: transform;
}

.kc-home .kc-testimonials-carousel .kc-testimonial {
	flex: 0 0 calc((100% - 2rem) / 3);
	min-height: 100%;
	margin: 0;
}

.kc-home .kc-carousel-btn {
	position: absolute;
	top: 40%;
	z-index: 2;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(34, 73, 90, 0.22);
	border-radius: 999px;
	background: #fff;
	color: #22495a;
	cursor: pointer;
	line-height: 1;
	padding: 0;
}

.kc-home .kc-carousel-btn--prev {
	left: 0;
}

.kc-home .kc-carousel-btn--next {
	right: 0;
}

.kc-home .kc-carousel-btn:hover {
	border-color: #8bc53f;
	color: #57ae80;
}

.kc-home .kc-testimonials-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.kc-home .kc-testimonials-dots button {
	width: 9px;
	height: 9px;
	border: 0;
	border-radius: 999px;
	background: rgba(34, 73, 90, 0.28);
	padding: 0;
	cursor: pointer;
}

.kc-home .kc-testimonials-dots button.is-active {
	background: #8bc53f;
}

.kc-home .kc-final-cta {
	text-align: center;
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.03), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-radius);
}

.kc-home .kc-home__hero-banner,
.kc-home .kc-final-banner {
	margin-block: 0;
	padding-block: 0;
	border-radius: 0;
	position: relative;
	isolation: isolate;
}

.kc-home .kc-home__hero-banner .wp-block-cover__inner-container,
.kc-home .kc-final-banner .wp-block-cover__inner-container {
	padding: 2rem 1.2rem;
	position: relative;
	z-index: 2;
}

.kc-home .is-light {
	color: #fff;
}

.kc-home .kc-home__hero-banner .is-light,
.kc-home .kc-final-banner .is-light {
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
}

.kc-home .kc-home__hero-banner .kc-eyebrow,
.kc-home .kc-home__hero-banner .kc-hero__text,
.kc-home .kc-final-banner p.has-text-align-center.is-light {
	color: #f5fafb !important;
}

/* Match banner text colors inside the site editor iframe. */
.editor-styles-wrapper .kc-home .kc-home__hero-banner .kc-eyebrow,
.editor-styles-wrapper .kc-home .kc-home__hero-banner .kc-hero__text,
.editor-styles-wrapper .kc-home .kc-final-banner p.has-text-align-center.is-light,
.editor-styles-wrapper .kc-home .kc-home__hero-banner .is-light,
.editor-styles-wrapper .kc-home .kc-final-banner .is-light {
	color: #f5fafb !important;
}

/* Dedicated hero button style for "Angebote ansehen". */
.kc-home .wp-block-button.is-style-hero .wp-block-button__link {
	border-radius: 10px;
	border: 1px solid #009345;
	color: #009345;
	background: rgba(230, 241, 243, 0.6);
}

.kc-home .wp-block-button.is-style-hero .wp-block-button__link:hover {
	border-color: #009345;
	color: #009345;
	background: #f5fafb;
}

@media (max-width: 992px) {
	.kc-home .kc-home__hero-banner,
	.kc-home .kc-proof-strip,
	.kc-home .kc-offers,
	.kc-home .kc-about,
	.kc-home .kc-process,
	.kc-home .kc-testimonials,
	.kc-home .kc-final-cta {
		padding-block: var(--kc-space-tablet);
	}

	.kc-home .kc-testimonials-carousel .kc-testimonial {
		flex-basis: calc((100% - 1rem) / 2);
	}

	/* Keep CTA buttons aligned to the same baseline on tablet. */
	.kc-home .wp-block-columns.kc-offer-grid {
		align-items: stretch;
	}

	.kc-home .kc-offer-grid > .wp-block-column.kc-offer-card {
		display: flex !important;
		flex-direction: column;
		align-self: stretch;
	}

	.kc-home .kc-offer-grid > .wp-block-column.kc-offer-card .wp-block-button {
		margin-top: auto;
	}
}

@media (max-width: 782px) {
	.kc-home .kc-home__hero-banner,
	.kc-home .kc-proof-strip,
	.kc-home .kc-offers,
	.kc-home .kc-about,
	.kc-home .kc-process,
	.kc-home .kc-testimonials,
	.kc-home .kc-final-cta {
		padding-block: var(--kc-space-mobile);
	}

	.kc-home .kc-proof-strip {
		padding-inline: 1rem;
	}

	.kc-home .kc-proof .wp-block-column + .wp-block-column {
		margin-top: 0.6rem;
	}

	.kc-home .kc-home__hero-banner .kc-hero__title {
		font-size: clamp(1.7rem, 8vw, 2.2rem);
	}

	.kc-home .kc-testimonials-carousel {
		padding-inline: 0;
	}

	.kc-home .kc-carousel-btn {
		display: none;
	}

	.kc-home .kc-testimonials-carousel .kc-testimonial {
		flex-basis: 100%;
	}
}

/* Human Design offer page pattern */
.kc-hd-page {
	--kc-hd-space-desktop: 64px;
	--kc-hd-space-mobile: 32px;
	--kc-hd-radius: 14px;
}

.kc-hd-page .kc-hd-primary-offers,
.kc-hd-page .kc-hd-secondary-offers,
.kc-hd-page .kc-hd-process,
.kc-hd-page .kc-hd-final-cta {
	padding-block: var(--kc-hd-space-desktop);
}

.kc-hd-page .kc-hd-hero {
	padding-block: 0;
}

.kc-hd-page .kc-hd-eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.6rem;
}

.kc-hd-page .kc-hd-hero-banner {
	margin-block: 0;
	padding-block: 0;
	position: relative;
	isolation: isolate;
}

.kc-hd-page .kc-hd-hero-banner .wp-block-cover__inner-container {
	padding: 2rem 1.2rem;
}

.kc-home .kc-home__hero-banner .wp-block-cover__image-background,
.kc-hd-page .kc-hd-hero-banner .wp-block-cover__image-background {
	object-position: 50% 50% !important;
}

.kc-hd-page .kc-hd-hero .wp-block-heading {
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.15;
	margin-bottom: 1rem;
}

.kc-hd-page .kc-hd-hero-banner .is-light {
	color: #f5fafb !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.kc-hd-page .kc-hd-hero-banner .kc-hd-eyebrow.is-light {
	color: #f5fafb !important;
}

.kc-hd-page .kc-hd-offer-grid {
	margin-top: 1rem;
}

.kc-hd-page .kc-hd-offer-grid > .wp-block-column {
	display: flex;
}

@media (max-width: 1024px) and (min-width: 783px) {
	/* Tablet: primary offers as 2x2 instead of 1x4 */
	.kc-hd-page .kc-hd-offer-grid-primary {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: stretch;
		gap: 1rem;
	}

	.kc-hd-page .kc-hd-offer-grid-primary > .wp-block-column {
		display: flex;
		flex: 0 0 calc(50% - 0.5rem) !important;
		max-width: calc(50% - 0.5rem) !important;
		width: calc(50% - 0.5rem) !important;
		margin: 0 !important;
	}
}

.kc-hd-page .kc-hd-card {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-hd-radius);
	padding: 1.2rem;
	box-shadow: 0 4px 20px rgba(34, 73, 90, 0.06);
	display: flex;
	flex-direction: column;
	width: 100%;
}

.kc-hd-page .kc-hd-card-secondary {
	background: #f9fbfc;
}

.kc-hd-page .kc-hd-price {
	margin: 0;
	color: #22495a;
	font-weight: 700;
	font-size: 0.95rem;
	margin-top: auto;
	padding-top: 0.8rem;
}

.kc-hd-page .kc-hd-card .wp-block-button {
	margin-top: 0.5rem;
	padding-top: 0;
}

.kc-hd-page .kc-hd-card > p:not(.kc-hd-price) {
	margin-bottom: 0.8rem;
}

.kc-hd-page .kc-hd-primary-offers,
.kc-hd-page .kc-hd-secondary-offers,
.kc-hd-page .kc-hd-process {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-hd-page .kc-hd-process .wp-block-list {
	margin: 0.6rem 0 0;
	margin-left: 0;
	padding-left: 1.35rem;
	list-style-position: outside;
}

.kc-hd-page .kc-hd-process .wp-block-list li {
	margin-bottom: 0.25rem;
}

.kc-hd-page .kc-hd-final-cta {
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.02), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-hd-radius);
}

.kc-hd-page .kc-hd-spotlight {
	margin-top: 1.25rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-hd-radius);
}

.kc-hd-page .kc-hd-spotlight img {
	border-radius: 10px;
}

@media (max-width: 782px) {
	.kc-hd-page .kc-hd-primary-offers,
	.kc-hd-page .kc-hd-secondary-offers,
	.kc-hd-page .kc-hd-process,
	.kc-hd-page .kc-hd-final-cta {
		padding-block: var(--kc-hd-space-mobile);
	}
}

/* Ueber mich profile page pattern */
.kc-about-page {
	--kc-about-space-desktop: 64px;
	--kc-about-space-mobile: 32px;
	--kc-about-radius: 14px;
}

.kc-about-page .kc-about-page__intro,
.kc-about-page .kc-about-page__values,
.kc-about-page .kc-about-page__cta {
	padding-block: var(--kc-about-space-desktop);
}

.kc-about-page .kc-about-page__hero {
	margin-block: 0;
	padding-block: 0;
	position: relative;
	isolation: isolate;
}

.kc-about-page .kc-about-page__hero .wp-block-cover__inner-container {
	padding: 2rem 1.2rem;
}

.kc-about-page .kc-about-page__hero .is-light,
.kc-about-page .kc-about-page__hero .kc-about-page__eyebrow {
	color: #f5fafb !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.kc-about-page .kc-about-page__eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.6rem;
}

.kc-about-page .kc-about-page__intro img {
	border-radius: 10px;
}

.kc-about-page .kc-about-page__values {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-about-page .kc-about-page__value-grid {
	margin-top: 1rem;
}

.kc-about-page .kc-about-page__value-card {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-about-radius);
	padding: 1.2rem;
	box-shadow: 0 4px 20px rgba(34, 73, 90, 0.06);
}

.kc-about-page .kc-about-page__cta {
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.02), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-about-radius);
}

@media (max-width: 782px) {
	.kc-about-page .kc-about-page__intro,
	.kc-about-page .kc-about-page__values,
	.kc-about-page .kc-about-page__cta {
		padding-block: var(--kc-about-space-mobile);
	}
}

/* Kontakt page pattern */
.kc-contact-page {
	--kc-contact-space-desktop: 56px;
	--kc-contact-space-mobile: 28px;
	--kc-contact-radius: 14px;
}

.kc-contact-page .kc-contact-page__intro,
.kc-contact-page .kc-contact-page__main,
.kc-contact-page .kc-contact-page__faq {
	padding-block: var(--kc-contact-space-desktop);
}

.kc-contact-page .kc-contact-page__eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.kc-contact-page .kc-contact-page__main,
.kc-contact-page .kc-contact-page__faq {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-contact-page .kc-contact-page__card {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-contact-radius);
	padding: 1.1rem;
	box-shadow: 0 4px 20px rgba(34, 73, 90, 0.06);
	margin-bottom: 1rem;
}

.kc-contact-page .kc-contact-page__card:last-child {
	margin-bottom: 0;
}

.kc-contact-page .kc-contact-page__card .wp-block-list {
	margin: 0.45rem 0 0;
	padding-left: 1.45rem;
	list-style-position: outside;
}

.kc-contact-page .kc-contact-page__card .wp-block-list li {
	margin-bottom: 0.2rem;
}

.kc-contact-page .kc-contact-page__faq-grid {
	margin-top: 1rem;
}

.kc-contact-page .kc-contact-page__faq-item {
	background: #f9fbfc;
	border: 1px solid rgba(34, 73, 90, 0.1);
	border-radius: var(--kc-contact-radius);
	padding: 1rem;
}

@media (max-width: 782px) {
	.kc-contact-page .kc-contact-page__intro,
	.kc-contact-page .kc-contact-page__main,
	.kc-contact-page .kc-contact-page__faq {
		padding-block: var(--kc-contact-space-mobile);
	}
}

/* Human Design knowledge page pattern */
.kc-hd-knowledge {
	--kc-know-space-desktop: 56px;
	--kc-know-space-mobile: 28px;
	--kc-know-radius: 14px;
	background: #fff;
}

.kc-hd-knowledge .kc-hd-knowledge__intro,
.kc-hd-knowledge .kc-hd-knowledge__basics,
.kc-hd-knowledge .kc-hd-knowledge__centers,
.kc-hd-knowledge .kc-hd-knowledge__deepdive,
.kc-hd-knowledge .kc-hd-knowledge__faq,
.kc-hd-knowledge .kc-hd-knowledge__cta {
	padding-block: var(--kc-know-space-desktop);
}

.kc-hd-knowledge .kc-hd-knowledge__eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.kc-hd-knowledge .kc-hd-knowledge__basics,
.kc-hd-knowledge .kc-hd-knowledge__centers,
.kc-hd-knowledge .kc-hd-knowledge__deepdive,
.kc-hd-knowledge .kc-hd-knowledge__faq {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-hd-knowledge .kc-hd-knowledge__grid {
	margin-top: 1rem;
}

.kc-hd-knowledge .kc-hd-knowledge__card,
.kc-hd-knowledge .kc-hd-knowledge__faq-item {
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-know-radius);
	padding: 1.2rem;
	box-shadow: 0 4px 20px rgba(34, 73, 90, 0.06);
}

.kc-hd-knowledge .kc-hd-knowledge__hint {
	background: #f9fbfc;
	border: 1px solid rgba(34, 73, 90, 0.1);
	border-radius: var(--kc-know-radius);
	padding: 1rem;
}

.kc-hd-knowledge .kc-hd-knowledge__hint .wp-block-list {
	margin: 0.55rem 0 0;
	padding-left: 1.35rem;
}

.kc-hd-knowledge .kc-hd-knowledge__faq-grid {
	margin-top: 1rem;
}

.kc-hd-knowledge .kc-hd-knowledge__image-row {
	margin-top: 1.2rem;
}

.kc-hd-knowledge .kc-hd-knowledge__image-placeholder {
	aspect-ratio: 3 / 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f2f7f8;
	border: 1px dashed rgba(34, 73, 90, 0.3);
	border-radius: var(--kc-know-radius);
	padding: 0;
	overflow: hidden;
}

.kc-hd-knowledge .kc-hd-knowledge__image-placeholder .wp-block-image,
.kc-hd-knowledge .kc-hd-knowledge__image-placeholder .wp-block-image.is-resized {
	width: 100% !important;
	height: 100%;
	margin: 0;
}

.kc-hd-knowledge .kc-hd-knowledge__image-placeholder .wp-block-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: 50% 0%;
}

.kc-hd-knowledge .kc-hd-knowledge__accordion {
	margin-top: 0.9rem;
	padding: 0.9rem 1rem;
	background: #fff;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: 10px;
}

.kc-hd-knowledge .kc-hd-knowledge__accordion summary {
	cursor: pointer;
	font-weight: 600;
	color: #22495a;
}

.kc-hd-knowledge .kc-hd-knowledge__accordion > :not(summary) {
	margin-top: 0.65rem;
}

.kc-hd-knowledge .kc-hd-knowledge__cta {
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.02), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-know-radius);
}

@media (max-width: 782px) {
	.kc-hd-knowledge .kc-hd-knowledge__intro,
	.kc-hd-knowledge .kc-hd-knowledge__basics,
	.kc-hd-knowledge .kc-hd-knowledge__centers,
	.kc-hd-knowledge .kc-hd-knowledge__deepdive,
	.kc-hd-knowledge .kc-hd-knowledge__faq,
	.kc-hd-knowledge .kc-hd-knowledge__cta {
		padding-block: var(--kc-know-space-mobile);
	}
}

/* Align intro top offset with About/Kontakt pages. */
.kc-hd-knowledge .kc-hd-knowledge__intro {
	padding-top: 16px;
}

@media (max-width: 992px) {
	.kc-hd-knowledge .kc-hd-knowledge__intro {
		padding-top: 10px;
	}
}

@media (max-width: 782px) {
	.kc-hd-knowledge .kc-hd-knowledge__intro {
		padding-top: 6px;
	}
}

/* Human Design chart page pattern */
.kc-hd-chart {
	--kc-chart-space-desktop: 56px;
	--kc-chart-space-mobile: 28px;
	--kc-chart-radius: 14px;
	background: #fff;
}

.kc-hd-chart .kc-hd-chart__intro,
.kc-hd-chart .kc-hd-chart__embed,
.kc-hd-chart .kc-hd-chart__cta {
	padding-block: var(--kc-chart-space-desktop);
}

.kc-hd-chart .kc-hd-chart__intro {
	padding-top: 16px;
}

.kc-hd-chart .kc-hd-chart__eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.kc-hd-chart .kc-hd-chart__embed,
.kc-hd-chart .kc-hd-chart__cta {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-hd-chart .kc-hd-chart__iframe-wrap {
	position: relative;
	width: 100%;
	min-height: 840px;
	border: 1px solid rgba(34, 73, 90, 0.12);
	border-radius: var(--kc-chart-radius);
	overflow: hidden;
	background: #fff;
	margin-top: 1rem;
}

.kc-hd-chart .kc-hd-chart__iframe-wrap iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 840px;
	border: 0;
}

.kc-hd-chart .kc-hd-chart__iframe-wrap bodygraph-embed {
	display: block;
	width: 100%;
	min-height: 840px;
}

.kc-hd-chart .kc-hd-chart__privacy-note {
	margin-top: 0.8rem;
	color: #4c6370;
}

.kc-hd-chart .kc-hd-chart__cta {
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.02), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-chart-radius);
}

@media (max-width: 992px) {
	.kc-hd-chart .kc-hd-chart__intro {
		padding-top: 10px;
	}

	.kc-hd-chart .kc-hd-chart__iframe-wrap,
	.kc-hd-chart .kc-hd-chart__iframe-wrap iframe {
		min-height: 980px;
	}
}

@media (max-width: 782px) {
	.kc-hd-chart .kc-hd-chart__intro,
	.kc-hd-chart .kc-hd-chart__embed,
	.kc-hd-chart .kc-hd-chart__cta {
		padding-block: var(--kc-chart-space-mobile);
	}

	.kc-hd-chart .kc-hd-chart__intro {
		padding-top: 6px;
	}

	.kc-hd-chart .kc-hd-chart__iframe-wrap,
	.kc-hd-chart .kc-hd-chart__iframe-wrap iframe {
		min-height: 1080px;
	}
}

/* Podcast page pattern */
.kc-podcast-page {
	--kc-podcast-space-desktop: 56px;
	--kc-podcast-space-mobile: 28px;
	--kc-podcast-radius: 14px;
	background: #fff;
}

.kc-podcast-page .kc-podcast-page__intro,
.kc-podcast-page .kc-podcast-page__player,
.kc-podcast-page .kc-podcast-page__cta {
	padding-block: var(--kc-podcast-space-desktop);
}

.kc-podcast-page .kc-podcast-page__intro {
	padding-top: 16px;
}

.kc-podcast-page .kc-podcast-page__eyebrow {
	color: #57ae80;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.kc-podcast-page .kc-podcast-page__player,
.kc-podcast-page .kc-podcast-page__cta {
	border-top: 1px solid rgba(34, 73, 90, 0.08);
}

.kc-podcast-page .kc-podcast-page__embed {
	margin-top: 1rem;
}

.kc-podcast-page .kc-podcast-placeholder {
	background: #f9fbfc;
	border: 1px dashed rgba(34, 73, 90, 0.28);
	border-radius: var(--kc-podcast-radius);
	padding: 1.2rem;
}

.kc-podcast-page .kc-podcast-page__note {
	margin-top: 0.85rem;
	color: #4c6370;
}

.kc-podcast-page .kc-podcast-page__cta {
	background: linear-gradient(180deg, rgba(34, 73, 90, 0.02), rgba(34, 73, 90, 0.08));
	border-radius: var(--kc-podcast-radius);
}

@media (max-width: 992px) {
	.kc-podcast-page .kc-podcast-page__intro {
		padding-top: 10px;
	}
}

@media (max-width: 782px) {
	.kc-podcast-page .kc-podcast-page__intro,
	.kc-podcast-page .kc-podcast-page__player,
	.kc-podcast-page .kc-podcast-page__cta {
		padding-block: var(--kc-podcast-space-mobile);
	}

	.kc-podcast-page .kc-podcast-page__intro {
		padding-top: 6px;
	}
}

/* Human Design Wissen uses Astra separate container.
 * Remove extra container top gap to match other pages.
 */
body.page-id-2955.ast-separate-container #primary {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-id-2955.ast-separate-container .ast-article-single {
	padding-top: 0 !important;
}

/* Lift intro content closer to header on pages without top banner. */
.kc-about-page .kc-about-page__intro {
	padding-top: 16px;
}

.kc-contact-page .kc-contact-page__intro {
	padding-top: 16px;
}

@media (max-width: 992px) {
	.kc-about-page .kc-about-page__intro {
		padding-top: 10px;
	}

	.kc-contact-page .kc-contact-page__intro {
		padding-top: 10px;
	}
}

@media (max-width: 782px) {
	.kc-about-page .kc-about-page__intro {
		padding-top: 6px;
	}

	.kc-contact-page .kc-contact-page__intro {
		padding-top: 6px;
	}
}

