* {
	box-sizing: border-box;
}

:root {
	--gold: #d9b05b;
	--gold-soft: #f0d28b;
	--ink: #081521;
	--text-muted: #bfc7c0;
	--gold-light: #f0d080;
	--green-light: #9cc89c;
	--overlay: rgba(2, 10, 18, 0.48);
	--white: #ffffff;
}

html,
body {
	margin: 0;
	min-height: 100%;
	font-family: 'Montserrat', sans-serif;
	background: #ffffff;
	color: var(--white);
}

body {
	overflow-x: hidden;
}

body.menu-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 720ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 720ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.reveal.fade {
	transform: translateY(18px);
}

.reveal.zoom {
	transform: scale(0.97);
}

.reveal.in-view {
	opacity: 1;
	transform: translateY(0) scale(1);
}

/* Additional reveal variants */
.reveal.zoom-out {
	transform: scale(1.06);
}

.reveal.slide-left {
	transform: translateX(-18px) translateZ(0);
}

.reveal.slide-right {
	transform: translateX(18px) translateZ(0);
}

.reveal img,
.reveal picture,
.reveal .hero-photo {
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	inset: 0 0 auto;
	z-index: 9999; /* keep header above other page elements */
	padding: 0 28px;
	background: rgba(255, 255, 255, 0);
	transition: background-color 220ms ease, box-shadow 220ms ease, padding 220ms ease, transform 950ms cubic-bezier(0.22, 0.61, 0.36, 1);
}


.site-header.header-hidden {
	transform: translateY(-110%);
}

.header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
	min-height: 84px;
}

.brand img {
	display: block;
	width: min(180px, 16vw);
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.32));
	transition: width 220ms ease, filter 220ms ease, transform 220ms ease;
}

.menu-toggle {
	display: none;
	width: 54px;
	height: 54px;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	gap: 5px;
	flex-direction: column;
	box-shadow: none;
	backdrop-filter: none;
}

.menu-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 999px;
	background: #fff;
	transition: transform 180ms ease, opacity 180ms ease;
}

.menu-open .menu-toggle span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.menu-open .menu-toggle span:nth-child(2) {
	opacity: 0;
}

.menu-open .menu-toggle span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.main-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 44px;
	font-size: 0.92rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.main-nav a {
	position: relative;
	padding-bottom: 6px;
	color: rgba(255, 255, 255, 0.92);
	transition: color 220ms ease;
}

.main-nav a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: transparent;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

.main-nav a:hover::after {
	background: #315E26;
	transform: scaleX(1);
}

.main-nav a:hover {
	color: #315E26;
}

/* Minimal dropdown styles for Therapy */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.dropdown-toggle {
	background: transparent;
	border: 0;
	color: rgba(255,255,255,0.92);
	font: inherit;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.92rem;
	font-weight: 500;
	padding-bottom: 6px;
}
.caret-icon { width: 14px; height: 14px; color: inherit; display:inline-block; vertical-align: middle; transition: transform 180ms ease; }
.nav-item:hover .caret-icon, .dropdown-toggle[aria-expanded="true"] .caret-icon { transform: rotate(180deg); }
.dropdown {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	display: none;
	flex-direction: column;
	background: #fff;
	color: #1f2a35;
	padding: 6px 6px;
	border-radius: 8px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
	min-width: 200px;
	z-index: 50;
}
.site-header.scrolled .dropdown-toggle { color: #2c2c2c; }
.site-header.scrolled .caret-icon { color: inherit; }

/* Make Therapy toggle dark on pages that use the contact-page body class (products/contact) */
.contact-page .dropdown-toggle { color: #2c2c2c; }
.contact-page .caret-icon { color: inherit; }
.dropdown a { display:block; padding:10px 14px; color:inherit; text-decoration:none; white-space:nowrap; font-weight:500; }
.dropdown a + a { margin-top:4px }
@media (hover: hover) and (pointer: fine) { .nav-item:hover .dropdown { display: flex; } }

/* Also show when nav-item has .open class (used by JS for stable open state) */
.nav-item.open .dropdown { display: flex; }

/* Mobile submenu appearance */
.mobile-subtoggle { display:block; padding-left: 14px; color: #fff; text-decoration: none; }
.mobile-therapy a { display:block }

.mobile-menu {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: auto;
	width: min(78vw, 340px);
	height: 100vh;
	z-index: 5;
	padding: 96px 18px 18px;
	border-radius: 0;
	background: #b99256;
	border: 0;
	backdrop-filter: none;
	box-shadow: none;
	overflow-y: auto;
	flex-direction: column;
	gap: 12px;
}

.mobile-menu-close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1;
	padding: 0;
	cursor: pointer;
}

.mobile-menu a {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	min-height: 48px;
	border-radius: 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: none;
	background: transparent;
	border: 0;
	font-size: 1.15rem;
	color: #fff;
}

/* Cart button in header */
.cart-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	color: rgba(255,255,255,0.92);
	border: 0;
	font-weight: 600;
	text-decoration: none;
}
.cart-btn i { margin-right: 6px; font-size: 1rem; display:inline-block; vertical-align:middle; }
.cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: var(--gold);
	color: #111;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
}

/* Ensure cart button is visible on pages that use dark header */
.site-header.scrolled .cart-btn,
.contact-page .cart-btn {
	color: #2c2c2c;
}

/* Cart page list */
.cart-page { padding: 90px 24px 120px; max-width: 1100px; margin: 0 auto; }
.cart-list { display: grid; gap: 12px; }
.cart-item { display:flex; gap:12px; align-items:center; background:#fff; padding:12px; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); }
.cart-item img { width:72px; height:72px; object-fit:cover; border-radius:6px; }
.cart-item-info { flex:1 }
.cart-item-title { font-weight:600; color:#111; margin-bottom:6px }
.cart-item-meta { color:#666; font-size:0.95rem }
.cart-item-controls { display:flex; gap:8px; align-items:center }
.cart-empty { text-align:center; padding:42px 0; color:#666 }

/* Bottom checkout bar */
.checkout-bar {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	background: #ffffff;
	border-top: 1px solid rgba(15,20,25,0.06);
	box-shadow: 0 -8px 24px rgba(2,8,12,0.04);
	z-index: 150;
}
.checkout-bar .bar-inner {
	max-width: 1180px; margin: 0 auto; padding: 12px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.bar-left .bar-label { font-size:0.85rem; color:#475569; }
.bar-left .bar-subtotal { font-weight:800; font-size:1.05rem; color:#0f1720 }
.checkout-action { background:#0b0b0b; color:#fff; border:0; padding:14px 28px; border-radius:8px; font-weight:800; letter-spacing:0.08em }

/* Checkout stage (after clicking checkout) */
.checkout-stage { max-width:1180px; margin: 20px auto 80px; display:grid; grid-template-columns: 1fr 420px; gap:28px; align-items:start }
.checkout-left { background:none }
.delivery-tabs { display:flex; gap:12px; margin-bottom:18px }
.delivery-tabs .tab { flex:1; padding:16px; border-radius:12px; background:#f6f5f2; border:1px solid rgba(15,20,25,0.04); cursor:pointer; font-weight:700 }
.delivery-tabs .tab.active { background:#fff; box-shadow:0 6px 18px rgba(8,20,16,0.04); border-color:rgba(15,20,25,0.06) }
.checkout-form .field { width:100%; padding:14px 12px; border-radius:10px; border:1px solid #efe7dd; margin-bottom:12px; font-size:0.95rem }
.checkout-form .split input { width:100% }

.checkout-right .summary-card.big { background:#ffffff; padding:18px; border-radius:10px; box-shadow:0 8px 28px rgba(18,38,30,0.04) }
.summary-item { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid rgba(15,20,25,0.03) }
.summary-item img { width:56px; height:56px; object-fit:cover; border-radius:6px }
.summary-item .s-title { font-weight:700 }
.summary-item .s-price { margin-left:auto; font-weight:700 }
.promo { display:flex; gap:8px; margin:14px 0 }
.promo input { flex:1; padding:12px; border-radius:8px; border:1px solid #efe7dd }
.promo .apply { padding:10px 14px; border-radius:8px; border:0; background:#f3f1ee }
.summary-row { display:flex; justify-content:space-between; padding:10px 0; color:#374151 }
.summary-row.total { font-weight:900; font-size:1.1rem; color:#0f1720 }
.place-order { width:100%; padding:12px; border-radius:8px; background:#0b0b0b; color:#fff; border:0; font-weight:800; margin-top:12px }

@media (max-width: 980px) {
	.checkout-stage { grid-template-columns: 1fr; padding: 0 12px }
	.checkout-bar .bar-inner { padding: 10px }
}

.mobile-phone-btn,
.mobile-cta-btn {
	min-height: 54px;
}

.mobile-phone-btn {
	background: transparent;
	color: #fff;
}

.mobile-cta-btn {
	background: #315E26;
	color: #fff;
}

.mobile-cta-btn:hover {
	background: #315E26;
}

.menu-open .mobile-menu {
	display: flex;
}

.mobile-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 4;
	background: rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(1px);
}

.menu-open .mobile-backdrop {
	display: block;
}

.contact-page {
	background: #ffffff;
	color: #1f2a35;
}

/* Panchakarma page: darker overall background to prevent white gap under footer */
.panchakarma-page {
    background: #07180b;
    color: #F0EAD6;
}

.contact-page .site-header {
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.contact-page .header-inner {
	min-height: 60px;
}

.contact-page .brand img {
	width: min(132px, 12vw);
	filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
}

.contact-page .phone-btn {
	min-height: 54px;
	padding: 0 28px;
	font-size: 0.88rem;
}

.contact-page .site-header.scrolled .header-inner {
	min-height: 60px;
}

.contact-page .site-header.scrolled .phone-btn {
	min-height: 54px;
	padding: 0 28px;
	font-size: 0.88rem;
}

.contact-page .site-header.scrolled .main-nav {
	gap: 44px;
	font-size: 0.92rem;
}

.contact-page .main-nav a {
	color: #2c2c2c;
}

.contact-page .menu-toggle span {
	background: #2c2c2c;
}

.contact-main {
	padding-top: 125px;
}

.contact-hero {
	position: relative;
	padding: 64px 24px 56px;
	background: #1f2a35;
	color: #ffffff;
	overflow: hidden;
}

.contact-hero-banner {
	background-image:
		linear-gradient(rgba(9, 16, 22, 0.68), rgba(9, 16, 22, 0.68)),
		url('imgs/Ayurvedic-header.avif');
	background-size: cover;
	background-position: center;
}

.contact-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 16, 22, 0.35);
}

.contact-hero-inner {
	position: relative;
	width: min(980px, 100%);
	margin: 0 auto;
	text-align: center;
}

/* Panchakarma hero (scoped, header-safe) */
.panchakarma-hero {
	position: relative;
	padding: calc(84px + 20px) 24px 56px; /* reserves header space */
	min-height: 78vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #F0EAD6;
	background-color: #07180b;
	background-image: linear-gradient(rgba(6,20,12,0.72), rgba(6,20,12,0.72)), url('imgs/Ayurvedic-header.avif');
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	isolation: isolate;
}

.panchakarma-hero .panchakarma-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(6, 18, 10, 0.5);
	z-index: 0;
}

/* Decorative hero image element (adds semantic image fallback) */
.panchakarma-hero .hero-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: -1;
}

.panchakarma-hero-inner {
	position: relative;
	z-index: 1;
	width: min(1100px, calc(100% - 48px));
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.panchakarma-title {
	margin: 0 0 6px;
	font-family: 'Cinzel', serif;
	color: #F0D080;
	font-size: clamp(3rem, 6.5vw, 7.2rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-shadow: 0 10px 30px rgba(0,0,0,0.32);
}

.panchakarma-therapy {
	display: block;
	font-style: italic;
	font-family: 'Cinzel', serif;
	color: #D4A843;
	font-size: clamp(2rem, 4.5vw, 4.4rem);
	margin-top: 10px;
	font-weight: 400;
	letter-spacing: 0.04em;
}

.panchakarma-subtitle {
	margin: 8px 0 18px;
	color: rgba(210, 230, 220, 0.85);
	letter-spacing: 0.18em;
	font-weight: 600;
	text-transform: uppercase;
}

.panchakarma-quote {
	max-width: 980px;
	margin: 18px auto 0;
	font-family: 'Cinzel', serif;
	color: rgba(224, 234, 216, 0.95);
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	line-height: 1.6;
	font-style: italic;
}

.panchakarma-hero .hero-actions {
	display: flex;
	gap: 26px;
	justify-content: center;
	margin-top: 34px;
	flex-wrap: wrap;
}

/* Electrohero: left-aligned variant used by electro-therapy page */
.electro-hero {
	position: relative;
	/* fill the full viewport and keep content below the fixed header */
	padding: calc(84px + 40px) 24px 64px;
	min-height: 100vh;
	display: flex;
	align-items: center;
	color: #F0EAD6;
	background-color: #07180b;
	background-image: linear-gradient(rgba(6,20,12,0.72), rgba(6,20,12,0.72)), url('imgs/Ayurvedic-header.avif');
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	isolation: isolate;
}

.electro-hero .hero-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: -1;
}

.electro-hero .electro-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(6,18,10,0.45);
	z-index: 0;
}

.electro-hero .electro-hero-inner {
	position: relative;
	z-index: 1;
	width: min(1100px, calc(100% - 48px));
	max-width: 1100px;
	margin-left: 80px;
	padding-right: 24px;
	text-align: left;
}

/* Centered variant for hero content (horizontal + vertical center) */
.electro-hero.centered {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding-top: calc(84px + 24px); /* keep header offset */
	padding-bottom: 64px;
}

.electro-hero.centered .electro-hero-inner {
	margin-left: 0;
	margin-right: 0;
	text-align: center;
	padding-left: 24px;
	padding-right: 24px;
}

.electro-hero.centered .electro-eyebrow { margin-left: auto; margin-right: auto; }
.electro-hero.centered .electro-features { justify-content: center; }
.electro-hero.centered .electro-title,
.electro-hero.centered .electro-subtitle,
.electro-hero.centered .electro-quote { margin-left: auto; margin-right: auto; }

@media (max-width: 900px) {
	.electro-hero.centered { padding-top: calc(64px + 18px); padding-bottom: 48px; }
}

.electro-eyebrow {
	display: inline-block;
	background: rgba(217,176,91,0.06);
	color: var(--gold);
	padding: 10px 18px;
	border-radius: 999px;
	font-weight:700;
	letter-spacing:0.12em;
	margin-bottom: 18px;
	font-size:0.85rem;
}

.electro-title {
	margin: 0 0 6px;
	font-family: 'Cinzel', serif;
	color: #F0EAD6;
	font-size: clamp(2.8rem, 6.5vw, 5.2rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: 0.02em;
	text-transform: none;
}

.electro-subtitle {
	display: block;
	font-style: italic;
	font-family: 'Cinzel', serif;
	color: #D4A843;
	font-size: clamp(1.8rem, 4.5vw, 3.2rem);
	margin-top: 8px;
	font-weight: 400;
}

.electro-quote {
	max-width: 760px;
	margin-top: 18px;
	font-family: 'Lora', serif;
	color: rgba(224, 234, 216, 0.95);
	font-size: clamp(1rem, 1.2vw, 1.15rem);
	line-height: 1.6;
}

.electro-features { display:flex; gap:18px; margin-top:28px; flex-wrap:wrap; }
.electro-feature { background: rgba(255,255,255,0.04); padding:12px 16px; border-radius:12px; color: rgba(240,240,240,0.95); display:flex; gap:10px; align-items:center; min-width:180px; }

@media (max-width: 900px) {
	.electro-hero { padding: calc(64px + 24px) 18px 48px; min-height: 56vh; }
	.electro-hero .electro-hero-inner { margin-left: 20px; padding-right: 12px; }
	.electro-title { font-size: clamp(1.8rem, 9.5vw, 3.6rem); }
	.electro-subtitle { font-size: clamp(1rem, 6.6vw, 1.8rem); }
	.electro-quote { font-size: 0.98rem; }
}


.panchakarma-hero .explore-btn,
.panchakarma-hero .book-btn {
	min-width: 260px;
	min-height: 68px;
	padding: 0 28px;
	font-size: 1rem;
	font-weight: 700;
}

.panchakarma-hero .explore-btn { background: var(--gold); color: #081521; box-shadow: 0 18px 36px rgba(0,0,0,0.28); }
.panchakarma-hero .book-btn.outline { background: transparent; border: 2px solid rgba(217,176,91,0.95); color: var(--gold); box-shadow: none; }

@media (max-width: 900px) {
	.panchakarma-hero { padding: calc(64px + 18px) 18px 48px; min-height: 52vh; }
	.panchakarma-title { font-size: clamp(1.8rem, 9.5vw, 3.6rem); }
	.panchakarma-therapy { font-size: clamp(1rem, 6.6vw, 2rem); }
	.panchakarma-quote { font-size: 0.95rem; }
	.panchakarma-hero .explore-btn, .panchakarma-hero .book-btn { min-width: 160px; min-height: 48px; }
}

/* Smaller devices: tighten spacing, increase overlay, adjust image focus */
@media (max-width: 540px) {
	.panchakarma-hero {
		/* more aggressive reduction for very small devices */
		padding: 12px 12px 32px;
		min-height: 56vh;
		background-position: center top;
	}

	.panchakarma-hero .hero-photo {
		object-position: center 22%;
		transform: scale(1.06);
	}

	.panchakarma-hero .panchakarma-hero-overlay {
		background: rgba(6, 18, 10, 0.68);
	}

	/* ensure consistent gutters on very small screens */
	.panchakarma-hero-inner {
		width: 100%;
		padding-inline: 20px;
		box-sizing: border-box;
		max-width: 100%;
		margin: 0 auto;
	}

	/* ensure h1 uses the intended hero title rules and wraps instead of overflowing */
	.panchakarma-hero-inner h1,
	.panchakarma-title {
		margin: 0;
		font-family: 'Cinzel', serif;
		font-size: clamp(1.8rem, 8.5vw, 2.6rem);
		line-height: 1.05;
		letter-spacing: 0.04em;
		color: #F0EAD6;
		text-transform: uppercase;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: break-word;
		max-width: 100%;
	}

	.panchakarma-hero-inner h1 {
		margin: 0;
		font-family: 'Cinzel', serif;
		font-size: clamp(1.8rem, 8.5vw, 2.6rem);
		line-height: 1.05;
		letter-spacing: 0.04em;
		color: #F0EAD6;
		text-transform: uppercase;
	}

	.panchakarma-therapy {
		display: block;
		/* larger for better readability on small screens */
		font-size: clamp(1.2rem, 5.2vw, 2.2rem);
		margin-top: 6px;
	}

	.panchakarma-subtitle {
		font-size: 0.75rem;
		margin-top: 6px;
	}

	.panchakarma-quote {
		font-size: 0.95rem;
		margin-top: 14px;
		padding: 0 6px;
	}

	.panchakarma-hero .hero-actions {
		gap: 12px;
		margin-top: 20px;
		flex-direction: column;
		width: 100%;
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
		padding-inline: 12px;
		box-sizing: border-box;
	}

	.panchakarma-hero .explore-btn,
	.panchakarma-hero .book-btn {
		width: 100%;
		min-height: 48px;
		padding: 10px 18px;
		font-size: 0.95rem;
		box-sizing: border-box;
	}

	/* Force the main title onto a single line by disabling breaks and scaling to viewport width */
	.panchakarma-title {
		white-space: nowrap;
		overflow: visible; /* allow the text to remain visible rather than ellipsis */
		text-overflow: clip;
		/* scale responsively to fit narrow screens */
		font-size: clamp(1rem, 6.2vw, 2.0rem);
		letter-spacing: 0.01em;
		word-break: normal;
		overflow-wrap: normal;
	}

	/* Reduce vertical spacing for a tighter layout */
	.panchakarma-subtitle { margin: 6px 0 10px; font-size: 0.72rem; }
	.panchakarma-quote { margin-top: 10px; font-size: 0.92rem; max-width: 88%; }
	.panchakarma-hero { padding-bottom: 28px; }

	/* Slightly smaller buttons and reduced gap */
	.panchakarma-hero .hero-actions { gap: 8px; max-width: 360px; }
	.panchakarma-hero .explore-btn, .panchakarma-hero .book-btn { min-height: 44px; padding: 10px 14px; }
}

@media (max-width: 420px) {
	/* scale the title precisely to fit the available width (adjust divisor for title length) */
 	.panchakarma-hero-inner .panchakarma-title {
 		font-size: clamp(12px, calc((100vw - 48px) / 11), 20px);
 		white-space: nowrap;
 		overflow: visible;
 		letter-spacing: 0;
 	}

 	.panchakarma-hero-inner { padding-inline: 16px; }
 	.panchakarma-hero .hero-actions { max-width: 320px; }

	/* increase therapy size on the narrowest screens */
	.panchakarma-therapy {
		font-size: clamp(1.25rem, 6.0vw, 2.0rem);
		margin-top: 4px;
	}
}

/* further reduce top padding on very small screens */
@media (max-width: 420px) {
	.panchakarma-hero {
		/* bring title closer to top on small phones */
		padding-top: 8px;
		padding-bottom: 28px;
		min-height: 52vh;
	}
}

@media (max-width: 360px) {
	.panchakarma-hero {
		padding-top: 6px;
		padding-bottom: 24px;
		min-height: 48vh;
	}
}

/* Strong override: ensure main "Panchakarma" title scales up on small screens */
@media (max-width: 600px) {
		.panchakarma-hero .panchakarma-title {
				font-size: clamp(1.8rem, 9.5vw, 3.8rem) !important;
				line-height: 1.02 !important;
				white-space: normal !important;
				text-wrap: balance;
		}
}

@media (max-width: 420px) {
		.panchakarma-hero .panchakarma-title {
				font-size: clamp(1.6rem, 9.2vw, 3.2rem) !important;
		}
}

/* About page hero spacing — keep hero lower than fixed header on wide screens */
.page-hero {
	/* adjustable hero offset so fixed header doesn't overlap the title */
	--hero-offset: 120px;
	padding: var(--hero-offset) 20px 60px;
	color: #fff;
	text-align: center;
	background-size: cover;
	background-position: center;
}

@media (min-width: 1000px) {
	/* larger offset on wide screens where header is taller */
	.page-hero { --hero-offset: 260px; }
}

@media (max-width: 768px) {
	.page-hero {
		--hero-offset: 100px;
		padding-bottom: 40px;
	}
}

/* What is Panchakarma section */
.what-panchakarma {
	background: #ffffff;
	color: #15292b;
	padding: 64px 24px 96px;
}
.what-inner {
	width: min(1200px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}
.what-image img {
	width: 100%;
	height: auto;
	border-radius: 14px;
	object-fit: cover;
	box-shadow: 0 20px 40px rgba(10, 20, 12, 0.08);
}
.what-content h2 {
	margin: 0 0 12px;
	/* use an elegant display serif for the section heading */
	font-family: 'Cormorant Garamond', serif;
	color: #315E26;
	font-size: clamp(1.6rem, 2.8vw, 2.6rem);
	letter-spacing: 0.02em;
}
.what-content .lead {
	margin: 0 0 14px;
	/* improved readable serif for long-form copy */
	font-family: 'Lora', serif;
	font-size: 1.05rem;
	color: #2b3a4a;
	line-height: 1.7;
}
.what-eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.2em;
	color: #f0d080;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 8px;
	display: inline-block;
	position: relative;
}
.what-eyebrow::before,
.what-eyebrow::after {
	content: '';
	display: inline-block;
	width: 36px;
	height: 1px;
	background: rgba(240, 208, 128, 0.4);
	vertical-align: middle;
	margin: 0 12px 0 8px;
}
.what-content h2 {
	margin: 0 0 6px;
	font-family: 'Cormorant Garamond', serif;
	color: #F0D080;
	font-size: clamp(1.8rem, 3.6vw, 2.8rem);
	font-weight: 500;
}
.what-content h2 .accent {
	font-style: italic;
	color: #D4A843;
}
.what-divider {
	width: 60px;
	height: 2px;
	background: rgba(212,168,67,0.9);
	margin: 12px auto 18px;
}
.what-content p { color: #2b3a4a; line-height: 1.85; margin: 0 0 12px; font-family: 'Lora', serif; }
.what-content .lead { color: #2b3a4a; }
.what-tags { margin-top: 18px; display:flex; gap:10px; flex-wrap:wrap; }
.tag {
	display:inline-block;
	padding:10px 14px;
	border-radius:8px;
	border: 1px solid rgba(49,94,38,0.12);
	color: var(--gold);
	background: transparent;
	font-weight:700;
	font-size:0.86rem;
	letter-spacing:0.04em;
	font-family: 'Lora', serif;
}
.what-content .intro-btn-primary { margin-top: 20px; }

/* Use site default section background (light) so this section matches others */
.what-panchakarma { background: #ffffff; color: #1f2a35; }
.what-image img { box-shadow: 0 20px 40px rgba(15,20,25,0.06); border-radius: 12px; opacity:1 }

/* Five Pillars section styles */
.pillars-section {
	background: #f8f6f2;
	color: #18302b;
	padding: 64px 20px 84px;
}
.pillars-inner { width: min(1200px, 100%); margin: 0 auto; }
.pillars-section .section-head { text-align: center; margin-bottom: 36px; }
.pillars-section .label { display:inline-block; font-size:0.78rem; letter-spacing:0.2em; color: #bda76a; }
.pillars-section h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3.8vw, 3rem); color: #173126; margin: 10px 0 8px; }
.pillars-intro { max-width: 900px; margin: 0 auto 26px; color:#37574f; font-family: 'Lora', serif; line-height:1.7; }

.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pillar-card { background: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 30px rgba(10,20,16,0.06); padding: 0; display:flex; flex-direction:column; }
.pillar-card img { width: 100%; height: 180px; object-fit: cover; display:block; }
.pillar-card h3 { margin: 16px 18px 8px; font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; color: #1f3a2f; }
.pillar-card p { margin: 0 18px 12px; font-family: 'Lora', serif; color: #2f4b44; line-height:1.65; }
.pillar-card h4 { margin: 0 18px 8px; font-size: 0.95rem; color:#315E26; }
.pillar-card ul { margin: 0 18px 18px 34px; padding: 0; color:#344a43; }
.pillar-card ul li { margin-bottom:8px; }

@media (max-width: 980px) {
	.pillars-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.pillars-grid { grid-template-columns: 1fr; }
	.pillar-card img { height: 220px; }
	.pillars-section { padding: 36px 12px 56px; }
	.pillars-intro { padding: 0 6px; }
}

/* Quote banner (full-width centered) */
.quote-banner {
	background: linear-gradient(180deg, #b98f3f 0%, #d9b05b 100%);
	color: #081521;
	padding: 48px 12px;
	text-align: center;
}
.quote-inner { width: min(1200px, 100%); margin: 0 auto; }
.quote-inner blockquote {
	margin: 0 auto;
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(1.3rem, 4.0vw, 2.6rem);
	font-style: italic;
	color: rgba(2,8,12,0.92);
	line-height: 1.35;
	max-width: 1100px;
	padding: 0 12px;
}
.quote-inner cite {
	display: block;
	margin-top: 18px;
	font-size: 0.85rem;
	color: rgba(2,8,12,0.72);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-family: 'Cinzel', serif;
}

@media (max-width: 540px) {
	.quote-inner blockquote {
		font-size: clamp(0.95rem, 5.8vw, 1.25rem);
		line-height: 1.45;
	}
	.quote-inner cite { font-size: 0.78rem; }
	.quote-banner { padding: 36px 10px; }
}

/* Therapies section styles */
.therapies-section {
	/* Lighter theme-aligned background to match site gold/cream palette */
	background: linear-gradient(180deg, #fbf7ef 0%, #f6f1e6 100%);
	color: #153029; /* dark green for text on cream */
	padding: 64px 20px 84px;
	position: relative;
	z-index: 1;
}

/* If JS reveal observer isn't active, ensure therapies content is visible */
.therapies-section .reveal,
.therapy-featured .reveal,
.therapy-row3.reveal,
.therapy-row2.reveal {
	opacity: 1 !important;
	transform: none !important;
}
.therapies-section .section-inner { width: min(1200px, 100%); margin: 0 auto; }
.therapies-header { text-align: center; margin-bottom: 36px; }
.therapies-header .section-label { display:block; color: var(--gold-soft); letter-spacing:0.18em; font-weight:700; margin-bottom:12px }
.therapies-header .section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4.4vw, 3.8rem); color: #173126; margin: 0 0 8px; }
.therapies-header .divider { width: 60px; height: 2px; background: rgba(49,94,38,0.12); margin: 12px auto 18px; }
.therapies-header p { max-width:820px; margin: 0 auto; color: var(--text-muted); }

.therapy-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; margin-bottom: 28px; }
.therapy-row3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-bottom: 28px; }
.therapy-row2 { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: stretch; }

.therapy-card { background: #ffffff; color: #10221b; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 30px rgba(15,20,15,0.06); position: relative; display:flex; flex-direction:column; }
.therapy-card img { width:100%; height:220px; object-fit:cover; display:block; }
.therapy-badge { position: absolute; left: 18px; top: 18px; background: var(--gold); color: #081521; padding: 6px 10px; border-radius: 999px; font-weight:700; font-size:0.78rem; box-shadow: 0 8px 18px rgba(185,146,86,0.14); }
.therapy-body { padding: 20px 20px 26px; display:flex; flex-direction:column; gap:12px; }
.therapy-body h3 { margin:0; font-family: 'Cormorant Garamond', serif; font-size:1.35rem; color:#173a2f; }
.therapy-tag { display:block; color:var(--text-muted); font-size:0.92rem; }
.therapy-body p { margin:0; color:#37514b; line-height:1.7; font-family: 'Lora', serif; }
.therapy-benefits-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.therapy-tag-pill { background: rgba(49,94,38,0.08); color:#234935; padding:6px 10px; border-radius:999px; font-size:0.82rem; }

.therapy-card.tall { display:flex; flex-direction:column; }

.btn-primary { background: var(--gold); color:#081521; padding:10px 16px; border-radius:8px; text-decoration:none; font-weight:700; display:inline-block; }

@media (max-width: 980px) {
	.therapy-featured { grid-template-columns: 1fr; }
	.therapy-row2 { grid-template-columns: 1fr; }
	.therapy-row3 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px) {
	.therapy-row3 { grid-template-columns: 1fr; }
	.therapy-card img { height:180px; }
	.therapy-card { border-radius:10px; }
	.therapies-section { padding: 36px 12px 56px; }
}

/* Why Choose Us section */
.why-section {
	background: linear-gradient(180deg, #07180b 0%, #062015 100%);
	color: #f7ecd8;
	padding: 48px 20px;
}
.why-inner { width: min(1200px, 100%); margin: 0 auto; text-align: center; }
.why-eyebrow { color: var(--gold); letter-spacing:0.18em; font-weight:700; font-size:0.72rem; margin-bottom:10px; }
.why-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.6rem, 3.2vw, 2.6rem); color: var(--gold); margin: 0 0 8px; }
.why-divider { width: 60px; height: 2px; background: rgba(217,176,91,0.18); margin: 10px auto 14px; }
.why-lead { max-width: 900px; margin: 0 auto 24px; color: rgba(247,236,216,0.85); font-size:0.98rem }

.why-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; align-items: start; }
.why-item { background: transparent; padding: 14px; text-align: center; }
.why-item-wide { grid-column: span 1; }
.why-icon { width: 56px; height: 56px; margin: 0 auto 10px; display: grid; place-items: center; border-radius: 10px; background: rgba(240,208,128,0.06); border: 1px solid rgba(240,208,128,0.08); color: var(--gold); font-size: 1.05rem; }
.why-item h4 { margin: 6px 0 6px; font-family: 'Cinzel', serif; color: var(--gold); font-size: 0.98rem; }
.why-item p { margin: 0; color: rgba(247,236,216,0.85); font-size: 0.88rem; line-height: 1.6; }

@media (max-width: 1200px) {
	.why-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px) {
	.why-grid { grid-template-columns: repeat(2, 1fr); }
	.why-item-wide { grid-column: span 2; }
}
@media (max-width: 640px) {
	.why-grid { grid-template-columns: 1fr; }
	.why-item-wide { grid-column: auto; }
	.why-inner { padding: 0 12px; }
}

/* Book a Consultation styles */
.book-section { background: linear-gradient(180deg,#fbf8f2 0%, #f7f2e8 100%); color: #153029; padding: 44px 16px; }
.book-inner { width: min(1200px,100%); margin: 0 auto; display: grid; grid-template-columns: 1fr 640px; gap: 22px; align-items: start; }
.book-left .eyebrow { color: #b78e3f; letter-spacing:0.12em; font-weight:700; margin-bottom:6px; }
.book-title { font-family: 'Cormorant Garamond', serif; color: #173126; font-size: clamp(1.4rem, 3.2vw, 2.2rem); margin: 0 0 8px; }
.book-lead { color: #37514b; margin-bottom: 14px; max-width: 520px; font-size:0.98rem }
.contact-list { display:flex; flex-direction:column; gap:12px; margin-top: 8px; }
.contact-item { display:flex; gap:12px; align-items:flex-start; }
.contact-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:8px; background: #fff6e6; border:1px solid rgba(217,176,91,0.18); color:#b78e3f; font-size:1.05rem; }
.contact-body strong { display:block; color: #173126; margin-bottom:6px; font-family: 'Cinzel', serif; font-size:0.9rem; }
.contact-small { color: #37514b; font-size:0.92rem; line-height:1.6 }

.book-right { background: linear-gradient(180deg, rgba(6,20,12,0.82) 0%, rgba(6,20,12,0.92) 100%); border: 1px solid rgba(22,54,42,0.5); padding: 18px; border-radius: 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.02), 0 8px 18px rgba(0,0,0,0.42); }
/* ensure the booking card sits above the section background and other elements */
.book-section { position: relative; padding-top: 20px; }
.book-right { position: relative; z-index: 3; }
.book-form h3 { margin: 0 0 8px; font-family: 'Cormorant Garamond', serif; color: var(--gold); font-size: 1.4rem; }

/* Diet hero (full viewport, centered) */
.diet-hero {
	position: relative;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	background-image: url('imgs/diet-therapy.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover; /* fill the hero and cover borders */
}

.diet-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(6,18,10,0.18); /* light overlay for contrast */
	z-index: 0;
}

.diet-hero-inner { position: relative; z-index: 1; padding: 24px; width: min(1100px, calc(100% - 48px)); }

.diet-title { margin: 0; font-family: 'Cinzel', serif; color: #F0EAD6; font-size: clamp(2rem, 6.5vw, 4rem); line-height: 1.02; }

@media (max-width: 900px) {
	.diet-title { font-size: clamp(1.4rem, 10vw, 2.4rem); }
}

/* Improved typography for diet hero title */
.diet-title {
	font-weight: 600;
	letter-spacing: 0.02em;
	text-shadow: 0 14px 30px rgba(2,8,6,0.45);
	margin-bottom: 0;
}
.diet-accent {
	display: inline-block;
	color: var(--gold);
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.04em;
	font-size: 0.95em;
}

@media (min-width: 1200px) {
	.diet-title { font-size: clamp(3rem, 6vw, 6rem); }
	.diet-accent { font-size: 1.05em; }
}

@media (max-width: 520px) {
	.diet-title { font-size: clamp(1.2rem, 9.5vw, 2rem); }
	.diet-accent { display: block; margin-top: 6px; }
}
.form-lead { margin: 0 0 12px; color: rgba(240,220,170,0.7); }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-grid input, .form-grid select, .date-input, textarea { background: rgba(6,18,14,0.36); border: 1px solid rgba(34,74,62,0.16); padding: 10px 12px; color: rgba(220,237,230,0.96); border-radius:8px; font-family: 'Montserrat', sans-serif; font-size:0.95rem }
.form-grid input::placeholder, .form-grid select::placeholder, textarea::placeholder { color: rgba(170,198,187,0.5) }

/* labels above inputs in the booking form */
.book-form .form-label { display:block; font-size:0.72rem; color: rgba(240,220,170,0.92); text-transform:uppercase; letter-spacing:0.12em; margin-bottom:6px; font-weight:600; }

/* make sure label-wrapped inputs inherit full width */
.form-grid label { display:block; }
.form-grid label input,
.form-grid label select { width: 100%; box-sizing: border-box; }

/* Improve select appearance: dark background, light text, custom caret */
.form-grid select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, rgba(220,237,230,0.9) 50%), linear-gradient(135deg, rgba(220,237,230,0.9) 50%, transparent 50%);
	background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 13px) calc(1em + 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 40px;
	color: rgba(220,237,230,0.96);
}
.form-grid select:focus { outline: none; box-shadow: 0 0 0 3px rgba(217,176,91,0.08); }
.form-grid select option { color: #0f241c; background: #fbfbfb; }

/* Hide default dropdown arrow in IE */
select::-ms-expand { display: none; }
.date-input { width: 100%; margin-top: 10px; background: rgba(8,20,16,0.28); border: 1px solid rgba(34,74,62,0.28); }
.book-form textarea { width:100%; margin-top:12px; resize:vertical; min-height:100px; }
.book-form button.btn-primary { background: linear-gradient(180deg,var(--gold) 0%, #c79b4a 100%); color:#081521; padding:14px 18px; border-radius:6px; margin-top:12px; border:0; display:block; width:100%; font-weight:700; }

@media (max-width: 980px) {
	.book-inner { grid-template-columns: 1fr; }
	.book-right { order: 2; }
}
@media (max-width: 520px) {
	.book-inner { padding:0; gap:18px }
	.form-grid { grid-template-columns: 1fr; }
	.book-right { padding:18px }
}

@media (max-width: 900px) {
	.what-inner { grid-template-columns: 1fr; gap: 22px; }
	.what-content h2 { text-align: center; }
	.what-eyebrow { text-align:center; display:block; }
	.what-divider { margin-left: auto; margin-right: auto; }
	.what-content p, .what-content .lead { text-align: center; }
	.what-tags { justify-content: center; }
}
.what-content p { color: #2b3a4a; line-height: 1.7; margin: 0 0 12px; }
.what-list { margin: 10px 0 18px; padding-left: 18px; color: #2b3a4a; }
.what-list li { margin: 8px 0; }
.what-content .intro-btn-primary { display:inline-block; margin-top: 6px; }

@media (max-width: 900px) {
	.what-inner { grid-template-columns: 1fr; gap: 22px; }
	.what-image img { border-radius: 10px; }
	.what-content h2 { text-align: center; }
	.what-content .lead, .what-content p { text-align: center; }
	.what-content .intro-btn-primary { display: block; margin: 18px auto 0; }
}

.contact-hero h1 {
	margin: 0 0 10px;
	font-family: 'Cinzel', serif;
	font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	color: #ffffff;
}

/* Scroll-to-top button (site-wide) */
.scroll-top {
	position: fixed;
	bottom: 36px;
	right: 36px;
	width: 60px;
	height: 60px;
	background: #2e2214; /* fallback dark bark */
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 24px rgba(46,34,20,0.22);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .35s, transform .35s ease, background .2s;
	z-index: 1200;
}
.scroll-top svg { width: 22px; height: 22px; }
.scroll-top.visible { opacity: 1; transform: translateY(0); }
.scroll-top:hover { background: #3d5c34; transform: translateY(-3px) !important; }

@media (max-width: 768px) {
	.scroll-top { bottom: 20px; right: 20px; }
}

/* Floating container for stacked buttons when used by JS */
.float-buttons {
	position: fixed;
	right: 24px;
	bottom: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px; /* tightened gap */
	z-index: 1600;
}

.float-buttons .scroll-top,
.float-buttons .whatsapp-btn {
	position: relative !important; /* override fixed positioning when inside container */
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
}

/* WhatsApp floating button (uses user's image at imgs/whatsapp-img.png) */
.whatsapp-btn {
	position: fixed;
	bottom: 110px; /* sits above the scroll-top button */
	right: 36px;
	width: 96px;
	height: 96px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 1400;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .25s, transform .25s cubic-bezier(.22,.61,.36,1);
}
.whatsapp-btn.visible { opacity: 1; transform: translateY(0); }
.whatsapp-btn:hover { transform: translateY(-3px); }

/* white halo behind the circular WhatsApp image */
/* remove white halo; make image fill the circular button */
.whatsapp-btn img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }

/* Centered feature block (below hero) */
.diet-feature { background: linear-gradient(180deg, #fbf8f2 0%, #f7f2e8 100%); padding: 56px 18px; }
.diet-feature-inner { width: min(1100px, 100%); margin: 0 auto; text-align: center; }
.feature-eyebrow { display:inline-block; color: var(--gold); font-weight:700; letter-spacing:0.18em; font-size:0.85rem; text-transform:uppercase; background: rgba(217,176,91,0.06); padding:8px 14px; border-radius:999px; margin-bottom:12px; }
.feature-title { margin: 12px 0 10px; font-family: 'Cormorant Garamond', serif; color: #173126; font-size: clamp(1.8rem, 4.4vw, 3.6rem); line-height:1.08; font-weight:700; }
.feature-accent { display:inline-block; color:#b84536; font-style:italic; font-family: 'Cormorant Garamond', serif; font-weight:700; font-size:1.05em; margin-left:6px; }
.feature-lead { margin: 0 auto; max-width:820px; color:#37514b; font-family: 'Lora', serif; font-size:1.02rem; line-height:1.75; }

@media (max-width: 720px) {
	.diet-feature { padding: 36px 12px; }
	.feature-title { font-size: clamp(1.15rem, 8.6vw, 1.9rem); }
	.feature-lead { font-size: 0.98rem; }
}

@media (max-width: 768px) {
	.whatsapp-btn { bottom: 96px; right: 20px; width: 86px; height: 86px; }
	.whatsapp-btn img { width: 100%; height: 100%; }
	.scroll-top { width: 50px; height: 50px; }
	.scroll-top svg { width: 20px; height: 20px; }
}

.contact-breadcrumb {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	font-size: 0.98rem;
	color: rgba(255, 255, 255, 0.82);
}

.contact-breadcrumb a {
	color: #ffffff;
}

/* Footer social icons under Visit Us */
.footer-social {
	display: flex;
	gap: 12px;
	margin-top: 12px;
}
.footer-social a {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.06);
	border-radius: 50%;
	color: #f47c20; /* orange icon color */
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.footer-social a:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.08); }
.footer-social i { font-size: 15px; }

.contact-section {
	padding: 48px 24px 90px;
}

.contact-map-section {
	padding: 0 0 90px;
}

.contact-map {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 8px 12px;
	box-sizing: border-box;
	overflow: hidden;
}

.contact-map-embed {
	display: block;
	width: 100%;
	height: 480px; /* larger map for better visibility */
	border: 0;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(6,16,12,0.08);
}

@media (max-width: 900px) {
	.contact-map-embed { height: 320px; }
}

@media (max-width: 520px) {
	.contact-map-embed { height: 240px; }
}

.contact-grid {
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(300px, 1fr) minmax(320px, 1fr);
	gap: 36px;
}

.contact-grid-alt {
	align-items: start;
}

/* About page: improved typography and layout for the about section */
.about-text { color: #1f2a35; }
.about-text .lead {
	font-family: 'Lora', serif;
	color: #214033;
	font-size: 1.05rem;
	line-height: 1.72;
	margin: 0 0 12px;
}
.about-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 28px;
	margin: 8px 0 12px;
	padding-left: 20px;
	color: #234a3f;
}
.about-list li {
	margin: 6px 0;
	font-family: 'Lora', serif;
	color: #223a33;
}
.about-tagline {
	margin-top: 14px;
	font-family: 'Cinzel', serif;
	color: var(--gold);
	font-weight: 600;
	font-style: italic;
	font-size: 1.05rem;
}

@media (max-width: 720px) {
	.about-list { grid-template-columns: 1fr; padding-left: 16px; }
	.about-tagline { text-align: left; }
}

@media (max-width: 420px) {
	.about-text .lead { font-size: 0.98rem; }
	.about-main-img { height: 160px; }
}

.contact-title {
	margin: 0 0 18px;
	font-family: 'Cinzel', serif;
	color: #315E26;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.contact-info {
	display: grid;
	gap: 18px;
}

.info-card {
	position: relative;
	background: #ffffff;
	border-radius: 18px;
	padding: 22px 22px 20px 74px;
	box-shadow: 0 10px 22px rgba(15, 20, 25, 0.08);
	color: #2b3a4a;
}

.info-card h3 {
	margin: 0 0 8px;
	font-family: 'Cinzel', serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.info-card p {
	margin: 0;
	line-height: 1.5;
}

.info-card a {
	color: #2b3a4a;
}

.info-icon {
	position: absolute;
	left: 18px;
	top: -16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #315E26;
	display: grid;
	place-items: center;
	box-shadow: 0 10px 16px rgba(49, 94, 38, 0.3);
}

.info-icon i {
	color: #ffffff;
	font-size: 18px;
}

.contact-form-card {
	background: #f0f0f0;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 16px 30px rgba(15, 20, 25, 0.08);
}

.contact-form-card h2 {
	margin: 0 0 18px;
	font-family: 'Cinzel', serif;
	color: #315E26;
}

.contact-form-grid {
	display: grid;
	gap: 16px;
}

.form-row {
	display: grid;
	gap: 8px;
}

.form-row-split {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.form-row label {
	font-weight: 600;
	color: #4f5f6f;
}

.form-row input,
.form-row textarea {
	border-radius: 14px;
	border: 1px solid #d8d2c6;
	padding: 12px 14px;
	font-size: 0.98rem;
	font-family: 'Montserrat', sans-serif;
	background: #ffffff;
	width: 100%;
}

@media (max-width: 700px) {
	.form-row-split {
		grid-template-columns: 1fr;
	}
}

.form-row input:focus,
.form-row textarea:focus {
	outline: 2px solid #f2a03d;
	border-color: #f2a03d;
}

.contact-submit {
	border: 0;
	border-radius: 14px;
	background: #315E26;
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	padding: 14px 18px;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.contact-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 20px rgba(240, 123, 31, 0.24);
}

.phone-btn,
.cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 0 34px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.phone-btn {
	background: var(--gold);
	color: #fff;
	font-size: 0.95rem;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
	transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

@media (min-width: 1101px) {
	.phone-btn {
		font-weight: 500;
	}
}

.site-header.scrolled {
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
	backdrop-filter: blur(8px);
	padding-top: 0;
	padding-bottom: 0;
}

.site-header.scrolled .header-inner {
	min-height: 60px;
}

.site-header.scrolled .brand img {
	width: min(132px, 10vw);
	filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
}

.site-header.scrolled .phone-btn {
	min-height: 54px;
	padding: 0 28px;
	font-size: 0.88rem;
}

.site-header.scrolled .main-nav {
	gap: 34px;
	font-size: 0.88rem;
}

.site-header.scrolled .main-nav a {
	color: #2c2c2c;
}

.site-header.scrolled .main-nav a:hover::after {
	background: #315E26;
}

.site-header.scrolled .main-nav a:hover {
	color: #315E26;
}

.site-header.scrolled .menu-toggle span {
	background: #2c2c2c;
}

.site-header.scrolled .phone-btn {
	background: var(--gold);
	color: #fff;
	box-shadow: 0 8px 18px rgba(185, 146, 86, 0.22);
}

.site-header.scrolled .phone-btn:hover {
	background: #315E26;
	box-shadow: 0 8px 18px rgba(49, 94, 38, 0.22);
}

.site-footer {
	background: radial-gradient(circle at top, rgba(7, 16, 22, 0.92), rgba(2, 8, 12, 0.98));
	color: #d7dde2;
	padding: 28px 12px 0;
}

/* Prevent scroll-reveal and hover animations from affecting footer content */
.site-footer .reveal,
.site-footer .reveal * {
	transition: none !important;
	opacity: 1 !important;
	transform: none !important;
	will-change: auto !important;
}

.footer-inner {
	width: min(1200px, 100%);
	margin: 0 auto;
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px;
	align-items: flex-start;
}

.footer-brand img {
	width: min(140px, 40%);
	height: auto;
	display: block;
	margin-bottom: 18px;
}

.footer-brand p {
	margin: 0;
	line-height: 1.7;
	color: rgba(215, 221, 226, 0.8);
	max-width: 360px;
}

.footer-col {
	min-width: 0;
	margin-top: 44px;
}

.footer-col h3 {
	margin: 0 0 16px;
	font-family: 'Cinzel', serif;
	color: #e6a24a;
	letter-spacing: 0.04em;
}

.footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 14px;
}

.footer-col li {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	line-height: 1.6;
}

.footer-col a {
	color: #ffffff;
	transition: color 200ms ease;
}

.footer-col a:hover {
	color: #e6a24a;
}

.footer-col i {
	color: #e6a24a;
	margin-top: 3px;
}

.footer-bottom {
	margin-top: 48px;
	padding: 18px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: nowrap;
	color: rgba(215, 221, 226, 0.7);
	font-size: 0.9rem;
}

.footer-bottom p {
	margin: 0;
}

@media (max-width: 700px) {
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: wrap;
	}
}

.hero {
	position: relative;
	min-height: 100vh;
	display: grid;
	place-items: center;
	overflow: hidden;
	isolation: isolate;
	background: #ffffff;
}

.hero-video,
.hero-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero-video {
	object-fit: cover;
	object-position: center center;
}

.hero-overlay {
	background:
		linear-gradient(180deg, rgba(5, 15, 24, 0.45) 0%, rgba(5, 15, 24, 0.34) 40%, rgba(5, 15, 24, 0.58) 100%),
		radial-gradient(circle at center, rgba(70, 90, 112, 0.08), rgba(0, 0, 0, 0));
}

.hero-content {
	position: relative;
	z-index: 1;
	width: min(1100px, calc(100% - 48px));
	text-align: center;
	padding-top: 72px;
}

.eyebrow {
	margin: 0 0 18px;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.hero h1 {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: clamp(2.5rem, 5.2vw, 5.9rem);
	line-height: 1.06;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-wrap: balance;
	text-shadow: 0 10px 35px rgba(0, 0, 0, 0.28);
}

.cta-button {
	margin-top: 46px;
	background: #315E26;
	color: #fff;
	min-width: 300px;
	min-height: 68px;
	font-size: 1.02rem;
	letter-spacing: 0.06em;
	box-shadow: 0 14px 26px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
	background: #315E26;
}

.intro-section {
	background: #ffffff;
	color: #2b3a4a;
	padding: 76px 24px 96px;
	text-align: center;
}

.intro-inner {
	width: min(980px, 100%);
	margin: 0 auto;
}

.intro-eyebrow {
	margin: 0 0 18px;
	font-family: 'Cinzel', serif;
	font-size: clamp(0.95rem, 1.5vw, 1.1rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #2d3d52;
}

.intro-section h2 {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: clamp(1.7rem, 3vw, 3.2rem);
	line-height: 1.08;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #e1b56b;
}

.intro-copy {
	margin: 28px auto 0;
	width: min(760px, 100%);
	font-family: 'Cinzel', serif;
	font-size: clamp(0.92rem, 1.15vw, 1.12rem);
	line-height: 1.48;
	letter-spacing: 0.01em;
	color: #374a61;
}

.intro-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 44px;
}

.intro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 0 28px;
	font-family: 'Cinzel', serif;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.intro-btn:hover {
	transform: translateY(-1px);
}

.intro-btn-primary {
	background: #315E26;
	color: #fff;
	box-shadow: 0 10px 22px rgba(49, 94, 38, 0.22);
}

.intro-btn-secondary {
	border: 2px solid #4a4a4a;
	color: #2b3a4a;
	background: transparent;
}

.promo-strip {
	background: transparent;
	padding: 14px 20px 28px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.promo-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	width: max-content;
	min-width: 100%;
	margin: 0 auto;
	padding: 0 10px 4px;
}

/* Continuous marquee fallback for consistent auto-scrolling
   This duplicates the track (via JS) and translates it leftwards.
   Hovering pauses the animation. Duration can be adjusted with
   --marquee-duration on .promo-strip (default 28s). */
.promo-strip.marquee .promo-grid {
	animation: marquee var(--marquee-duration, 28s) linear infinite;
	will-change: transform;
}
.promo-strip.marquee .promo-grid:hover {
	animation-play-state: paused;
}
@keyframes marquee {
	from { transform: translate3d(0,0,0); }
	to   { transform: translate3d(var(--marquee-translate, -1200px),0,0); }
}

.promo-card {
	flex: 0 0 clamp(260px, 22vw, 320px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 185px;
	padding: 28px 28px 24px;
	border-radius: 150px;
	overflow: hidden;
	box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12), 0 7px 0 rgba(0, 0, 0, 0.03);
	background: #f6f4f8;
	border: 1px solid rgba(0, 0, 0, 0.04);
	transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.promo-card-green {
	background: #c9dfa6;
}

.promo-card-blue {
	background: #e9f2fe;
}

.promo-card-white {
	background: #f6f4f8;
}

.promo-card:hover {
	background: #315E26;
	border-color: #315E26;
	box-shadow: 0 12px 20px rgba(49, 94, 38, 0.18);
	transform: translateY(-2px);
}

.promo-card:hover .promo-text {
	color: #fff;
}

.promo-card:hover .promo-image {
	filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.12));
}

.promo-text {
	max-width: 50%;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(0.8rem, 0.9vw, 0.92rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: #535252;
	transition: color 180ms ease;
}

.promo-image {
	max-width: 38%;
	max-height: 132px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.08));
	transition: transform 180ms ease;
}

.promo-image-green {
	margin-right: 4px;
}

.promo-image-blue {
	margin-right: -2px;
}

.promo-image-white {
	margin-right: 2px;
}

.testimonial-showcase {
	background: #ffffff;
	color: #1f2a35;
	padding: 36px 12px 64px;
	margin-top: 28px;
}

.testimonial-grid {
	width: min(1320px, calc(100% - 36px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(320px, 1.7fr) minmax(240px, 0.85fr) minmax(220px, 0.9fr);
	gap: 28px;
	align-items: stretch;
}

.testimonial-image-left {
	grid-column: 1 / 2;
}

.testimonial-image {
	margin: 0;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(15, 20, 25, 0.12);
	background: #f4f2ee;
	height: 300px;
	min-height: 0;
}

.testimonial-image:first-child {
	height: 300px;
}

.testimonial-image-right {
	height: 300px;
}

.testimonial-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.testimonial-stack {
	display: grid;
	gap: 18px;
	align-content: center;
}

.testimonial-stat-card {
	border-radius: 22px;
	background: #ffffff;
	padding: 18px 20px;
	box-shadow: 0 16px 30px rgba(15, 20, 25, 0.12);
}

.testimonial-stat {
	margin: 0;
	color: #1d2732;
	font-family: 'Cinzel', serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.testimonial-card {
	border-radius: 24px;
	background: #d9b05b;
	padding: 20px 22px;
	box-shadow: 0 16px 30px rgba(217, 176, 91, 0.32);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	text-align: left;
}

.testimonial-quote {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: clamp(0.9rem, 1.2vw, 1.08rem);
	line-height: 1.45;
	color: #ffffff;
}

.testimonial-name {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: 0.95rem;
	font-weight: 700;
	color: #ffffff;
}

@media (min-width: 1101px) {
	.promo-strip {
		display: flex;
		justify-content: flex-start;
		width: calc(100% - clamp(120px, 11vw, 178px));
		margin: 0 auto;
		padding: 18px clamp(72px, 7vw, 96px) 32px clamp(6px, 0.5vw, 14px);
		cursor: grab;
		overflow: hidden;
		touch-action: pan-y;
		user-select: none;
	}

	.promo-grid {
		padding: 0;
		gap: 16px;
		will-change: transform;
		transform: translate3d(0, 0, 0);
	}

	.promo-card {
		flex-basis: clamp(280px, calc((100vw - 210px) / 3), 500px);
	}

	.promo-strip.is-dragging {
		cursor: grabbing;
	}
}

@media (max-width: 1100px) {
	.site-header {
		padding: 0 18px 0;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}

	/* Hide horizontal scrollbar on small screens and make promo cards wider */
	.promo-strip {
		overflow-x: hidden;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.promo-strip::-webkit-scrollbar { display: none; }

	/* Ensure marquee variant also hides overflow */
	.promo-strip.marquee { overflow: hidden; }

	/* Make promo cards take more horizontal space on small screens */
	.promo-card {
		flex: 0 0 84%;
		max-width: 84%;
		min-height: 170px;
	}

	.header-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 78px;
	}

	.brand img {
		width: min(144px, 28vw);
	}

	.main-nav,
	.phone-btn {
		display: none;
	}

	.menu-toggle {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.menu-toggle span {
		background: var(--gold);
	}

	.mobile-menu {
		top: 0;
		right: 0;
		left: auto;
		width: min(82vw, 360px);
		height: 100vh;
	}

	.contact-main {
		padding-top: 96px;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.form-row-split {
		grid-template-columns: 1fr;
	}

	.testimonial-grid {
		grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
		grid-template-areas:
			"left left"
			"stack right";
	}

	.testimonial-image-left {
		grid-area: left;
	}

	.testimonial-stack {
		grid-area: stack;
	}

	.testimonial-image-right {
		grid-area: right;
	}

	.testimonial-image {
		height: 220px;
	}

	.testimonial-image:first-child {
		height: 240px;
	}

	.testimonial-image-right {
		height: 220px;
	}
}

@media (max-width: 820px) {
	.site-header {
		padding: 0 16px 0;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}

	.brand img {
		width: min(128px, 34vw);
	}

	.menu-toggle {
		width: 46px;
		height: 46px;
	}

	.mobile-menu {
		width: min(84vw, 340px);
	}

	/* Place menu toggle on left, brand centered, cart on right — only on products & cart pages */
	body.cart-page .header-inner,
	body.products-page .header-inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	body.cart-page .header-inner .brand,
	body.products-page .header-inner .brand {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
	}
	body.cart-page .header-inner .menu-toggle,
	body.products-page .header-inner .menu-toggle {
		order: 0;
		margin-right: auto;
		z-index: 6;
	}
	body.cart-page .header-inner .cart-btn,
	body.products-page .header-inner .cart-btn {
		order: 2;
		margin-left: auto;
		z-index: 6;
	}

	/* Open mobile menu from left on products & cart pages */
	body.cart-page .mobile-menu,
	body.products-page .mobile-menu {
		left: 0;
		right: auto;
	}

	/* Hide the close (×) button for left-opening mobile menu on these pages */
	body.cart-page .mobile-menu-close,
	body.products-page .mobile-menu-close {
		display: none;
	}

	.hero-content {
		width: min(100%, calc(100% - 28px));
		padding-top: 132px;
	}

	.eyebrow {
		font-size: 0.72rem;
		letter-spacing: 0.12em;
	}

	.hero h1 {
		letter-spacing: 0.05em;
	}

	.cta-button {
		min-width: min(100%, 280px);
		padding-inline: 24px;
	}

	.intro-section {
		padding: 60px 18px 76px;
	}

	.intro-section h2 {
		font-size: clamp(1.55rem, 7vw, 2.25rem);
	}

	.intro-copy {
		font-size: 0.98rem;
		line-height: 1.45;
	}

	.intro-actions {
		gap: 16px;
	}

	.promo-strip {
		padding: 10px 14px 20px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.promo-grid {
		width: max-content;
		gap: 12px;
		padding-right: 14px;
	}

	.testimonial-grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"left"
			"stack"
			"right";
	}

	.testimonial-showcase {
		padding: 54px 18px 76px;
	}

	.testimonial-card {
		padding: 22px 22px;
		text-align: center;
	}

	.testimonial-stat {
		font-size: 0.95rem;
	}

	.intro-btn {
		width: min(100%, 320px);
	}

	.contact-hero {
		padding: 44px 18px 36px;
	}

	.contact-section {
		padding: 32px 18px 68px;
	}

	.contact-panel {
		padding: 22px;
	}

	.info-card {
		padding: 22px 20px 20px 70px;
	}
}

@media (max-width: 560px) {
	.hero-content {
		padding-top: 148px;
	}

	/* Scoped: reduce hero spacing only on products & cart pages at this breakpoint */
	body.cart-page .hero-content,
	body.products-page .hero-content {
		padding-top: 72px;
	}

	.hero h1 {
		font-size: clamp(2rem, 11vw, 3.6rem);
	}

	.mobile-menu {
		width: min(86vw, 320px);
	}

	.intro-section {
		padding: 52px 16px 68px;
	}

	.intro-copy {
		font-size: 0.95rem;
	}

	.intro-actions {
		margin-top: 32px;
	}

	.intro-btn {
		min-height: 56px;
		font-size: 0.9rem;
	}

	.testimonial-showcase {
		padding: 46px 16px 68px;
	}

	.testimonial-image {
		border-radius: 22px;
	}

	.testimonial-card {
		border-radius: 22px;
	}

	.contact-hero h1 {
		font-size: clamp(1.6rem, 7vw, 2.4rem);
	}

	.panchkarma-container {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.panchkarma-visual {
		min-height: 320px;
	}
}

/* Panchkarma Section */
.panchkarma-section {
	background: linear-gradient(135deg, #f5f1e8 0%, #e8f1e3 100%);
	padding: 72px 24px 92px;
	color: #2b3a4a;
}

.panchkarma-container {
	width: min(1200px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

.panchkarma-content {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.panchkarma-label {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #315E26;
	opacity: 0.9;
}

.panchkarma-tag {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #a67c52;
	text-transform: uppercase;
}

.panchkarma-heading {
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #1f2a35;
	line-height: 1.15;
	text-wrap: balance;
}

.panchkarma-description {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	color: #4a5f75;
	letter-spacing: 0.01em;
}

.panchkarma-benefits {
	margin: 8px 0 0;
	padding: 0 0 0 20px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.panchkarma-benefits li {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 0.98rem;
	font-weight: 600;
	color: #2b3a4a;
	position: relative;
	padding-left: 18px;
	line-height: 1.5;
}

.panchkarma-benefits li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: #315E26;
	font-weight: 700;
	font-size: 1.1em;
}

.panchkarma-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 62px;
	padding: 0 32px;
	margin-top: 12px;
	background: #315E26;
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	border-radius: 12px;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(49, 94, 38, 0.22);
	transition: all 200ms ease;
	width: fit-content;
}

.panchkarma-cta:hover {
	background: #2a4f21;
	transform: translateY(-2px);
	box-shadow: 0 16px 36px rgba(49, 94, 38, 0.28);
}

.panchkarma-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(49, 94, 38, 0.15), 0 10px 20px rgba(0, 0, 0, 0.08);
	background: #ffffff;
	position: relative;
}

.panchkarma-slider {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 24px;
}

.panchkarma-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 600ms ease-in-out;
}

.panchkarma-slide:first-child {
	opacity: 1;
}

.panchkarma-slide.active {
	opacity: 1;
}

.panchkarma-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.panchkarma-prev,
.panchkarma-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border: none;
	background: rgba(49, 94, 38, 0.85);
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 700;
	cursor: pointer;
	border-radius: 50%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 200ms ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.panchkarma-prev:hover,
.panchkarma-next:hover {
	background: #315E26;
	transform: translateY(-50%) scale(1.1);
	box-shadow: 0 6px 16px rgba(49, 94, 38, 0.3);
}

.panchkarma-prev {
	left: 16px;
}

.panchkarma-next {
	right: 16px;
}

.panchkarma-dots {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.panchkarma-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: all 200ms ease;
	border: none;
	padding: 0;
}

.panchkarma-dot.active {
	background: #ffffff;
	width: 28px;
	border-radius: 5px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 900px) {
	.panchkarma-section {
		padding: 56px 20px 72px;
	}

	.panchkarma-container {
		gap: 40px;
	}

	.panchkarma-heading {
		font-size: clamp(1.6rem, 3vw, 2.4rem);
	}

	.panchkarma-visual {
		min-height: 360px;
	}

	.panchkarma-prev,
	.panchkarma-next {
		width: 44px;
		height: 44px;
		font-size: 1.2rem;
		left: 12px;
	}

	.panchkarma-next {
		right: 12px;
	}

	.panchkarma-dot {
		width: 8px;
		height: 8px;
	}

	.panchkarma-dot.active {
		width: 24px;
	}
}

@media (max-width: 700px) {
	.panchkarma-section {
		padding: 48px 16px 64px;
	}

	.panchkarma-container {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.panchkarma-heading {
		font-size: clamp(1.4rem, 5vw, 2rem);
		line-height: 1.2;
	}

	.panchkarma-description {
		font-size: 0.95rem;
		line-height: 1.6;
	}

	.panchkarma-visual {
		min-height: 280px;
		border-radius: 18px;
	}

	.panchkarma-prev,
	.panchkarma-next {
		width: 40px;
		height: 40px;
		font-size: 1rem;
		left: 8px;
	}

	.panchkarma-next {
		right: 8px;
		left: auto;
	}

	.panchkarma-benefits li {
		font-size: 0.92rem;
	}

	.panchkarma-dot {
		width: 7px;
		height: 7px;
	}

	.panchkarma-dot.active {
		width: 20px;
	}
}

@media (max-width: 480px) {
	.panchkarma-section {
		padding: 40px 14px 52px;
	}

	.panchkarma-heading {
		font-size: clamp(1.2rem, 6vw, 1.8rem);
	}

	.panchkarma-description {
		font-size: 0.92rem;
	}

	.panchkarma-visual {
		min-height: 240px;
		border-radius: 16px;
	}

	.panchkarma-cta {
		min-height: 56px;
		font-size: 0.88rem;
		padding: 0 24px;
	}

	.panchkarma-prev,
	.panchkarma-next {
		width: 36px;
		height: 36px;
		font-size: 0.9rem;
		left: 6px;
		top: 50%;
		transform: translateY(-50%);
	}

	.panchkarma-next {
		right: 6px;
		left: auto;
	}

	.panchkarma-dot {
		width: 6px;
		height: 6px;
		gap: 6px;
	}

	.panchkarma-dot.active {
		width: 18px;
	}

	.panchkarma-dots {
		bottom: 12px;
		gap: 6px;
	}
}

@media (max-width: 360px) {
	.panchkarma-prev,
	.panchkarma-next {
		width: 32px;
		height: 32px;
		font-size: 0.8rem;
		left: 4px;
	}

	.panchkarma-next {
		right: 4px;
		left: auto;
	}

	.panchkarma-visual {
		min-height: 200px;
	}
}

/* Force larger therapy line on small screens if browser cache or specificity blocks earlier rules */
@media (max-width: 600px) {
	.panchakarma-hero .panchakarma-therapy {
		font-size: clamp(1.6rem, 8vw, 2.6rem) !important;
		line-height: 1.02;
		margin-top: 6px;
	}
}

.video-fallback .hero-video {
	display: none;
}







 /* ── Section wrapper ── */
    .products-section {
      --cream:   #f5f0e8;
      --bark:    #3b2e1e;
      --moss:    #4a6741;
      --gold:    #b08d57;
      --gold-lt: #d4b483;
      --shadow:  rgba(59,46,30,.18);
      font-family: 'Jost', sans-serif;
      color: var(--bark);
      padding: 80px 40px 100px;
      max-width: 1200px;
      margin: 0 auto;
    }

/* Ensure a comfortable side gutter for program cards on very wide screens */
@media (min-width: 1400px) {
	.programs-section { padding-left: 96px; padding-right: 96px; }
	.programs-inner { max-width: 1180px; }
}
 
    /* ── Heading ── */
    .section-head {
      text-align: center;
      margin-bottom: 60px;
    }
    .section-head .label {
      display: inline-block;
      font-family: 'Jost', sans-serif;
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: var(--moss);
      margin-bottom: 10px;
    }
    .section-head h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2rem, 4vw, 3.2rem);
      font-weight: 600;
      line-height: 1.15;
      color: var(--bark);
    }
    .section-head h2 em {
      font-style: italic;
      color: var(--gold);
    }
    .section-head p {
      margin-top: 14px;
      font-size: .95rem;
      font-weight: 300;
      color: #6b5c44;
      letter-spacing: .03em;
    }
 
    /* ── Single-row grid ── */
    .products-row {
      display: flex;
      gap: 28px;
      overflow-x: auto;           /* graceful on small screens */
      scroll-snap-type: x mandatory;
      padding-bottom: 8px;
      /* hide scrollbar */
      scrollbar-width: none;
    }
    .products-row::-webkit-scrollbar { display: none; }
 
    /* ── Card ── */
    .card {
      flex: 0 0 calc((100% - 28px * 4) / 5); /* 5 cards */
      scroll-snap-align: start;
      background: #fff;
      border-radius: 20px;
      overflow: hidden;
      position: relative;
      cursor: pointer;
      transition: transform .4s cubic-bezier(.22,1,.36,1),
                  box-shadow .4s ease;
      box-shadow: 0 4px 18px var(--shadow);
    }
    .card:hover {
      transform: translateY(-10px) scale(1.02);
      box-shadow: 0 20px 48px rgba(59,46,30,.22);
    }
 
    /* Badge */
    .card .badge {
      position: absolute;
      top: 12px; left: 12px;
      background: var(--moss);
      color: #fff;
      font-size: .62rem;
      font-weight: 500;
      letter-spacing: .12em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 20px;
      z-index: 2;
    }
 
    /* Image circle area */
    .card-img-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      background: var(--cream);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .card-img-wrap::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at center, transparent 55%, rgba(59,46,30,.07) 100%);
      pointer-events: none;
    }
    .card-img-wrap img {
      width: 82%;
      height: 82%;
      object-fit: cover;
      border-radius: 50%;
      transition: transform .5s cubic-bezier(.22,1,.36,1);
      box-shadow: 0 6px 24px rgba(59,46,30,.2);
    }
    .card:hover .card-img-wrap img {
      transform: scale(1.08) rotate(2deg);
    }
 
    /* Hover overlay on image */
    .card-img-wrap .overlay {
      position: absolute;
      inset: 0;
      background: rgba(74,103,65,.55);
      opacity: 0;
      transition: opacity .35s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 0;
    }
    .card:hover .card-img-wrap .overlay { opacity: 1; }
    .overlay .quick-add {
      background: #fff;
      color: var(--moss);
      font-size: .75rem;
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 9px 20px;
      border-radius: 30px;
      border: none;
      cursor: pointer;
      transform: translateY(12px);
      opacity: 0;
      transition: transform .35s .05s ease, opacity .35s .05s ease;
    }
    .card:hover .overlay .quick-add {
      transform: translateY(0);
      opacity: 1;
    }
    .quick-add:hover { background: var(--moss); color: #fff; }
 
    /* Card body */
    .card-body {
      padding: 16px 18px 20px;
    }
    .card-body .name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.08rem;
      font-weight: 600;
      color: var(--bark);
      margin-bottom: 6px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .card-body .prices {
      display: flex;
      align-items: baseline;
      gap: 8px;
      margin-bottom: 10px;
    }
    .price-now {
      font-size: 1rem;
      font-weight: 500;
      color: var(--moss);
    }
    .price-was {
      font-size: .78rem;
      color: #b0a090;
      text-decoration: line-through;
    }
    .delivery {
      font-size: .7rem;
      color: #8b7b62;
      display: flex;
      align-items: center;
      gap: 5px;
    }
    .delivery svg { flex-shrink: 0; }
 
    /* ── View More button ── */
    .view-more-wrap {
      text-align: center;
      margin-top: 52px;
    }
    .btn-view-more {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: transparent;
      border: 1.5px solid var(--gold);
      color: var(--bark);
      font-family: 'Jost', sans-serif;
      font-size: .82rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      padding: 14px 36px;
      border-radius: 40px;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: color .35s ease, border-color .35s ease;
      text-decoration: none;
    }
    .btn-view-more::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .35s cubic-bezier(.22,1,.36,1);
      z-index: 0;
    }
    .btn-view-more:hover::before { transform: scaleX(1); }
    .btn-view-more:hover { color: #fff; border-color: var(--gold); }
    .btn-view-more span, .btn-view-more svg { position: relative; z-index: 1; }
 
    /* ── Divider ── */
    .divider {
      display: flex;
      align-items: center;
      gap: 18px;
      margin: 0 auto 60px;
      max-width: 320px;
    }
    .divider::before, .divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold-lt));
    }
    .divider::after { background: linear-gradient(270deg, transparent, var(--gold-lt)); }
    .divider-leaf {
      color: var(--gold);
      font-size: 1rem;
    }
 
    /* Staggered card reveal */
    .card { animation: fadeUp .5s both; }
    .card:nth-child(1) { animation-delay: .05s; }
    .card:nth-child(2) { animation-delay: .12s; }
    .card:nth-child(3) { animation-delay: .19s; }
    .card:nth-child(4) { animation-delay: .26s; }
    .card:nth-child(5) { animation-delay: .33s; }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to   { opacity: 1; transform: translateY(0); }
    }
 
    @media (max-width: 900px) {
      .card { flex: 0 0 220px; }
    }


 .testimonials-section {
      padding: 90px 40px 100px;
      max-width: 1240px;
      margin: 0 auto;
      background: #FDFAF5;
      font-family: 'Jost', sans-serif;
    }
 
    /* ── Header ── */
    .testimonials-section .ts-eyebrow {
      text-align: center;
      font-family: 'Jost', sans-serif;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #2C2C2C;
      margin-bottom: 14px;
    }
 
    .testimonials-section .ts-title {
      text-align: center;
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(36px, 5vw, 54px);
      font-weight: 600;
      color: #C9A84C;
      line-height: 1.15;
      margin-bottom: 18px;
    }
 
    .testimonials-section .ts-subtitle {
      text-align: center;
      font-size: 15px;
      font-weight: 300;
      color: #5A5A5A;
      line-height: 1.7;
      max-width: 480px;
      margin: 0 auto 60px;
    }
 
    /* ── Masonry Grid ── */
    .testimonials-section .ts-grid {
      columns: 3;
      column-gap: 24px;
    }
 
    @media (max-width: 900px) {
      .testimonials-section .ts-grid { columns: 2; }
    }
 
    @media (max-width: 580px) {
      .testimonials-section .ts-grid { columns: 1; }
      .testimonials-section { padding: 60px 20px 70px; }
    }
 
    /* ── Card ── */
    .testimonials-section .ts-card {
      break-inside: avoid;
      background: #FFFFFF;
      border: 1px solid #EDE5D4;
      border-radius: 14px;
      padding: 28px 28px 24px;
      margin-bottom: 24px;
      position: relative;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
      animation: tsFadeUp 0.5s ease both;
    }
 
    .testimonials-section .ts-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 36px rgba(201, 168, 76, 0.12);
    }
 
    @keyframes tsFadeUp {
      from { opacity: 0; transform: translateY(18px); }
      to   { opacity: 1; transform: translateY(0); }
    }
 
    .testimonials-section .ts-card:nth-child(1) { animation-delay: 0.05s; }
    .testimonials-section .ts-card:nth-child(2) { animation-delay: 0.12s; }
    .testimonials-section .ts-card:nth-child(3) { animation-delay: 0.19s; }
    .testimonials-section .ts-card:nth-child(4) { animation-delay: 0.26s; }
    .testimonials-section .ts-card:nth-child(5) { animation-delay: 0.33s; }
    .testimonials-section .ts-card:nth-child(6) { animation-delay: 0.40s; }
 
    /* ── Stars ── */
    .testimonials-section .ts-stars {
      display: flex;
      gap: 3px;
      margin-bottom: 16px;
    }
 
    .testimonials-section .ts-stars svg {
      width: 18px;
      height: 18px;
      fill: #C9A84C;
    }
 
    /* ── Quote ── */
    .testimonials-section .ts-quote {
      font-family: 'Cormorant Garamond', serif;
      font-size: 16.5px;
      line-height: 1.75;
      color: #5A5A5A;
      margin-bottom: 22px;
    }
 
    /* ── Author ── */
    .testimonials-section .ts-author {
      display: flex;
      align-items: center;
      gap: 12px;
      border-top: 1px solid #F9F3E7;
      padding-top: 18px;
    }
 
    .testimonials-section .ts-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #2C2C2C;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Jost', sans-serif;
      font-size: 15px;
      font-weight: 500;
      color: #fff;
      flex-shrink: 0;
    }
 
    .testimonials-section .ts-avatar.gold    { background: #C9A84C; }
    .testimonials-section .ts-avatar.crimson { background: #8B2E2E; }
    .testimonials-section .ts-avatar.slate   { background: #3C4D5E; }
    .testimonials-section .ts-avatar.sage    { background: #4A6B55; }
    .testimonials-section .ts-avatar.plum    { background: #5C3D6B; }
 
    .testimonials-section .ts-author-info .ts-name {
      font-size: 14px;
      font-weight: 500;
      color: #2C2C2C;
    }
 
    .testimonials-section .ts-author-info .ts-role {
      font-size: 12px;
      font-weight: 300;
      color: #8A8A8A;
      letter-spacing: 0.04em;
    }

	/* Mobile cart: match provided mockup (refined sizes) */
	@media (max-width: 480px) {
		.cart-page { padding: 72px 12px 130px; }

		.cart-grid { grid-template-columns: 1fr; gap: 12px; }
		.cart-summary { position: static; width: 100%; }

		.cart-list { display: block; max-width: 420px; margin: 0 auto; }
		.cart-item {
			display: grid;
			grid-template-columns: 68px 1fr 40px;
			grid-template-rows: auto auto;
			grid-template-areas: "img info remove" "img qty remove";
			gap: 6px 10px;
			align-items: start;
			padding: 12px;
			border-radius: 12px;
		}
		.cart-item img { grid-area: img; width: 68px; height: 86px; object-fit: cover; border-radius: 8px; }
		.cart-item-info { grid-area: info; padding-right: 6px; }
		.cart-item-title { margin: 0 0 6px; font-size: 0.98rem; font-weight: 600; color: #111; }
		.cart-item-meta { font-size: 0.88rem; color: #6b6b6b; }

		.cart-item-qty, .cart-item-controls { grid-area: qty; justify-self: start; display:flex; align-items:center; gap:8px; }
		.qty-decrease, .qty-increase { width: 40px; height: 40px; border-radius: 8px; font-size: 18px; }
		.qty-value { min-width: 30px; text-align:center; font-size:15px; }

		.cart-remove { grid-area: remove; justify-self: end; align-self: start; border-radius: 8px; padding: 6px 8px; background: transparent; border: 1px solid rgba(15,20,25,0.06); font-size: 0.95rem; }

		.cart-item-sub { font-size: 1rem; font-weight: 800; color: #0b2a18; margin-top: 6px; }

		.products-row, .promo-grid { max-width: 420px; margin: 14px auto; padding: 0 8px; }

		.checkout-bar { padding: 10px 0; box-shadow: 0 -8px 22px rgba(2,8,12,0.06); }
		.checkout-bar .bar-inner { max-width: 420px; margin: 0 auto; padding: 8px; display:flex; flex-direction: column; gap: 8px; }
		.bar-left .bar-subtotal { font-size: 1.05rem; font-weight: 800; text-align: center; color: #0f1720 }
		.checkout-action {
			/* slightly lighter text weight and a bit wider visual width on small screens */
			width: 159px;
			height: 50px;
			margin: 0 auto;
			padding: 12px 16px;
			border-radius: 0px;
			background: #1A1A1A;
			color: #fff;
			font-weight: 600;
			text-align: center;
			font-size: 0.92rem;
		}

		.checkout-bar .bar-note { font-size: 0.86rem; color: #6b6b6b; text-align:center; margin-top: 0 }

		.checkout-stage { padding: 0 12px; }
		.summary-card.big { width: 100%; box-shadow: none; border: 1px solid rgba(15,20,25,0.03); }
		.summary-row.total { font-size: 1.05rem; text-align:center; }
		.place-order { background: #0b0b0b; color: #fff; padding: 12px; font-weight: 800; border-radius: 8px; font-size: 0.95rem }
	}

	/* Add-to-cart toast (small popup on homepage) */
	.add-toast {
		position: fixed;
		right: 20px;
		bottom: 20px;
		background: rgba(6,20,12,0.96);
		color: #F0EAD6;
		padding: 12px 14px;
		border-radius: 10px;
		box-shadow: 0 12px 30px rgba(2,8,6,0.6);
		display: flex;
		gap: 12px;
		align-items: center;
		z-index: 99999;
		opacity: 0;
		transform: translateY(12px);
		transition: opacity .25s ease, transform .25s ease;
	}
	.add-toast.show { opacity: 1; transform: translateY(0); }
	.add-toast .toast-msg { font-size: 0.95rem; }
	.add-toast .toast-action { background: var(--gold); color: #081521; border: 0; padding: 8px 12px; border-radius: 6px; font-weight: 700; cursor: pointer; text-decoration: none; }
	.add-toast .toast-close { background: transparent; border: 0; color: rgba(255,255,255,0.7); cursor: pointer; font-size: 16px; }

/* Smaller subtitle used inside the hero (e.g. courses page) */
.diet-accent {
	display: block;
	font-size: clamp(1rem, 2.2vw, 1.25rem);
	font-weight: 400;
	color: rgba(240,234,214,0.95);
	margin-top: 8px;
	line-height: 1.15;
}

/* Rounded corners for header phone buttons */
.phone-btn {
	border-radius: 10px;
}

.mobile-phone-btn {
	border-radius: 10px;
	padding: 8px 12px;
	display: inline-block;
}