/* Shared editorial spa design. Existing booking/admin styles remain in site.css. */
:root { --wellness-ink:#263f35; --wellness-muted:#62665d; --wellness-paper:#faf7f0; --wellness-line:#dedbd0; }
.wellness-skip-link { position:fixed; top:-100px; left:16px; z-index:2000; background:white; color:#263f35; padding:12px 18px; }
.wellness-skip-link:focus { top:12px; }
:focus-visible { outline:3px solid #98721c; outline-offset:4px; }
.navbar-spa .navbar-brand { font-size:1.15rem; white-space:normal; max-width:68%; }
.navbar-spa .nav-link { font-size:.85rem; padding:12px 9px !important; }
.navbar-spa button.nav-link { border:0; background:transparent; font-family:inherit; }
.navbar-spa .nav-link.active { color:#ead48e !important; }
.navbar-spa .dropdown-menu { background:#faf7f0; border:1px solid var(--wellness-line); border-radius:3px; box-shadow:0 12px 35px #18291e20; min-width:245px; padding:10px; }
.navbar-spa .dropdown-item { font-size:.85rem; color:var(--wellness-ink); padding:10px 12px; white-space:normal; border-radius:2px; }
.navbar-spa .dropdown-item:hover,.navbar-spa .dropdown-item:focus { background:#ebe5d7; color:#21392f; }
.navbar-spa .wellness-submenu-item { padding-left:24px; font-size:.8rem; }
.wellness-services-menu { max-height:65vh; overflow-y:auto; }
.wellness-eyebrow { display:inline-block; color:#756035; font-size:.66rem; font-weight:600; letter-spacing:.18em; line-height:1.9; text-transform:uppercase; margin-bottom:17px; }
.wellness-home-hero { background:var(--wellness-paper); padding:64px 0 55px; }
.wellness-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.wellness-hero-copy h1 { font-size:clamp(2.8rem,4.4vw,4.65rem); font-weight:400; letter-spacing:-.045em; line-height:1.12; color:var(--wellness-ink); margin-bottom:25px; }
.wellness-hero-copy h1 em,.wellness-display em,.wellness-page-hero h1 em { color:#857145; font-weight:400; }
.wellness-hero-copy p { color:var(--wellness-muted); font-size:.96rem; line-height:1.9; max-width:450px; }
.wellness-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:28px; }
.wellness-text-link { color:var(--wellness-ink); font-size:.82rem; font-weight:600; text-decoration:none; line-height:1.8; text-underline-offset:5px; }
.wellness-text-link:hover { color:#866b36; text-decoration:underline; }
.wellness-hero-note { display:flex; align-items:center; gap:10px; margin-top:42px; font-size:.73rem; color:#62665d; }
.wellness-hero-note>span { font-size:1.4rem; color:#957e46; }
.wellness-hero-visual { min-width:0; }
.wellness-hero-visual>img { width:100%; height:490px; object-fit:cover; border-radius:180px 180px 4px 4px; }
.wellness-image-caption { display:flex; justify-content:space-between; gap:12px; margin-top:15px; color:#706d5e; font-size:.56rem; letter-spacing:.12em; line-height:1.8; }
.wellness-promise-bar { background:#eee9de; border-top:1px solid var(--wellness-line); border-bottom:1px solid var(--wellness-line); padding:22px 0; }
.wellness-promise-bar>.container { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px 28px; }
.wellness-promise-bar span { font-size:.72rem; color:#555c4b; }
.wellness-section { padding:84px 0; background:var(--wellness-paper); }
.wellness-section p { color:var(--wellness-muted); line-height:1.9; font-size:.91rem; }
.wellness-display { font-size:clamp(2.1rem,3.4vw,3.5rem); line-height:1.2; letter-spacing:-.035em; color:var(--wellness-ink); font-weight:400; margin-bottom:22px; }
.wellness-lead { font-size:1.05rem !important; }
.wellness-split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.wellness-split>* { min-width:0; }
.wellness-feature-image { width:100%; height:540px; object-fit:cover; border-radius:4px; }
.wellness-intro-image { height:450px; border-radius:4px 100px 4px 4px; }
.wellness-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; border-top:1px solid var(--wellness-line); padding-top:22px; margin-top:25px; margin-bottom:16px; }
.wellness-mini-grid h3 { font-size:1.1rem; font-weight:500; color:var(--wellness-ink); }
.wellness-mini-grid p { font-size:.8rem; }
.wellness-tinted { background:#eeeae0; }
.wellness-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px; }
.wellness-section-heading .wellness-display { margin-bottom:0; }
.wellness-section-heading>p { margin-bottom:0; flex-shrink:0; font-size:.8rem; }
.wellness-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.wellness-card { background:var(--wellness-paper); border:1px solid var(--wellness-line); border-radius:4px; overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.wellness-card-image { display:block; overflow:hidden; }
.wellness-card-image img { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; transition:transform .4s ease; }
.wellness-card-image:hover img { transform:scale(1.03); }
.wellness-card-body { padding:25px; display:flex; flex-direction:column; flex:1; align-items:start; }
.wellness-card-body .wellness-eyebrow { font-size:.58rem; letter-spacing:.12em; margin-bottom:10px; }
.wellness-card h2,.wellness-card h3 { font-size:1.5rem; font-weight:400; line-height:1.35; }
.wellness-card h2 a,.wellness-card h3 a { color:var(--wellness-ink); text-decoration:none; }
.wellness-card h2 a:hover,.wellness-card h3 a:hover { text-decoration:underline; }
.wellness-card p { font-size:.82rem; margin-top:8px; }
.wellness-card-body>.wellness-text-link { margin-top:auto; padding-top:10px; }
.wellness-card-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid var(--wellness-line); padding-top:18px; margin-top:auto; width:100%; }
.wellness-card-bottom strong { color:var(--wellness-ink); font-size:1rem; }
.wellness-card-bottom a { font-size:.75rem; }
.wellness-service-prices { list-style:none; padding:0; margin:0; width:100%; color:var(--spa-gold-dark, var(--wellness-ink)); font-weight:600; font-size:1rem; }
.wellness-service-prices li { display:flex; align-items:baseline; gap:6px; padding:6px 0; }
.wellness-service-prices li > span:first-child { overflow-wrap:anywhere; }
.wellness-price-dots { flex:1; min-width:10px; border-bottom:1px dotted currentColor; }
.wellness-slot-price { white-space:nowrap; }
.wellness-service-prices + .wellness-text-link { margin-left:auto; }
.wellness-card-bottom del { margin-left:8px; font-size:.875rem; opacity:.65; }
.wellness-guide-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--wellness-line); }
.wellness-guide { padding:28px 22px; text-decoration:none; border-right:1px solid var(--wellness-line); transition:background .2s; }
.wellness-guide:last-child { border-right:0; }
.wellness-guide:hover { background:#eae6da; }
.wellness-guide>span { display:flex; justify-content:space-between; font-size:.7rem; color:#7c704e; margin-bottom:35px; }
.wellness-guide h3 { font-size:1.2rem; color:var(--wellness-ink); font-weight:400; }
.wellness-guide p { font-size:.78rem; margin-bottom:0; }
.wellness-forest { background:#263f35; }
.wellness-forest .wellness-display,.wellness-forest .wellness-section-heading .wellness-text-link { color:#f4eedf; }
.wellness-forest .wellness-section-heading .wellness-eyebrow,.wellness-forest .wellness-display em { color:#dac38e; }
.wellness-forest .wellness-package-note { color:#d1d7ca; font-size:.77rem; margin:24px 0 0; }
.wellness-faq { border-top:1px solid var(--wellness-line); }
.wellness-faq details { border-bottom:1px solid var(--wellness-line); }
.wellness-faq summary { position:relative; cursor:pointer; padding:24px 40px 24px 0; color:var(--wellness-ink); font-size:.94rem; font-weight:500; list-style:none; }
.wellness-faq summary::-webkit-details-marker { display:none; }
.wellness-faq summary::after { content:'+'; position:absolute; right:5px; top:18px; font-size:1.5rem; font-weight:300; }
.wellness-faq details[open] summary::after { content:'−'; }
.wellness-faq p { max-width:900px; padding-bottom:12px; font-size:.88rem; }
.wellness-cta { padding:78px 0; text-align:center; background:#e6decb; }
.wellness-cta h2 { font-size:clamp(2.2rem,4vw,3.6rem); font-weight:400; color:var(--wellness-ink); letter-spacing:-.035em; }
.wellness-cta p { max-width:520px; margin:20px auto; color:#5c6256; line-height:1.8; font-size:.9rem; }
.wellness-cta .wellness-actions { justify-content:center; }
.wellness-visit { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.wellness-page-hero { background:#eae4d6; padding:75px 0; border-bottom:1px solid var(--wellness-line); }
.wellness-page-hero h1 { color:var(--wellness-ink); font-weight:400; font-size:clamp(2.5rem,4.7vw,4.6rem); line-height:1.17; letter-spacing:-.035em; }
.wellness-page-hero p { color:var(--wellness-muted); max-width:600px; line-height:1.85; margin:23px 0 0; }
.wellness-notice { padding:22px 25px; border-left:3px solid #a18b52; background:#ede8da; color:#555c4e; font-size:.83rem; line-height:1.9; margin-bottom:35px; }
.wellness-reading-wide { max-width:1040px; }
.wellness-reading { max-width:820px; }
.wellness-reading .wellness-display { margin-top:10px; }
.wellness-price-category { color:var(--wellness-ink); font-weight:400; margin:45px 0 12px; }
.wellness-price-row { display:grid; grid-template-columns:1fr auto; gap:40px; border-bottom:1px solid var(--wellness-line); padding:25px 0; }
.wellness-price-title { color:var(--wellness-ink); font-family:Georgia,serif; font-size:1.4rem; text-decoration:none; }
.wellness-price-row p,.wellness-price-row li { font-size:.8rem; line-height:1.9; color:var(--wellness-muted); margin:10px 0; }
.wellness-price-book { display:flex; flex-direction:column; align-items:end; gap:12px; }
.wellness-price-book strong { font-size:1.3rem; color:var(--wellness-ink); }
.wellness-price-book del { font-size:.8rem; color:#67685b; }
.wellness-price-book .btn { font-size:.75rem; padding:10px 16px; }
.wellness-steps { padding-left:23px; color:var(--wellness-muted); line-height:2; margin:22px 0; font-size:.9rem; }
.wellness-steps li { padding:5px 0 5px 7px; }
.wellness-article-image { width:100%; height:auto; max-height:430px; object-fit:cover; margin-top:24px; border-radius:4px; }
.wellness-prose { font-size:1rem !important; line-height:2 !important; }
.wellness-team-photo { width:100%; height:auto; aspect-ratio:1.1; object-fit:cover; }
.wellness-team-placeholder { display:grid; place-items:center; aspect-ratio:1.6; background:#e6dfca; color:#7d774d; font-family:Georgia,serif; font-size:4rem; }
.wellness-three-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:65px; }
.wellness-three-notes span { font-size:.7rem; letter-spacing:.12em; color:#7c704e; }
.wellness-three-notes h2 { color:var(--wellness-ink); font-size:1.4rem; margin:20px 0; font-weight:400; }
.wellness-event-status { text-align:center; padding:50px 25px; margin-top:55px; border:1px solid var(--wellness-line); }
.wellness-event-status h2 { font-weight:400; color:var(--wellness-ink); }
.footer-spa p,.footer-spa li { font-size:.8rem; overflow-wrap:anywhere; }
.footer-spa h5 { font-size:1.1rem; }
.whatsapp-float { width:48px; height:48px; right:16px; bottom:18px; }
@media (max-width:1199.98px) {
    .navbar-collapse { padding:18px 0; }
    .navbar-nav { align-items:stretch !important; }
    .navbar-nav .nav-item { margin-left:0 !important; }
    .navbar-nav button.nav-link { width:100%; text-align:left; }
    .navbar-nav .dropdown-menu { box-shadow:none; margin-bottom:12px; }
    .navbar-nav>.nav-item:last-child { margin-top:12px; }
    .wellness-hero-grid { gap:30px; }
    .wellness-split { gap:40px; }
}
@media (max-width:767.98px) {
    .wellness-home-hero { padding:40px 0; }
    .wellness-hero-grid,.wellness-split,.wellness-visit { grid-template-columns:1fr; gap:32px; }
    .wellness-hero-copy h1 { font-size:clamp(2.5rem,8.8vw,4rem); }
    .wellness-hero-copy p { max-width:100%; }
    .wellness-hero-visual>img { height:380px; border-radius:130px 130px 3px 3px; }
    .wellness-hero-note { margin-top:25px; }
    .wellness-section { padding:50px 0; }
    .wellness-section-heading { align-items:start; flex-direction:column; gap:18px; }
    .wellness-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .wellness-card-body { padding:20px; }
    .wellness-card h2,.wellness-card h3 { font-size:1.35rem; }
    .wellness-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wellness-guide:nth-child(2) { border-right:0; }
    .wellness-guide:nth-child(-n+2) { border-bottom:1px solid var(--wellness-line); }
    .wellness-feature-image { height:380px; }
    .wellness-three-notes { grid-template-columns:1fr; gap:15px; }
    .wellness-three-notes>div { border-top:1px solid var(--wellness-line); padding-top:20px; }
    .wellness-page-hero { padding:45px 0; }
    .wellness-cta { padding:50px 0; }
    .wellness-promise-bar>.container { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
    .wellness-promise-bar span { font-size:.65rem; }
}
@media (max-width:479.98px) {
    .wellness-grid { grid-template-columns:1fr; }
    .wellness-hero-visual>img { height:340px; }
    .wellness-price-row { grid-template-columns:1fr; gap:15px; }
    .wellness-price-book { flex-direction:row; align-items:center; flex-wrap:wrap; justify-content:space-between; }
    .wellness-actions { gap:18px; }
    .wellness-mini-grid { gap:18px; }
    .wellness-display { font-size:2.1rem; }
    .wellness-notice { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

