:root,
[data-theme="oscuro"] {
  color-scheme: dark;
  --bg: #050508;
  --superficie: #0D0D14;
  --superficie-2: #14141D;
  --primario: #2D9CDB;
  --primary-hover: #68C3F4;
  --primary-active: #90D5FA;
  --button-top: #42ADE8;
  --button-bottom: #2D9CDB;
  --button-ink: #050508;
  --link: #63BFF2;
  --link-hover: #A4DFFF;
  --acento: #E8B33D;
  --acento-flotación: #F5CD71;
  --gold-text: #E8B33D;
  --crimson: #E63946;
  --purple: #8B5CF6;
  --purple-text: #B89AFC;
  --heading: #F5F2EA;
  --texto: #F5F2EA;
  --apagado: #B8B2A6;
  --borde: #343440;
  --éxito: #78D9A0;
  --error-ink: #FF9BA4;
  --on-primary: var(--button-ink);
  --wa: #25D366;
  --fb: #1877F2;
}

[data-theme="claro"] {
  color-scheme: light;
  --bg: #F6F0E2;
  --superficie: #EFE7D3;
  --superficie-2: #EFE7D3;
  --primario: #1877F2;
  --primary-hover: #104FB0;
  --primary-active: #0C3B85;
  --button-top: #166DDC;
  --button-bottom: #125BC4;
  --button-ink: #FFFFFF;
  --link: #125BC4;
  --link-hover: #5631B5;
  --acento: #D9A441;
  --acento-flotación: #B88524;
  --gold-text: #856017;
  --purple-text: #6C3ACB;
  --heading: #1A1A2E;
  --texto: #2A2A33;
  --apagado: #6B6259;
  --borde: #D9D3C8;
  --éxito: #237343;
  --error-ink: #B52332;
}

.sanctuary-home {
  --primary-color: var(--link);
  --primary-dark: var(--link);
  --primary-deeper: var(--link);
  --primary-light: color-mix(in srgb, var(--primario) 9%, var(--superficie));
  --secondary-dark: var(--superficie);
  --secondary-color: var(--superficie);
  --surface-raised: var(--superficie-2);
  --card-bg: var(--superficie-2);
  --border-hover: color-mix(in srgb, var(--primario) 40%, var(--borde));
  --warm-accent: var(--gold-text);
  --warm-accent-dark: color-mix(in srgb, var(--acento) 45%, var(--borde));
  --warm-accent-light: color-mix(in srgb, var(--acento) 8%, var(--superficie));
  --terracotta-accent: var(--crimson);
  --rating-color: var(--gold-text);
  --error-text: var(--error-ink);
  --on-primary: var(--button-ink);
  color-scheme: inherit;
  background: var(--bg);
  color: var(--texto);
}

.sanctuary-home :is(h1, h2, h3, h4, h5, h6) { color: var(--heading); }
.sanctuary-home a { color: var(--link); }
.sanctuary-home a:is(:hover, :focus-visible, :active, .is-pressed) { color: var(--link-hover); }
.sanctuary-home :is(a, button, summary) { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.sanctuary-home :is(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--link) !important; }
.sanctuary-home .sanctuary-announcement { background: var(--superficie); color: var(--apagado); border-bottom: 1px solid var(--borde); }
.sanctuary-home .sanctuary-announcement a { color: var(--link); }
.sanctuary-home .sanctuary-announcement strong { color: var(--heading); }
.sanctuary-home .top-bar { background: var(--superficie); color: var(--texto); }
.sanctuary-home .top-bar :is(.top-bar-item, a, span) { color: var(--texto) !important; }
.sanctuary-home header { background: var(--superficie); box-shadow: 0 8px 32px #00000018; }
.sanctuary-home nav { background: var(--superficie); }
.sanctuary-home nav a { color: var(--texto); }
.sanctuary-home nav a:not(.nav-cta-btn):is(:hover, :focus-visible, :active, .is-pressed) { color: var(--link-hover); background: var(--primary-light); }
.sanctuary-home .brand-title { color: var(--heading); }
.sanctuary-home .brand-title .brand-accent { color: var(--link); }
.sanctuary-home .logo-text-sub { color: var(--apagado); }
.theme-toggle { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; line-height: 1; border: 1px solid var(--border-hover); border-radius: 50%; color: var(--link); background: var(--superficie-2); cursor: pointer; }
.theme-toggle svg { width: 22px; height: 22px; grid-area: 1 / 1; }
[data-theme="oscuro"] .theme-toggle__moon,
[data-theme="claro"] .theme-toggle__sun { display: none; }
.sanctuary-home .theme-toggle:is(:hover, :focus-visible, :active) { background: var(--primary-light); color: var(--link-hover); border-color: var(--link); }
.sanctuary-home .hero { background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--primario) 12%, transparent), transparent 65%), var(--bg); }
.sanctuary-home .hero-pill { color: var(--link); border-color: var(--border-hover); }
.sanctuary-home .hero h1 .highlight-text { color: var(--link); background: none; }
[data-theme="claro"] .sanctuary-home .hero h1 .highlight-text { background: linear-gradient(100deg, #125BC4, #6C3ACB); background-clip: text; -webkit-background-clip: text; color: transparent; }
.sanctuary-home .hero-tag { background: var(--superficie); }
.sanctuary-home .hero-card { background: var(--superficie-2); box-shadow: 0 16px 40px #00000018 !important; }
.sanctuary-home .sanctuary-trust { background: var(--superficie); }
.sanctuary-home :is(.hero-status-badge, .hero-checklist-icon, .benefit-badge, .testimonial-verified-badge) { color: var(--link); }

.sanctuary-home :is(.btn, .cta-btn, .nav-cta-btn, .service-cta-btn, .sanctuary-calculator-cta, .google-review-primary, .google-review-secondary, .website-share-qr__primary, .website-share-qr__secondary, .brand-film__book, .brand-film__close a, .chat-widget-send-btn, #chat-send-btn-embedded, #chat-widget-toggle-btn) {
  background: linear-gradient(180deg, var(--button-top), var(--button-bottom)) !important;
  color: var(--button-ink) !important;
  border: 1px solid color-mix(in srgb, var(--primario) 65%, var(--borde)) !important;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--primario) 20%, transparent), inset 0 1px 0 #FFFFFF22;
  filter: none;
}
.sanctuary-home :is(.btn, .cta-btn, .nav-cta-btn, .service-cta-btn, .sanctuary-calculator-cta, .google-review-primary, .google-review-secondary, .website-share-qr__primary, .website-share-qr__secondary, .brand-film__book, .brand-film__close a, .chat-widget-send-btn, #chat-send-btn-embedded, #chat-widget-toggle-btn):is(:hover, :focus-visible) {
  background: var(--primary-hover) !important;
  color: var(--button-ink) !important;
  filter: none;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--primario) 25%, transparent);
}
.sanctuary-home :is(.btn, .cta-btn, .nav-cta-btn, .service-cta-btn, .sanctuary-calculator-cta, .google-review-primary, .google-review-secondary, .website-share-qr__primary, .website-share-qr__secondary, .brand-film__book, .brand-film__close a, .chat-widget-send-btn, #chat-send-btn-embedded, #chat-widget-toggle-btn):is(:active, .is-pressed) { background: var(--primary-active) !important; color: var(--button-ink) !important; filter: none; }
.sanctuary-home #booking :is(.booking-submit, .booking-plan button) { background: linear-gradient(180deg, var(--button-top), var(--button-bottom)) !important; color: var(--button-ink) !important; box-shadow: 0 6px 20px color-mix(in srgb, var(--primario) 18%, transparent), inset 0 1px 0 #FFFFFF22; }
.sanctuary-home #booking :is(.booking-submit, .booking-plan button):not(:disabled):is(:hover, :focus-visible) { background: var(--primary-hover) !important; color: var(--button-ink) !important; }
.sanctuary-home #booking :is(.booking-submit, .booking-plan button):not(:disabled):is(:active, .is-pressed) { background: var(--primary-active) !important; color: var(--button-ink) !important; }
.sanctuary-home :is(button:not(:disabled), summary):not(.theme-toggle):is(:hover, :focus-visible) { background-color: var(--primary-light) !important; color: var(--link-hover) !important; filter: none; }
.sanctuary-home :is(button:not(:disabled), summary):not(.theme-toggle):is(:active, .is-pressed) { background-color: var(--border-hover) !important; color: var(--heading) !important; filter: none; }
.sanctuary-home :is(.chat-ai-title, .chat-ai-invite, .chat-ai-spark, .chat-ai-close, .chat-ai-close-label) { color: var(--button-ink) !important; }
.sanctuary-home a.btn[href*="facebook.com"] { --social-top: #2584FF; --social-color: var(--fb); --social-hover: #62A5FF; --social-active: #90BFFF; }
.sanctuary-home :is(#whatsapp-float, a.btn[href*="wa.me"]) { --social-top: #49DF81; --social-color: var(--wa); --social-hover: #62E895; --social-active: #93F2B6; }
.sanctuary-home :is(a.btn[href*="facebook.com"], #whatsapp-float, a.btn[href*="wa.me"]) { background: linear-gradient(180deg, var(--social-top), var(--social-color)) !important; color: #050508 !important; border-color: transparent !important; box-shadow: 0 6px 20px color-mix(in srgb, var(--social-color) 18%, transparent); }
.sanctuary-home :is(a.btn[href*="facebook.com"], #whatsapp-float, a.btn[href*="wa.me"]):is(:hover, :focus-visible) { background: var(--social-hover) !important; color: #050508 !important; }
.sanctuary-home :is(a.btn[href*="facebook.com"], #whatsapp-float, a.btn[href*="wa.me"]):is(:active, .is-pressed) { background: var(--social-active) !important; color: #050508 !important; }

.sanctuary-home :is(.card, .service-card-new, .service-card-new.featured, .benefit-card, .testimonial-card, .contact-info-card, .google-review-card, .info-item, #booking .booking-plan) { border: 1px solid var(--border-hover); background: var(--superficie-2); box-shadow: 0 8px 28px #00000012; }
.sanctuary-home :is(.card, .service-card-new, .benefit-card, .testimonial-card, .contact-info-card, .google-review-card, .info-item, #booking .booking-plan):is(:hover, :focus-within) { background: var(--superficie-2); border-color: var(--primario); box-shadow: inset 0 0 24px color-mix(in srgb, var(--primario) 7%, transparent), 0 12px 30px #00000018; }
.sanctuary-home .service-card-new { --service-accent: var(--purple); border-top: 3px solid var(--service-accent); }
.sanctuary-home .service-card-new:nth-child(3) { --service-accent: var(--purple); }
.sanctuary-home .service-card-new.featured { --service-accent: var(--primario); border-top: 3px solid var(--service-accent); }
.sanctuary-home #services { --warm-accent: var(--purple-text); --warm-accent-dark: color-mix(in srgb, var(--purple) 40%, var(--borde)); --warm-accent-light: color-mix(in srgb, var(--purple) 7%, var(--superficie)); --acento: var(--purple); }
.sanctuary-home #benefits { --warm-accent: var(--link); --acento: var(--crimson); }
.sanctuary-home .service-card-title { color: var(--heading); }
.sanctuary-home .service-card-new:not(.featured) .service-icon-box { color: var(--purple-text); background: color-mix(in srgb, var(--purple) 10%, var(--superficie)); }
.sanctuary-home :is(.section, #benefits, #advisor, #photos, #testimonials, #performance-dashboard, #share) { background: var(--bg) !important; box-shadow: none !important; }
.sanctuary-home :is(.benefit-card, .contact-info-card) { border-color: color-mix(in srgb, var(--crimson) 28%, var(--borde)); }
.sanctuary-home :is(.club-section, .addons-banner) { background: var(--warm-accent-light); color: var(--texto); border-color: var(--warm-accent-dark); }
.sanctuary-home .addons-banner :is(.addons-banner-title, div, strong, p) { color: var(--texto) !important; }
.sanctuary-home :is(.club-saving > strong, .club-eyebrow, .club-text-button, .rating-stars-gold, .hero-proof-stars) { color: var(--gold-text); }
.sanctuary-home :is(.club-text-button, .club-account summary):is(:hover, :focus-visible, :active) { color: var(--link-hover); }
.sanctuary-home :is(#booking, .google-review-card) { background: var(--superficie); }
.sanctuary-home :is(#services, #club, #share) { position: relative; }
.sanctuary-home :is(#services, #club, #share)::before { content: ""; position: absolute; top: 0; left: 12%; right: 12%; height: 1px; background: linear-gradient(90deg, transparent, var(--primario), var(--purple), var(--acento), transparent); opacity: .55; pointer-events: none; }

.sanctuary-home .brand-film { background: var(--superficie); color: var(--texto); border: 1px solid var(--border-hover); box-shadow: 0 20px 60px #00000020; }
.sanctuary-home .brand-film::before { background: radial-gradient(ellipse at 85% 0%, color-mix(in srgb, var(--purple) 10%, transparent), transparent 45%); }
.sanctuary-home .brand-film h2 { color: var(--heading); }
.sanctuary-home :is(.brand-film__kicker, .brand-film__copy > p, .brand-film__close p, .brand-film__close small) { color: var(--texto); }
.sanctuary-home .brand-film__kicker { color: var(--purple-text); }
.sanctuary-home .brand-film__close small { color: var(--apagado); }
.sanctuary-home .website-share-qr { background: var(--superficie); color: var(--texto); border: 1px solid var(--border-hover); }
.sanctuary-home .website-share-qr :is(h2, h3, p, .website-share-qr__eyebrow) { color: var(--texto) !important; }
.sanctuary-home :is(.google-review-qr-wrap, .website-share-qr__code) { background: #FFFFFF; color: #2A2A33; border: 1px solid #D9D3C8; }
.sanctuary-home :is(.google-review-qr-wrap, .website-share-qr__code) :is(p, span, small, a) { color: #2A2A33 !important; }
.sanctuary-home :is(.google-review-qr-wrap, .website-share-qr__code) img { background: #FFFFFF; }
.sanctuary-home :is(.chat-widget-header, #advisor > div > div:first-child) { background: var(--superficie) !important; color: var(--texto) !important; }
.sanctuary-home .chat-widget-header :is(.chat-widget-title-main, .chat-widget-title-sub, .chat-widget-title-sub span, .chat-widget-close-btn) { color: var(--texto) !important; }
.sanctuary-home :is(#voice-bar-inner, #chat-voice-toggle-embedded, #chat-voice-toggle-widget),
.sanctuary-home #chat-section > div:first-child > div { display: none !important; }
.sanctuary-home footer { background: var(--superficie); color: var(--texto); border-top: 1px solid var(--border-hover); }
.sanctuary-home footer :is(h2, h3, p, li, span, a) { color: var(--texto) !important; }
.sanctuary-home footer a:is(:hover, :focus-visible, :active) { color: var(--link-hover) !important; }
.sanctuary-home footer .btn { color: var(--button-ink) !important; }
.sanctuary-home .addon-chip { color: var(--texto); border-color: var(--warm-accent-dark); }
.sanctuary-home :is(.benefit-badge, .benefit-action span, .booking-eyebrow, .chat-ai-badge, .info-item strong, #calculator-total-label) { color: var(--link) !important; }
.sanctuary-home :is(#testimonials, #share) :is(span, p, strong, label)[style*="color: var(--primario)"] { color: var(--link) !important; }
.sanctuary-home .referral-generator-grid :is(p, span, strong, label), .sanctuary-home #referral-empty-state p { color: var(--texto) !important; }
.sanctuary-home .chat-ai-avatar { color: var(--link); }
.sanctuary-home .app-install-btn { background: linear-gradient(180deg, var(--button-top), var(--button-bottom)); color: var(--button-ink); border-color: var(--primario); }
.sanctuary-home .app-install-btn:is(:hover, :focus-visible) { background: var(--primary-hover) !important; color: var(--button-ink) !important; }
.sanctuary-home .app-install-btn:is(:active, .is-pressed) { background: var(--primary-active) !important; color: var(--button-ink) !important; }
.sanctuary-home button[onclick="clearChatHistory('embedded')"] { background: var(--superficie-2) !important; color: var(--link) !important; border: 1px solid var(--border-hover) !important; }
.sanctuary-home button[onclick="clearChatHistory('embedded')"]:is(:hover, :focus-visible, :active, .is-pressed) { background: var(--primary-light) !important; color: var(--link-hover) !important; }
.sanctuary-home a:not(.btn):not(.cta-btn):not(.service-cta-btn):not(.nav-cta-btn):not(.google-review-primary):not(.google-review-secondary):not(.brand-film__book):not(.sanctuary-calculator-cta):not(#whatsapp-float):is(:hover, :focus-visible, :active, .is-pressed) { color: var(--link-hover) !important; }
.sanctuary-home .website-share-qr__code:is(:hover, :focus-visible, :active) { background: #F1F6FF; }

@media (max-width: 700px) {
  .sanctuary-home .nav-container { flex-wrap: wrap; }
  .sanctuary-home .logo-container { flex: 1; }
  .theme-toggle { flex-basis: 40px; width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .sanctuary-home :is(a, button, summary) { transition: none; }
}
