/* ==========================================================================
   Accesibilidad San Rin: barra superior, controles persistentes,
   escalado de texto (A+/A-), modo noche (dark) y alto contraste (high)
   ========================================================================== */

body.has-accessibility { padding-top: 34px; }
body.has-accessibility > .site-header { top: 34px; }

.site-utility {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1002;
  display: flex;
  align-items: center;
  height: 34px;
  padding-left: max(20px, calc((100vw - 1280px) / 2));
  padding-right: 150px;
  background: rgba(255, 255, 255, 0.94);
  color: #0A0F1D;
  border-bottom: 1px solid rgba(10, 15, 29, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  box-sizing: border-box;
}
.site-audience { display: flex; align-items: stretch; height: 100%; }
.site-audience a {
  display: flex;
  align-items: center;
  padding: 0 18px;
  color: #4A5568;
  font: 500 12px/1 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
}
.site-audience a + a { border-left: 1px solid rgba(10, 15, 29, 0.14); }
.site-audience a.active {
  color: #0A0F1D;
  font-weight: 700;
  box-shadow: inset 0 -2px #C5A059;
}
.site-audience a:hover {
  color: #0F2B48;
  background: rgba(15, 43, 72, 0.07);
}

.a11y-widget[hidden] { display: none !important; }
.a11y-widget {
  position: fixed;
  top: 0;
  right: max(20px, calc((100vw - 1280px) / 2));
  z-index: 1003;
  height: 34px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  box-sizing: border-box;
}
.a11y-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-left: 1px solid rgba(10, 15, 29, 0.14);
  background: transparent;
  color: #0F2B48;
  font: 600 12px/1 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  letter-spacing: normal;
  cursor: pointer;
  box-sizing: border-box;
}
.a11y-trigger:hover,
.a11y-trigger:focus-visible,
.a11y-trigger[aria-expanded="true"] {
  background: rgba(15, 43, 72, 0.09);
}
.a11y-glyph { font-weight: 800; font-size: 14px; line-height: 1; }
.a11y-panel {
  position: absolute;
  top: 34px;
  right: 0;
  width: 236px;
  padding: 7px 0;
  background: #202735;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
}
.a11y-panel[hidden] { display: none; }
.a11y-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 14px;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  font: 500 13px/1.35 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  cursor: pointer;
  position: relative;
  box-sizing: border-box;
}
.a11y-option:hover,
.a11y-option:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  outline: 2px solid #e5c378;
  outline-offset: -2px;
}
.a11y-option.is-active {
  background: rgba(197, 160, 89, 0.22);
  color: #FFE49E;
  font-weight: 700;
}
.a11y-option.is-active::after {
  content: "✓";
  margin-left: auto;
  color: #FFE49E;
  font-weight: 800;
  font-size: 13px;
}
.a11y-option-icon {
  display: inline-flex;
  justify-content: center;
  width: 20px;
  font-weight: 700;
}

@media (max-width: 600px) {
  .a11y-widget { right: 0; }
  .a11y-trigger { padding: 0 12px; }
  .a11y-trigger > span:last-child { display: none; }
  .site-utility { padding-left: 8px; padding-right: 56px; }
  .site-audience a { padding: 0 10px; font-size: 10px; }
}

/* ==========================================================================
   1. ESCALADO DE TEXTO (A+ / A-)
   Escala tanto unidades rem como elementos con font-size fijo en px
   ========================================================================== */

:root {
  --a11y-scale: 1;
}
html[data-a11y-text="small"] {
  --a11y-scale: 0.9;
  font-size: 90% !important;
}
html[data-a11y-text="large"] {
  --a11y-scale: 1.15;
  font-size: 115% !important;
}
html[data-a11y-text="xlarge"] {
  --a11y-scale: 1.28;
  font-size: 128% !important;
}

/* Elementos con font-size fijo en px en style.css, blog.css, site-header.css y legales */
html[data-a11y-text="small"] body,
html[data-a11y-text="large"] body,
html[data-a11y-text="xlarge"] body {
  font-size: calc(16px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.about-content p, .legal-content p, .legal-content li, .legal-section p, .legal-section li),
html[data-a11y-text="large"] :is(.about-content p, .legal-content p, .legal-content li, .legal-section p, .legal-section li),
html[data-a11y-text="xlarge"] :is(.about-content p, .legal-content p, .legal-content li, .legal-section p, .legal-section li) {
  font-size: calc(16px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.about-lead, .article-content, .blog-hero p),
html[data-a11y-text="large"] :is(.about-lead, .article-content, .blog-hero p),
html[data-a11y-text="xlarge"] :is(.about-lead, .article-content, .blog-hero p) {
  font-size: calc(18px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.article-deck, .review-quote),
html[data-a11y-text="large"] :is(.article-deck, .review-quote),
html[data-a11y-text="xlarge"] :is(.article-deck, .review-quote) {
  font-size: calc(19.5px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.faq-item summary, .room-modal-meta),
html[data-a11y-text="large"] :is(.faq-item summary, .room-modal-meta),
html[data-a11y-text="xlarge"] :is(.faq-item summary, .room-modal-meta) {
  font-size: calc(15px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.faq-item .faq-body, .section-header .right, .services-desc, .service-desc, .about-feature .text strong, .info-row strong, .blog-card p, .all-rooms-include-label, .cookie-banner p),
html[data-a11y-text="large"] :is(.faq-item .faq-body, .section-header .right, .services-desc, .service-desc, .about-feature .text strong, .info-row strong, .blog-card p, .all-rooms-include-label, .cookie-banner p),
html[data-a11y-text="xlarge"] :is(.faq-item .faq-body, .section-header .right, .services-desc, .service-desc, .about-feature .text strong, .info-row strong, .blog-card p, .all-rooms-include-label, .cookie-banner p) {
  font-size: calc(14.5px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.nav-link, .site-header .nav-link, .blog-nav a, .trust-badges, .about-feature .text span, .about-image-tag .text strong, .d-card-meta, .feat, .info-sub, .info-row span, .info-row a, .review-name, .blog-read, .btn-art-nav, .booking-field input, .booking-field select, .booking-submit-btn, .all-rooms-include-list li, .footer-col a, .blog-footer),
html[data-a11y-text="large"] :is(.nav-link, .site-header .nav-link, .blog-nav a, .trust-badges, .about-feature .text span, .about-image-tag .text strong, .d-card-meta, .feat, .info-sub, .info-row span, .info-row a, .review-name, .blog-read, .btn-art-nav, .booking-field input, .booking-field select, .booking-submit-btn, .all-rooms-include-list li, .footer-col a, .blog-footer),
html[data-a11y-text="xlarge"] :is(.nav-link, .site-header .nav-link, .blog-nav a, .trust-badges, .about-feature .text span, .about-image-tag .text strong, .d-card-meta, .feat, .info-sub, .info-row span, .info-row a, .review-name, .blog-read, .btn-art-nav, .booking-field input, .booking-field select, .booking-submit-btn, .all-rooms-include-list li, .footer-col a, .blog-footer) {
  font-size: calc(13.5px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.d-card-amenities li, .d-card-price, .d-card-arrow, .d-opt, .room-modal-amenities li, .room-modal-cta, .services-cta, .gal-label, .review-source, .footer-brand p, .footer-bottom, .footer-legal-note, .blog-meta, .blog-breadcrumbs, .article-byline, .btn, .header-cta, .hero-location-pill, .booking-field label, .services-eyebrow, .blog-kicker),
html[data-a11y-text="large"] :is(.d-card-amenities li, .d-card-price, .d-card-arrow, .d-opt, .room-modal-amenities li, .room-modal-cta, .services-cta, .gal-label, .review-source, .footer-brand p, .footer-bottom, .footer-legal-note, .blog-meta, .blog-breadcrumbs, .article-byline, .btn, .header-cta, .hero-location-pill, .booking-field label, .services-eyebrow, .blog-kicker),
html[data-a11y-text="xlarge"] :is(.d-card-amenities li, .d-card-price, .d-card-arrow, .d-opt, .room-modal-amenities li, .room-modal-cta, .services-cta, .gal-label, .review-source, .footer-brand p, .footer-bottom, .footer-legal-note, .blog-meta, .blog-breadcrumbs, .article-byline, .btn, .header-cta, .hero-location-pill, .booking-field label, .services-eyebrow, .blog-kicker) {
  font-size: calc(12px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.services-title, .services-section .section-header h2, .blog-section-heading h2, .article-content h2),
html[data-a11y-text="large"] :is(.services-title, .services-section .section-header h2, .blog-section-heading h2, .article-content h2),
html[data-a11y-text="xlarge"] :is(.services-title, .services-section .section-header h2, .blog-section-heading h2, .article-content h2) {
  font-size: calc(32px * var(--a11y-scale)) !important;
}

html[data-a11y-text="small"] :is(.info-card h3, .blog-card h3, .article-cta h2, .related h2, .room-modal-title),
html[data-a11y-text="large"] :is(.info-card h3, .blog-card h3, .article-cta h2, .related h2, .room-modal-title),
html[data-a11y-text="xlarge"] :is(.info-card h3, .blog-card h3, .article-cta h2, .related h2, .room-modal-title) {
  font-size: calc(24px * var(--a11y-scale)) !important;
}

/* ==========================================================================
   2. HEADER TRANSPARENTE SOBRE HERO Y PESTAÑA DE OPINIÓN
   ========================================================================== */

body.has-hero-header > .site-header:not(.scrolled) {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.has-hero-header > .site-header:not(.scrolled) .header-brand-name,
body.has-hero-header > .site-header:not(.scrolled) .header-brand-tag,
body.has-hero-header > .site-header:not(.scrolled) .nav-link,
body.has-hero-header > .site-header:not(.scrolled) .nav-toggle {
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}
body.has-hero-header > .site-header:not(.scrolled) .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 8px;
}
body.has-hero-header > .site-header:not(.scrolled) .nav-link:hover,
body.has-hero-header > .site-header:not(.scrolled) .nav-link:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.72);
  color: #fff;
}
body.has-hero-header > .site-header:not(.scrolled) .nav-toggle {
  border-color: rgba(255, 255, 255, 0.55);
}
body.has-hero-header > .site-header:not(.scrolled) .nav-toggle span {
  background: #fff;
}
body.has-hero-header > .site-header.scrolled .header-brand-name {
  color: var(--ink);
}
body.has-hero-header > .site-header.scrolled .header-brand-tag {
  color: var(--ink-3);
}
body.has-hero-header > .site-header.scrolled .nav-link {
  color: var(--ink-2);
  border-color: transparent;
  text-shadow: none;
}
body.has-hero-header > .site-header.scrolled .nav-link:hover {
  color: var(--primary);
  background: rgba(15, 43, 72, 0.06);
  border-color: transparent;
}
body.has-hero-header > .site-header.scrolled .nav-toggle {
  color: var(--ink);
  border-color: var(--line-2);
  text-shadow: none;
}
body.has-hero-header > .site-header.scrolled .nav-toggle span {
  background: var(--ink);
}
body.has-accessibility .mobile-nav {
  z-index: 1010;
}

/* Pestaña fija para invitar a dejar una opinión en Google */
.review-tab {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 995;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 142px;
  padding: 10px 6px;
  border: 1px solid rgba(197, 160, 89, 0.75);
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background: #0F2B48;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
  writing-mode: vertical-rl;
  transform: translateY(-50%);
  font: 600 12px/1 var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.review-tab span {
  display: block;
  transform: rotate(180deg);
  color: #ffffff !important;
  white-space: nowrap;
}
.review-tab:hover,
.review-tab:focus-visible {
  background: #1D4068;
  color: #ffffff !important;
  transform: translateY(-50%) translateX(-2px);
}
.review-tab:hover span,
.review-tab:focus-visible span {
  color: #ffffff !important;
}
@media (max-width: 600px) {
  .review-tab {
    width: 28px;
    height: 124px;
    font-size: 10px;
    padding: 8px 4px;
  }
}
body.mobile-nav-open .review-tab,
body.modal-open .review-tab {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ==========================================================================
   3. MODO NOCHE (html[data-theme="dark"])
   ========================================================================== */

html[data-theme="dark"] {
  --bg: #171b22;
  --bg-2: #202632;
  --bg-3: #303949;
  --paper: #202632;
  --paper-2: #252d39;
  --ink: #f3f5f7;
  --ink-2: #d0d6df;
  --ink-3: #b3bdca;
  --primary: #C5A059;
  --primary-2: #D4AF37;
  --accent-gold: #C5A059;
  --line: rgba(255, 255, 255, 0.14);
  --line-2: rgba(255, 255, 255, 0.24);
  color-scheme: dark;
}

html[data-theme="dark"] body {
  background: var(--bg) !important;
  color: var(--ink) !important;
}

/* Barra superior de utilidad y widget */
html[data-theme="dark"] .site-utility {
  background: rgba(23, 27, 34, 0.96) !important;
  color: #f3f5f7 !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}
html[data-theme="dark"] .site-audience a { color: #d0d6df !important; }
html[data-theme="dark"] .site-audience a.active { color: #ffffff !important; box-shadow: inset 0 -2px #C5A059 !important; }
html[data-theme="dark"] .site-audience a:hover { background: rgba(255, 255, 255, 0.08) !important; color: #ffffff !important; }
html[data-theme="dark"] .site-audience a + a { border-color: rgba(255, 255, 255, 0.16) !important; }
html[data-theme="dark"] .a11y-trigger { color: #f3f5f7 !important; border-color: rgba(255, 255, 255, 0.15) !important; }
html[data-theme="dark"] .a11y-trigger:hover,
html[data-theme="dark"] .a11y-trigger:focus-visible,
html[data-theme="dark"] .a11y-trigger[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Superficies generales */
html[data-theme="dark"] :is(.booking-bar, .cookie-banner, .cookie-consent, .modal-content, .card, .room-card, .legal-content, .legal-body) {
  background-color: #202632;
  color: #f3f5f7;
}
html[data-theme="dark"] .legal-content,
html[data-theme="dark"] .legal-body {
  background-color: transparent;
}
html[data-theme="dark"] :is(h1, h2, h3, h4, h5, h6, p, li, label, small) {
  color: var(--ink);
}

/* Enlaces generales en modo noche (sin romper botones ni tarjetas interactivas) */
html[data-theme="dark"] a:not(.site-audience a):not(.header-cta):not(.btn):not(.whatsapp-float):not(.booking-submit-btn):not(.d-card-arrow):not(.btn-art-nav):not(.review-tab):not(.room-modal-cta):not(.btn-whatsapp):not(.contacto-card):not(.emergencia-card):not(.mobile-nav-link):not(.mobile-nav-booking):not(.blog-book):not(.nav-link):not(.footer-social):not(.gal):not(.header-brand-link):not(.logo-link):not(.blog-brand) {
  color: #E6C77B;
}

/* Header fijo y scrolled en modo noche */
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-header.scrolled,
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled {
  background: rgba(23, 27, 34, 0.97) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .header-brand-name,
html[data-theme="dark"] .site-header .header-brand-name {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .header-brand-tag,
html[data-theme="dark"] .site-header .header-brand-tag {
  color: #b3bdca !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .nav-link,
html[data-theme="dark"] .site-header .nav-link {
  color: #f3f5f7 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .nav-link:hover,
html[data-theme="dark"] .site-header .nav-link:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  color: #fff !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .nav-toggle,
html[data-theme="dark"] .site-header .nav-toggle {
  color: #f3f5f7 !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
html[data-theme="dark"] body.has-hero-header > .site-header.scrolled .nav-toggle span,
html[data-theme="dark"] .site-header .nav-toggle span {
  background: #f3f5f7 !important;
}

/* Hero Boutique en index.html (evita el degradado blanco inferior en modo noche) */
html[data-theme="dark"] .hero-boutique-overlay {
  background: linear-gradient(180deg, rgba(10, 15, 29, 0.55) 0%, rgba(15, 32, 54, 0.75) 60%, rgba(23, 27, 34, 0.98) 100%) !important;
}
html[data-theme="dark"] .hero-boutique-title {
  color: #ffffff !important;
}
html[data-theme="dark"] .hero-boutique-sub {
  color: rgba(255, 255, 255, 0.92) !important;
}
html[data-theme="dark"] .hero-location-pill {
  color: #ffffff !important;
  background: rgba(10, 15, 29, 0.55) !important;
  border-color: rgba(197, 160, 89, 0.6) !important;
}

/* Barra de reserva en el Hero */
html[data-theme="dark"] .booking-bar-glass {
  background: rgba(16, 20, 28, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
html[data-theme="dark"] .booking-field {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
html[data-theme="dark"] .booking-field label {
  color: #d0d6df !important;
}
html[data-theme="dark"] .booking-field input,
html[data-theme="dark"] .booking-field select {
  background: transparent !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .booking-field select option {
  background: #171b22 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .booking-submit-btn {
  background: linear-gradient(135deg, #C5A059 0%, #B38E42 100%) !important;
  color: #0A0F1D !important;
  font-weight: 700 !important;
}
html[data-theme="dark"] .booking-submit-btn svg {
  fill: #0A0F1D !important;
}

/* Sección Nosotros / About */
html[data-theme="dark"] .about-image-tag {
  background: rgba(23, 27, 34, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .about-image-tag .text strong {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .about-image-tag .text span {
  color: #b3bdca !important;
}

/* Tarjetas de habitaciones y configurador */
html[data-theme="dark"] .d-card {
  background: #202632 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme="dark"] .d-card-body {
  background: #202632 !important;
}
html[data-theme="dark"] .d-card-img-wrap {
  background: #171b22 !important;
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .d-card-name {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .d-card-meta {
  color: #d0d6df !important;
}
html[data-theme="dark"] .d-card-price {
  color: #d0d6df !important;
}
html[data-theme="dark"] .d-card-price b {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .d-card-price small {
  color: #b3bdca !important;
}
html[data-theme="dark"] .d-card-num {
  color: #ffffff !important;
}
html[data-theme="dark"] .d-card-config {
  background: #2a3442 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .d-opt-label {
  color: #d0d6df !important;
}
html[data-theme="dark"] .d-opt {
  background: #202632 !important;
  color: #d0d6df !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
}
html[data-theme="dark"] .d-opt:hover {
  background: #2c3647 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
html[data-theme="dark"] .d-opt.is-active {
  background: #C5A059 !important;
  border-color: #C5A059 !important;
  color: #0A0F1D !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(197, 160, 89, 0.3) !important;
}
html[data-theme="dark"] .d-card-amenities li {
  background: #2a3442 !important;
  color: #e3e8ef !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .d-card-arrow {
  background: #C5A059 !important;
  color: #0A0F1D !important;
  border-color: #C5A059 !important;
  font-weight: 700 !important;
}
html[data-theme="dark"] .d-card-arrow:hover {
  background: #D4AF37 !important;
  color: #0A0F1D !important;
}
html[data-theme="dark"] .all-rooms-include {
  background: #202632 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .all-rooms-include-label {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .all-rooms-include-list li {
  color: #d0d6df !important;
}

/* Modal de habitación */
html[data-theme="dark"] .room-modal-card {
  background: #202632 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .room-modal-visual {
  background: #171b22 !important;
}
html[data-theme="dark"] .room-modal-tag {
  color: #C5A059 !important;
  background: rgba(197, 160, 89, 0.14) !important;
}
html[data-theme="dark"] .room-modal-title {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .room-modal-meta {
  color: #d0d6df !important;
}
html[data-theme="dark"] .room-modal-section-title {
  color: #b3bdca !important;
}
html[data-theme="dark"] .room-modal-amenities li {
  background: #2a3442 !important;
  color: #f3f5f7 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
html[data-theme="dark"] .room-modal-price-num {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .room-modal-price-sub {
  color: #b3bdca !important;
}
html[data-theme="dark"] .room-modal-cta {
  color: #ffffff !important;
}
html[data-theme="dark"] .room-modal-close {
  background: #2a3442 !important;
  color: #f3f5f7 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}
html[data-theme="dark"] .room-modal-close:hover {
  background: #374355 !important;
  color: #fff !important;
}

/* Sección Servicios (#servicios) — corrige el fondo --ink invertido en modo noche */
html[data-theme="dark"] .services-section,
html[data-theme="dark"] .services-hero {
  background: #111622 !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .services-section .section-header h2,
html[data-theme="dark"] .services-title {
  color: #ffffff !important;
}
html[data-theme="dark"] .services-section .section-header .right,
html[data-theme="dark"] .services-desc,
html[data-theme="dark"] .feat {
  color: #d0d6df !important;
}
html[data-theme="dark"] .services-cta {
  color: #E6C77B !important;
  border-bottom-color: #C5A059 !important;
}
html[data-theme="dark"] .service:hover {
  background: #202632 !important;
}

/* Sección Ubicación (.info-card) — corrige fondo blanco con texto blanco */
html[data-theme="dark"] .info-card {
  background: #202632 !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .info-card h3,
html[data-theme="dark"] .info-row strong {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .info-sub,
html[data-theme="dark"] .info-row span {
  color: #d0d6df !important;
}
html[data-theme="dark"] .info-ico {
  background: rgba(197, 160, 89, 0.14) !important;
  color: #C5A059 !important;
}

/* Tarjetas y componentes de Soy Huésped (soy-huesped.html) */
html[data-theme="dark"] .huesped-hero {
  background: #111622 !important;
}
html[data-theme="dark"] .huesped-section--alt {
  background: #1b212c !important;
}
html[data-theme="dark"] .huesped-section--cta {
  background: #111622 !important;
  color: #f3f5f7 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .huesped-cta h2,
html[data-theme="dark"] .huesped-section--cta .huesped-section-header h2 {
  color: #ffffff !important;
}
html[data-theme="dark"] .huesped-cta p,
html[data-theme="dark"] .huesped-section--cta .huesped-section-lead {
  color: #d0d6df !important;
}
html[data-theme="dark"] .wifi-card,
html[data-theme="dark"] .contacto-card:not(.contacto-card--primary),
html[data-theme="dark"] .horario-card,
html[data-theme="dark"] .regla-item,
html[data-theme="dark"] .emergencia-card:not(.emergencia-card--priority),
html[data-theme="dark"] .pueblo-item {
  background: #202632 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #f3f5f7 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}
html[data-theme="dark"] .wifi-card-floor,
html[data-theme="dark"] .contacto-card:not(.contacto-card--primary) .contacto-card-label,
html[data-theme="dark"] .horario-card h3,
html[data-theme="dark"] .regla-item h3,
html[data-theme="dark"] .pueblo-item h3,
html[data-theme="dark"] .pueblo-item p strong,
html[data-theme="dark"] .emergencia-card:not(.emergencia-card--priority) .emergencia-card-label,
html[data-theme="dark"] .emergencia-card:not(.emergencia-card--priority) .emergencia-card-value,
html[data-theme="dark"] .wifi-name {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .wifi-card-sub,
html[data-theme="dark"] .wifi-field-label,
html[data-theme="dark"] .wifi-qr-label,
html[data-theme="dark"] .contacto-card:not(.contacto-card--primary) .contacto-card-sub,
html[data-theme="dark"] .horario-card p,
html[data-theme="dark"] .horario-desc,
html[data-theme="dark"] .regla-item p,
html[data-theme="dark"] .emergencia-card:not(.emergencia-card--priority) .emergencia-card-sub,
html[data-theme="dark"] .pueblo-item p,
html[data-theme="dark"] .pueblo-meta,
html[data-theme="dark"] .huesped-section-lead,
html[data-theme="dark"] .huesped-section-foot {
  color: #d0d6df !important;
}
html[data-theme="dark"] .wifi-ssid,
html[data-theme="dark"] .wifi-pass {
  background: #2a3442 !important;
  color: #f3f5f7 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
html[data-theme="dark"] .wifi-copy,
html[data-theme="dark"] .wifi-toggle {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .wifi-copy:hover,
html[data-theme="dark"] .wifi-toggle:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}
html[data-theme="dark"] .wifi-card-icon,
html[data-theme="dark"] .contacto-card:not(.contacto-card--primary) .contacto-card-icon,
html[data-theme="dark"] .horario-card-icon,
html[data-theme="dark"] .regla-icon,
html[data-theme="dark"] .pueblo-icon,
html[data-theme="dark"] .emergencia-card:not(.emergencia-card--priority) .emergencia-card-icon {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #C5A059 !important;
}
html[data-theme="dark"] .horario-time,
html[data-theme="dark"] .horario-card-time,
html[data-theme="dark"] .horario-card-head,
html[data-theme="dark"] .contacto-card:not(.contacto-card--primary) .contacto-card-value,
html[data-theme="dark"] .pueblo-link,
html[data-theme="dark"] .emergencia-link {
  color: #E6C77B !important;
}
html[data-theme="dark"] .contacto-card--primary,
html[data-theme="dark"] .contacto-card--primary :is(.contacto-card-label, .contacto-card-value, .contacto-card-sub) {
  color: #ffffff !important;
}
html[data-theme="dark"] .emergencia-card--priority,
html[data-theme="dark"] .emergencia-card--priority :is(.emergencia-card-label, .emergencia-card-value, .emergencia-card-sub) {
  color: #ffffff !important;
}
html[data-theme="dark"] .section-num {
  color: #C5A059 !important;
  opacity: 1 !important;
}
html[data-theme="dark"] .regla-num {
  color: rgba(255, 255, 255, 0.25) !important;
  opacity: 1 !important;
}

/* Páginas de error (404.html y 502.html) */
html[data-theme="dark"] body > .container {
  background: #202632 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] body > .container .code {
  color: #C5A059 !important;
}
html[data-theme="dark"] body > .container p {
  color: #d0d6df !important;
}
html[data-theme="dark"] body > .container .btn-primary {
  background: #C5A059 !important;
  color: #0A0F1D !important;
}

/* Páginas legales y tablas */
html[data-theme="dark"] .privacy-toc,
html[data-theme="dark"] .cookies-panel,
html[data-theme="dark"] .table-responsive {
  background: #202632 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .privacy-toc h2 {
  color: #C5A059 !important;
}
html[data-theme="dark"] .privacy-toc a {
  color: #d0d6df !important;
}
html[data-theme="dark"] .privacy-toc a:hover {
  color: #C5A059 !important;
  border-bottom-color: #C5A059 !important;
}
html[data-theme="dark"] .privacy-highlight {
  background: #1b2633 !important;
  border-left-color: #C5A059 !important;
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .privacy-highlight strong,
html[data-theme="dark"] .privacy-highlight i {
  color: #C5A059 !important;
}
html[data-theme="dark"] .privacy-table {
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .privacy-table th {
  background: #1a2330 !important;
  color: #C5A059 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .privacy-table td {
  background: #202632 !important;
  color: #f3f5f7 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .privacy-table tr:nth-child(even) td {
  background: #252d3a !important;
}
html[data-theme="dark"] .privacy-table code {
  background: rgba(197, 160, 89, 0.18) !important;
  color: #FFE49E !important;
}
html[data-theme="dark"] .cookie-btn-outline,
html[data-theme="dark"] .cookie-btn-reset {
  color: #f3f5f7 !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}
html[data-theme="dark"] .cookies-badge.badge-accepted {
  background: rgba(37, 211, 102, 0.22) !important;
  color: #6ee7b7 !important;
}
html[data-theme="dark"] .cookies-badge.badge-rejected {
  background: rgba(244, 63, 94, 0.22) !important;
  color: #fda4af !important;
}
html[data-theme="dark"] .cookies-badge.badge-pending {
  background: rgba(245, 158, 11, 0.22) !important;
  color: #fcd34d !important;
}

/* Títulos, destacados y acentos */
html[data-theme="dark"] .kicker,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .services-eyebrow,
html[data-theme="dark"] .blog-kicker,
html[data-theme="dark"] h1 em,
html[data-theme="dark"] h2 em,
html[data-theme="dark"] h3 em {
  color: #C5A059 !important;
  -webkit-text-fill-color: #C5A059 !important;
  background: none !important;
}
html[data-theme="dark"] .kicker::before,
html[data-theme="dark"] .eyebrow::before {
  background: #C5A059 !important;
}
html[data-theme="dark"] .kicker-num,
html[data-theme="dark"] .eyebrow-num {
  color: #b3bdca !important;
}

/* FAQ y acordiones */
html[data-theme="dark"] .faq-item {
  background-color: #202632 !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html[data-theme="dark"] .faq-item summary {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .faq-item summary:hover {
  color: #C5A059 !important;
}
html[data-theme="dark"] .faq-body {
  color: #d0d6df !important;
}

/* Entradas de formulario generales (excluyendo los campos transparentes del glass bar) */
html[data-theme="dark"] body :is(input, select, textarea):not(#bLlegada):not(#bSalida):not(#bHuespedes) {
  background: #202632 !important;
  color: #f3f5f7 !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
html[data-theme="dark"] body ::placeholder {
  color: #c0cad6 !important;
  opacity: 1;
}

/* Footer en modo noche (evita que reglas generales de a/p cambien sus colores) */
html[data-theme="dark"] .site-footer .footer-col a,
html[data-theme="dark"] .site-footer .footer-bottom a {
  color: #d0d6df !important;
}
html[data-theme="dark"] .site-footer .footer-col a:hover,
html[data-theme="dark"] .site-footer .footer-bottom a:hover {
  color: #FFE49E !important;
}
html[data-theme="dark"] .site-footer .footer-brand p,
html[data-theme="dark"] .site-footer .footer-bottom, .site-footer .footer-legal-note,
html[data-theme="dark"] .site-footer .footer-legal-note {
  color: #b3bdca !important;
}

/* Pestaña fija de opinión en modo noche */
html[data-theme="dark"] .review-tab {
  background: #1a2330 !important;
  color: #f3f5f7 !important;
  border-color: rgba(197, 160, 89, 0.85) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] .review-tab span {
  color: #f3f5f7 !important;
}
html[data-theme="dark"] .review-tab:hover,
html[data-theme="dark"] .review-tab:focus-visible {
  background: #C5A059 !important;
  color: #0A0F1D !important;
  border-color: #C5A059 !important;
}
html[data-theme="dark"] .review-tab:hover span,
html[data-theme="dark"] .review-tab:focus-visible span {
  color: #0A0F1D !important;
}

/* ==========================================================================
   4. MODO ALTO CONTRASTE (html[data-a11y-contrast="high"])
   Garantiza contraste máximo (WCAG AAA), bordes definidos y textos nítidos
   tanto en Modo Día como combinado con Modo Noche, sin forzar color negro
   o blanco sobre botones/superficies que tienen color opuesto.
   ========================================================================== */

/* --- Alto Contraste en Modo Día --- */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) {
  --bg: #ffffff;
  --bg-2: #f4f6fa;
  --bg-3: #e2e8f0;
  --paper: #ffffff;
  --paper-2: #ffffff;
  --ink: #000000;
  --ink-2: #000000;
  --ink-3: #000000;
  --primary: #00205B;
  --primary-2: #001238;
  --accent-gold: #6E4700;
  --line: #000000;
  --line-2: #000000;
  --blog-ink: #000000;
  --blog-muted: #000000;
  --blog-green: #003D24;
  --blog-line: #000000;
}

html[data-a11y-contrast="high"]:not([data-theme="dark"]) body,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.blog-body {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Textos de lectura que usan colores fijos grises en CSS externo */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(
  .section-header .right,
  .about-content p,
  .about-feature .text span,
  .about-image-tag .text span,
  .d-card-meta,
  .d-card-price,
  .d-card-price small,
  .d-card-amenities li,
  .d-opt:not(.is-active),
  .d-opt-label,
  .all-rooms-include-list li,
  .faq-item summary,
  .faq-item .faq-body,
  .info-sub,
  .info-row span,
  .review-quote,
  .review-source,
  .reviews-score .sub,
  .blog-hero p,
  .blog-card p,
  .blog-meta,
  .blog-breadcrumbs,
  .article-deck,
  .article-byline,
  .article-content,
  .huesped-section-lead,
  .huesped-section-foot,
  .wifi-card-sub,
  .wifi-field-label,
  .wifi-qr-label,
  .horario-card p,
  .regla-item p,
  .pueblo-item p,
  .legal-content p,
  .legal-content li,
  .legal-section p,
  .legal-section li,
  .legal-date,
  .cookies-panel-desc
) {
  color: #000000 !important;
}

/* Enlaces y acentos en Alto Contraste Día */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(.kicker, .eyebrow, .blog-kicker, .info-row a, .blog-read, .related a, .pueblo-link, .emergencia-link, .legal-content a, .legal-section a) {
  color: #00205B !important;
  font-weight: 700 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(h1 em, h2 em, h3 em, .reviews-score .big) {
  background: none !important;
  -webkit-text-fill-color: #00205B !important;
  color: #00205B !important;
  font-weight: 600 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(.hero-boutique-title em, .services-title em, .huesped-hero-title em, .huesped-cta h2 em) {
  background: none !important;
  -webkit-text-fill-color: #FFE47A !important;
  color: #FFE47A !important;
}

/* Barra superior (topbar) y Header siempre con fondo sólido blanco y texto negro en Alto Contraste Día */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-utility {
  background: #ffffff !important;
  color: #000000 !important;
  border-bottom: 2px solid #000000 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-audience a {
  color: #000000 !important;
  font-weight: 600 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-audience a + a {
  border-left: 2px solid #000000 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-audience a.active {
  color: #00205B !important;
  font-weight: 800 !important;
  box-shadow: inset 0 -3px #00205B !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-audience a:hover {
  background: #00205B !important;
  color: #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .a11y-trigger {
  color: #000000 !important;
  border-left: 2px solid #000000 !important;
  font-weight: 700 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .a11y-trigger:hover,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .a11y-trigger:focus-visible,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .a11y-trigger[aria-expanded="true"] {
  background: #00205B !important;
  color: #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-header,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.has-hero-header > .site-header:not(.scrolled),
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .blog-header {
  background: #ffffff !important;
  border-bottom: 2px solid #000000 !important;
  box-shadow: none !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-header :is(.header-brand-name, .header-brand-tag, .nav-toggle),
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.has-hero-header > .site-header:not(.scrolled) :is(.header-brand-name, .header-brand-tag, .nav-toggle),
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .blog-header :is(.blog-brand, .blog-brand small, .blog-nav a:not(.blog-book)) {
  color: #000000 !important;
  text-shadow: none !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.has-hero-header > .site-header:not(.scrolled) .nav-toggle span {
  background: #000000 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-header .nav-link,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.has-hero-header > .site-header:not(.scrolled) .nav-link {
  border: 2px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .site-header .nav-link:hover,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) body.has-hero-header > .site-header:not(.scrolled) .nav-link:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Hero y barra de reserva en Alto Contraste Día */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .hero-boutique-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.82) 70%, rgba(0, 0, 0, 0.92) 100%) !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-bar-glass {
  background: #081224 !important;
  border: 2px solid #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-field {
  background: #10203a !important;
  border: 1.5px solid #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-field label,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-field input,
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-field select {
  color: #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-submit-btn {
  background: #FFD700 !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  font-weight: 800 !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .booking-submit-btn svg {
  fill: #000000 !important;
}

/* Sección Servicios y Footer en Alto Contraste Día (fondos oscuros con texto blanco puro) */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(.services-section, .services-hero, .site-footer, .blog-footer, .huesped-section--cta) {
  background: #050b16 !important;
  color: #ffffff !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(.services-section .section-header h2, .services-section .section-header .right, .services-section .eyebrow, .services-section .eyebrow-num, .services-eyebrow, .services-title, .services-desc, .feat, .services-cta, .site-footer .footer-brand p, .site-footer .footer-col h3, .site-footer .footer-col a, .site-footer .footer-bottom, .site-footer .footer-legal-note, .footer-legal-note, .site-footer .footer-bottom a, .blog-footer, .blog-footer a, .huesped-cta h2, .huesped-cta p, .huesped-cta .kicker) {
  color: #ffffff !important;
}

/* Bordes sólidos de alto contraste en tarjetas y bloques */
html[data-a11y-contrast="high"]:not([data-theme="dark"]) :is(.d-card, .d-card-config, .d-card-amenities li, .d-opt, .faq-item, .info-card, .location-grid, .blog-card, .article-cta, .btn-art-nav, .wifi-card, .contacto-card, .horario-card, .regla-item, .emergencia-card, .pueblo-item, .privacy-toc, .cookies-panel, .all-rooms-include, .room-modal-card, body > .container) {
  border: 2px solid #000000 !important;
  box-shadow: none !important;
}
html[data-a11y-contrast="high"]:not([data-theme="dark"]) .d-opt.is-active {
  background: #00205B !important;
  color: #ffffff !important;
  border-color: #000000 !important;
  font-weight: 800 !important;
}

/* --- Alto Contraste en Modo Noche --- */
html[data-a11y-contrast="high"][data-theme="dark"] {
  --bg: #000000;
  --bg-2: #080b10;
  --bg-3: #121822;
  --paper: #080b10;
  --paper-2: #0e131b;
  --ink: #ffffff;
  --ink-2: #ffffff;
  --ink-3: #ffffff;
  --primary: #FFD700;
  --primary-2: #FFEA70;
  --accent-gold: #FFD700;
  --line: #ffffff;
  --line-2: #ffffff;
}

html[data-a11y-contrast="high"][data-theme="dark"] .site-utility {
  background: #000000 !important;
  color: #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .site-audience a {
  color: #ffffff !important;
  font-weight: 600 !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .site-audience a + a {
  border-left: 2px solid #ffffff !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .site-audience a.active {
  color: #FFD700 !important;
  font-weight: 800 !important;
  box-shadow: inset 0 -3px #FFD700 !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .site-audience a:hover {
  background: #FFD700 !important;
  color: #000000 !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .a11y-trigger {
  color: #ffffff !important;
  border-left: 2px solid #ffffff !important;
  font-weight: 700 !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] .a11y-trigger:hover,
html[data-a11y-contrast="high"][data-theme="dark"] .a11y-trigger:focus-visible,
html[data-a11y-contrast="high"][data-theme="dark"] .a11y-trigger[aria-expanded="true"] {
  background: #FFD700 !important;
  color: #000000 !important;
}

html[data-a11y-contrast="high"][data-theme="dark"] body,
html[data-a11y-contrast="high"][data-theme="dark"] body.blog-body,
html[data-a11y-contrast="high"][data-theme="dark"] :is(.services-section, .services-hero, .faq-section, .reviews-section, #habitaciones, .huesped-section, .huesped-section--alt, .huesped-section--cta, .blog-hero) {
  background: #000000 !important;
  color: #ffffff !important;
}

html[data-a11y-contrast="high"][data-theme="dark"] :is(.d-card, .d-card-body, .d-card-config, .faq-item, .info-card, .blog-card, .wifi-card, .contacto-card:not(.contacto-card--primary), .horario-card, .regla-item, .emergencia-card:not(.emergencia-card--priority), .pueblo-item, .privacy-toc, .cookies-panel, .all-rooms-include, .article-cta, .room-modal-card, body > .container) {
  background: #080b10 !important;
  border: 2px solid #ffffff !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

/* Textos secundarios a blanco puro en Alto Contraste Noche (sin afectar botones dorados) */
html[data-a11y-contrast="high"][data-theme="dark"] :is(
  .section-header .right,
  .about-content p,
  .about-feature .text span,
  .about-image-tag .text span,
  .d-card-meta,
  .d-card-price,
  .d-card-price small,
  .d-card-amenities li,
  .d-opt:not(.is-active),
  .d-opt-label,
  .all-rooms-include-list li,
  .faq-item summary,
  .faq-item .faq-body,
  .info-sub,
  .info-row span,
  .review-quote,
  .review-source,
  .reviews-score .sub,
  .blog-hero p,
  .blog-card p,
  .blog-meta,
  .blog-breadcrumbs,
  .article-deck,
  .article-byline,
  .article-content,
  .article-cta p,
  .huesped-section-lead,
  .huesped-section-foot,
  .wifi-card-sub,
  .wifi-field-label,
  .wifi-qr-label,
  .horario-card p,
  .regla-item p,
  .pueblo-item p,
  .legal-content p,
  .legal-content li,
  .legal-section p,
  .legal-section li,
  .legal-date,
  .cookies-panel-desc,
  .site-footer .footer-brand p,
  .site-footer .footer-col a,
  .site-footer .footer-bottom,
  .site-footer .footer-legal-note
) {
  color: #ffffff !important;
}

html[data-a11y-contrast="high"][data-theme="dark"] :is(.kicker, .eyebrow, .services-eyebrow, .blog-kicker, h1 em, h2 em, h3 em, .reviews-score .big, .horario-card-time, .contacto-card:not(.contacto-card--primary) .contacto-card-value) {
  background: none !important;
  color: #FFD700 !important;
  -webkit-text-fill-color: #FFD700 !important;
}

/* Botones dorados en Alto Contraste Noche: fondo amarillo brillante con texto negro puro */
html[data-a11y-contrast="high"][data-theme="dark"] :is(.booking-submit-btn, .d-card-arrow, .d-opt.is-active, .btn-art-nav--active, body > .container .btn-primary) {
  background: #FFD700 !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  font-weight: 800 !important;
}
html[data-a11y-contrast="high"][data-theme="dark"] :is(.booking-submit-btn, .d-card-arrow, .d-opt.is-active, .btn-art-nav--active, body > .container .btn-primary) :is(span, svg) {
  color: #000000 !important;
  fill: #000000 !important;
}

html[data-a11y-contrast="high"] :is(a, button, input, select, summary):focus-visible {
  outline: 3px solid #FFD700 !important;
  outline-offset: 3px !important;
}

@media (max-width: 1100px) {
  body.mobile-nav-open .site-utility,
  body.mobile-nav-open .a11y-widget {
    pointer-events: none !important;
  }
  body.has-accessibility .mobile-nav {
    z-index: 1010;
  }
}
