/* ==========================================================================
   "פודקאסט" coming-soon landing page (page-templates/podcast.php).
   Loaded only on this one page (tenli_is_podcast_page(), inc/podcast-page.php).
   ========================================================================== */

/* ---- Hero ---------------------------------------------------------------
   Pixel spec from the approved reference: full-bleed white section directly
   under the nav (no breadcrumb row above it — removed from the markup for
   this page only), 50/50 grid, no card/frame/border around the visual side.
   `grid-template-areas` order is "content visual" rather than the more
   obvious "visual content": this site is RTL, and CSS Grid places the first
   named area in the first (= rightmost, per the direction-aware grid spec)
   column — "content visual" is what actually renders content-right/
   visual-left, confirmed against the approved reference via a live render.
   ========================================================================== */
.podcast-hero {
	width: 100%;
	background: #ffffff;
	margin: 0;
	padding: 20px clamp(36px, 5vw, 90px) 24px;
	overflow: hidden;
}
.podcast-hero__inner {
	width: 100%;
	max-width: 1600px;
	min-height: 440px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-areas: "content visual";
	align-items: center;
	gap: 0;
}
.podcast-hero__content { grid-area: content; padding-inline-end: clamp(24px, 4vw, 64px); }

.podcast-hero__art {
	grid-area: visual;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 440px;
	height: clamp(440px, 40vw, 620px);
}
.podcast-hero__ring {
	position: absolute;
	inset-block-start: -10%;
	inset-inline-start: 2%;
	width: 60%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1.5px solid rgba(76, 186, 186, 0.35);
}
.podcast-hero__circle {
	position: absolute;
	inset-block-start: 12%;
	inset-inline-start: 8%;
	width: 46%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--color-teal);
	opacity: 0.16;
}
.podcast-hero__dot {
	position: absolute;
	inset-block-start: 26%;
	inset-inline-start: 4%;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--color-teal);
}
.podcast-hero__wave { position: absolute; inset-block-start: 50%; transform: translateY(-50%); width: 38%; height: auto; }
.podcast-hero__wave--left { inset-inline-start: 0; }
.podcast-hero__wave--right { inset-inline-end: 0; }
.podcast-hero__photo {
	position: relative;
	z-index: 1;
	height: 100%;
	max-height: 620px;
	width: auto;
	max-width: 82%;
	object-fit: contain;
	filter: drop-shadow(0 18px 30px rgba(15, 25, 55, 0.14));
}

.podcast-hero__title { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; color: var(--color-navy); }
.podcast-hero__title-accent { display: block; margin-block-start: 4px; font-size: 1.2em; color: var(--color-teal); }
.podcast-hero__subtitle { margin-block-start: 22px; max-width: 46ch; font-size: 16.5px; line-height: 1.75; color: var(--color-text); opacity: 0.85; }
.podcast-hero__actions { margin-block-start: 32px; display: flex; flex-wrap: wrap; gap: 14px; }

/* ---- Email capture card --------------------------------------------- */
.podcast-subscribe { padding-block-end: 56px; }
.podcast-subscribe__card {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: 32px 36px;
	background: var(--color-white);
	border-radius: 24px;
	box-shadow: 0 20px 50px -20px rgba(44, 52, 126, 0.18);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 32px;
}
.podcast-subscribe__intro { display: flex; align-items: center; gap: 16px; flex: 1 1 320px; }
.podcast-subscribe__icon {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(76, 186, 186, 0.14);
	color: var(--color-teal);
	display: flex;
	align-items: center;
	justify-content: center;
}
.podcast-subscribe__icon svg { width: 24px; height: 24px; }
.podcast-subscribe__intro-text h2 { font-size: 20px; color: var(--color-navy); }
.podcast-subscribe__intro-text p { margin-block-start: 4px; font-size: 14.5px; color: var(--color-text); opacity: 0.75; }

.podcast-subscribe__form { display: flex; gap: 12px; flex: 1 1 380px; }
.podcast-subscribe__form input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 45px;
	padding-inline: 18px;
	border-radius: var(--radius-pill);
	border: 1px solid rgba(5, 39, 72, 0.18);
	background: var(--color-bg-light);
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--color-text);
}
.podcast-subscribe__form input:focus-visible { outline: 2px solid var(--color-teal); outline-offset: 2px; }
.podcast-subscribe__form .btn { flex: 0 0 auto; }

/* Full-width row under the card content — comes after the form in DOM
   (status message, then the privacy note) so it reads immediately below
   the input on every breakpoint without extra markup wrappers. */
.podcast-subscribe__status { flex-basis: 100%; margin: 0; font-size: 14px; font-weight: 600; }
.podcast-subscribe__status[data-state="error"] { color: #b3261e; }
.podcast-subscribe__status[data-state="success"] { color: #1c6e6e; }

.podcast-subscribe__privacy {
	flex-basis: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--color-text);
	opacity: 0.6;
}
.podcast-subscribe__privacy svg { width: 15px; height: 15px; flex: 0 0 auto; }

/* ---- Feature cards --------------------------------------------------- */
.podcast-features { padding-block-end: 64px; }
.podcast-features__grid {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.podcast-feature-card {
	padding: 28px 26px;
	background: var(--color-white);
	border: 1px solid rgba(5, 39, 72, 0.08);
	border-radius: 20px;
}
.podcast-feature-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	margin-block-end: 18px;
}
.podcast-feature-card__icon svg { width: 24px; height: 24px; }
.podcast-feature-card__icon--teal { background: rgba(76, 186, 186, 0.14); color: #1c6e6e; }
/* Local accent, not a sitewide token — used nowhere else, matches the
   reference screenshot's lavender third icon among two teal ones. */
.podcast-feature-card__icon--purple { background: #ece9fb; color: #6c5fc7; }
.podcast-feature-card h3 { font-size: 17px; color: var(--color-navy); }
.podcast-feature-card p { margin-block-start: 8px; font-size: 14.5px; line-height: 1.65; color: var(--color-text); opacity: 0.75; }

/* ---- Responsive -------------------------------------------------------- */
@media (max-width: 960px) {
	.podcast-hero__inner { grid-template-columns: 1fr; grid-template-areas: "visual" "content"; text-align: center; gap: 12px; min-height: 0; }
	.podcast-hero__content { padding-inline-end: 0; }
	.podcast-hero__art { height: clamp(320px, 70vw, 440px); min-height: 0; }
	.podcast-hero__photo { max-width: 72%; }
	.podcast-hero__subtitle { margin-inline: auto; }
	.podcast-hero__actions { justify-content: center; }
	.podcast-features__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.podcast-subscribe__card { padding: 24px 20px; }
	.podcast-subscribe__form { flex-direction: column; }
	.podcast-subscribe__form .btn { width: 100%; justify-content: center; }
	.podcast-hero__actions .btn { width: 100%; justify-content: center; }
}
