/*
Theme Name: Tender Wisdom
Theme URI: https://tenderwisdom.com
Author: Rouell
Author URI: https://www.rouell.com
Description: A black-and-purple WordPress theme for Vedic astrology, coaching and healing practices. Video hero, credentials, service cards, testimonials, live band and social follow, set in Crimson Pro.
Version: 1.41.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tender-wisdom
Tags: custom-logo, custom-menu, one-column, two-columns, translation-ready
*/

/* ---------- Design tokens ---------- */
:root {
	--tw-black: #000000;
	--tw-purple: #9564B1;
	--tw-purple-deep: #2b1338;
	--tw-gold: #BCAB79;
	--tw-teal: #315659;
	--tw-mint: #E5F4E3;
	--tw-lavender: #f1ebf7;
	--tw-ink: #253031;
	--tw-muted: #5b6669;
	--tw-line: #e4dcec;
	--tw-max: 1140px;
	--tw-font: 'Crimson Pro', Georgia, 'Times New Roman', serif;
}

/* ---------- Base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: #ffffff;
	color: var(--tw-ink);
	font-family: var(--tw-font);
	font-size: 1.15rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--tw-purple);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: var(--tw-gold);
}

h1,
h2,
h3,
h4 {
	font-family: var(--tw-font);
	color: var(--tw-ink);
	line-height: 1.2;
	margin: 0 0 0.5em;
	font-weight: 600;
}

h1 {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 500;
}

h2 {
	font-size: clamp(1.9rem, 3.4vw, 2.6rem);
	font-weight: 500;
}

h3 {
	font-size: 1.4rem;
}

p {
	margin: 0 0 1em;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	background: #ffffff;
	clip: auto;
	clip-path: none;
	color: var(--tw-ink);
	display: block;
	height: auto;
	left: 1rem;
	padding: 0.6rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

.container {
	width: min(100% - 2.5rem, var(--tw-max));
	margin-inline: auto;
}

.narrow {
	max-width: 760px;
}

section {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.bg-soft {
	background: var(--tw-lavender);
}

.eyebrow {
	display: block;
	font-size: 0.8rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--tw-purple);
	margin-bottom: 0.6rem;
}

.section-head {
	text-align: center;
	margin-bottom: 2.8rem;
}

.section-head p {
	color: var(--tw-muted);
}

.ornament {
	display: block;
	color: var(--tw-gold);
	font-size: 1.4rem;
	margin: 1rem 0 1.5rem;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-block;
	padding: 0.75rem 1.9rem;
	border-radius: 999px;
	border: 1px solid var(--tw-purple);
	background: var(--tw-purple);
	color: #ffffff;
	font-family: var(--tw-font);
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn:hover,
.btn:focus {
	background: var(--tw-gold);
	border-color: var(--tw-gold);
	color: #ffffff;
}

.btn--sm {
	padding: 0.45rem 1.2rem;
	font-size: 0.95rem;
}

.btn--gold {
	background: var(--tw-gold);
	border-color: var(--tw-gold);
	color: #1b1b1b;
}

.btn--gold:hover,
.btn--gold:focus {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--tw-ink);
}

/* ---------- Top band (optional, set in Customizer) ---------- */
.top-band {
	background: var(--tw-topband-bg, #2b1338);
	color: #e6d7b0;
	text-align: center;
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	padding: 0.45rem 1rem;
}

.top-band p {
	margin: 0;
}

/* ---------- Header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--tw-header-bg, #000000);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 72px;
}

.site-branding a {
	color: #ffffff;
	text-decoration: none;
	font-size: 1.45rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
}

.site-branding .custom-logo {
	max-height: 52px;
	width: auto;
}

.primary-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.5rem;
	align-items: center;
}

.primary-nav a {
	color: #ffffff;
	text-decoration: none;
	font-size: 1rem;
}

.primary-nav a:hover,
.primary-nav a:focus,
.primary-nav .current-menu-item > a {
	color: var(--tw-gold);
}

.primary-nav li {
	position: relative;
}

.primary-nav .sub-menu {
	display: none;
}

.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
	display: block;
	position: absolute;
	top: 100%;
	left: -0.8rem;
	min-width: 220px;
	background: var(--tw-header-bg, #000000);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	padding: 0.5rem 0;
}

.primary-nav .sub-menu li {
	display: block;
}

.primary-nav .sub-menu a {
	display: block;
	padding: 0.45rem 1.1rem;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.header-user {
	color: #ffffff;
	display: inline-flex;
}

.header-user:hover {
	color: var(--tw-gold);
}

.header-user svg {
	width: 22px;
	height: 22px;
}

.menu-toggle {
	display: none;
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 8px;
	padding: 0.4rem 0.7rem;
	color: #ffffff;
	font-family: var(--tw-font);
	font-size: 1rem;
	cursor: pointer;
}

@media (max-width: 1024px) {
	.menu-toggle {
		display: inline-block;
	}

	.primary-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--tw-header-bg, #000000);
		padding: 1rem 1.25rem 1.5rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.primary-nav.is-open {
		display: block;
	}

	.primary-nav ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.9rem;
	}

	.primary-nav li:hover > .sub-menu,
	.primary-nav li:focus-within > .sub-menu {
		position: static;
		border: 0;
		padding-left: 1rem;
		background: transparent;
	}

	.header-actions .btn--sm {
		display: none;
	}
}

/* ---------- Hero (video or image) ---------- */
.hero {
	position: relative;
	overflow: hidden;
	min-height: min(92vh, 900px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #2b1338, #000000);
	background-size: cover;
	background-position: center;
	color: #ffffff;
	text-align: center;
	padding: 0;
}

.hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.55));
	z-index: 1;
}

.hero__content {
	position: relative;
	z-index: 2;
}

.hero h1 {
	color: #ffffff;
}

.hero__lead {
	color: #e9e0f2;
	font-size: 1.3rem;
}

@media (prefers-reduced-motion: reduce) {
	.hero__video {
		display: none;
	}
}

/* ---------- Welcome ---------- */
.welcome {
	background: var(--tw-lavender);
	text-align: center;
}

.welcome__quote {
	font-size: 1.2rem;
	max-width: 44em;
	margin: 0 auto 1rem;
}

.welcome__sign {
	color: var(--tw-muted);
	font-style: italic;
}

/* ---------- Credentials ---------- */
.creds {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	text-align: center;
}

.arch {
	width: 118px;
	height: 136px;
	margin: 0 auto 1rem;
	border: 1px solid var(--tw-line);
	border-radius: 60px 60px 10px 10px;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.3rem;
	color: var(--tw-gold);
	box-shadow: 0 8px 20px rgba(149, 100, 177, 0.08);
}

.cred h3 {
	font-size: 1.2rem;
	color: var(--tw-gold);
	font-weight: 600;
}

.cred p {
	font-size: 0.98rem;
	color: var(--tw-muted);
}

/* ---------- Split (image and text) ---------- */
.split {
	background: var(--tw-lavender);
}

.split__inner {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 3rem;
	align-items: center;
}

.split__media img,
.ph {
	width: 100%;
	height: auto;
	min-height: 380px;
	object-fit: cover;
}

.ph {
	background: linear-gradient(160deg, #6b4a86, #1b0c26);
}

.split__text p {
	color: var(--tw-muted);
}

@media (max-width: 800px) {
	.split__inner {
		grid-template-columns: 1fr;
	}
}

/* ---------- Service cards ---------- */
.svc-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.25rem;
}

.svc {
	background: #ffffff;
	border: 1px solid var(--tw-line);
	padding: 0.9rem;
	text-align: center;
	box-shadow: 0 10px 24px rgba(37, 48, 49, 0.06);
}

.svc__media {
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(circle at 50% 40%, #5b3478, #1b0c26);
	color: var(--tw-gold);
	font-size: 2.6rem;
	overflow: hidden;
}

.svc__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.svc h3 {
	font-size: 1.15rem;
	margin: 0.9rem 0 0.4rem;
}

.svc p {
	font-size: 0.92rem;
	color: var(--tw-muted);
	min-height: 4.5em;
}

@media (max-width: 1000px) {
	.svc-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.svc-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Testimonials ---------- */
.t-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem 4rem;
}

.t {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 1.4rem;
	align-items: start;
	margin: 0;
}

.t__avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	border: 3px solid var(--tw-purple);
	background: linear-gradient(160deg, #c9b5da, #5e3d7d);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	font-weight: 600;
}

.t__stars {
	color: var(--tw-gold);
	letter-spacing: 0.15em;
	margin: 0.4rem 0;
}

.t blockquote {
	margin: 0 0 0.4rem;
	font-style: italic;
	color: var(--tw-ink);
	font-size: 1.02rem;
}

.t cite {
	font-style: normal;
	font-weight: 600;
}

.t cite span {
	display: block;
	font-weight: 400;
	font-style: italic;
	color: var(--tw-muted);
	font-size: 0.95rem;
}

@media (max-width: 800px) {
	.t-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Live band ---------- */
.live {
	position: relative;
	padding: 0;
	min-height: 760px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	align-items: flex-end;
	text-align: left;
	color: #ffffff;
	background: linear-gradient(160deg, #2b1338, #000000) center / cover no-repeat;
}

.live__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62));
}

.live__content {
	position: relative;
	z-index: 1;
}

.live__glyph {
	display: block;
	font-size: 2.6rem;
	color: var(--tw-gold);
	margin-bottom: 0.8rem;
}

.live h2 {
	color: #ffffff;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.live__actions {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1.4rem;
}

/* ---------- Follow us ---------- */
.follow {
	text-align: center;
}

.social {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.social a {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1.5px solid var(--tw-purple);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tw-purple);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}

.social a:hover,
.social a:focus {
	background: var(--tw-purple);
	color: #ffffff;
}

/* ---------- Footer ---------- */
.site-footer {
	background: var(--tw-footer-bg, #000000);
	color: #d9d2e0;
	padding: 3rem 0 1.5rem;
	font-size: 1.02rem;
}

.site-footer a {
	color: #ffffff;
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
	color: var(--tw-gold);
}

.footer-top {
	display: grid;
	grid-template-columns: 1.2fr 1.6fr auto;
	gap: 2rem;
	align-items: center;
}

.footer-brand .site-title {
	font-size: 1.5rem;
	color: #ffffff;
	font-weight: 600;
	margin: 0;
}

.footer-tag {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #a99cb4;
	margin: 0.4rem 0 0;
}

.footer-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 1.2rem;
	flex-wrap: wrap;
	justify-content: center;
}

.footer-bottom {
	margin-top: 2rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.6rem;
	font-size: 0.95rem;
	color: #a99cb4;
}

.footer-bottom a {
	color: var(--tw-gold);
}

@media (max-width: 800px) {
	.footer-top {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.footer-menu ul {
		justify-content: center;
	}
}

/* ---------- Floating WhatsApp (set the link in Customizer) ---------- */
.whatsapp-float {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 60;
	background: #25d366;
	color: #ffffff;
	border-radius: 999px;
	padding: 0.6rem 1rem;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

.whatsapp-float:hover {
	color: #ffffff;
	background: #1ebe57;
}

/* ---------- Inner pages and posts ---------- */
.content-area {
	padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}

.entry {
	max-width: 760px;
	margin-inline: auto;
}

.entry-header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.entry-meta {
	color: var(--tw-muted);
	font-size: 1rem;
}

.entry-content > * + * {
	margin-top: 1.1em;
}

.entry-content img {
	border-radius: 14px;
	margin-inline: auto;
}

.post-card {
	border-bottom: 1px solid var(--tw-line);
	padding: 2rem 0;
}

.post-card:last-child {
	border-bottom: 0;
}

.post-card h2 a {
	color: var(--tw-ink);
	text-decoration: none;
}

.pagination {
	margin-top: 2.5rem;
	text-align: center;
}

.pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.pagination .page-numbers {
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--tw-line);
	border-radius: 999px;
	text-decoration: none;
	color: var(--tw-ink);
}

.pagination .current {
	background: var(--tw-purple);
	border-color: var(--tw-purple);
	color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}


/* ---------- v1.3.0 overrides ---------- */
.whatsapp-float {
	width: 60px;
	height: 60px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.arch img {
	width: 62%;
	height: auto;
	object-fit: contain;
}

.t__avatar--photo {
	object-fit: cover;
	display: block;
	padding: 0;
}

/* ---------- v1.5.0: inner pages, brand, forms, media ---------- */
.brand-block { display: inline-flex; flex-direction: column; line-height: 1.1; color: var(--tw-brand-color, #ffffff); }
.brand-name { font-family: 'Crimson Pro', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: var(--tw-brand-color, #ffffff); }
.brand-tagline { font-family: 'Crimson Pro', Georgia, serif; font-size: .85rem; letter-spacing: .04em; color: var(--tw-brand-color, #ffffff); opacity: .9; }
.brand-block .custom-logo { max-height: 56px; width: auto; margin-bottom: .3rem; }
.header-user { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; color: inherit; }
.header-user svg { width: 22px; height: 22px; }
.footer-social { margin: 1.5rem 0; }

.inner-band { padding: 4rem 0 3.5rem; text-align: center; }
.inner-band h1 { color: #ffffff; margin: 0; }
.inner { padding: 4rem 0; }
.inner__prose { max-width: 760px; margin: 0 auto; }
.inner__prose p { font-size: 1.15rem; }
.placeholder { color: var(--tw-muted); font-style: italic; }
.two-col { display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 880px) { .two-col { grid-template-columns: 1fr 1fr; } }

.form-box { padding: 2rem; border-radius: 12px; background: var(--tw-lavender); }
.field { display: block; margin-bottom: 1rem; }
.field > span { display: block; font-weight: 600; margin-bottom: .35rem; }
.field input, .field select, .field textarea { width: 100%; padding: .7rem .8rem; border: 1px solid var(--tw-line); border-radius: 8px; font: inherit; background: #ffffff; color: var(--tw-ink); }
.offer-list { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .6rem; }
.offer-list label { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border: 1px solid var(--tw-line); border-radius: 8px; background: #ffffff; cursor: pointer; }
.notice { padding: .9rem 1rem; border-radius: 8px; margin-bottom: 1.5rem; }
.notice--ok { background: var(--tw-mint); color: var(--tw-ink); }
.notice--err { background: #fbe9e9; color: #7a1f1f; }

.media-tabs { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 2.5rem; }
.media-tabs a { padding: .5rem 1.1rem; border: 1px solid var(--tw-purple); border-radius: 999px; color: var(--tw-purple-deep); text-decoration: none; }
.media-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 720px) { .media-grid { grid-template-columns: repeat(3, 1fr); } }
.media-item { background: #ffffff; border: 1px solid var(--tw-line); border-radius: 12px; overflow: hidden; }
.media-item img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.media-item__body { padding: 1rem 1.1rem; }
.media-item__meta { font-size: .9rem; color: var(--tw-muted); }
.post-list { list-style: none; padding: 0; display: grid; gap: 1.5rem; }
.post-list li { border-bottom: 1px solid var(--tw-line); padding-bottom: 1.5rem; }

/* ---------- v1.6.0: header, footer, images, maps ---------- */
.site-branding .custom-logo,
.brand-block .custom-logo { max-height: 40px; width: auto; }
.site-branding a { flex-direction: column; align-items: flex-start; }
.brand-name, .brand-tagline { display: block; }
.brand-tagline { margin-top: 0; }

.footer-top { grid-template-columns: 1fr auto 1fr; }
.footer-menu { text-align: center; }
.footer-menu ul { justify-content: center; }
.footer-top .btn { justify-self: end; }
@media (max-width: 800px) {
	.footer-top { grid-template-columns: 1fr; }
	.footer-top .btn { justify-self: center; }
}

.arch,
.arch img,
.svc__media,
.svc__media img,
.split__inner img,
.split__inner .ph,
.ph,
.t__avatar,
.t__avatar--photo,
.media-item,
.media-item img,
.inner img,
.entry img,
.post-card img,
.content-area img,
.map-frame {
	border-radius: 14px !important;
	overflow: hidden;
}
.svc__media, .arch { overflow: hidden; }

.map-frame { width: 100%; height: 380px; border: 0; display: block; }

/* ---------- v1.7.0: header layout, hamburger, stars, testimonial photos ---------- */
.site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-branding { display: flex; flex-direction: column; align-items: flex-start; color: #ffffff; text-decoration: none; }
.site-branding .brand-block { align-items: flex-start; }
.brand-name { line-height: 1.15; }
.brand-tagline { display: block; margin-top: 0.1rem; line-height: 1.2; }
.primary-nav { justify-self: center; }
.primary-nav ul { justify-content: center; }
.header-actions { justify-self: end; }
.header-cta { white-space: nowrap; }

.menu-toggle { display: none; width: 44px; height: 40px; padding: 0; align-items: center; justify-content: center; }
.menu-toggle__bars { display: block; width: 22px; }
.menu-toggle__bars span { display: block; height: 2px; background: #ffffff; margin: 5px 0; transition: transform 0.2s ease, opacity 0.2s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1024px) {
	.site-header__inner { grid-template-columns: 1fr auto; }
	.menu-toggle { display: inline-flex; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 10px; }
	.primary-nav { justify-self: stretch; }
	.site-header .header-actions .btn--sm { display: inline-flex !important; font-size: 0.85rem; padding: 0.4rem 0.75rem; }
}
@media (max-width: 420px) {
	.site-header .header-actions .header-cta { display: none !important; }
}

.t__stars, .stars { color: #FFD400 !important; letter-spacing: 0.12em; font-size: 1.2rem; }
.t { grid-template-columns: 150px 1fr; }
.t__avatar, .t__avatar--photo { width: 150px; height: 150px; border-radius: 14px !important; object-fit: cover; }
@media (max-width: 560px) {
	.t { grid-template-columns: 110px 1fr; }
	.t__avatar, .t__avatar--photo { width: 110px; height: 110px; }
}

/* ---------- v1.8.0: header rebuild, testimonial photos, social icons, WhatsApp popup ---------- */
.site-header .site-header__inner { display: flex !important; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 72px; }
.site-header .site-branding { display: flex; flex-direction: row; align-items: center; flex: 0 0 auto; color: #ffffff; text-decoration: none; }
.site-header .site-branding a { display: inline-flex; flex-direction: row; align-items: center; font-size: inherit; font-weight: inherit; }
.site-header .brand-block { display: flex; flex-direction: row; align-items: center; gap: 0.75rem; }
.site-header .custom-logo { height: 44px !important; width: auto !important; max-height: 44px !important; max-width: none !important; }
.site-header .brand-text { display: flex; flex-direction: column; justify-content: center; line-height: 1.15; }
.site-header .brand-name { display: block; font-size: 1.2rem; font-weight: 600; color: var(--tw-brand-color, #ffffff); }
.site-header .brand-tagline { display: block; font-size: 0.8rem; margin-top: 0.1rem; color: var(--tw-brand-color, #ffffff); opacity: 0.9; }
.site-header .primary-nav { display: flex; flex: 1 1 auto; justify-content: center; justify-self: auto; }
.site-header .primary-nav ul { justify-content: center; }
.site-header .header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 0.9rem; justify-self: auto; }
@media (max-width: 1024px) {
	.site-header .primary-nav { flex: none; }
}

.t .t__avatar, .t .t__avatar--photo { border-radius: 50% !important; }
.inner .t__avatar--photo { border: 0 !important; }

.social i { font-size: 1.2rem; line-height: 1; }

.whatsapp-float { border: 0; cursor: pointer; line-height: 0; }
.wa-pop { position: fixed; right: 18px; bottom: 88px; z-index: 61; width: min(340px, calc(100vw - 36px)); background: #ffffff; color: #253031; border-radius: 14px; box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3); overflow: hidden; font-family: 'Crimson Pro', Georgia, serif; text-align: left; }
.wa-pop[hidden] { display: none; }
.wa-pop__head { background: #25d366; color: #ffffff; display: flex; justify-content: space-between; align-items: center; padding: 0.8rem 1rem; font-size: 1.1rem; }
.wa-pop__close { background: none; border: 0; color: #ffffff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.wa-pop__body { padding: 1rem; }
.wa-pop__intro { margin: 0 0 0.75rem; font-size: 1rem; }
.wa-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.75rem; }
.wa-chip { border: 1px solid #25d366; background: #f1fbf4; color: #1e6b3a; border-radius: 999px; padding: 0.3rem 0.7rem; font: inherit; font-size: 0.9rem; cursor: pointer; text-align: left; }
.wa-pop__label { display: block; font-weight: 600; margin-bottom: 0.3rem; }
.wa-pop textarea { width: 100%; border: 1px solid #d6dede; border-radius: 8px; padding: 0.5rem; font: inherit; resize: vertical; box-sizing: border-box; }
.wa-pop__send { display: block; margin-top: 0.75rem; text-align: center; background: #25d366; color: #ffffff; border-radius: 999px; padding: 0.6rem 1rem; text-decoration: none; font-weight: 600; }
.wa-pop__send:hover, .wa-pop__send:focus { background: #1ebe57; color: #ffffff; }

/* ---------- v1.9.0: page artwork, calendar, media, captcha, hero video ---------- */
.hero__video { display: block !important; }
.inner-band { position: relative; overflow: hidden; }
.inner-band .container { position: relative; z-index: 1; }
.inner-band__decor { position: absolute; top: 50%; width: 260px; opacity: 0.32; color: var(--tw-gold); transform: translateY(-50%); pointer-events: none; z-index: 0; }
.inner-band__decor--l { left: -90px; }
.inner-band__decor--r { right: -90px; }
.inner-band__decor svg { width: 100%; height: auto; display: block; }
@media (max-width: 720px) {
	.inner-band__decor { width: 150px; opacity: 0.22; }
	.inner-band__decor--l { left: -70px; }
	.inner-band__decor--r { right: -70px; }
}

.cal { background: #ffffff; border: 1px solid var(--tw-line); border-radius: 12px; padding: 1rem; margin-bottom: 1rem; }
.cal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; }
.cal__nav { background: none; border: 1px solid var(--tw-line); border-radius: 8px; width: 36px; height: 36px; cursor: pointer; font-size: 1.2rem; color: var(--tw-ink); }
.cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.cal__dow { font-size: 0.8rem; color: var(--tw-muted); padding: 0.3rem 0; }
.cal__day { border: 1px solid transparent; border-radius: 8px; padding: 0.5rem 0; background: #ffffff; cursor: pointer; font: inherit; color: var(--tw-ink); }
.cal__day:hover { border-color: var(--tw-purple); }
.cal__day.is-off { color: #bdb5c6; background: #f7f5f9; cursor: not-allowed; text-decoration: line-through; }
.cal__day.is-holiday { background: #fdf6e3; border-color: var(--tw-gold); }
.cal__day.is-selected { background: var(--tw-purple); color: #ffffff; }
.cal-holidays { font-size: 0.95rem; margin: -0.4rem 0 1.2rem; }
.cal-holidays ul { margin: 0.2rem 0 0; padding-left: 1.2rem; }
.cal__none { color: var(--tw-muted); margin: 0; }

.g-recaptcha { margin: 0.5rem 0 1rem; }
.media-item .btn--gold { margin-top: 0.4rem; }

/* ---------- v1.10.0: consultation photo and page photos ---------- */
.split--consult .split__media img,
.split--consult .split__media .ph {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	filter: grayscale(100%);
	transition: filter 0.5s ease;
}
.split--consult .split__media img:hover,
.split--consult .split__media .ph:hover,
.split--consult .split__media:hover img {
	filter: grayscale(0%);
}

/* ---------- v1.11.0: tables, gold buttons, events, magazine, header motion ---------- */
.btn--gold, .btn--gold:hover, .btn--gold:focus { background: var(--tw-gold) !important; border-color: var(--tw-gold) !important; color: #ffffff !important; }
.btn--gold:hover, .btn--gold:focus { background: #a8966a !important; border-color: #a8966a !important; }
.site-footer .btn, .site-footer .btn:hover, .site-footer .btn:focus { color: #ffffff !important; }

.tone { filter: grayscale(100%); transition: filter 0.6s ease; }
.tone:hover { filter: grayscale(0%); }

.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--tw-line); border-radius: 14px; background: #ffffff; margin-bottom: 2rem; }
.tw-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.tw-table th, .tw-table td { padding: 0.8rem 1rem; border-bottom: 1px solid var(--tw-line); text-align: left; vertical-align: middle; }
.tw-table th { background: var(--tw-lavender); font-weight: 600; }
.tw-table tr:last-child td { border-bottom: 0; }
.tw-table img, .tw-table video { width: 180px; max-width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; display: block; background: #000; }
.tw-table .btn--gold { white-space: nowrap; }

.magazine { width: 100%; max-width: 1000px; height: 75vh; min-height: 520px; margin: 0 auto; }
.magazine__status { text-align: center; color: var(--tw-muted); font-style: italic; min-height: 1.5em; }

.event-strip { display: flex; gap: 1rem; overflow-x: auto; padding: 0 1rem 1rem; scroll-snap-type: x mandatory; }
.event-strip img { flex: 0 0 auto; width: 260px; height: 180px; object-fit: cover; border-radius: 14px; scroll-snap-align: start; }
.event { border-bottom: 1px solid var(--tw-line); padding: 1.5rem 0; }
.event h4 { font-size: 1.4rem; margin: 0 0 0.4rem; }
.event p { margin: 0.2rem 0; }
.event__text { margin-top: 0.6rem; }

.site-header .header-cta {
	border: 1px solid var(--tw-gold);
	background: linear-gradient(110deg, var(--tw-purple) 40%, var(--tw-gold) 50%, var(--tw-purple) 60%);
	background-size: 250% 100%;
	animation: tw-shimmer 4s linear infinite;
}
@keyframes tw-shimmer {
	from { background-position: 150% 0; }
	to { background-position: -150% 0; }
}
.site-header .primary-nav a { position: relative; }
.site-header .primary-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	background: var(--tw-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}
.site-header .primary-nav a:hover::after,
.site-header .primary-nav a:focus::after,
.site-header .primary-nav .current-menu-item > a::after { transform: scaleX(1); }
.site-header .header-user { transition: color 0.3s ease, transform 0.3s ease; }
.site-header .header-user:hover { color: var(--tw-gold); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
	.site-header .header-cta { animation: none; }
}

/* ---------- v1.12.0 ---------- */
.site-header .header-cta { animation: none !important; background: var(--tw-purple) !important; border: 1px solid var(--tw-gold); }

@keyframes tw-spin { to { transform: rotate(360deg); } }
@keyframes tw-spin-rev { to { transform: rotate(-360deg); } }
@keyframes tw-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.inner-band__decor--l svg { animation: tw-spin 80s linear infinite; }
.inner-band__decor--r svg { animation: tw-spin-rev 80s linear infinite; }
.inner-band h1 { animation: tw-rise 0.9s ease both; }
.inner-band__subject { color: #e9e0f2; font-size: 1.2rem; font-style: italic; margin: 0.6rem 0 0; animation: tw-rise 1.2s ease 0.2s both; }
@media (prefers-reduced-motion: reduce) {
	.inner-band__decor svg, .inner-band h1, .inner-band__subject { animation: none; }
}

section.live { background-size: 100% auto !important; background-position: center top !important; background-repeat: no-repeat; }

.site-footer .social a:hover, .site-footer .social a:focus { color: #ffffff !important; background: var(--tw-purple); border-color: var(--tw-purple); }

.tab-panel[hidden] { display: none; }
.media-tabs a.is-active { background: var(--tw-purple); color: #ffffff; border-color: var(--tw-purple); }
.press-mag { margin: 3rem 0; }
.press-mag h3 { text-align: center; }
.offices-note { text-align: center; font-style: italic; color: var(--tw-muted); margin-top: 2rem; }
.map-frame--sm { height: 220px; border-radius: 14px 14px 0 0; }

/* ---------- v1.13.0 ---------- */
.site-header .header-cta { border: 0 !important; }
.site-header .primary-nav a::after { display: none !important; }
.site-header .primary-nav a:hover,
.site-header .primary-nav a:focus,
.site-header .primary-nav .current-menu-item > a { color: var(--tw-gold) !important; }

.media-tabs a,
.media-tabs a:hover,
.media-tabs a:focus,
.media-tabs a.is-active {
	background: var(--tw-gold) !important;
	border-color: var(--tw-gold) !important;
	color: #ffffff !important;
}
.media-tabs a.is-active { box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px var(--tw-gold); }

/* ---------- v1.14.0: flipbook viewer, office maps ---------- */
.tw-modal { position: fixed; inset: 0; z-index: 100; background: rgba(0, 0, 0, 0.78); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.tw-modal[hidden] { display: none; }
.tw-modal__box { background: #ffffff; border-radius: 14px; width: min(1100px, 100%); max-height: 94vh; overflow: auto; padding: 1rem 1.25rem; }
.tw-modal__bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; font-size: 1.2rem; }
.tw-modal__close { background: none; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; color: var(--tw-ink); }
.tw-book { display: flex; justify-content: center; min-height: 50vh; perspective: 1400px; }
.tw-book__spread { display: flex; gap: 4px; background: #2b1338; padding: 8px; border-radius: 8px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); max-width: 100%; }
.tw-page { height: min(68vh, 760px); width: auto; max-width: 46vw; object-fit: contain; background: #ffffff; border-radius: 4px; }
.tw-book__spread.turn-n { animation: tw-turn-n 0.5s ease; }
.tw-book__spread.turn-p { animation: tw-turn-p 0.5s ease; }
@keyframes tw-turn-n { from { transform: rotateY(-16deg); opacity: 0.3; } to { transform: none; opacity: 1; } }
@keyframes tw-turn-p { from { transform: rotateY(16deg); opacity: 0.3; } to { transform: none; opacity: 1; } }
.tw-book__nav { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0.8rem 0; }
.tw-book__nav button:disabled { opacity: 0.4; cursor: not-allowed; }
@media (max-width: 700px) { .tw-page { max-width: 47vw; } }

.office-map { margin-bottom: 1rem; }
.office-map h3 { text-align: center; margin: 0 0 0.6rem; }
.office-map__frame { height: 300px; }

/* ---------- v1.16.0: Spotify and podcast players, DearFlip press, video testimonials ---------- */
.media-item__meta { color: #6b5a78; margin: 0.2rem 0 0.7rem; font-size: 0.95rem; }
.spotify-embed { max-width: 720px; margin: 0 auto 2rem; }
.spotify-embed iframe { display: block; width: 100%; border: 0; border-radius: 12px; }
.podcast-title { text-align: center; margin: 0 0 0.6rem; }
.press-book { max-width: 1000px; margin: 2.5rem auto 0; }
.press-book[hidden] { display: none; }
.press-book__bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.6rem; font-size: 1.15rem; }
.press-book__close { background: none; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; color: inherit; }
.live__logo { display: block; margin: 0 auto 1.2rem; max-width: min(340px, 70%); max-height: 160px; width: auto; height: auto; background: transparent; }
.t__video { margin: 0.7rem 0 0; }
dialog.tw-video-dialog { position: fixed; border: 0; padding: 0; background: #000; width: min(960px, 94vw); border-radius: 12px; overflow: hidden; }
dialog.tw-video-dialog::backdrop { background: rgba(0, 0, 0, 0.8); }
dialog.tw-video-dialog video { display: block; width: 100%; max-height: 80vh; background: #000; }
.tw-video-dialog__close { position: absolute; top: 0.4rem; right: 0.5rem; z-index: 2; width: 2.2rem; height: 2.2rem; border: 0; border-radius: 50%; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }

/* ---------- v1.17.0: Podcast tab layout ---------- */
.pod { max-width: 1000px; margin: 0 auto; }
.pod__title { text-align: center; margin: 0 0 0.4rem; }
.pod__available { text-align: center; color: #6b5a78; margin: 0 0 1rem; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.85rem; }
.pod__platforms { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-bottom: 2.5rem; }
.pod__platform { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.45rem; min-width: 130px; min-height: 96px; padding: 0.9rem 1rem; border-radius: 14px; background: #2b1338; color: #ffffff; text-decoration: none; font-weight: 600; }
.pod__platform:hover, .pod__platform:focus { background: var(--tw-gold); color: #000000; }
.pod__platform i { font-size: 2rem; line-height: 1; }
.pod__icon-img { height: 44px; width: auto; max-width: 140px; object-fit: contain; background: transparent; }
.pod__feature { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; margin-bottom: 2.5rem; }
.pod__photo { margin: 0; }
.pod__photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; filter: grayscale(100%); transition: filter 0.4s ease; }
.pod__photo img:hover { filter: grayscale(0%); }
.pod__text p:first-child { margin-top: 0; }
.pod__patch { border-radius: 16px; padding: 2rem; color: #111111; text-align: center; margin-bottom: 2.5rem; }
.pod__patch p:first-child { margin-top: 0; }
.pod__patch p:last-child { margin-bottom: 0; }
.pod__episodes { text-align: center; margin: 2rem 0 1rem; }
@media (max-width: 800px) { .pod__feature { grid-template-columns: 1fr; } }

/* ---------- v1.18.0: standard podcast platform row, taller hero and live band ---------- */
.pod__available { font-size: 2.1rem; text-transform: none; letter-spacing: 0; color: #222222; margin: 0 0 1.2rem; }
.pod__platforms { gap: 2.2rem 3rem; margin-bottom: 3rem; align-items: center; }
.pod__platform { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 0; min-height: 0; padding: 0; border-radius: 0; background: transparent; color: var(--pc); font-size: 1.25rem; font-weight: 700; line-height: 1; }
.pod__platform:hover, .pod__platform:focus { background: transparent; color: var(--pc); opacity: 0.75; }
.pod__platform i { font-size: 2.4rem; color: var(--pc); }
.pod__icon-img { height: 48px; max-width: 170px; }

/* ---------- v1.19.0: live text bottom-left, hero sound, Invite Medha carousel ---------- */
.live__content { padding-bottom: 3rem; }
.live__logo { margin: 0 0 1.2rem 0; }
.live h2 { text-align: left; }
.live__actions { justify-content: flex-start; }
.hero__sound { position: absolute; right: 1.2rem; bottom: 1.2rem; z-index: 3; background: rgba(0, 0, 0, 0.6); color: #ffffff; border: 0; border-radius: 999px; padding: 0.55rem 1.1rem; font: inherit; cursor: pointer; }
.hero__sound:hover, .hero__sound:focus { background: var(--tw-gold); color: #000000; }
.carousel { position: relative; max-width: 1000px; margin: 0 auto; }
.carousel__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; scrollbar-width: none; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; }
.carousel__slide img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.carousel__btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #2b1338; color: #ffffff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.carousel__btn:hover, .carousel__btn:focus { background: var(--tw-gold); color: #000000; }
.carousel__btn--prev { left: -8px; }
.carousel__btn--next { right: -8px; }

/* ---------- v1.20.0: Kundali Creation template ---------- */

/* ---------- v1.21.0: Book Consultation descriptive section ---------- */
.cons { margin-bottom: 2.5rem; }
.cons__block { margin: 0 0 2.2rem; }
.cons__block h2, .cons__choose { font-size: 1.6rem; margin: 0 0 0.8rem; }
.cons__choose { margin-top: 1rem; }
.cons-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.4rem; align-items: center; margin: 0 0 2.4rem; background: #ffffff; }
.cons-gallery img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; background: #ffffff; border: 0; border-radius: 0; box-shadow: none; }


/* ---------- v1.22.0: mobile header menu collapses, Book Consultation stays visible ---------- */
@media (max-width: 1024px) {
	.site-header .primary-nav {
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex: none;
		background: var(--tw-header-bg, #000000);
		padding: 1rem 1.25rem 1.5rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		z-index: 60;
	}
	.site-header .primary-nav.is-open {
		display: block !important;
	}
	.site-header .primary-nav ul {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.9rem;
	}
	.site-header .header-actions {
		gap: 0.5rem;
	}
	.site-header .header-actions .header-cta {
		display: inline-flex !important;
		white-space: nowrap;
	}
}
@media (max-width: 420px) {
	.site-header .header-actions .header-cta {
		display: inline-flex !important;
		font-size: 0.72rem;
		padding: 0.35rem 0.55rem;
	}
}

/* ---------- v1.23.0: consultation cards, disclaimer, testimonial images without border ---------- */
.offer-cards { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1.2rem; }
.offer-card label { display: grid; grid-template-columns: minmax(0, 260px) 1fr; gap: 0; cursor: pointer; background: #ffffff; border: 1px solid var(--tw-line); border-radius: 14px; overflow: hidden; }
.offer-card label:has(input:checked) { box-shadow: 0 0 0 2px var(--tw-purple); border-color: var(--tw-purple); }
.offer-card__media { display: block; background: #ffffff; }
.offer-card__img { display: block; width: 100%; height: 100%; min-height: 180px; object-fit: contain; background: #ffffff; border-radius: 0; }
.offer-card__body { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.2rem 1.4rem; }
.offer-card__head { display: flex; align-items: flex-start; gap: 0.5rem; }
.offer-card__head input { margin-top: 0.35rem; }
.offer-card__title { font-size: 1.25rem; }
.offer-card__price { font-weight: 600; color: var(--tw-purple); }
.offer-card__text p { margin: 0 0 0.6rem; }
.offer-card__text p:last-child { margin-bottom: 0; }
.cons-disclaimer { margin-top: 2.5rem; padding: 1.2rem 1.4rem; border-left: 3px solid var(--tw-gold); background: #faf7f2; font-size: 0.95rem; color: #444444; }
.cons-disclaimer p { margin: 0 0 0.6rem; }
.cons-disclaimer p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .offer-card label { grid-template-columns: 1fr; } .offer-card__img { min-height: 0; aspect-ratio: 4 / 3; } }
.t__avatar, .t .t__avatar, .t .t__avatar--photo, .t__avatar--photo, .inner .t__avatar--photo { border: 0 !important; }

/* ---------- v1.24.0: consultation width, circular offer images with text wrapping ---------- */
.container.cons-page { width: 80%; max-width: 80%; }
@media (max-width: 900px) { .container.cons-page { width: 94%; max-width: 94%; } }
.offer-card label { display: block; overflow: hidden; padding: 0; }
.offer-card__media { float: left; width: 200px; height: 200px; margin: 1.2rem 1.6rem 0.8rem 1.2rem; shape-outside: circle(50%); shape-margin: 0.6rem; }
.offer-card__img { width: 100%; height: 100%; min-height: 0; aspect-ratio: 1 / 1; border-radius: 50%; border: 4px solid var(--tw-purple); object-fit: cover; background: #ffffff; }
.offer-card__body { display: block; padding: 1.2rem 1.4rem; }
.offer-card__head { display: block; }
.offer-card__head input { margin-top: 0; }
.offer-card__price, .offer-card__text { display: block; }
.offer-card__title { display: inline; }
@media (max-width: 640px) { .offer-card__media { width: 130px; height: 130px; margin: 1rem 1rem 0.6rem 1rem; } }


/* ---------- v1.25.0: header in two rows on tablets and phones; responsive stacking ---------- */
@media (max-width: 1024px) {
	.site-header .site-header__inner {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		row-gap: 0.5rem;
		min-height: 0 !important;
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
	}
	.site-header .site-branding {
		order: 1;
		width: 100%;
		justify-content: center;
	}
	.site-header .header-actions {
		order: 2;
		width: 100%;
		flex: 0 0 auto;
		justify-content: center;
		align-items: center;
		gap: 0.6rem;
	}
	.site-header .primary-nav {
		order: 3;
	}
}

@media (max-width: 640px) {
	.container {
		width: min(100% - 2rem, var(--tw-max));
	}
	.creds,
	.svc-grid,
	.t-grid,
	.footer-top,
	.split__inner,
	.two-col,
	.media-grid,
	.pod__feature,
	.cons-gallery {
		grid-template-columns: 1fr !important;
	}
	.creds,
	.svc-grid,
	.t-grid {
		gap: 1.6rem;
	}
	.t {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
	}
	.t__avatar,
	.t__avatar--photo {
		width: 110px !important;
		height: 110px !important;
	}
	.footer-top {
		justify-items: center;
		text-align: center;
	}
	.footer-top .btn {
		justify-self: center;
	}
	.footer-bottom {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.5rem;
	}
	.hero {
		min-height: 70vh;
	}
	h1 {
		font-size: 2rem;
	}
	h2 {
		font-size: 1.6rem;
	}
	.live {
		min-height: 560px;
	}
	.inner-band h1 {
		font-size: 1.9rem;
	}
	.form-box {
		padding: 1.2rem;
	}
	.form-box .field input,
	.form-box .field select,
	.form-box .field textarea {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.btn {
		max-width: 100%;
		white-space: normal;
		text-align: center;
	}
	.social {
		flex-wrap: wrap;
		justify-content: center;
	}
	.cal__grid {
		gap: 2px;
	}
	.pod__platforms {
		gap: 1.2rem 1.6rem;
	}
	img,
	video,
	iframe {
		max-width: 100%;
		height: auto;
	}
	.spotify-embed iframe {
		height: 352px;
	}
	.media-item img {
		width: 100%;
	}
}

/* ---------- v1.26.0: header order and centring on mobile; About photo left, text below ---------- */
@media (max-width: 1024px) {
	.site-header .brand-block {
		display: grid;
		grid-template-columns: auto auto;
		justify-content: center;
		align-items: center;
		column-gap: 0.6rem;
		row-gap: 0.15rem;
	}
	.site-header .brand-text {
		display: contents;
	}
	.site-header .brand-block > :not(.brand-text) {
		grid-column: 1;
		grid-row: 1;
	}
	.site-header .brand-block:has(> :not(.brand-text)) .brand-name {
		grid-column: 2;
		grid-row: 1;
	}
	.site-header .brand-name {
		grid-row: 1;
		text-align: left;
	}
	.site-header .brand-block:not(:has(> :not(.brand-text))) .brand-name {
		grid-column: 1 / -1;
		text-align: center;
	}
	.site-header .brand-tagline {
		grid-column: 1 / -1;
		grid-row: 2;
		text-align: center;
	}
	.site-header .header-actions {
		justify-content: flex-start;
	}
	.site-header .menu-toggle {
		order: 0;
	}
	.site-header .header-cta {
		order: 1;
		margin-left: auto;
	}
	.site-header .header-user {
		order: 2;
	}
}

@media (max-width: 800px) {
	.split__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
	.split__media {
		order: 1;
		width: 100%;
		text-align: left;
	}
	.split__media img,
	.split__media .ph {
		display: block;
		width: 100%;
		max-width: 340px;
		margin: 0 0 1.6rem 0;
	}
	.split__text {
		order: 2;
		width: 100%;
		text-align: left;
	}
	.split__text .btn {
		display: inline-flex;
		margin-top: 0.6rem;
	}
}

/* ---------- v1.27.0: catalogue (courses, meditations, e-books, bundles) ---------- */
.shop-search { display: block; width: 100%; max-width: 420px; margin: 1.5rem auto 2rem; padding: 0.7rem 1.1rem; border: 1px solid var(--tw-line); border-radius: 999px; font: inherit; }
.shop-item[hidden], .shop-empty[hidden] { display: none; }
.shop-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 14px; }



/* ---------- v1.31.0: consultation booking (IST, details, policy, consents), events carousel, maintenance, home cards ---------- */
.booking-open { font-weight: 600; color: var(--tw-purple); margin: 0 0 1.2rem; }
.cal-note { margin: 0 0 0.8rem; }
.tz-note { margin: -0.4rem 0 1.2rem; color: var(--tw-purple); font-weight: 600; min-height: 1.2em; }
.check-line { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0 0 1rem; line-height: 1.5; cursor: pointer; }
.check-line input { margin-top: 0.3rem; flex: 0 0 auto; }
.check-line[hidden], .field[hidden] { display: none !important; }
.policy-box { background: #ffffff; border: 1px solid var(--tw-line); border-left: 4px solid var(--tw-purple); border-radius: 8px; padding: 1rem 1.2rem; margin: 0 0 1rem; font-size: 0.97rem; }
.policy-box p { margin: 0 0 0.6rem; }
.policy-box p:last-child { margin-bottom: 0; }

/* Events carousel: scrolls automatically from left to right */
.marquee { overflow: hidden; margin: 0 0 2.5rem; padding: 0.5rem 0 1rem; }
.marquee__track { display: flex; width: max-content; animation: tw-marquee linear infinite; }
.marquee__track img { flex: 0 0 auto; width: 300px; height: 210px; object-fit: cover; border-radius: 14px; margin-right: 1rem; }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes tw-marquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .marquee__track { animation: none; } }
@media (max-width: 640px) { .marquee__track img { width: 220px; height: 160px; } }

/* Testimonials: short text on the home page with a Read more link */
.t__more { font-weight: 600; color: var(--tw-purple); white-space: nowrap; }
.t[id] { scroll-margin-top: 120px; }

/* ---------- v1.33.0: contact consent checkboxes ---------- */
.check-line { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0 0 1rem; line-height: 1.5; cursor: pointer; }

/* ---------- v1.34.0: press DearFlip lightbox, white tab text ---------- */
.press-flip { margin-top: 0.8rem; }
.press-flip .dearflip-lightbox-button, .press-flip a { display: inline-block; }

/* ---------- v1.36.0: credential grid, card images without borders, footer newsletter ---------- */
.creds { grid-template-columns: repeat(3, 1fr) !important; }
@media (max-width: 900px) { .creds { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .creds { grid-template-columns: 1fr !important; } }
.arch { border: 0 !important; box-shadow: none !important; }

.footer-news { max-width: 620px; margin: 0 auto 2.2rem; text-align: center; color: #f3eef7; }
.footer-news h3 { color: #ffffff; margin: 0 0 .4rem; }
.footer-news p { margin: 0 0 1rem; color: rgba(243, 238, 247, .85); }
.footer-news .notice { color: #14081e; }
.footer-news__form { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.footer-news__form input[type=text], .footer-news__form input[type=email] { flex: 1 1 180px; min-width: 0; padding: .7rem 1rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .08); color: #ffffff; font: inherit; }
.footer-news__form input::placeholder { color: rgba(255, 255, 255, .6); }
.footer-news__consent { flex: 0 0 100%; display: flex; gap: .5rem; align-items: flex-start; text-align: left; font-size: .9rem; line-height: 1.45; }
.footer-news__consent input { margin-top: .25rem; flex: 0 0 auto; }

/* ---------- v1.38.0: press magazines (DearFlip covers), WebP option ---------- */
.press-mag-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 300px)); justify-content: center; margin-top: 2.5rem; }
.press-mag-grid .media-item { display: flex; flex-direction: column; }
.press-mag-grid .media-item__body { display: flex; flex-direction: column; flex: 1; }
.press-mag-grid .media-item__body .btn { margin-top: auto; align-self: flex-start; }
.press-mag-grid .press-flip { margin: 0; }
.press-mag-grid .media-item > img,
.press-mag-grid .press-flip img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; object-fit: cover !important; display: block; }

/* ---------- v1.40.1: even credential cards ---------- */
.creds .cred { display: flex; flex-direction: column; align-items: center; }
.cred p {
	flex: 1;
	max-width: 32ch;
	margin: 0 auto;
	line-height: 1.6;
	min-height: 6.4em;
	text-wrap: balance;
}

/* ---------- v1.40.4: photo shape and colour, set for each of the About and Consultation sections ---------- */
.split__photo {
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	background-color: #e9e1ef;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	transition: filter 0.5s ease;
}
.split--vertical .split__photo,
.split--vertical .split__media .ph { aspect-ratio: 3 / 4; height: auto; min-height: 0; }
.split--horizontal .split__photo,
.split--horizontal .split__media .ph { aspect-ratio: 4 / 3; height: auto; min-height: 0; }

.split--tone-mono .split__photo,
.split--tone-mono_hover .split__photo,
.split--tone-mono .split__media .ph,
.split--tone-mono_hover .split__media .ph { filter: grayscale(100%); }
.split--tone-mono_hover .split__media:hover .split__photo,
.split--tone-mono_hover .split__media:hover .ph { filter: none; }
.split--tone-colour .split__photo,
.split--tone-colour .split__media .ph { filter: none; }
@media (hover: none) {
	.split--tone-mono_hover .split__photo,
	.split--tone-mono_hover .split__media .ph { filter: none; }
}

.split.is-panel .split__text {
	background: rgba(255, 255, 255, 0.88);
	padding: 2rem 2.2rem;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(43, 19, 56, 0.12);
}
.split.is-panel .split__text h2 { color: #2b1338; }
.split.is-panel .split__text p { color: #4a3b57; }
@media (max-width: 800px) {
	.split.is-panel .split__text { padding: 1.4rem 1.3rem; }
	.split__photo { max-width: 340px; }
}

/* ---------- v1.40.5: About section with the photo behind the text (full width) ---------- */
.split--bg {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.split--bg::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--tw-bg, none) center top / cover no-repeat;
	transition: filter 0.5s ease;
	pointer-events: none;
}
.split--bg > .container { position: relative; z-index: 1; }
.split--bg .split__inner { min-height: 460px; align-items: center; }
.split--bg.split--vertical .split__inner { min-height: 680px; }
.split--bg .split__media { visibility: hidden; }
.split--bg.split--tone-mono::before,
.split--bg.split--tone-mono_hover::before { filter: grayscale(100%); }
.split--bg.split--tone-mono_hover:hover::before { filter: none; }
.split--bg.split--tone-colour::before { filter: none; }
@media (hover: none) {
	.split--bg.split--tone-mono_hover::before { filter: none; }
}
@media (max-width: 800px) {
	.split--bg .split__inner { min-height: 0; padding: 3rem 0; }
	.split--bg.split--vertical .split__inner { min-height: 0; }
	.split--bg .split__media { display: none; }
}

/* ---------- v1.41.0: blog featured images (header on the post, thumbnail on the blog list) ---------- */
.post-hero { margin: 1.5rem 0 2rem; border-radius: 14px; overflow: hidden; }
.post-hero__img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; }
.blog-card__thumb { display: block; border-radius: 14px; overflow: hidden; margin-bottom: 1rem; aspect-ratio: 16 / 9; }
.blog-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------- v1.41.1: blog list thumbnails beside the text, share icons on posts ---------- */
.blog-card { display: flex; gap: 1.4rem; align-items: flex-start; margin: 0 0 2.4rem; padding: 0 0 2.2rem; border-bottom: 1px solid var(--tw-line); }
.blog-card:last-child { border-bottom: 0; }
.blog-card__thumb { flex: 0 0 200px; width: 200px; aspect-ratio: 4 / 3; margin: 0; border-radius: 12px; overflow: hidden; display: block; }
.blog-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__body { flex: 1; min-width: 0; }
.share { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 1rem; }
.share__label { font-size: 0.9rem; color: var(--tw-muted); margin-right: 0.3rem; }
.share a { display: inline-flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; border: 1px solid var(--tw-line); color: var(--tw-gold); font-size: 1.05rem; text-decoration: none; }
.share a:hover, .share a:focus { background: var(--tw-gold); border-color: var(--tw-gold); color: #ffffff; }
@media (max-width: 640px) {
	.blog-card { flex-direction: column; }
	.blog-card__thumb { flex: none; width: 100%; aspect-ratio: 16 / 9; }
}
