/*
Theme Name: Sunrise Luxury
Theme URI: https://sunriseaesthetic.com.au/
Author: Custom Development
Description: Custom high-performance luxury theme for Sunrise Aesthetic Clinic.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: sunrise-luxury
*/

/* ==========================================================================
   Design Tokens
   ========================================================================== */
:root {
	--color-primary:   #d37e54;
	--color-secondary: #aa8645;
	--color-dark:      #2a2a2a;
	--color-topbar:    #363839;
	--color-cream:     #eee6d5;
	--color-bg-base:   #FAF7F2;
	--color-bg-alt:    #f4f4f4;
	--color-text-dark: #1C1917;
	--color-text:      #555555;
	--color-white:     #ffffff;
	--color-gold-line: #aa8645;

	--font-heading: 'Cormorant Garamond', 'Lora', serif;
	--font-body:    'Inter', 'Montserrat', sans-serif;

	--topbar-h: 40px;
	--nav-h:    80px;
	--header-h: calc(var(--topbar-h) + var(--nav-h));

	--transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--shadow-sm:  0 2px 15px rgba(0,0,0,0.06);
	--shadow-md:  0 8px 40px rgba(0,0,0,0.12);
}

/* ==========================================================================
   Reset
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--color-text);
	background-color: var(--color-bg-base);
	-webkit-font-smoothing: antialiased;
	padding-top: var(--header-h);
}
h1,h2,h3,h4,h5,h6 {
	font-family: var(--font-heading);
	color: var(--color-text-dark);
	font-weight: 400;
	line-height: 1.2;
}
a { color: var(--color-primary); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--color-secondary); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
p { margin-bottom: 1rem; }

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
.text-center { text-align: center; }

/* ==========================================================================
   HEADER — Topbar
   ========================================================================== */
.site-header {
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	z-index: 1000;
}

.header-topbar {
	height: var(--topbar-h);
	background: var(--color-topbar);
	display: flex;
	align-items: center;
	padding: 0 2rem;
}

.topbar-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.topbar-left {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	color: rgba(255,255,255,0.65);
}
.topbar-left svg { opacity: 0.7; flex-shrink: 0; }

.topbar-right {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.topbar-phone, .topbar-link {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,0.8);
	transition: var(--transition);
}
.topbar-phone { font-weight: 600; color: var(--color-white); }
.topbar-phone:hover, .topbar-link:hover { color: var(--color-primary); }
.topbar-divider { color: rgba(255,255,255,0.2); font-size: 0.75rem; }

/* ==========================================================================
   HEADER — Navigation Bar  (standard: LOGO | NAV | BOOK)
   ========================================================================== */
.header-nav-bar {
	height: var(--nav-h);
	background: rgba(255,255,255,0.97);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(0,0,0,0.07);
	box-shadow: var(--shadow-sm);
	transition: background 0.4s ease, box-shadow 0.4s ease;
}

/* Transparent hero state — JS adds this class when page is at top */
.site-header.hero-top .header-nav-bar {
	background: rgba(0,0,0,0.18);
	backdrop-filter: blur(8px);
	box-shadow: none;
	border-bottom-color: rgba(255,255,255,0.1);
}

/* Inner wrapper: logo | nav (flex:1) | actions */
.nav-bar-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

/* — Logo (left) — */
.nav-logo { flex-shrink: 0; }
.nav-logo .logo-link { display: inline-block; }
.nav-logo .site-logo {
	height: 52px;
	width: auto;
	transition: var(--transition);
}

/* — Center Nav — */
.nav-center {
	flex: 1;
	display: flex;
	justify-content: center;
}

/* — Right Actions (Book + Hamburger) — */
.nav-actions {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* — Nav Lists — */
.nav-list {
	display: flex;
	align-items: center;
	gap: 0.1rem;
	margin: 0;
	padding: 0;
}

.nav-list > li {
	position: relative;
}

.nav-list > li > a {
	display: block;
	padding: 0.6rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-text-dark);
	border-radius: 3px;
	transition: var(--transition);
	white-space: nowrap;
}

.site-header.hero-top .nav-list > li > a { color: rgba(255,255,255,0.9); }
.site-header.hero-top .nav-list > li > a:hover { color: var(--color-cream); }

.nav-list > li > a:hover,
.nav-list > li.current-menu-item > a {
	color: var(--color-primary);
}

/* Subtle underline indicator */
.nav-list > li > a::after {
	content: '';
	display: block;
	height: 2px;
	background: var(--color-primary);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	border-radius: 1px;
}
.nav-list > li > a:hover::after,
.nav-list > li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* — Dropdown — */
.has-dropdown {
	position: relative;
	padding-bottom: 8px; /* Extend hover area to bridge gap */
	margin-bottom: -8px;
}

.has-dropdown > .dropdown {
	display: block;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 260px;
	background: var(--color-white);
	border-radius: 8px;
	border-top: 3px solid var(--color-primary);
	box-shadow: var(--shadow-md);
	padding: 0.75rem 0;
	z-index: 999;
	transition: opacity 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94),
	            visibility 0.25s ease;
}

/* Invisible Hover Bridge above dropdown to prevent accidental mouse-out */
.has-dropdown > .dropdown::after {
	content: '';
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	height: 20px;
	background: transparent;
}

.has-dropdown > .dropdown::before {
	content: '';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-bottom-color: var(--color-primary);
	border-top: none;
}

/* Right-edge menus open to left */
.dropdown-right {
	left: auto;
	right: 0;
	transform: translateY(8px);
}
.dropdown-right::before {
	left: auto;
	right: 2rem;
	transform: none;
}

/* ── Wide 3-Column Luxury Mega Menu ── */
.mega-services-menu {
	min-width: 780px !important;
	padding: 1.75rem 2rem !important;
	border-radius: 12px !important;
	box-shadow: 0 15px 45px rgba(0,0,0,0.12) !important;
}

.mega-menu-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 240px;
	gap: 2rem;
	align-items: start;
}

.mega-col-header {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-bottom: 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}
.mega-icon {
	color: var(--color-secondary);
	font-size: 0.9rem;
	margin-top: 0.15rem;
}
.mega-title {
	display: block;
	font-family: var(--font-heading);
	font-size: 1.15rem;
	color: var(--color-text-dark);
	line-height: 1.2;
}
.mega-sub {
	display: block;
	font-size: 0.75rem;
	color: var(--color-text);
}

.mega-links-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.mega-links-list li a {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.5rem !important;
	border-radius: 4px;
	font-size: 0.88rem !important;
	color: var(--color-text-dark) !important;
	transition: var(--transition) !important;
}
.link-bullet {
	font-size: 0.7rem;
	color: rgba(211,126,84,0.5);
	transition: color 0.25s ease;
}
.mega-links-list li a:hover {
	background: #fdf8f4 !important;
	color: var(--color-primary) !important;
	padding-left: 0.75rem !important;
}
.mega-links-list li a:hover .link-bullet {
	color: var(--color-primary);
}

/* Col 3: Featured Card */
.mega-featured-card {
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 100%);
	border-radius: 10px;
	padding: 1.25rem 1.1rem;
	color: #fff;
	box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}
.mfc-badge {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--color-cream);
	background: rgba(255,255,255,0.15);
	padding: 0.2rem 0.6rem;
	border-radius: 12px;
	display: inline-block;
	margin-bottom: 0.65rem;
}
.mega-featured-card h4 {
	font-family: var(--font-heading);
	font-size: 1.2rem;
	color: var(--color-cream);
	margin-bottom: 0.4rem;
}
.mega-featured-card p {
	font-size: 0.78rem;
	color: rgba(238,230,213,0.85);
	line-height: 1.5;
	margin-bottom: 0.85rem;
}
.btn-mfc-link {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--color-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.btn-mfc-link:hover { color: #fff; }

.btn-mega-book {
	width: 100% !important;
	padding: 0.65rem 0.5rem !important;
	margin-top: 0.75rem !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 5px !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
}
.btn-mega-book:hover { background: var(--color-secondary) !important; }


/* nav-arrow chevron */
.nav-arrow {
	font-size: 0.7rem;
	opacity: 0.7;
	transition: transform 0.25s ease;
	display: inline-block;
	margin-left: 2px;
}
.has-dropdown:hover .nav-arrow { transform: rotate(180deg); }

/* Show dropdown smoothly on hover or focus */
.has-dropdown:hover > .dropdown,
.has-dropdown:focus-within > .dropdown {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.has-dropdown.dropdown-right-parent:hover > .dropdown-right,
.has-dropdown:hover > .dropdown-right {
	transform: translateY(0);
}


/* Smooth exit and hover bridge active */


.dropdown li a {
	display: block;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	color: var(--color-text-dark);
	transition: var(--transition);
	font-family: var(--font-body);
}
.dropdown li a:hover {
	color: var(--color-primary);
	background: #fdf8f4;
	padding-left: 1.5rem;
}

/* Group labels inside dropdown */
.dropdown-group-label {
	padding: 0.6rem 1.25rem 0.2rem;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--color-secondary);
}
.dropdown-divider {
	height: 1px;
	background: rgba(0,0,0,0.07);
	margin: 0.4rem 1rem;
}

/* — Book Button (nav bar) — */
.btn-nav-book {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.6rem 1.25rem;
	background: var(--color-primary);
	color: var(--color-white);
	font-family: var(--font-body);
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border: 2px solid var(--color-primary);
	border-radius: 3px;
	cursor: pointer;
	transition: var(--transition);
	white-space: nowrap;
	margin-left: 0.75rem;
}
.btn-nav-book:hover {
	background: transparent;
	color: var(--color-primary);
}
.site-header.hero-top .btn-nav-book {
	background: rgba(255,255,255,0.15);
	border-color: rgba(255,255,255,0.7);
	color: var(--color-white);
}
.site-header.hero-top .btn-nav-book:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
}

/* — Hamburger — */
.hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	background: none;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 4px;
	cursor: pointer;
	margin-left: 0.75rem;
	transition: var(--transition);
}
.hamburger:hover { border-color: var(--color-primary); }
.hamburger-line {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--color-text-dark);
	border-radius: 2px;
	transition: var(--transition);
}
.site-header.hero-top .hamburger-line { background: var(--color-white); }
.site-header.hero-top .hamburger { border-color: rgba(255,255,255,0.3); }

/* ==========================================================================
   MOBILE HEADER ACTIONS (One-Tap Call & Hamburger)
   ========================================================================== */
.mobile-header-call-btn {
	display: none;
	align-items: center;
	gap: 6px;
	background: #c9a050;
	color: #1c1917 !important;
	padding: 8px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: var(--transition);
	box-shadow: 0 4px 12px rgba(201, 160, 80, 0.25);
}
.mobile-header-call-btn:hover,
.mobile-header-call-btn:active {
	background: #1c1917;
	color: #c9a050 !important;
}

@media (max-width: 991px) {
	.mobile-header-call-btn {
		display: inline-flex;
	}
	#header-book-btn {
		display: none;
	}
}

/* ==========================================================================
   MOBILE APP DRAWER (Designed for 40+ Ease of Use)
   ========================================================================== */
.mobile-drawer {
	position: fixed;
	top: 0; right: -380px;
	width: 88vw;
	max-width: 360px;
	height: 100vh;
	height: 100dvh;
	background: #ffffff;
	z-index: 2100;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: right 0.36s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	box-shadow: -8px 0 35px rgba(0,0,0,0.2);
}
.mobile-drawer.open { right: 0; }

.mobile-drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.25rem 1.25rem 1rem;
	border-bottom: 1px solid rgba(0,0,0,0.06);
	background: #FAF7F2;
}
.drawer-logo-wrap {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.drawer-logo-wrap img { height: 32px; width: auto; }
.drawer-tagline {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #c9a050;
}

.drawer-close {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 50%;
	cursor: pointer;
	color: #1c1917;
	transition: var(--transition);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.drawer-close:hover,
.drawer-close:active {
	background: #1c1917;
	color: #c9a050;
	border-color: #1c1917;
}

/* Quick Assistance Card at Top of Drawer */
.drawer-quick-card {
	margin: 1rem 1.25rem 0.5rem;
	padding: 1rem 1.15rem;
	background: linear-gradient(135deg, #FAF7F2 0%, #F3EDE2 100%);
	border-radius: 12px;
	border: 1px solid #E6DCce;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.dqc-title {
	font-size: 14px;
	font-weight: 700;
	color: #1c1917;
	display: block;
}
.dqc-sub {
	font-size: 12.5px;
	color: #666666;
	display: block;
}
.dqc-call-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #1c1917;
	color: #c9a050 !important;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: var(--transition);
}
.dqc-call-btn:hover,
.dqc-call-btn:active {
	background: #c9a050;
	color: #ffffff !important;
}

/* Drawer Navigation List */
.mobile-nav-list {
	flex: 1;
	padding: 0.5rem 0;
	list-style: none;
}
.mobile-nav-list li {
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.mobile-nav-list li a,
.mobile-sub-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 0.85rem 1.25rem;
	font-size: 1.05rem;
	font-weight: 500;
	color: #1c1917;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	transition: var(--transition);
}
.mobile-nav-list li a:hover,
.mobile-nav-list li a:active,
.mobile-sub-toggle:hover,
.mobile-sub-toggle:active {
	color: #c9a050;
	background: #FAF7F2;
}

.m-icon {
	font-size: 18px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: middle;
}
.m-tag {
	font-size: 11px;
	font-weight: 700;
	background: rgba(201, 160, 80, 0.15);
	color: #aa8645;
	padding: 3px 8px;
	border-radius: 12px;
	margin-left: auto;
}
.sub-toggle-left {
	display: flex;
	align-items: center;
}

.sub-arrow {
	font-size: 1.25rem;
	color: #999999;
	transition: transform 0.3s ease;
	display: inline-block;
}
.mobile-sub-toggle.active .sub-arrow {
	transform: rotate(90deg);
	color: #c9a050;
}

/* Accordion Submenu */
.mobile-sub {
	display: none;
	background: #FAF8F5;
	border-left: 3px solid #c9a050;
	padding: 4px 0;
	list-style: none;
}
.mobile-sub.open { display: block; }
.mobile-sub li {
	border-bottom: 1px solid rgba(0,0,0,0.03);
}
.mobile-sub li a {
	padding: 0.75rem 1.25rem 0.75rem 2.2rem;
	font-size: 0.95rem;
	font-weight: 400;
	color: #444444;
	min-height: 46px;
}
.mobile-sub li a:hover,
.mobile-sub li a:active {
	color: #c9a050;
	background: #F3EDE2;
}

/* Drawer Info Block (Hours & Address) */
.drawer-info-block {
	padding: 1rem 1.25rem;
	background: #FAF7F2;
	border-top: 1px solid rgba(0,0,0,0.06);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.dib-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	color: #555555;
}
.dib-icon {
	font-size: 16px;
	line-height: 1.2;
}
.dib-item strong {
	display: block;
	color: #1c1917;
	font-size: 13px;
	margin-bottom: 2px;
}
.dib-item p {
	margin: 0;
	line-height: 1.45;
}

/* Drawer Footer */
.mobile-drawer-footer {
	padding: 1.25rem;
	border-top: 1px solid rgba(0,0,0,0.08);
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	background: #ffffff;
}
.btn-drawer-book {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 0.85rem;
	background: linear-gradient(135deg, #d37e54 0%, #aa8645 100%);
	color: #ffffff !important;
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: var(--transition);
	box-shadow: 0 4px 15px rgba(201, 160, 80, 0.3);
}
.btn-drawer-call {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem;
	background: #FAF7F2;
	color: #1c1917 !important;
	border: 1px solid #E6DCce;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	transition: var(--transition);
}
.btn-drawer-call:hover,
.btn-drawer-call:active {
	background: #1c1917;
	color: #c9a050 !important;
}

/* Overlay */
.drawer-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.6);
	z-index: 2050;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.drawer-overlay.open { display: block; }

/* ==========================================================================
   MOBILE APP BOTTOM NAVIGATION BAR (Sticky 5-Tab Bar for 40+ Users)
   ========================================================================== */
.mobile-app-bottom-bar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1050;
	background: rgba(28, 25, 23, 0.96);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 -4px 25px rgba(0, 0, 0, 0.25);
	padding-bottom: env(safe-area-inset-bottom, 0);
}

.mabb-inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	height: 64px;
	max-width: 500px;
	margin: 0 auto;
	align-items: center;
}

.mabb-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #a8a29e;
	text-decoration: none;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2px;
	transition: all 0.2s ease;
	position: relative;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}
.mabb-tab:active {
	transform: scale(0.92);
}

.mabb-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	margin-bottom: 2px;
	transition: transform 0.2s ease;
}
.mabb-icon svg {
	width: 22px;
	height: 22px;
}

.mabb-label {
	line-height: 1;
}

/* Active State */
.mabb-tab.active {
	color: #c9a050;
	font-weight: 700;
}
.mabb-tab.active::after {
	content: '';
	position: absolute;
	top: 4px;
	width: 4px;
	height: 4px;
	background: #c9a050;
	border-radius: 50%;
	box-shadow: 0 0 8px #c9a050;
}

/* Call Tab */
.mabb-tab-call {
	color: #ffffff;
}
.mabb-tab-call:hover,
.mabb-tab-call:active {
	color: #c9a050;
}

/* Book Tab (Accent Gold Pill) */
.mabb-tab-book {
	background: linear-gradient(135deg, #d37e54 0%, #aa8645 100%);
	color: #ffffff !important;
	border-radius: 12px;
	height: 48px;
	margin: 0 4px;
	box-shadow: 0 4px 14px rgba(201, 160, 80, 0.4);
}
.mabb-tab-book .mabb-icon {
	height: 20px;
	margin-bottom: 1px;
}
.mabb-tab-book .mabb-label {
	font-size: 11px;
	font-weight: 700;
	color: #ffffff;
}

/* Show bottom app bar only on mobile & tablet */
@media (max-width: 991px) {
	.mobile-app-bottom-bar {
		display: block;
	}
	body {
		padding-bottom: calc(68px + env(safe-area-inset-bottom, 0)) !important;
	}
}

/* ==========================================================================
   Buttons (shared)
   ========================================================================== */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.875rem 2rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	border-radius: 3px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: var(--transition);
	white-space: nowrap;
}
.btn-primary { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.btn-primary:hover { background: transparent; color: var(--color-primary); }
.btn-secondary { background: var(--color-secondary); color: #fff; border-color: var(--color-secondary); }
.btn-secondary:hover { background: transparent; color: var(--color-secondary); }
.btn-hero-primary { background: var(--color-primary); color:#fff; border-color:var(--color-primary); }
.btn-hero-primary:hover { background:#b56b43; border-color:#b56b43; color:#fff; }
.btn-hero-secondary { background:#712912; color:#fff; border-color:#712912; }
.btn-hero-secondary:hover { background:#5a200d; color:#fff; border-color:#5a200d; }
.btn-hero-accent { background:#fc8600; color:#fff; border-color:#fc8600; }
.btn-hero-accent:hover { background:#d97200; color:#fff; border-color:#d97200; }
.btn-cta-white { background:#fff; color:var(--color-primary); border-color:#fff; }
.btn-cta-white:hover { background:transparent; color:#fff; }

/* ==========================================================================
   HERO — Editorial Journal Style (Text Directly on Image)
   ========================================================================== */
.hero-section {
	position: relative;
	width: 100%;
	min-height: 90vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background-color: #FAF7F2;
	/* Offset for header */
	margin-top: calc(-1 * var(--header-h));
	padding: 130px 0 90px;
}

.hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
	z-index: 0;
	transform: scale(1.02);
	transition: transform 0.1s linear;
	opacity: 1;
}

.hero-overlay {
	display: none;
}

.hero-content-wrap {
	position: relative;
	z-index: 2;
	width: 100%;
}

.hero-content {
	position: relative;
	z-index: 2;
	max-width: 900px;
	padding: 0;
	background: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: none !important;
	box-shadow: none !important;
}

.hero-section .hero-eyebrow {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 5px !important;
	color: #DFC08A !important;
	margin-bottom: 1.35rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85) !important;
}
.hero-section .hero-eyebrow::before {
	content: '';
	width: 44px;
	height: 2px;
	background: #DFC08A !important;
	display: inline-block;
}

.hero-section .hero-title {
	font-family: 'Cormorant Garamond', 'Playfair Display', serif !important;
	font-size: clamp(4.2rem, 8.2vw, 7.0rem) !important;
	line-height: 0.98 !important;
	color: #FFFFFF !important;
	font-weight: 500 !important;
	letter-spacing: -0.5px !important;
	margin-bottom: 1.5rem !important;
	text-shadow: 0 4px 25px rgba(0, 0, 0, 0.85), 0 2px 6px rgba(0, 0, 0, 0.9) !important;
}

.hero-section .hero-tagline {
	font-family: 'Cormorant Garamond', serif !important;
	font-style: italic !important;
	font-size: clamp(1.65rem, 2.8vw, 2.4rem) !important;
	line-height: 1.38 !important;
	color: #FFF8EE !important;
	margin-bottom: 2.8rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.5px !important;
	max-width: 720px !important;
	text-shadow: 0 3px 18px rgba(0, 0, 0, 0.85) !important;
}

.hero-actions {
	display: flex;
	align-items: center;
}

.btn-journal-cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: linear-gradient(135deg, #DFC08A 0%, #C9A050 50%, #B88938 100%) !important;
	color: #12100E !important;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 18px 44px;
	border-radius: 4px;
	transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
	box-shadow: 0 10px 35px rgba(201, 160, 80, 0.45);
	text-decoration: none;
}
.btn-journal-cta svg {
	transition: transform 0.3s ease;
}
.btn-journal-cta:hover {
	background: #FFFFFF !important;
	color: #12100E !important;
	transform: translateY(-3px);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
}
.btn-journal-cta:hover svg {
	transform: translateX(5px);
}
.btn-journal-cta svg {
	transition: transform 0.3s ease;
}
.btn-journal-cta:hover {
	background: #FFFFFF;
	color: #12100E !important;
	transform: translateY(-3px);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.6);
}
.btn-journal-cta:hover svg {
	transform: translateX(5px);
}

/* ==========================================================================
   Section utilities
   ========================================================================== */
.section-padding    { padding: 5rem 0; }
.section-padding-sm { padding: 2rem 0; }

.section-title {
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	margin-bottom: 1.5rem;
	position: relative;
	padding-bottom: 1rem;
}
.section-title::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0;
	width: 48px; height: 2px;
	background: var(--color-secondary);
}
.centered-title { text-align: center; }
.centered-title::after { left: 50%; transform: translateX(-50%); }

/* ==========================================================================
   Intro Banner
   ========================================================================== */
.intro-banner-title {
	font-size: clamp(1rem,2vw,1.3rem);
	color: var(--color-text-dark);
	font-family: var(--font-body);
	font-weight: 500;
	letter-spacing: 0.3px;
}

/* ==========================================================================
   About Grid
   ========================================================================== */
.about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: center;
}
.about-image img {
	width: 100%;
	border-radius: 6px;
	box-shadow: 0 15px 60px rgba(0,0,0,0.12);
}
.about-text p { color: var(--color-text); line-height: 1.8; }

/* ==========================================================================
   Services Grid
   ========================================================================== */
.services-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1.5rem;
}
.service-card {
	background: var(--color-white);
	border-radius: 8px;
	padding: 2.25rem 1.75rem;
	text-align: center;
	color: var(--color-text-dark);
	transition: var(--transition);
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(211,126,84,0.18);
	border-color: rgba(211,126,84,0.3);
	color: var(--color-text-dark);
}
.service-card-icon {
	font-size: 1.75rem;
	color: var(--color-secondary);
	margin-bottom: 1rem;
}
.service-card h3 {
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}
.service-card p {
	font-size: 0.9rem;
	color: var(--color-text);
	line-height: 1.6;
	margin-bottom: 0;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
	background: var(--color-dark);
	color: rgba(255,255,255,0.65);
	padding: 4rem 0 2rem;
}
.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 3rem;
	margin-bottom: 2.5rem;
}
.footer-about img { height: 42px; width: auto; margin-bottom: 1.25rem; }
.footer-about p { font-size: 0.9rem; line-height: 1.7; }
.footer-heading {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-white);
	margin-bottom: 1.25rem;
}
.footer-links li { margin-bottom: 0.6rem; }
.footer-links a { font-size: 0.9rem; color: rgba(255,255,255,0.65); }
.footer-links a:hover { color: var(--color-primary); }
.footer-contact p { font-size: 0.9rem; margin-bottom: 0.5rem; }
.footer-contact a { color: rgba(255,255,255,0.65); }
.footer-contact a:hover { color: var(--color-primary); }
.footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.08);
	padding-top: 1.5rem;
	text-align: center;
	font-size: 0.82rem;
}

/* ==========================================================================
   Mobile Sticky Bottom Bar
   ========================================================================== */
.mobile-bottom-bar {
	display: none;
	position: fixed;
	bottom: 0; left: 0;
	width: 100%;
	z-index: 999;
	box-shadow: 0 -2px 20px rgba(0,0,0,0.12);
}
.mobile-action {
	flex: 1;
	text-align: center;
	padding: 1.1rem 0;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-white);
	border: none;
	cursor: pointer;
	transition: var(--transition);
}
.call-action { background: var(--color-secondary); }
.call-action:hover { background: #91712f; }
.book-action { background: var(--color-primary); }
.book-action:hover { background: #b56b43; }

/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes fadeInUp {
	from { opacity:0; transform:translateY(25px); }
	to   { opacity:1; transform:translateY(0);    }
}
.animate-fade-in-up {
	opacity: 0;
	animation: fadeInUp 0.75s cubic-bezier(0.25,0.46,0.45,0.94) forwards;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }

/* ==========================================================================
   SHOP — Hero Banner
   ========================================================================== */
.shop-hero {
	position: relative;
	height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.shop-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 40%, #6b3a22 70%, #8B4513 100%);
	z-index: 0;
}
.shop-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 70% 50%, rgba(211,126,84,0.25) 0%, transparent 60%);
}
.shop-hero-overlay {
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='rgba(170,134,69,0.06)' stroke-width='1'/%3E%3C/svg%3E") repeat;
	z-index: 1;
}
.shop-hero-content {
	position: relative;
	z-index: 2;
	padding-top: 2rem;
}
.shop-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary);
	margin-bottom: 0.5rem;
	font-family: var(--font-body);
}
.shop-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	color: var(--color-cream);
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.shop-hero-sub {
	font-size: 1rem;
	color: rgba(238,230,213,0.75);
	margin-bottom: 1.25rem;
	max-width: 560px;
	font-style: italic;
}
.shop-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.shop-breadcrumb a { color: rgba(255,255,255,0.55); }
.shop-breadcrumb a:hover { color: var(--color-secondary); }
.shop-breadcrumb span { color: rgba(255,255,255,0.75); }
.bc-sep { color: rgba(255,255,255,0.3); }

/* ==========================================================================
   SHOP — Trust Bar
   ========================================================================== */
.shop-trust-bar {
	background: var(--color-cream);
	border-bottom: 1px solid rgba(170,134,69,0.15);
	padding: 1rem 0;
}
.shop-trust-inner {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.trust-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--color-text-dark);
	letter-spacing: 0.3px;
}
.trust-icon { color: var(--color-secondary); font-size: 0.7rem; }

/* ==========================================================================
   SHOP — Layout (Sidebar + Products)
   ========================================================================== */
.shop-main { padding: 3.5rem 0 5rem; background: var(--color-bg-base); }

.shop-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 3rem;
	align-items: start;
}

/* ==========================================================================
   SHOP — Sidebar
   ========================================================================== */
.shop-sidebar { position: sticky; top: calc(var(--header-h) + 1.5rem); }

.sidebar-widget {
	background: var(--color-white);
	border-radius: 8px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.sidebar-title {
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 1.1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}

.sidebar-cat-list { margin: 0; padding: 0; }
.sidebar-cat-list li { margin-bottom: 0.1rem; }
.sidebar-cat-list li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	color: var(--color-text);
	border-radius: 4px;
	transition: var(--transition);
}
.sidebar-cat-list li a:hover,
.sidebar-cat-list li a.active {
	background: #fdf8f4;
	color: var(--color-primary);
	padding-left: 1rem;
}
.sidebar-cat-list li a.active { font-weight: 600; }
.cat-count {
	font-size: 0.78rem;
	background: var(--color-bg-alt);
	color: var(--color-text);
	padding: 0.1rem 0.45rem;
	border-radius: 20px;
}

/* WooCommerce native price slider override */
.widget_price_filter .price_slider_wrapper { margin-top: 0.75rem; }
.widget_price_filter .ui-slider { background: rgba(0,0,0,0.1); height: 4px; border-radius: 4px; border: none; }
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--color-primary); border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,0.2); width: 18px; height: 18px; border-radius: 50%; top: -7px; cursor: pointer; }
.widget_price_filter .ui-slider .ui-slider-range { background: var(--color-primary); }
.widget_price_filter .price_slider_amount { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; }
.widget_price_filter .price_slider_amount button { background: var(--color-primary)!important; color: #fff!important; border: none!important; padding: 0.4rem 1rem!important; border-radius: 3px!important; font-size: 0.8rem!important; cursor: pointer; }
.widget_price_filter .price_slider_amount .price_label { font-size: 0.85rem; color: var(--color-text); }

/* Sidebar Promo Box */
.sidebar-promo {
	background: linear-gradient(135deg, #2a1a0e, #4a2c1a);
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 1.5rem;
}
.sidebar-promo-inner { padding: 1.75rem 1.5rem; text-align: center; }
.sidebar-promo-label {
	font-size: 0.75rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--color-secondary);
	margin-bottom: 0.75rem;
}
.sidebar-promo-text {
	font-size: 0.88rem;
	color: rgba(238,230,213,0.85);
	line-height: 1.6;
	margin-bottom: 1.25rem;
}
.btn-promo-book {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 3px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: var(--transition);
}
.btn-promo-book:hover { background: var(--color-secondary); }

/* ==========================================================================
   SHOP — Toolbar
   ========================================================================== */
.shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
	padding: 1rem 1.25rem;
	background: var(--color-white);
	border-radius: 6px;
	border: 1px solid rgba(0,0,0,0.06);
}
.shop-result-count .woocommerce-result-count {
	font-size: 0.88rem;
	color: var(--color-text);
	margin: 0;
}
.shop-ordering select {
	padding: 0.45rem 2rem 0.45rem 0.75rem;
	font-size: 0.85rem;
	font-family: var(--font-body);
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 4px;
	background: #fff;
	color: var(--color-text-dark);
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23555'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
}

/* ==========================================================================
   SHOP & PRODUCTS GRID
   ========================================================================== */

/* Crucial Fix: Turn off clearfix pseudo-elements on grid elements.
   Otherwise ::before acts as the 1st grid cell, leaving column 1 empty! */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.shop-products-area ul.products::before,
.shop-products-area ul.products::after,
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

/* Ensure section.related.products container is block, only ul.products is grid */
section.related.products,
.single-product-main .related {
	display: block !important;
	clear: both !important;
	margin-top: 4rem !important;
	padding-top: 2.5rem !important;
	border-top: 1px solid rgba(0,0,0,0.08) !important;
}

.shop-products-area ul.products,
.shop-products-area ul.luxury-grid,
.woocommerce ul.products,
ul.products.luxury-grid,
.related ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.75rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
}

/* Kill ALL WooCommerce float layout completely */
.luxury-product-card,
.woocommerce ul.products li.product,
.related ul.products li.product {
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	width: 100% !important;
}


/* ==========================================================================
   LUXURY PRODUCT CARD (.luxury-product-card)
   ========================================================================== */
.luxury-product-card {
	background: var(--color-white);
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 3px 16px rgba(0,0,0,0.05);
	transition: var(--transition);
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	clear: none !important;
	padding: 0 !important;
}
.luxury-product-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(211,126,84,0.15);
	border-color: rgba(211,126,84,0.2);
}

/* ==========================================================================
   Single Product Page
   ========================================================================== */
.single-product-main { background: var(--color-bg-base); }
.single-product-main .woocommerce-product-gallery { border-radius: 10px; overflow: hidden; }
.single-product-main .product_title { font-family: var(--font-heading); font-size: 2.2rem; margin-bottom: 0.5rem; }
.single-product-main .woocommerce-product-rating { margin-bottom: 1rem; }
.single-product-main .price { font-size: 1.5rem; color: var(--color-primary); font-weight: 600; margin-bottom: 1.25rem; }
.single-product-main .woocommerce-product-details__short-description { margin-bottom: 1.5rem; color: var(--color-text); line-height: 1.8; }
.single-product-main .cart .qty { border: 1px solid rgba(0,0,0,0.15); border-radius: 5px; padding: 0.6rem 0.75rem; font-size: 1rem; width: 70px; }
.single-product-main .single_add_to_cart_button {
	background: var(--color-primary) !important;
	color: #fff !important;
	border-radius: 5px !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	padding: 0.8rem 2rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	transition: var(--transition) !important;
}
.single-product-main .single_add_to_cart_button:hover { background: var(--color-secondary) !important; }
.single-product-main .product_meta { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(0,0,0,0.08); font-size: 0.88rem; color: var(--color-text); }
.single-product-main .woocommerce-tabs .tabs { border-bottom: 2px solid rgba(0,0,0,0.08); margin-bottom: 2rem; display: flex; gap: 0.5rem; }
.single-product-main .woocommerce-tabs .tabs li a { padding: 0.65rem 1.25rem; font-weight: 500; font-size: 0.9rem; color: var(--color-text); border-radius: 5px 5px 0 0; }
.single-product-main .woocommerce-tabs .tabs li.active a { color: var(--color-primary); border-bottom: 2px solid var(--color-primary); background: rgba(211,126,84,0.05); }
.single-product-main .related h2 { font-family: var(--font-heading); font-size: 1.75rem; margin-bottom: 1.5rem; }


/* Image Wrap */
.lpc-image-wrap {
	position: relative;
	overflow: hidden;
	background: var(--color-bg-alt);
	aspect-ratio: 1 / 1;
}
.lpc-image-link { display: block; height: 100%; }
.lpc-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.luxury-product-card:hover .lpc-img { transform: scale(1.07); }

/* Badges */
.lpc-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 3;
	padding: 0.25rem 0.65rem;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 3px;
}
.lpc-badge-sale { background: var(--color-primary); color: #fff; }
.lpc-badge-sold { background: var(--color-dark); color: rgba(255,255,255,0.85); }

/* Hover Overlay */
.lpc-overlay {
	position: absolute;
	inset: 0;
	background: rgba(28,25,23,0.55);
	backdrop-filter: blur(2px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 1.5rem;
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: 4;
}
.luxury-product-card:hover .lpc-overlay { opacity: 1; }

.lpc-overlay-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0 1.25rem;
	transform: translateY(12px);
	transition: transform 0.35s ease;
}
.luxury-product-card:hover .lpc-overlay-actions { transform: translateY(0); }

/* Add to cart button in overlay */
.lpc-overlay-actions .button,
.lpc-overlay-actions a.button,
.lpc-atc-btn {
	width: 100% !important;
	text-align: center !important;
	justify-content: center !important;
	padding: 0.75rem 1rem !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: background 0.25s ease !important;
}
.lpc-overlay-actions .button:hover,
.lpc-overlay-actions a.button:hover {
	background: var(--color-secondary) !important;
}

.lpc-view-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.6rem 1rem;
	background: rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.9);
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 4px;
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: var(--transition);
}
.lpc-view-btn:hover { background: rgba(255,255,255,0.25); color: #fff; }

.lpc-out-of-stock {
	width: 100%;
	text-align: center;
	padding: 0.75rem;
	background: rgba(0,0,0,0.4);
	color: rgba(255,255,255,0.7);
	border-radius: 4px;
	font-size: 0.82rem;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Card Body */
.lpc-body {
	padding: 1.25rem 1.25rem 1.5rem;
}
.lpc-category {
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 0.4rem;
}
.lpc-title {
	font-family: var(--font-heading);
	font-size: 1.15rem;
	font-weight: 400;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}
.lpc-title a { color: var(--color-text-dark); }
.lpc-title a:hover { color: var(--color-primary); }

.lpc-rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
}
.lpc-rating .star-rating { font-size: 0.75rem; }
.lpc-review-count { font-size: 0.78rem; color: var(--color-text); }

.lpc-price {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--color-primary);
}
.lpc-price del { color: rgba(0,0,0,0.35); font-size: 0.88rem; margin-right: 0.4rem; font-weight: 400; }
.lpc-price ins { text-decoration: none; }

/* ==========================================================================
   SHOP — Pagination
   ========================================================================== */
.shop-pagination {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 4px;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--color-text-dark);
	background: var(--color-white);
	border: 1px solid rgba(0,0,0,0.1);
	transition: var(--transition);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

/* ==========================================================================
   SHOP — Empty State
   ========================================================================== */
.shop-empty {
	text-align: center;
	padding: 5rem 2rem;
}
.shop-empty-icon { font-size: 3rem; color: var(--color-secondary); margin-bottom: 1.5rem; }
.shop-empty h3 { font-size: 1.75rem; margin-bottom: 0.75rem; }
.shop-empty p { color: var(--color-text); margin-bottom: 2rem; }
.btn-shop-browse {
	display: inline-block;
	padding: 0.85rem 2rem;
	background: var(--color-primary);
	color: #fff;
	border-radius: 4px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.85rem;
	transition: var(--transition);
}
.btn-shop-browse:hover { background: var(--color-secondary); color: #fff; }

/* ==========================================================================
   WooCommerce — Global Overrides
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input[type="submit"] {
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	padding: 0.75rem 1.5rem !important;
	transition: var(--transition) !important;
	cursor: pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input[type="submit"]:hover {
	background: var(--color-secondary) !important;
	color: #fff !important;
}
.woocommerce .star-rating span::before { color: var(--color-secondary); }
.woocommerce span.onsale { background: var(--color-primary) !important; border-radius: 3px !important; }

.page-banner { background: var(--color-dark); padding: 3rem 0; }

/* ==========================================================================
   SHOP — Responsive ≤992px
   ========================================================================== */
@media (max-width: 992px) {
	.shop-layout {
		grid-template-columns: 1fr;
	}
	.shop-sidebar {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem;
	}
	.sidebar-promo { grid-column: span 2; }
	.woocommerce ul.products,
	.shop-products-area ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.shop-hero { height: 280px; }
	.shop-trust-inner { gap: 1rem; }
}

@media (max-width: 640px) {
	.shop-sidebar {
		grid-template-columns: 1fr;
	}
	.sidebar-promo { grid-column: span 1; }
	.woocommerce ul.products,
	.shop-products-area ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1rem !important;
	}
	.shop-hero { height: 240px; }
	.shop-trust-inner { flex-direction: column; align-items: flex-start; padding: 0 1rem; }
	.shop-toolbar { flex-direction: column; gap: 0.75rem; align-items: flex-start; }
}

@media (max-width: 400px) {
	.woocommerce ul.products,
	.shop-products-area ul.products {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================================
   Responsive — Tablet ≤992px
   ========================================================================== */
@media (max-width: 992px) {
	.nav-center   { display: none; }
	.btn-nav-book { display: none; }
	.hamburger    { display: flex; }

	.about-grid    { grid-template-columns: 1fr; gap: 2.5rem; }
	.services-grid { grid-template-columns: repeat(2,1fr); }
	.footer-grid   { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   CONTACT US — Luxury Page Styling
   ========================================================================== */


/* ── Hero Banner ── */
.contact-hero {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 3rem 0;
}
.contact-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #712912 100%) !important;
	z-index: 0;
}
.contact-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 50% 40%, rgba(211,126,84,0.25) 0%, transparent 70%);
}
.contact-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.contact-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.contact-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary) !important;
	margin-bottom: 0.5rem;
}
.contact-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.contact-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}

.contact-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.contact-breadcrumb a { color: rgba(255,255,255,0.55); }
.contact-breadcrumb a:hover { color: var(--color-secondary); }
.contact-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Quick Contact Cards (3-Column Grid) ── */
.contact-cards-section {
	margin-top: -3.5rem;
	position: relative;
	z-index: 10;
	padding-bottom: 3.5rem;
}
.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}
.contact-card {
	background: var(--color-white);
	border-radius: 12px;
	padding: 2.25rem 1.75rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 10px 30px rgba(0,0,0,0.06);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.contact-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 45px rgba(211,126,84,0.15);
	border-color: rgba(211,126,84,0.3);
}
.contact-card-icon {
	width: 52px;
	height: 52px;
	border-radius: 10px;
	background: #fdf8f4;
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	border: 1px solid rgba(211,126,84,0.15);
}
.contact-card h3 {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	color: var(--color-text-dark);
	margin-bottom: 0.6rem;
}
.card-highlight {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-text-dark);
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
.card-highlight a { color: var(--color-text-dark); }
.card-highlight a:hover { color: var(--color-primary); }
.card-subtext {
	font-size: 0.88rem;
	color: var(--color-text);
	margin-bottom: 1.25rem;
	line-height: 1.5;
}
.contact-card-link {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-primary);
	letter-spacing: 0.5px;
	margin-top: auto;
}
.contact-card-link:hover { color: var(--color-secondary); }

.btn-card-action {
	background: var(--color-primary);
	color: #fff;
	border: none;
	padding: 0.65rem 1.2rem;
	border-radius: 5px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: var(--transition);
	margin-top: auto;
}
.btn-card-action:hover { background: var(--color-secondary); }

/* Hours Table */
.hours-list {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	font-size: 0.88rem;
}
.hours-row {
	display: flex;
	justify-content: space-between;
	padding-bottom: 0.35rem;
	border-bottom: 1px dashed rgba(0,0,0,0.08);
	color: var(--color-text-dark);
}
.hours-row span:last-child { font-weight: 600; color: var(--color-primary); }
.hours-row.closed span:last-child { color: var(--color-text); font-weight: 400; }

/* ── Main Layout: Form & Sidebar Column ── */
.contact-main-section {
	padding: 2.5rem 0 5rem;
	background: var(--color-bg-base);
}
.contact-layout {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 3.5rem;
	align-items: start;
}

/* ── Contact Form ── */
.contact-form-wrapper {
	background: var(--color-white);
	border-radius: 14px;
	padding: 3rem 2.5rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 8px 35px rgba(0,0,0,0.05);
}
.form-header {
	margin-bottom: 2rem;
}
.form-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.form-title {
	font-family: var(--font-heading);
	font-size: 2.2rem;
	color: var(--color-text-dark);
	margin-top: 0.25rem;
	margin-bottom: 0.5rem;
}
.form-sub {
	font-size: 0.95rem;
	color: var(--color-text);
	margin-bottom: 0;
}

.luxury-contact-form .form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}
.luxury-contact-form .form-group {
	margin-bottom: 1.35rem;
}
.luxury-contact-form label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-text-dark);
	margin-bottom: 0.45rem;
}
.luxury-contact-form input,
.luxury-contact-form select,
.luxury-contact-form textarea {
	width: 100%;
	padding: 0.85rem 1.1rem;
	font-size: 0.95rem;
	font-family: var(--font-body);
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 6px;
	background: #fafafa;
	color: var(--color-text-dark);
	transition: var(--transition);
}
.luxury-contact-form input:focus,
.luxury-contact-form select:focus,
.luxury-contact-form textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(211,126,84,0.12);
}

.btn-submit-enquiry {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.95rem 2.25rem;
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 0.88rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	cursor: pointer;
	transition: var(--transition);
	margin-top: 0.5rem;
}
.btn-submit-enquiry:hover {
	background: var(--color-secondary);
	transform: translateY(-2px);
}

/* ── Right Column: Booking Card & Location Tips ── */
.contact-info-column {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.booking-promo-card {
	background: linear-gradient(145deg, #2a1a0e 0%, #4a2c1a 100%);
	border-radius: 14px;
	padding: 2.25rem 2rem;
	color: var(--color-white);
	box-shadow: 0 10px 40px rgba(0,0,0,0.12);
	position: relative;
	overflow: hidden;
}
.bpc-badge {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-cream);
	background: rgba(255,255,255,0.12);
	padding: 0.25rem 0.75rem;
	border-radius: 20px;
	margin-bottom: 1rem;
}
.booking-promo-card h3 {
	font-family: var(--font-heading);
	font-size: 1.75rem;
	color: var(--color-cream);
	margin-bottom: 0.75rem;
}
.booking-promo-card p {
	font-size: 0.92rem;
	color: rgba(238,230,213,0.85);
	line-height: 1.65;
	margin-bottom: 1.5rem;
}
.btn-bpc-primary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: 100%;
	padding: 0.9rem 1.5rem;
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 0.88rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: var(--transition);
}
.btn-bpc-primary:hover {
	background: var(--color-secondary);
}
.bpc-note {
	font-size: 0.78rem !important;
	color: rgba(238,230,213,0.6) !important;
	text-align: center;
	margin-top: 0.85rem !important;
	margin-bottom: 0 !important;
}

/* Location Tips Box */
.location-details-box {
	background: var(--color-white);
	border-radius: 14px;
	padding: 2rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.location-details-box h4 {
	font-family: var(--font-heading);
	font-size: 1.4rem;
	color: var(--color-text-dark);
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}
.location-tips-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.location-tips-list li {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}
.tip-icon {
	font-size: 1.2rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}
.location-tips-list strong {
	display: block;
	font-size: 0.92rem;
	color: var(--color-text-dark);
	margin-bottom: 0.2rem;
}
.location-tips-list p {
	font-size: 0.86rem;
	color: var(--color-text);
	margin: 0;
	line-height: 1.5;
}

/* ── Map Section ── */
.contact-map-section {
	padding: 4rem 0 5rem;
	background: var(--color-bg-base);
}
.map-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.map-title {
	font-family: var(--font-heading);
	font-size: 2.2rem;
	color: var(--color-text-dark);
	margin-top: 0.25rem;
	margin-bottom: 2rem;
}
.map-frame-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5rem;
}
.map-frame-wrapper iframe {
	border-radius: 14px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.08);
}

/* ── Responsive ── */
@media (max-width: 992px) {
	.contact-cards-grid { grid-template-columns: 1fr; gap: 1.25rem; }
	.contact-cards-section { margin-top: -2rem; }
	.contact-layout { grid-template-columns: 1fr; gap: 2.5rem; }
	.contact-form-wrapper { padding: 2rem 1.5rem; }
}

@media (max-width: 640px) {
	.contact-hero { height: 320px; }
	.luxury-contact-form .form-grid { grid-template-columns: 1fr; gap: 0; }
}

	.footer-grid   { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   Responsive — Mobile ≤640px
   ========================================================================== */
@media (max-width: 640px) {
	:root { --topbar-h: 0px; --nav-h: 65px; }
	.header-topbar { display: none; }
	.nav-logo .site-logo { height: 40px; }

	.hero-section { height: 88vh; }
	.hero-title   { font-size: 2.5rem; }
	.hero-actions { flex-direction: column; gap: 0.6rem; }
	.hero-actions .btn { width: 100%; justify-content: center; }

	.services-grid { grid-template-columns: 1fr; }
	.footer-grid   { grid-template-columns: 1fr; gap: 2rem; }

	.mobile-bottom-bar { display: flex; }
	body { padding-bottom: 64px; }
}

@media (max-width: 400px) {}

/* ==========================================================================
   SHOP — Hero Banner
   ========================================================================== */
.shop-hero {
	position: relative;
	height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.shop-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 40%, #6b3a22 70%, #8B4513 100%);
	z-index: 0;
}
.shop-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 70% 50%, rgba(211,126,84,0.25) 0%, transparent 60%);
}
.shop-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.04;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.shop-hero-content {
	position: relative;
	z-index: 2;
}
.shop-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary);
	margin-bottom: 0.5rem;
}
.shop-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	color: var(--color-cream);
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.shop-hero-sub {
	font-size: 1rem;
	color: rgba(238,230,213,0.75);
	margin-bottom: 1.25rem;
	max-width: 560px;
	font-style: italic;
}
.shop-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.shop-breadcrumb a { color: rgba(255,255,255,0.5); }
.shop-breadcrumb a:hover { color: var(--color-secondary); }
.shop-breadcrumb span { color: rgba(255,255,255,0.75); }
.bc-sep { color: rgba(255,255,255,0.25); }

/* ==========================================================================
   SHOP — Trust Bar
   ========================================================================== */
.shop-trust-bar {
	background: var(--color-cream);
	border-bottom: 1px solid rgba(170,134,69,0.2);
	padding: 0.9rem 0;
}
.shop-trust-inner {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.trust-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--color-text-dark);
}
.trust-icon { color: var(--color-secondary); font-size: 0.65rem; }

/* ==========================================================================
   SHOP — Main Layout
   ========================================================================== */
.shop-main {
	padding: 3rem 0 5rem;
	background: var(--color-bg-base);
}

.shop-layout {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 2.5rem;
	align-items: start;
}

/* ==========================================================================
   SHOP — Sidebar
   ========================================================================== */
.shop-sidebar {
	position: sticky;
	top: calc(var(--header-h) + 1.5rem);
}

.sidebar-widget {
	background: var(--color-white);
	border-radius: 10px;
	padding: 1.4rem;
	margin-bottom: 1.25rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.sidebar-title {
	font-family: var(--font-body);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}
.sidebar-cat-list { margin: 0; padding: 0; }
.sidebar-cat-list li { margin-bottom: 0.1rem; }
.sidebar-cat-list li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.5rem 0.65rem;
	font-size: 0.875rem;
	color: var(--color-text);
	border-radius: 5px;
	transition: var(--transition);
}
.sidebar-cat-list li a:hover,
.sidebar-cat-list li a.active {
	background: #fdf8f4;
	color: var(--color-primary);
	padding-left: 0.95rem;
}
.sidebar-cat-list li a.active { font-weight: 600; }
.cat-count {
	font-size: 0.75rem;
	background: var(--color-bg-alt);
	color: var(--color-text);
	padding: 0.1rem 0.4rem;
	border-radius: 20px;
}

/* Sidebar Promo */
.sidebar-promo {
	background: linear-gradient(160deg, #2a1a0e 0%, #4a2c1a 100%);
	border-radius: 10px;
	overflow: hidden;
}
.sidebar-promo-inner { padding: 1.6rem 1.25rem; text-align: center; }
.sidebar-promo-label {
	font-size: 0.7rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--color-secondary);
	margin-bottom: 0.65rem;
}
.sidebar-promo-text {
	font-size: 0.85rem;
	color: rgba(238,230,213,0.85);
	line-height: 1.65;
	margin-bottom: 1.2rem;
}
.btn-promo-book {
	display: inline-block;
	padding: 0.6rem 1.1rem;
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: var(--transition);
}
.btn-promo-book:hover { background: var(--color-secondary); }

/* ==========================================================================
   SHOP — Toolbar
   ========================================================================== */
.shop-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.75rem;
	padding: 0.9rem 1.1rem;
	background: var(--color-white);
	border-radius: 7px;
	border: 1px solid rgba(0,0,0,0.06);
}
.shop-result-count .woocommerce-result-count {
	font-size: 0.875rem;
	color: var(--color-text);
	margin: 0;
}
.shop-ordering select {
	padding: 0.4rem 2rem 0.4rem 0.65rem;
	font-size: 0.85rem;
	font-family: var(--font-body);
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 5px;
	background: #fff;
	color: var(--color-text-dark);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23555'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
}

/* ==========================================================================
   SHOP — Product Grid
   ========================================================================== */
.shop-products-area ul.products,
.woocommerce-loop {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.5rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ==========================================================================
   LUXURY PRODUCT CARD
   ========================================================================== */
.luxury-product-card {
	background: var(--color-white);
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.07);
	box-shadow: 0 2px 14px rgba(0,0,0,0.05);
	transition: transform 0.38s ease, box-shadow 0.38s ease, border-color 0.38s ease;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
}
.luxury-product-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 22px 55px rgba(211,126,84,0.16);
	border-color: rgba(211,126,84,0.25);
}

/* Image container */
.lpc-image-wrap {
	position: relative;
	overflow: hidden;
	background: var(--color-bg-alt);
	aspect-ratio: 1 / 1;
	width: 100%;
}
.lpc-image-link {
	display: block;
	width: 100%;
	height: 100%;
}
.lpc-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.luxury-product-card:hover .lpc-img { transform: scale(1.08); }

/* Badges */
.lpc-badge {
	position: absolute;
	top: 0.65rem;
	left: 0.65rem;
	z-index: 3;
	padding: 0.22rem 0.6rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 3px;
}
.lpc-badge-sale { background: var(--color-primary); color: #fff; }
.lpc-badge-sold { background: var(--color-dark); color: rgba(255,255,255,0.8); }

/* Hover overlay */
.lpc-overlay {
	position: absolute;
	inset: 0;
	background: rgba(28,25,23,0.6);
	backdrop-filter: blur(3px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 1.5rem;
	opacity: 0;
	transition: opacity 0.32s ease;
	z-index: 5;
}
.luxury-product-card:hover .lpc-overlay { opacity: 1; }

.lpc-overlay-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.6rem;
	width: calc(100% - 2.5rem);
	transform: translateY(14px);
	transition: transform 0.32s ease;
}
.luxury-product-card:hover .lpc-overlay-actions { transform: translateY(0); }

/* Add to cart button inside overlay */
.lpc-overlay-actions .button,
.lpc-overlay-actions a.button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 0.72rem 1rem !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 5px !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: background 0.25s ease !important;
}
.lpc-overlay-actions .button:hover,
.lpc-overlay-actions a.button:hover {
	background: var(--color-secondary) !important;
}

.lpc-view-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.6rem 1rem;
	background: rgba(255,255,255,0.1);
	color: rgba(255,255,255,0.88);
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 5px;
	font-size: 0.78rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background 0.25s ease;
}
.lpc-view-btn:hover { background: rgba(255,255,255,0.22); color: #fff; }

.lpc-out-of-stock {
	width: 100%;
	text-align: center;
	padding: 0.72rem;
	background: rgba(0,0,0,0.35);
	color: rgba(255,255,255,0.65);
	border-radius: 5px;
	font-size: 0.78rem;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Card Body */
.lpc-body { padding: 1.1rem 1.25rem 1.4rem; }
.lpc-category {
	display: block;
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 0.35rem;
}
.lpc-title {
	font-family: var(--font-heading);
	font-size: 1.1rem;
	font-weight: 400;
	margin-bottom: 0.45rem;
	line-height: 1.3;
}
.lpc-title a { color: var(--color-text-dark); }
.lpc-title a:hover { color: var(--color-primary); }
.lpc-rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: 0.4rem;
}
.lpc-rating .star-rating { font-size: 0.75rem; }
.lpc-review-count { font-size: 0.75rem; color: var(--color-text); }
.lpc-price { font-size: 1rem; font-weight: 600; color: var(--color-primary); }
.lpc-price del { color: rgba(0,0,0,0.3); font-size: 0.85rem; margin-right: 0.35rem; font-weight: 400; }
.lpc-price ins { text-decoration: none; }

/* ==========================================================================
   SHOP — Pagination
   ========================================================================== */
.shop-pagination { margin-top: 3rem; display: flex; justify-content: center; }
.shop-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.shop-pagination .page-numbers li a,
.shop-pagination .page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 5px;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--color-text-dark);
	background: var(--color-white);
	border: 1px solid rgba(0,0,0,0.1);
	transition: var(--transition);
}
.shop-pagination .page-numbers li a:hover,
.shop-pagination .page-numbers li span.current {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

/* ==========================================================================
   SHOP — Empty State
   ========================================================================== */
.shop-empty { text-align: center; padding: 5rem 2rem; }
.shop-empty-icon { font-size: 2.5rem; color: var(--color-secondary); margin-bottom: 1.5rem; }
.shop-empty h3 { font-size: 1.75rem; margin-bottom: 0.75rem; }
.shop-empty p { color: var(--color-text); margin-bottom: 2rem; }
.btn-shop-browse {
	display: inline-block;
	padding: 0.85rem 2rem;
	background: var(--color-primary);
	color: #fff;
	border-radius: 5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.85rem;
	transition: var(--transition);
}
.btn-shop-browse:hover { background: var(--color-secondary); color: #fff; }

/* ==========================================================================
   WooCommerce — Global Button Overrides
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input[type="submit"] {
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 5px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	padding: 0.75rem 1.5rem !important;
	transition: var(--transition) !important;
	cursor: pointer !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input[type="submit"]:hover {
	background: var(--color-secondary) !important;
	color: #fff !important;
}
.woocommerce .star-rating span::before { color: var(--color-secondary); }
.woocommerce span.onsale { background: var(--color-primary) !important; border-radius: 3px !important; }
.page-banner { background: var(--color-dark); padding: 3rem 0; }

/* ==========================================================================
   SHOP — Responsive
   ========================================================================== */
@media (max-width: 992px) {
	.shop-layout { grid-template-columns: 1fr; }
	.shop-sidebar {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem;
	}
	.sidebar-promo { grid-column: span 2; }
	.shop-products-area ul.products,
	.woocommerce-loop {
		grid-template-columns: repeat(3, 1fr) !important;
	}
	.shop-hero { height: 280px; }
}

@media (max-width: 768px) {
	.shop-products-area ul.products,
	.woocommerce-loop {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.shop-sidebar {
		grid-template-columns: 1fr;
	}
	.sidebar-promo { grid-column: span 1; }
	.shop-trust-inner { justify-content: flex-start; flex-wrap: wrap; gap: 0.75rem; }
	.shop-hero { height: 240px; }
	.shop-toolbar { flex-direction: column; gap: 0.75rem; align-items: flex-start; }
}

@media (max-width: 480px) {
	.shop-products-area ul.products,
	.woocommerce-loop {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.75rem !important;
	}
}

/* ==========================================================================
   TEAM PAGE — Luxury Styling
   ========================================================================== */

/* ── Team Hero ── */
.team-hero {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 3.5rem 0;
}
.team-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #6b3a22 100%) !important;
	z-index: 0;
}
.team-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 50% 40%, rgba(211,126,84,0.25) 0%, transparent 70%);
}
.team-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.team-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.team-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary) !important;
	margin-bottom: 0.5rem;
}
.team-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.team-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}
.team-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.team-breadcrumb a { color: rgba(255,255,255,0.55); }
.team-breadcrumb a:hover { color: var(--color-secondary); }
.team-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Founder Spotlight ── */
.team-spotlight-section {
	padding: 5rem 0;
	background: var(--color-bg-base);
}
.spotlight-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 4.5rem;
	align-items: center;
}
.spotlight-image-wrap {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0,0,0,0.14);
	max-height: 520px;
}
.spotlight-badge {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	z-index: 3;
	background: var(--color-primary);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 0.4rem 1rem;
	border-radius: 30px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.spotlight-img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	object-position: top center;
	display: block;
	transition: transform 0.6s ease;
}
.spotlight-image-wrap:hover .spotlight-img {
	transform: scale(1.03);
}

.spotlight-eyebrow {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.spotlight-name {
	font-family: var(--font-heading);
	font-size: 2.8rem;
	color: var(--color-text-dark);
	margin-top: 0.2rem;
	margin-bottom: 0.25rem;
}
.spotlight-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--color-primary);
	margin-bottom: 1.5rem;
}
.spotlight-bio {
	font-size: 0.98rem;
	color: var(--color-text);
	line-height: 1.8;
	margin-bottom: 1.2rem;
}

.spotlight-highlights {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 1.75rem 0 2.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0,0,0,0.08);
}
.highlight-item {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}
.hl-icon {
	color: var(--color-secondary);
	font-size: 0.9rem;
	margin-top: 0.15rem;
}
.highlight-item strong {
	display: block;
	font-size: 0.95rem;
	color: var(--color-text-dark);
}
.highlight-item span {
	font-size: 0.86rem;
	color: var(--color-text);
}

.btn-spotlight-book {
	display: inline-block !important;
	padding: 0.9rem 2.25rem !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	cursor: pointer !important;
	transition: var(--transition) !important;
}
.btn-spotlight-book:hover {
	background: var(--color-secondary) !important;
	transform: translateY(-2px);
}


/* ── Team Grid Section ── */
.team-grid-section {
	padding: 4.5rem 0 5.5rem;
	background: #fdf8f4;
	border-top: 1px solid rgba(170,134,69,0.12);
	border-bottom: 1px solid rgba(170,134,69,0.12);
}
.section-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.section-main-title {
	font-family: var(--font-heading);
	font-size: 2.4rem;
	color: var(--color-text-dark);
	margin-top: 0.2rem;
	margin-bottom: 0.75rem;
}
.section-sub-title {
	font-size: 1rem;
	color: var(--color-text);
	max-width: 660px;
	margin: 0 auto;
}

.team-cards-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 2rem !important;
}
.team-card {
	background: var(--color-white);
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 8px 30px rgba(0,0,0,0.05);
	transition: var(--transition);
}
.team-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 20px 45px rgba(211,126,84,0.16);
	border-color: rgba(211,126,84,0.25);
}
.team-card-photo {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--color-bg-alt);
}
.team-card-photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.team-card:hover .team-card-photo img {
	transform: scale(1.07);
}
.team-card-overlay {
	position: absolute;
	inset: 0;
	background: rgba(28,25,23,0.55);
	backdrop-filter: blur(2px);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.35s ease;
}
.team-card:hover .team-card-overlay {
	opacity: 1;
}
.btn-card-book {
	display: inline-block !important;
	padding: 0.75rem 1.5rem !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 5px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: var(--transition) !important;
}
.btn-card-book:hover { background: var(--color-secondary) !important; }


.team-card-info {
	padding: 1.75rem 1.5rem 2rem;
}
.team-role {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 0.4rem;
}
.team-member-name {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	color: var(--color-text-dark);
	margin-bottom: 0.25rem;
}
.team-specialty {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--color-primary);
	margin-bottom: 0.85rem;
}
.team-desc {
	font-size: 0.88rem;
	color: var(--color-text);
	line-height: 1.65;
	margin: 0;
}

/* ── Philosophy Section ── */
.team-philosophy-section {
	padding: 5rem 0;
	background: var(--color-bg-base);
}
.philosophy-box {
	max-width: 960px;
	margin: 0 auto;
}
.phil-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 4px;
	color: var(--color-secondary);
	font-weight: 700;
}
.phil-title {
	font-family: var(--font-heading);
	font-size: 2.5rem;
	color: var(--color-text-dark);
	margin-top: 0.2rem;
	margin-bottom: 1.25rem;
}
.phil-text {
	font-family: var(--font-heading);
	font-size: 1.4rem;
	font-style: italic;
	color: var(--color-text-dark);
	line-height: 1.7;
	margin-bottom: 3.5rem;
}
.phil-features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	text-align: center;
}
.phil-feature {
	background: var(--color-white);
	border-radius: 12px;
	padding: 2rem 1.5rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}
.pf-icon {
	font-size: 2rem;
	margin-bottom: 1rem;
}
.phil-feature h4 {
	font-family: var(--font-body);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--color-text-dark);
	margin-bottom: 0.5rem;
}
.phil-feature p {
	font-size: 0.88rem;
	color: var(--color-text);
	line-height: 1.6;
	margin: 0;
}

/* ── CTA Strip ── */
.team-cta-strip {
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 100%);
	padding: 4.5rem 0;
	color: #fff;
}
.cta-strip-title {
	font-family: var(--font-heading);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	color: var(--color-cream);
	margin-bottom: 0.75rem;
}
.cta-strip-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85);
	margin-bottom: 2rem;
}
.cta-buttons {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* ── Team Responsive ── */
@media (max-width: 992px) {
	.spotlight-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.team-cards-grid { grid-template-columns: repeat(2, 1fr); }
	.phil-features-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

@media (max-width: 640px) {
	.team-cards-grid { grid-template-columns: 1fr; }
	.team-hero { min-height: 320px; }
}

/* ==========================================================================
   ABOUT PAGE — Trust-Building Luxury Styling
   ========================================================================== */

/* ── Hero Banner ── */
.about-hero {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 3.5rem 0;
}
.about-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #712912 100%) !important;
	z-index: 0;
}
.about-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 50% 40%, rgba(211,126,84,0.25) 0%, transparent 70%);
}
.about-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.about-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.about-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary) !important;
	margin-bottom: 0.5rem;
}
.about-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.about-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}
.about-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.about-breadcrumb a { color: rgba(255,255,255,0.55); }
.about-breadcrumb a:hover { color: var(--color-secondary); }
.about-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Trust Statistics Strip ── */
.about-trust-strip {
	background: var(--color-cream);
	border-bottom: 1px solid rgba(170,134,69,0.2);
	padding: 2.25rem 0;
	margin-top: -1px;
}
.trust-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	text-align: center;
}
.trust-stat-item {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.stat-number {
	font-family: var(--font-heading);
	font-size: 2.8rem;
	font-weight: 600;
	color: var(--color-primary);
	line-height: 1;
	margin-bottom: 0.35rem;
}
.stat-label {
	font-size: 0.84rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-text-dark);
}

/* ── Story Section ── */
.about-story-section {
	padding: 5.5rem 0;
	background: var(--color-bg-base);
}
.about-story-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 4.5rem;
	align-items: center;
}
.about-story-image-wrap {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0,0,0,0.12);
}
.story-image-badge {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	z-index: 3;
	background: var(--color-primary);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 0.4rem 1rem;
	border-radius: 30px;
}
.story-img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	display: block;
}
.story-floating-quote {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	right: 1.5rem;
	background: rgba(28,25,23,0.85);
	backdrop-filter: blur(8px);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
	color: var(--color-cream);
	border: 1px solid rgba(255,255,255,0.15);
}
.story-floating-quote p {
	font-family: var(--font-heading);
	font-size: 1.1rem;
	font-style: italic;
	margin-bottom: 0.35rem;
}
.story-floating-quote span {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-secondary);
	font-weight: 600;
}

.story-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.story-title {
	font-family: var(--font-heading);
	font-size: 2.6rem;
	color: var(--color-text-dark);
	margin-top: 0.2rem;
	margin-bottom: 1.25rem;
}
.story-text {
	font-size: 0.98rem;
	color: var(--color-text);
	line-height: 1.8;
	margin-bottom: 1.1rem;
}
.story-text.lead-text {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--color-text-dark);
}

.story-badges-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(0,0,0,0.08);
}
.sb-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--color-text-dark);
}
.sb-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(211,126,84,0.12);
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
}

/* ── Pillars of Trust Grid ── */
.about-pillars-section {
	padding: 5rem 0 6rem;
	background: #fdf8f4;
	border-top: 1px solid rgba(170,134,69,0.12);
	border-bottom: 1px solid rgba(170,134,69,0.12);
}
.pillars-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.75rem;
}
.pillar-card {
	background: var(--color-white);
	border-radius: 14px;
	padding: 2.25rem 1.6rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 8px 30px rgba(0,0,0,0.04);
	transition: var(--transition);
}
.pillar-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 45px rgba(211,126,84,0.15);
	border-color: rgba(211,126,84,0.25);
}
.pillar-icon-wrap {
	margin-bottom: 1.25rem;
}
.pillar-number {
	font-family: var(--font-heading);
	font-size: 2.2rem;
	font-weight: 600;
	color: var(--color-secondary);
	opacity: 0.85;
}
.pillar-card h3 {
	font-family: var(--font-heading);
	font-size: 1.4rem;
	color: var(--color-text-dark);
	margin-bottom: 0.65rem;
}
.pillar-card p {
	font-size: 0.88rem;
	color: var(--color-text);
	line-height: 1.7;
	margin: 0;
}

/* ── Journey / 3-Step Experience ── */
.about-journey-section {
	padding: 5.5rem 0;
	background: var(--color-bg-base);
}
.journey-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
.journey-step-card {
	background: var(--color-white);
	border-radius: 14px;
	padding: 2.5rem 2rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 6px 25px rgba(0,0,0,0.04);
	position: relative;
}
.step-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	background: rgba(211,126,84,0.12);
	color: var(--color-primary);
	padding: 0.3rem 0.85rem;
	border-radius: 20px;
	margin-bottom: 1.25rem;
}
.journey-step-card h4 {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	color: var(--color-text-dark);
	margin-bottom: 0.65rem;
}
.journey-step-card p {
	font-size: 0.9rem;
	color: var(--color-text);
	line-height: 1.65;
	margin: 0;
}

/* ── CTA Strip ── */
.about-cta-section {
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 100%);
	padding: 5rem 0;
	color: #fff;
}
.cta-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 4px;
	color: var(--color-secondary);
	font-weight: 700;
}
.cta-title {
	font-family: var(--font-heading);
	font-size: clamp(2rem, 4.5vw, 3rem);
	color: var(--color-cream);
	margin-top: 0.25rem;
	margin-bottom: 0.75rem;
}
.cta-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85);
	margin-bottom: 2rem;
}
.cta-buttons-row {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}

/* ── About Responsive ── */
@media (max-width: 992px) {
	.trust-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
	.about-story-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.pillars-grid { grid-template-columns: repeat(2, 1fr); }
	.journey-steps-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 640px) {
	.trust-stats-grid { grid-template-columns: 1fr; }
	.pillars-grid { grid-template-columns: 1fr; }
	.about-hero { min-height: 320px; }
}

/* ==========================================================================
   BLOG / JOURNAL — Luxury Styling
   ========================================================================== */

/* ── Blog Hero ── */
.blog-hero {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 3.5rem 0;
}
.blog-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #6b3a22 100%) !important;
	z-index: 0;
}
.blog-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 50% 40%, rgba(211,126,84,0.25) 0%, transparent 70%);
}
.blog-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.blog-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.blog-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary) !important;
	margin-bottom: 0.5rem;
}
.blog-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.blog-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}
.blog-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.blog-breadcrumb a { color: rgba(255,255,255,0.55); }
.blog-breadcrumb a:hover { color: var(--color-secondary); }
.blog-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Featured Post Spotlight ── */
.blog-featured-section {
	margin-top: -3rem;
	position: relative;
	z-index: 10;
	padding-bottom: 3.5rem;
}
.featured-post-card {
	background: var(--color-white);
	border-radius: 16px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}
.featured-post-thumb {
	position: relative;
	overflow: hidden;
	background: var(--color-bg-alt);
	min-height: 380px;
}
.featured-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.featured-post-card:hover .featured-img {
	transform: scale(1.04);
}
.featured-badge {
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	background: var(--color-primary);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 0.35rem 0.9rem;
	border-radius: 20px;
}
.featured-post-body {
	padding: 3rem 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.post-meta-top {
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
}
.post-cat {
	color: var(--color-secondary);
	text-transform: uppercase;
	letter-spacing: 1.5px;
}
.meta-sep { color: rgba(0,0,0,0.2); margin: 0 0.4rem; }
.post-date { color: var(--color-text); font-weight: 400; }

.featured-title {
	font-family: var(--font-heading);
	font-size: 2.2rem;
	line-height: 1.3;
	margin-bottom: 1rem;
}
.featured-title a { color: var(--color-text-dark); }
.featured-title a:hover { color: var(--color-primary); }

.featured-excerpt {
	font-size: 0.95rem;
	color: var(--color-text);
	line-height: 1.7;
	margin-bottom: 1.75rem;
}
.featured-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0,0,0,0.08);
}
.author-info {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--color-text-dark);
}
.author-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--color-secondary);
}
.btn-read-featured {
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 1px;
}
.btn-read-featured:hover { color: var(--color-secondary); }

/* ── Main Blog Layout (Grid + Sidebar) ── */
.blog-main-section {
	padding: 2.5rem 0 5rem;
	background: var(--color-bg-base);
}
.blog-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 3.5rem;
	align-items: start;
}

.blog-posts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

/* ── Luxury Blog Card ── */
.luxury-blog-card {
	background: var(--color-white);
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 6px 25px rgba(0,0,0,0.04);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
}
.luxury-blog-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 45px rgba(211,126,84,0.15);
	border-color: rgba(211,126,84,0.25);
}
.lbc-thumb-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--color-bg-alt);
}
.lbc-thumb-link { display: block; height: 100%; }
.lbc-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.luxury-blog-card:hover .lbc-img { transform: scale(1.07); }

.lbc-cat-tag {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	background: rgba(28,25,23,0.85);
	backdrop-filter: blur(4px);
	color: var(--color-cream);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
}

.lbc-body {
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.lbc-meta {
	font-size: 0.78rem;
	color: var(--color-text);
	margin-bottom: 0.5rem;
}
.meta-dot { margin: 0 0.35rem; color: rgba(0,0,0,0.2); }

.lbc-title {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	line-height: 1.35;
	margin-bottom: 0.65rem;
}
.lbc-title a { color: var(--color-text-dark); }
.lbc-title a:hover { color: var(--color-primary); }

.lbc-excerpt {
	font-size: 0.88rem;
	color: var(--color-text);
	line-height: 1.65;
	margin-bottom: 1.25rem;
}
.lbc-read-link {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: auto;
}
.lbc-read-link:hover { color: var(--color-secondary); }

/* ── Blog Search Form ── */
.blog-search-form {
	display: flex;
	position: relative;
}
.blog-search-form input {
	width: 100%;
	padding: 0.75rem 2.8rem 0.75rem 1rem;
	font-size: 0.9rem;
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 6px;
	background: #fafafa;
}
.blog-search-form input:focus {
	outline: none;
	border-color: var(--color-primary);
	background: #fff;
}
.blog-search-form button {
	position: absolute;
	right: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: var(--color-text);
	cursor: pointer;
	padding: 0.4rem;
}
.blog-search-form button:hover { color: var(--color-primary); }

.author-mini-profile {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}
.amp-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-secondary);
}
.author-mini-profile strong { display: block; font-size: 0.92rem; color: var(--color-cream); }
.author-mini-profile span { font-size: 0.78rem; color: var(--color-secondary); text-transform: uppercase; letter-spacing: 1px; }

/* ── Pagination ── */
.blog-pagination {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}
.blog-pagination .nav-links {
	display: flex;
	gap: 0.4rem;
	align-items: center;
}
.blog-pagination .page-numbers {
	padding: 0.6rem 1.1rem;
	border-radius: 5px;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--color-text-dark);
	background: var(--color-white);
	border: 1px solid rgba(0,0,0,0.1);
	transition: var(--transition);
}
.blog-pagination .page-numbers.current,
.blog-pagination .page-numbers:hover {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

/* ==========================================================================
   SINGLE POST PAGE — Reading Experience
   ========================================================================== */
.container-narrow {
	max-width: 820px;
	margin: 0 auto;
}
.single-post-hero {
	position: relative;
	min-height: 320px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 4rem 0 3.5rem;
}
.single-post-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 100%) !important;
}
.single-post-hero-overlay {
	position: absolute;
	inset: 0;
	opacity: 0.04;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.single-post-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.post-cat-badge {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
}
.post-date-text {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.65);
}
.single-post-title {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	color: var(--color-cream);
	line-height: 1.25;
	margin-top: 0.5rem;
	margin-bottom: 1.25rem;
}
.single-post-author-bar {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	background: rgba(255,255,255,0.08);
	padding: 0.4rem 1.25rem;
	border-radius: 30px;
	color: rgba(238,230,213,0.9);
	font-size: 0.85rem;
}
.author-avatar-sm {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
}

.single-post-main-content {
	padding: 3.5rem 0 6rem;
	background: var(--color-bg-base);
}
.single-featured-img {
	width: 100%;
	border-radius: 12px;
	box-shadow: 0 10px 35px rgba(0,0,0,0.08);
}

.luxury-prose {
	font-size: 1.05rem;
	line-height: 1.85;
	color: var(--color-text-dark);
}
.luxury-prose p { margin-bottom: 1.5rem; }
.luxury-prose h2, .luxury-prose h3 {
	font-family: var(--font-heading);
	color: var(--color-text-dark);
	margin-top: 2.25rem;
	margin-bottom: 1rem;
}
.luxury-prose h2 { font-size: 2rem; }
.luxury-prose h3 { font-size: 1.6rem; }
.luxury-prose blockquote {
	margin: 2rem 0;
	padding: 1.5rem 2rem;
	background: #fdf8f4;
	border-left: 4px solid var(--color-primary);
	font-family: var(--font-heading);
	font-size: 1.3rem;
	font-style: italic;
	color: var(--color-text-dark);
	border-radius: 0 8px 8px 0;
}

/* Author Bio Card at end of post */
.post-author-bio-card {
	display: flex;
	gap: 1.75rem;
	background: var(--color-white);
	border-radius: 12px;
	padding: 2rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 6px 25px rgba(0,0,0,0.04);
	align-items: center;
}
.pab-avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-secondary);
	flex-shrink: 0;
}
.pab-role {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
}
.pab-info h4 {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	margin-bottom: 0.35rem;
}
.pab-info p {
	font-size: 0.88rem;
	color: var(--color-text);
	margin-bottom: 1rem;
	line-height: 1.6;
}
.btn-pab-book {
	padding: 0.55rem 1.25rem;
	background: var(--color-primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
}
.btn-pab-book:hover { background: var(--color-secondary); }

.single-post-nav {
	display: flex;
	justify-content: space-between;
	padding-top: 2rem;
	border-top: 1px solid rgba(0,0,0,0.08);
	font-weight: 600;
	font-size: 0.9rem;
}
.single-post-nav a { color: var(--color-primary); }
.single-post-nav a:hover { color: var(--color-secondary); }

/* ── Blog Responsive ── */
@media (max-width: 992px) {
	.featured-post-card { grid-template-columns: 1fr; }
	.featured-post-thumb { min-height: 260px; }
	.blog-layout { grid-template-columns: 1fr; gap: 2.5rem; }
	.blog-posts-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.featured-post-body { padding: 1.75rem 1.25rem; }
	.post-author-bio-card { flex-direction: column; text-align: center; }
}

/* ==========================================================================
   SERVICES PAGE — Luxury Styling
   ========================================================================== */

/* ── Services Hero ── */
.services-hero {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 3.5rem 0;
}
.services-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #6b3a22 100%) !important;
	z-index: 0;
}
.services-hero-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(ellipse at 50% 40%, rgba(211,126,84,0.25) 0%, transparent 70%);
}
.services-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.services-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.services-hero-eyebrow {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: var(--color-secondary) !important;
	margin-bottom: 0.5rem;
}
.services-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.8rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.services-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}
.services-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.services-breadcrumb a { color: rgba(255,255,255,0.55); }
.services-breadcrumb a:hover { color: var(--color-secondary); }
.services-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Pillars Quick Filter Strip ── */
.services-pillars-strip {
	background: var(--color-cream);
	border-bottom: 1px solid rgba(170,134,69,0.2);
	padding: 1.5rem 0;
	margin-top: -1px;
}
.services-pillars-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.pillar-nav-card {
	background: var(--color-white);
	border-radius: 10px;
	padding: 1rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 0.85rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 4px 15px rgba(0,0,0,0.03);
	transition: var(--transition);
}
.pillar-nav-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(211,126,84,0.15);
	border-color: rgba(211,126,84,0.3);
}
.pnc-icon {
	color: var(--color-secondary);
	font-size: 1.1rem;
}
.pillar-nav-card strong {
	display: block;
	font-size: 0.92rem;
	color: var(--color-text-dark);
}
.pillar-nav-card span {
	font-size: 0.78rem;
	color: var(--color-text);
}

/* ── Category Section ── */
.services-category-section {
	padding: 5rem 0;
	background: var(--color-bg-base);
}
.services-category-section.alt-bg {
	background: #fdf8f4;
	border-top: 1px solid rgba(170,134,69,0.12);
	border-bottom: 1px solid rgba(170,134,69,0.12);
}

.cat-section-header {
	margin-bottom: 3rem;
}
.cat-eyebrow {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary);
	font-weight: 700;
}
.cat-title {
	font-family: var(--font-heading);
	font-size: 2.5rem;
	color: var(--color-text-dark);
	margin-top: 0.2rem;
	margin-bottom: 0.5rem;
}
.cat-desc {
	font-size: 0.98rem;
	color: var(--color-text);
	max-width: 680px;
	line-height: 1.65;
}

/* ── Services Cards Grid ── */
.services-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.luxury-service-card {
	background: var(--color-white);
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 8px 30px rgba(0,0,0,0.04);
	transition: var(--transition);
	display: flex;
	flex-direction: column;
}
.luxury-service-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 20px 45px rgba(211,126,84,0.16);
	border-color: rgba(211,126,84,0.25);
}
.lsc-image-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--color-bg-alt);
}
.lsc-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.luxury-service-card:hover .lsc-img { transform: scale(1.07); }

.lsc-badge {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	background: var(--color-primary);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
}

.lsc-body {
	padding: 1.6rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.lsc-cat {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	margin-bottom: 0.35rem;
}
.lsc-title {
	font-family: var(--font-heading);
	font-size: 1.45rem;
	line-height: 1.3;
	margin-bottom: 0.65rem;
}
.lsc-title a { color: var(--color-text-dark); }
.lsc-title a:hover { color: var(--color-primary); }

.lsc-excerpt {
	font-size: 0.88rem;
	color: var(--color-text);
	line-height: 1.65;
	margin-bottom: 1.5rem;
}

.lsc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid rgba(0,0,0,0.06);
}
.lsc-link {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.lsc-link:hover { color: var(--color-secondary); }

.btn-lsc-book {
	padding: 0.45rem 0.9rem !important;
	background: rgba(211,126,84,0.1) !important;
	color: var(--color-primary) !important;
	border: 1px solid rgba(211,126,84,0.3) !important;
	border-radius: 4px !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	cursor: pointer !important;
	transition: var(--transition) !important;
}
.btn-lsc-book:hover {
	background: var(--color-primary) !important;
	color: #fff !important;
}

/* ── CTA Strip ── */
.services-cta-strip {
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 100%);
	padding: 5rem 0;
	color: #fff;
}

/* ── Services Responsive ── */
@media (max-width: 992px) {
	.services-pillars-grid { grid-template-columns: 1fr; }
	.services-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.services-cards-grid { grid-template-columns: 1fr; }
	.services-hero { min-height: 320px; }
}

/* ==========================================================================
   SINGLE SERVICE PAGE — Luxury Styling
   ========================================================================== */

/* ── Single Service Hero ── */
.single-service-hero {
	position: relative;
	min-height: 360px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #2a1a0e !important;
	padding: 4rem 0 3.5rem;
}
.ss-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1a0e 0%, #4a2c1a 45%, #6b3a22 100%) !important;
	z-index: 0;
}
.ss-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='%23aa8645' stroke-width='1'/%3E%3C/svg%3E");
}
.ss-hero-content {
	position: relative;
	z-index: 2;
	width: 100%;
}
.ss-hero-badge {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: var(--color-secondary) !important;
	display: inline-block;
	margin-bottom: 0.5rem;
}
.ss-hero-title {
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5vw, 3.6rem);
	color: var(--color-cream) !important;
	font-weight: 400;
	margin-bottom: 0.75rem;
}
.ss-hero-sub {
	font-size: 1.05rem;
	color: rgba(238,230,213,0.85) !important;
	margin-bottom: 1.25rem;
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
	font-style: italic;
}
.ss-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
}
.ss-breadcrumb a { color: rgba(255,255,255,0.55); }
.ss-breadcrumb a:hover { color: var(--color-secondary); }
.ss-breadcrumb span { color: rgba(255,255,255,0.8); }

/* ── Main Layout (Prose + Sidebar) ── */
.single-service-main {
	padding: 4rem 0 6rem;
	background: var(--color-bg-base);
}
.single-service-layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 3.5rem;
	align-items: start;
}

.service-featured-img {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 12px 35px rgba(0,0,0,0.08);
}

.treatment-highlights-box {
	background: #fdf8f4;
	border: 1px solid rgba(170,134,69,0.2);
	border-radius: 12px;
	padding: 2.25rem;
}
.thb-title {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	color: var(--color-text-dark);
	margin-bottom: 1.25rem;
}
.thb-grid {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
}
.thb-item {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}
.thb-icon {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--color-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	flex-shrink: 0;
	margin-top: 0.15rem;
}
.thb-item strong {
	display: block;
	font-size: 0.95rem;
	color: var(--color-text-dark);
	margin-bottom: 0.15rem;
}
.thb-item p {
	font-size: 0.88rem;
	color: var(--color-text);
	margin: 0;
}

/* ── Sidebar Cards ── */
.service-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	position: sticky;
	top: 100px;
}
.ss-sidebar-card {
	background: var(--color-white);
	border-radius: 12px;
	padding: 2rem 1.6rem;
	border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 6px 25px rgba(0,0,0,0.04);
}
.swc-eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-secondary);
	display: block;
	margin-bottom: 0.35rem;
}
.booking-widget-card h3 {
	font-family: var(--font-heading);
	font-size: 1.6rem;
	margin-bottom: 0.65rem;
}
.booking-widget-card p {
	font-size: 0.88rem;
	color: var(--color-text);
	margin-bottom: 1.5rem;
	line-height: 1.6;
}
.btn-ss-phone {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-text-dark);
}
.btn-ss-phone:hover { color: var(--color-primary); }

.practitioner-card {
	background: #faf6f2;
	border-color: rgba(170,134,69,0.15);
}
.pc-header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 0.85rem;
}
.pc-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-secondary);
}
.pc-header strong { display: block; font-size: 0.95rem; color: var(--color-text-dark); }
.pc-header span { font-size: 0.75rem; color: var(--color-secondary); text-transform: uppercase; letter-spacing: 1px; }
.pc-text {
	font-family: var(--font-heading);
	font-size: 0.98rem;
	font-style: italic;
	color: var(--color-text-dark);
	line-height: 1.6;
	margin: 0;
}

.info-card-title {
	font-family: var(--font-heading);
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}
.info-card p {
	font-size: 0.86rem;
	color: var(--color-text);
	margin-bottom: 0.5rem;
}
.info-card p:last-child { margin-bottom: 0; }

/* ── Related Services ── */
.related-services-section {
	padding: 5rem 0;
	background: #fdf8f4;
	border-top: 1px solid rgba(170,134,69,0.12);
}

/* ── Single Service Responsive ── */
@media (max-width: 992px) {
	.single-service-layout { grid-template-columns: 1fr; gap: 2.5rem; }
	.service-sidebar { position: static; }
}

/* ══════════════════════════════════════════
   RICH SERVICE CONTENT SECTIONS
══════════════════════════════════════════ */

/* Service Meta Strip (Duration / Badge) */
.service-meta-strip {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	flex-wrap: wrap;
	padding: 0.85rem 1.4rem;
	background: linear-gradient(135deg, var(--color-cream) 0%, #f9f4ed 100%);
	border-left: 4px solid var(--color-primary);
	border-radius: 0 8px 8px 0;
	margin-bottom: 2rem;
}
.sms-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-dark);
	letter-spacing: 0.03em;
}
.sms-icon {
	color: var(--color-primary);
	font-size: 1.05rem;
}

/* Generic Section Wrapper */
.srv-section {
	margin: 3rem 0;
	padding: 2.5rem;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}
.srv-section-title {
	font-family: var(--font-heading);
	font-size: 1.55rem;
	color: var(--color-dark);
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--color-cream);
	display: flex;
	align-items: center;
	gap: 0.6rem;
}
.srv-title-icon {
	font-style: normal;
}
.srv-section-title.text-center {
	justify-content: center;
}

/* Signs Section */
.signs-section {
	background: linear-gradient(135deg, #faf8f4 0%, #f5f0e8 100%);
	border-left: 4px solid var(--color-secondary);
}
.srv-signs-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 0.75rem;
}
.srv-signs-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.95rem;
	color: var(--color-text);
	padding: 0.5rem 0.75rem;
	background: rgba(255,255,255,0.7);
	border-radius: 6px;
	transition: background 0.2s;
}
.srv-signs-list li:hover {
	background: rgba(255,255,255,0.95);
}
.sign-check {
	color: var(--color-primary);
	font-weight: 700;
	flex-shrink: 0;
	margin-top: 1px;
}

/* Benefits Section */
.benefits-section {
	background: linear-gradient(135deg, #fff 0%, #fdf9f6 100%);
}
.srv-benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 1rem;
}
.srv-benefit-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 1.25rem;
	background: var(--color-cream);
	border-radius: 8px;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--color-dark);
	transition: transform 0.2s, box-shadow 0.2s;
}
.srv-benefit-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(211,126,84,0.15);
}
.benefit-icon {
	color: var(--color-primary);
	font-size: 1.1rem;
	flex-shrink: 0;
}

/* Video Section */
.video-section {
	background: #1a1714;
	color: #fff;
}
.video-section .srv-section-title {
	color: #fff;
	border-bottom-color: rgba(255,255,255,0.15);
}
.srv-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 8px;
}
.srv-video-wrapper iframe {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	border: none;
	border-radius: 8px;
}

/* Before/After Gallery */
.ba-section {}
.srv-ba-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.25rem;
	margin-bottom: 1rem;
}
.ba-item {
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	transition: transform 0.3s;
}
.ba-item:hover {
	transform: scale(1.02);
}
.ba-item img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	display: block;
}
.ba-disclaimer {
	font-size: 0.78rem;
	color: #999;
	text-align: center;
	font-style: italic;
	margin-top: 0.75rem;
}

/* FAQ Accordion */
.faq-section {
	background: #fff;
}
.srv-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.faq-item {
	border: 1px solid rgba(170,134,69,0.18);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s;
}
.faq-item:hover,
.faq-item.faq-open {
	box-shadow: 0 4px 16px rgba(211,126,84,0.1);
}
.faq-question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.1rem 1.4rem;
	background: linear-gradient(135deg, var(--color-cream) 0%, #fdf9f4 100%);
	border: none;
	cursor: pointer;
	font-family: var(--font-body);
	font-size: 0.97rem;
	font-weight: 600;
	color: var(--color-dark);
	text-align: left;
	gap: 1rem;
	transition: background 0.2s;
}
.faq-item.faq-open .faq-question {
	background: linear-gradient(135deg, #f0ebe2 0%, #e8ddd0 100%);
	color: var(--color-primary);
}
.faq-chevron {
	color: var(--color-primary);
	font-size: 1.4rem;
	line-height: 1;
	transition: transform 0.3s;
	flex-shrink: 0;
}
.faq-item.faq-open .faq-chevron {
	transform: rotate(180deg);
}
.faq-answer {
	padding: 1.25rem 1.4rem;
	background: #fff;
	border-top: 1px solid rgba(170,134,69,0.1);
}
.faq-answer p {
	margin: 0;
	font-size: 0.94rem;
	color: var(--color-text);
	line-height: 1.7;
}

/* Admin Meta Box Styles */
.srv-meta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
.srv-meta-grid label,
.srv-meta-full label {
	font-weight: 600;
	display: block;
	margin-bottom: 4px;
}
.srv-meta-grid input,
.srv-meta-grid textarea,
.srv-meta-full textarea {
	width: 100%;
}
.srv-meta-full {
	margin-bottom: 16px;
}

@media (max-width: 768px) {
	.srv-signs-list,
	.srv-benefits-grid,
	.srv-ba-gallery {
		grid-template-columns: 1fr;
	}
	.srv-section {
		padding: 1.5rem;
	}
	.service-meta-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
}







/* ----------------------------------------- */
/* FOOTER STYLES */
/* ----------------------------------------- */
.site-footer {
    background-color: #1a1a1a;
    color: rgba(255, 255, 255, 0.7);
    padding: 60px 0 20px;
    font-size: 14px;
    margin-top: 50px;
}
.site-footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
.footer-about img {
    max-width: 180px;
    margin-bottom: 20px;
}
.footer-heading {
    color: #fff;
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 500;
}
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-links li {
    margin-bottom: 10px;
}
.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s ease;
}
.footer-links a:hover {
    color: #c9a050;
}
.footer-contact p {
    margin-bottom: 10px;
    line-height: 1.6;
}
.footer-contact a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}
.footer-contact a:hover {
    color: #c9a050;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    text-align: center;
    font-size: 13px;
}
.mobile-bottom-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 999;
}
@media (max-width: 768px) {
    .mobile-bottom-bar {
        display: flex;
    }
    .mobile-action {
        flex: 1;
        text-align: center;
        padding: 15px 0;
        font-weight: bold;
        text-decoration: none;
        color: #333;
        border: none;
        background: transparent;
        font-size: 14px;
        cursor: pointer;
    }
    .mobile-action.call-action {
        border-right: 1px solid #eee;
    }
    .mobile-action.book-action {
        background: #1a1a1a;
        color: #fff;
    }
    .site-footer {
        padding-bottom: 80px; /* space for mobile bar */
    }
}

/* ----------------------------------------- */
/* MEMBERSHIP PAGE STYLES */
/* ----------------------------------------- */
.membership-page {
    max-width: 1000px;
    margin: 60px auto;
    padding: 0 20px;
}
.membership-hero {
    text-align: center;
    margin-bottom: 60px;
}
.membership-hero h1 {
    font-size: 42px;
    color: #333;
    margin-bottom: 15px;
}
.membership-hero p {
    font-size: 18px;
    color: #666;
}
.membership-plans {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.membership-plan {
    display: flex;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.05);
    align-items: center;
}
.membership-plan:nth-child(even) {
    flex-direction: row-reverse;
}
.plan-image {
    flex: 1;
    min-width: 40%;
}
.plan-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.plan-content {
    flex: 1.5;
    padding: 40px;
}
.plan-content h2 {
    font-size: 28px;
    color: #1a1a1a;
    margin-bottom: 10px;
}
.plan-price {
    font-size: 22px;
    font-weight: 600;
    color: #c9a050;
    margin-bottom: 20px;
}
.plan-price span {
    font-size: 14px;
    font-weight: normal;
    color: #888;
}
.plan-desc {
    margin-bottom: 20px;
    color: #555;
    line-height: 1.7;
}
.plan-desc p {
    margin-bottom: 10px;
}
.plan-terms {
    margin-bottom: 30px;
}
.plan-terms a {
    font-size: 13px;
    color: #999;
    text-decoration: underline;
}
.plan-btn {
    display: inline-block;
    background-color: #1a1a1a;
    color: #fff;
    padding: 12px 30px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.3s;
}
.plan-btn:hover {
    background-color: #c9a050;
    color: #fff;
}
@media (max-width: 768px) {
    .membership-plan, .membership-plan:nth-child(even) {
        flex-direction: column;
    }
    .plan-content {
        padding: 30px 20px;
    }
}

/* ----------------------------------------- */
/* LUXURY HOMEPAGE STYLES */
/* ----------------------------------------- */
.luxury-homepage {
    font-family: 'Inter', sans-serif;
    color: #333;
}
.hero-glass-card {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 50px;
    border-radius: 16px;
    max-width: 680px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.6);
}
.hero-badge-tag {
    display: inline-block;
    background: #1a1a1a;
    color: #c9a050;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    text-transform: uppercase;
}
.btn-hero-gold {
    background: linear-gradient(135deg, #d4af37 0%, #aa8645 100%);
    color: #fff !important;
    padding: 14px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(201, 160, 80, 0.35);
    transition: all 0.3s ease;
}
.btn-hero-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(201, 160, 80, 0.5);
}
.btn-hero-outline {
    border: 2px solid #1a1a1a;
    color: #1a1a1a !important;
    padding: 12px 26px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}
.btn-hero-outline:hover {
    background: #1a1a1a;
    color: #fff !important;
}

/* Trust Bar */
.trust-bar-section {
    background: #1a1a1a;
    color: #fff;
    padding: 30px 0;
}
.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 15px;
}
.trust-icon {
    font-size: 24px;
}
.trust-item strong {
    display: block;
    font-size: 15px;
    color: #c9a050;
}
.trust-item span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

/* Founder Section */
.founder-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    align-items: center;
}
.founder-img-frame {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.founder-img {
    width: 100%;
    height: auto;
    display: block;
}
.founder-badge-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(26, 26, 26, 0.88);
    backdrop-filter: blur(8px);
    color: #fff;
    padding: 15px 20px;
    border-radius: 8px;
    border-left: 4px solid #c9a050;
}
.founder-badge-overlay strong {
    display: block;
    font-size: 18px;
    color: #c9a050;
}
.founder-badge-overlay span {
    font-size: 13px;
    color: rgba(255,255,255,0.8);
}
.section-eyebrow {
    color: #c9a050;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 8px;
}
.section-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 38px;
    color: #1a1a1a;
    margin-bottom: 20px;
    line-height: 1.2;
}
.lead-text {
    font-size: 18px;
    line-height: 1.6;
    color: #444;
    font-weight: 500;
    margin-bottom: 15px;
}
.founder-features {
    margin: 25px 0;
}
.ff-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 15px;
    color: #333;
}
.ff-icon {
    color: #c9a050;
    font-weight: bold;
}
.founder-cta {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}
.btn-primary-dark {
    background: #1a1a1a;
    color: #fff !important;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.3s;
}
.btn-primary-dark:hover {
    background: #c9a050;
}
.btn-link-more {
    color: #1a1a1a;
    font-weight: 600;
    text-decoration: none;
}
.btn-link-more:hover {
    color: #c9a050;
}

/* Services Cards */
.services-dynamic-section {
    background: #faf8f5;
}
.section-subtitle {
    color: #666;
    font-size: 16px;
    max-width: 600px;
    margin: 0 auto 40px;
}
.lsc-duration {
    font-size: 12px;
    color: #888;
    margin-bottom: 6px;
    display: block;
}
.btn-secondary-gold {
    display: inline-block;
    border: 2px solid #c9a050;
    color: #1a1a1a !important;
    padding: 12px 30px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s;
}
.btn-secondary-gold:hover {
    background: #c9a050;
    color: #fff !important;
}

/* Packages Banner */
.packages-banner-card {
    background: #1a1a1a;
    color: #fff;
    border-radius: 16px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
}
.pbc-content {
    padding: 50px;
}
.pbc-badge {
    color: #c9a050;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.pbc-content h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    margin: 15px 0 20px;
    line-height: 1.2;
}
.pbc-content p {
    color: rgba(255,255,255,0.8);
    margin-bottom: 30px;
    line-height: 1.6;
}
.pbc-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.btn-gold-solid {
    background: #c9a050;
    color: #fff !important;
    padding: 12px 26px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
}
.btn-outline-white {
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff !important;
    padding: 12px 26px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
}
.pbc-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Testimonials */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
.testimonial-card {
    background: #fff;
    padding: 35px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.t-stars {
    color: #c9a050;
    font-size: 18px;
    margin-bottom: 15px;
}
.t-text {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    font-style: italic;
    margin-bottom: 20px;
}
.t-author strong {
    display: block;
    color: #1a1a1a;
}
.t-author span {
    font-size: 12px;
    color: #888;
}

/* Local CTA Box */
.local-cta-section {
    padding: 40px 0 80px;
}
.local-cta-box {
    background: linear-gradient(135deg, #faf8f5 0%, #f4eee5 100%);
    border: 1px solid #e8decb;
    border-radius: 16px;
    padding: 40px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}
.local-cta-text h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 32px;
    color: #1a1a1a;
    margin-bottom: 10px;
}
.local-cta-text p {
    color: #555;
    margin-bottom: 5px;
}
.hours-note {
    font-size: 13px;
    color: #888;
}
.btn-gold-large {
    background: #1a1a1a;
    color: #c9a050 !important;
    border: 1px solid #c9a050;
    padding: 16px 36px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    display: inline-block;
    transition: all 0.3s;
}
.btn-gold-large:hover {
    background: #c9a050;
    color: #fff !important;
}

@media (max-width: 992px) {
    .trust-grid { grid-template-columns: repeat(2, 1fr); }
    .founder-grid { grid-template-columns: 1fr; }
    .packages-banner-card { grid-template-columns: 1fr; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .local-cta-box { flex-direction: column; text-align: center; }
}
@media (max-width: 576px) {
    .hero-glass-card { padding: 30px 20px; }
    .trust-grid { grid-template-columns: 1fr; }
}

/* ----------------------------------------- */
/* ABOUT & TEAM PAGE STYLES (MATCHING SARA.ITBOY.IR) */
/* ----------------------------------------- */
.team-cards-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-top: 40px;
}
.team-card-profile {
    background: #fff;
    border-radius: 16px;
    padding: 35px 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.05);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.team-card-profile:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}
.team-cards-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-top: 40px;
}
.team-card-profile {
    background: #fff;
    border-radius: 16px;
    padding: 35px 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.05);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.team-avatar-frame {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 25px;
    border: 4px solid #f4eee5;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    background: #faf8f5;
}
.team-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.team-card-profile:hover .team-avatar-img {
    transform: scale(1.06);
}
.member-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    color: #1a1a1a;
    margin-bottom: 4px;
    font-weight: 600;
}
.member-credentials {
    font-size: 13px;
    font-weight: 700;
    color: #c9a050;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}
.member-title {
    font-size: 14px;
    color: #666;
    font-style: italic;
    margin-bottom: 18px;
}
.member-bio {
    font-size: 14.5px;
    line-height: 1.65;
    color: #555;
    margin-bottom: 25px;
    text-align: center;
}
.member-action {
    margin-top: auto;
    width: 100%;
}
.btn-team-book {
    display: inline-block;
    width: 100%;
    background: #1a1a1a;
    color: #c9a050 !important;
    border: 1px solid #c9a050;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}
.btn-team-book:hover {
    background: #c9a050;
    color: #fff !important;
}

/* Values Grid */
.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 40px;
}
.value-card {
    background: #fff;
    padding: 30px 20px;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.05);
    text-align: center;
}
.value-icon {
    font-size: 32px;
    margin-bottom: 15px;
}
.value-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    color: #1a1a1a;
    margin-bottom: 10px;
}
.value-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
}

@media (max-width: 992px) {
    .team-cards-grid-3 { grid-template-columns: 1fr; }
    .values-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .values-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   ABOUT PAGE — Luxury Redesign Styles
   ========================================================================== */
.about-hero {
    position: relative;
    padding: 140px 0 90px;
    background: #1c1917;
    color: #ffffff;
    overflow: hidden;
}
.about-hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('/wp-content/uploads/2019/04/imperfecciones-de-la-piel-1024x618-1.png') center/cover no-repeat;
    opacity: 0.22;
}
.about-hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(180deg, rgba(28, 25, 23, 0.8) 0%, rgba(28, 25, 23, 0.96) 100%);
}
.about-hero-content {
    position: relative;
    z-index: 2;
    max-width: 860px;
    margin: 0 auto;
}
.about-hero-eyebrow {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: #c9a050;
    margin-bottom: 12px;
}
.about-hero-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 52px;
    font-weight: 500;
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 18px;
}
.about-hero-sub {
    font-size: 16.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 25px;
}
.about-breadcrumb {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
}
.about-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}
.about-breadcrumb a:hover {
    color: #c9a050;
}
.about-breadcrumb .bc-sep {
    margin: 0 8px;
    color: #c9a050;
}

/* About Story Section */
.about-story-section {
    background: #ffffff;
}
.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 60px;
    align-items: center;
}
.about-story-image-wrap {
    position: relative;
}
.story-image-card {
    position: relative;
    border-radius: 20px;
    overflow: visible;
}
.story-image-card .story-img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    border: 4px solid #faf7f2;
}
.story-image-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(28, 25, 23, 0.88);
    color: #c9a050;
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.5px;
    backdrop-filter: blur(8px);
    z-index: 3;
    border: 1px solid rgba(201, 160, 80, 0.3);
}
.story-floating-quote {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    border-radius: 12px;
    padding: 20px 24px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    border-left: 4px solid #c9a050;
    margin-top: -50px;
    margin-left: 30px;
    margin-right: 20px;
    position: relative;
    z-index: 4;
}
.story-floating-quote p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 19px;
    font-style: italic;
    color: #1a1a1a;
    line-height: 1.4;
    margin-bottom: 6px;
}
.story-floating-quote span {
    font-size: 12.5px;
    font-weight: 700;
    color: #c9a050;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* About Story Content */
.about-story-content .section-eyebrow {
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #c9a050;
    display: block;
    margin-bottom: 8px;
}
.about-story-content .section-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 40px;
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 20px;
}
.about-story-content .lead-text {
    font-size: 17px;
    line-height: 1.7;
    color: #2a2a2a;
    font-weight: 500;
    margin-bottom: 16px;
}
.about-story-content .story-text {
    font-size: 15.5px;
    line-height: 1.7;
    color: #555555;
    margin-bottom: 18px;
}

/* Mission Box */
.about-mission-box {
    background: linear-gradient(135deg, #faf7f2 0%, #f4eee5 100%);
    border-left: 4px solid #c9a050;
    border-radius: 0 12px 12px 0;
    padding: 18px 22px;
    margin: 22px 0;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.mission-icon {
    font-size: 20px;
    color: #c9a050;
    line-height: 1;
    margin-top: 2px;
}
.mission-text strong {
    display: block;
    font-size: 14px;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.mission-text p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #444;
    margin: 0;
}

/* Story Badges */
.story-badges-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0;
}
.sb-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #faf8f5;
    border: 1px solid #eee6d5;
    padding: 7px 14px;
    border-radius: 30px;
    font-size: 13px;
    color: #333;
    font-weight: 500;
}
.sb-icon {
    color: #c9a050;
    font-weight: 700;
}

.about-story-actions {
    display: flex;
    gap: 14px;
    margin-top: 26px;
    flex-wrap: wrap;
}
.btn-primary-dark {
    background: #1c1917;
    color: #c9a050 !important;
    border: 1px solid #c9a050;
    padding: 12px 26px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}
.btn-primary-dark:hover {
    background: #c9a050;
    color: #ffffff !important;
}
.btn-outline-dark {
    background: transparent;
    color: #1c1917 !important;
    border: 1px solid #ccd0d4;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}
.btn-outline-dark:hover {
    border-color: #1c1917;
    background: #1c1917;
    color: #ffffff !important;
}

/* 4 Pillars Section */
.about-pillars-section {
    background: #faf8f5;
    border-top: 1px solid #f0ebe1;
    border-bottom: 1px solid #f0ebe1;
}
.pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 40px;
}
.pillar-card {
    background: #ffffff;
    padding: 34px 26px;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
}
.pillar-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 35px rgba(201, 160, 80, 0.12);
    border-color: rgba(201, 160, 80, 0.3);
}
.pillar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}
.pillar-number {
    font-family: 'Cormorant Garamond', serif;
    font-size: 32px;
    font-weight: 700;
    color: #c9a050;
    line-height: 1;
}
.pillar-icon {
    font-size: 22px;
    width: 44px;
    height: 44px;
    background: #faf7f2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #eee6d5;
}
.pillar-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 23px;
    color: #1a1a1a;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.25;
}
.pillar-card p {
    font-size: 14.5px;
    line-height: 1.65;
    color: #666666;
    margin: 0;
}

/* Clinic Facility & Atmosphere Section */
.about-facility-section {
    background: #ffffff;
}
.about-facility-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 60px;
    align-items: center;
}
.facility-features-list {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ff-row {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #faf8f5;
    padding: 12px 18px;
    border-radius: 8px;
    border: 1px solid #f0ebe1;
}
.ff-bullet {
    font-size: 20px;
}
.ff-row strong {
    font-size: 14.5px;
    color: #222222;
}

.facility-banner-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}
.facility-img {
    width: 100%;
    height: 440px;
    object-fit: cover;
    display: block;
}
.facility-badge-box {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(28, 25, 23, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 10px;
    padding: 16px 20px;
    color: #ffffff;
    border: 1px solid rgba(201, 160, 80, 0.3);
}
.fb-stars {
    color: #c9a050;
    font-size: 16px;
    display: block;
    margin-bottom: 2px;
}
.facility-badge-box strong {
    font-size: 15px;
    color: #ffffff;
    display: block;
}
.facility-badge-box p {
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

/* About CTA Section */
.about-cta-section {
    background: linear-gradient(135deg, #1c1917 0%, #2b2320 100%);
    color: #ffffff;
    padding: 85px 0;
}
.cta-eyebrow {
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #c9a050;
    display: block;
    margin-bottom: 8px;
}
.cta-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 42px;
    color: #ffffff;
    margin-bottom: 12px;
}
.cta-sub {
    font-size: 16.5px;
    color: rgba(255, 255, 255, 0.85);
    max-width: 650px;
    margin: 0 auto 30px auto;
}
.cta-buttons-row {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.btn-hero-primary {
    background: #c9a050;
    color: #1c1917 !important;
    font-weight: 700;
    padding: 14px 30px;
    border-radius: 6px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}
.btn-hero-primary:hover {
    background: #ffffff;
    color: #1c1917 !important;
}
.btn-hero-secondary {
    background: transparent;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4);
    font-weight: 600;
    padding: 14px 28px;
    border-radius: 6px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}
.btn-hero-secondary:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

/* Responsive */
@media (max-width: 992px) {
    .about-story-grid,
    .about-facility-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .pillars-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .about-hero-title {
        font-size: 38px;
    }
}
@media (max-width: 576px) {
    .pillars-grid {
        grid-template-columns: 1fr;
    }
    .about-hero-title {
        font-size: 30px;
    }
    .about-story-content .section-title,
    .cta-title {
        font-size: 28px;
    }
    .story-floating-quote {
        margin-left: 10px;
        margin-right: 10px;
    }
}

.mobile-quick-actions-bar {
    display: none;
}

/* ==========================================================================
   📱 40+ MOBILE APP EXPERIENCE — ULTRA-USABLE, ACCESSIBLE & ERGONOMIC
   ========================================================================== */

@media (max-width: 991px) {

    /* ── Mobile Quick Actions Bar ── */
    .mobile-quick-actions-bar {
        display: block !important;
        background: #ffffff !important;
        padding: 14px 0 16px !important;
        border-bottom: 1px solid rgba(0,0,0,0.06) !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
        position: relative !important;
        z-index: 5 !important;
    }
    .mqa-scroll {
        display: flex !important;
        gap: 10px !important;
        overflow-x: auto !important;
        padding: 0 16px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
    }
    .mqa-scroll::-webkit-scrollbar {
        display: none !important;
    }
    .mqa-chip {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: #FAF7F2 !important;
        border: 1.5px solid #E6DCce !important;
        padding: 10px 16px !important;
        border-radius: 25px !important;
        white-space: nowrap !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #1c1917 !important;
        text-decoration: none !important;
        flex-shrink: 0 !important;
        scroll-snap-align: start !important;
        transition: all 0.2s ease !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.04) !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    .mqa-chip:active {
        transform: scale(0.94) !important;
        background: #c9a050 !important;
        color: #ffffff !important;
    }
    .mqa-chip-icon {
        font-size: 16px !important;
    }
    .mqa-chip-label {
        line-height: 1 !important;
    }
    .mqa-chip-call {
        background: #1c1917 !important;
        color: #c9a050 !important;
        border-color: #1c1917 !important;
    }

    /* ── 1. Header & App Bar ── */
    .header-topbar {
        display: none !important;
    }
    .site-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 64px !important;
        z-index: 1000 !important;
    }
    .header-nav-bar {
        height: 64px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    }
    .nav-bar-inner {
        padding: 0 16px !important;
        justify-content: space-between !important;
    }
    .nav-logo .site-logo,
    .nav-logo img {
        height: 32px !important;
        width: auto !important;
        max-width: 165px !important;
    }
    .main-nav {
        display: none !important;
    }
    .nav-actions {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    /* ── 2. Body Spacing & Typography for 40+ ── */
    body {
        font-size: 17px !important;
        line-height: 1.75 !important;
        color: #222222 !important;
        background-color: #FAF7F2 !important;
        padding-top: 64px !important;
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0)) !important;
        -webkit-text-size-adjust: 100% !important;
    }
    .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    .section-padding {
        padding: 50px 0 !important;
    }

    /* Clear, High-Contrast Headings (Excluding homepage dark hero) */
    .about-hero-title, .team-hero-title {
        font-size: 32px !important;
        line-height: 1.25 !important;
        color: #1a1a1a !important;
        margin-bottom: 14px !important;
    }
    h2, .section-title {
        font-size: 26px !important;
        line-height: 1.3 !important;
        color: #1a1a1a !important;
        margin-bottom: 14px !important;
    }
    h3 {
        font-size: 21px !important;
        line-height: 1.35 !important;
        color: #1a1a1a !important;
    }
    p, .story-text, .lead-text, .section-subtitle, .about-hero-sub {
        font-size: 16.5px !important;
        line-height: 1.7 !important;
        color: #333333 !important;
    }
    .section-eyebrow, .about-hero-eyebrow, .team-hero-eyebrow {
        font-size: 12.5px !important;
        letter-spacing: 1.5px !important;
        margin-bottom: 6px !important;
    }

    /* ── 3. High-Touch Ergonomic Buttons (Min 52px height) ── */
    .btn,
    .btn-hero-primary,
    .btn-hero-secondary,
    .btn-hero-accent,
    .btn-primary-dark,
    .btn-outline-dark,
    .btn-secondary-gold,
    .btn-team-book,
    .btn-contact-submit {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 12px 20px !important;
        font-size: 15.5px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-bottom: 10px !important;
        white-space: normal !important;
        box-sizing: border-box !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    .btn:active,
    .btn-hero-primary:active,
    .btn-primary-dark:active {
        transform: scale(0.98) !important;
    }

    /* ── 4. Forms Optimized for 40+ (Large Touch Areas, Zero Zoom) ── */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea {
        font-size: 16.5px !important; /* Prevents iOS auto-zoom */
        min-height: 52px !important;
        padding: 12px 16px !important;
        border-radius: 10px !important;
        border: 1.5px solid #dcd5c9 !important;
        background-color: #ffffff !important;
        color: #1a1a1a !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    textarea {
        min-height: 120px !important;
    }
    label {
        font-size: 14.5px !important;
        font-weight: 600 !important;
        color: #222222 !important;
        margin-bottom: 6px !important;
        display: block !important;
    }

    /* ── 5. Home Page Mobile Adjustments ── */
    .hero-section {
        height: auto !important;
        min-height: 75vh !important;
        padding: 60px 0 50px !important;
        margin-top: 0 !important;
        background-color: #FAF7F2 !important;
        display: flex !important;
        align-items: center !important;
    }
    .hero-overlay {
        display: none !important;
    }
    .hero-content {
        text-align: center !important;
        max-width: 100% !important;
        padding: 0 !important;
        background: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border-radius: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    .hero-eyebrow {
        color: #DFC08A !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: 3.5px !important;
        margin-bottom: 12px !important;
        justify-content: center !important;
        text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important;
    }
    .hero-title {
        color: #FFFFFF !important;
        font-size: 42px !important;
        line-height: 1.05 !important;
        margin-bottom: 14px !important;
        font-weight: 500 !important;
        text-shadow: 0 3px 18px rgba(0,0,0,0.85) !important;
    }
    .hero-tagline {
        color: #FFF8EE !important;
        font-size: 21px !important;
        line-height: 1.38 !important;
        margin-bottom: 24px !important;
        font-weight: 400 !important;
        text-shadow: 0 2px 12px rgba(0,0,0,0.85) !important;
    }
    .btn-journal-cta {
        width: 100% !important;
        min-height: 52px !important;
        justify-content: center !important;
    }
    .hero-actions,
    .cta-buttons-row,
    .about-story-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .founder-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    .founder-photo-card {
        max-width: 320px !important;
        margin: 0 auto !important;
    }

    /* ── 6. Team Page Mobile Adjustments ── */
    .team-cards-grid-3 {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .team-card-profile {
        padding: 28px 20px !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    }
    .team-avatar-frame {
        width: 140px !important;
        height: 140px !important;
        margin: 0 auto 18px !important;
    }
    .member-name {
        font-size: 24px !important;
    }
    .member-credentials {
        font-size: 13px !important;
    }
    .member-bio {
        font-size: 15.5px !important;
        line-height: 1.65 !important;
        text-align: left !important;
        color: #444444 !important;
    }

    /* ── 7. About Page Mobile Adjustments ── */
    .about-hero {
        padding: 45px 0 40px !important;
    }
    .story-image-card .story-img {
        height: 340px !important;
        border-radius: 14px !important;
    }
    .story-floating-quote {
        margin: -35px 12px 0 12px !important;
        padding: 16px 18px !important;
        border-radius: 10px !important;
    }
    .story-floating-quote p {
        font-size: 16.5px !important;
    }
    .about-mission-box {
        padding: 16px 18px !important;
        border-radius: 0 10px 10px 0 !important;
    }
    .pillars-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .pillar-card {
        padding: 24px 20px !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.04) !important;
    }
    .pillar-number {
        font-size: 26px !important;
    }
    .facility-img {
        height: 280px !important;
    }
    .facility-features-list .ff-row {
        padding: 12px 14px !important;
    }
    .facility-features-list .ff-row strong {
        font-size: 14px !important;
    }

    /* ── 8. Contact Page Mobile Adjustments ── */
    .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    .contact-info-card,
    .contact-form-card {
        padding: 24px 18px !important;
        border-radius: 16px !important;
    }

    /* ── 9. Footer Mobile Adjustments ── */
    .site-footer {
        padding: 40px 0 30px !important;
    }
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
        text-align: center !important;
    }
    .footer-bottom {
        padding-top: 20px !important;
        margin-top: 25px !important;
        font-size: 13px !important;
    }
}


