/*
 * hotel-themes.css — 5 page design themes for single hotel pages
 * Applied via [data-hotel-theme="X"] on .te-hotel-page wrapper
 *
 * IMPORTANT: SSP widget has all base styles hardcoded with !important.
 * We use .te-hotel-page[data-hotel-theme] #ssp-widget (higher specificity +
 * later load order) to override every hardcoded color explicitly.
 *
 * Themes: classic | dark | minimal
 */

/* ═══════════════════════════════════════════════════════════
   SHARED TRANSITION
   ═══════════════════════════════════════════════════════════ */
.te-hotel-page { transition: background .3s, color .3s; }


/* ╔═══════════════════════════════════════════════════════════╗
   ║  1. CLASSIC — Warm ivory, rich saffron, deep brown        ║
   ╚═══════════════════════════════════════════════════════════╝ */
/* Page */
.te-hotel-page[data-hotel-theme="classic"] { background: #FFFBF5; }
.te-hotel-page[data-hotel-theme="classic"] section,
.te-hotel-page[data-hotel-theme="classic"] .te-section { background: #FFFBF5 !important; }
.te-hotel-page[data-hotel-theme="classic"] h1,
.te-hotel-page[data-hotel-theme="classic"] h2,
.te-hotel-page[data-hotel-theme="classic"] h3 { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-hotel-price-value { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-hotel-price-block {
  background: #FFF3E0 !important;
  border: 1.5px solid #F0922A !important;
}
.te-hotel-page[data-hotel-theme="classic"] .te-pill {
  background: #FEF3E8 !important; border-color: #F5D5A8 !important; color: #92400E !important;
}
.te-hotel-page[data-hotel-theme="classic"] .te-hotel-amenity-item {
  background: #FFFBF5 !important; border-color: #F5D5A8 !important;
}
/* SSP Widget */
.te-hotel-page[data-hotel-theme="classic"] #ssp-widget { background: #F9F4EE !important; color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] #ssp-widget * { color: #1C0D00; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-topbar { background: #FFF3E0 !important; border-color: #F5D5A8 !important; color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rooms-panel { background: #F9F4EE !important; border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rooms-title { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rooms-count { background: #FFF3E0 !important; border-color: #F5D5A8 !important; color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-search-field { background: #FFF3E0 !important; border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-search-field:hover,
.te-hotel-page[data-hotel-theme="classic"] .ssp-search-field:focus-within { background: #FEE9C4 !important; border-color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-field-label { color: #B45309 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-date-input { color: #1C0D00 !important; color-scheme: light; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-arrow { color: #B45309 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-g-btn { background: #FFF3E0 !important; border-color: #F5D5A8 !important; color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-g-count { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-chip { background: #FFF3E0 !important; border-color: #F5D5A8 !important; color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-chip.active { background: #F0922A !important; border-color: #F0922A !important; color: #fff !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc { background: #FFFFFF !important; border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc:hover { border-color: #F0922A !important; box-shadow: 0 4px 20px rgba(240,146,42,.18) !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc--selected { border-color: #F0922A !important; background: #FFF8F0 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-name { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-desc { color: #78350F !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-price { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-amenity { background: #FEF3E8 !important; border-color: #F5D5A8 !important; color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-breakdown { background: #FFF3E0 !important; color: #78350F !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-rc-img::after { background: linear-gradient(to right, transparent, #FFFFFF) !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-qty-row { background: #FFFFFF !important; border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-qty-label { color: #B45309 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-qty-count { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-qty-btn { background: #FFF3E0 !important; border-color: #F5D5A8 !important; color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-panel { background: #FFF3E0 !important; border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-title { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-nights { color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-nights strong { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-date-accent { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-empty p { color: #B45309 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-si-name { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-si-sub { color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-si-price { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-item { border-color: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-summary-divider { background: #F5D5A8 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-tax-row { color: #92400E !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-tax-row span:last-child { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-total-row { color: #1C0D00 !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-total-row span:last-child { color: #F0922A !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-book-btn { background: #F0922A !important; color: #fff !important; }
.te-hotel-page[data-hotel-theme="classic"] .ssp-book-btn:not([disabled]):hover { background: #D97A1A !important; }


/* ╔═══════════════════════════════════════════════════════════╗
   ║  2. DARK — Pure charcoal black, red-orange CTA, white text║
   ║  Palette: #111111 page · #1A1A1A cards · #E84C2A accent   ║
   ╚═══════════════════════════════════════════════════════════╝ */
/* Body background now set via .te-hotel-page only — never bleed into header/footer */

/* ── SSP widget CSS variable overrides ───────────────────── */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget {
  --bg:       #111111;
  --sf:       #1A1A1A;
  --sf2:      #202020;
  --sf3:      #252525;
  --sf4:      #2E2E2E;
  --bd:       rgba(255,255,255,.07);
  --bd2:      rgba(255,255,255,.11);
  --bd3:      rgba(255,255,255,.18);
  --tx:       #FFFFFF;
  --tx2:      #A0A0A0;
  --tx3:      #6B6B6B;
  --ac:       #E84C2A;
  --ac-h:     #C73B1E;
  --ac-soft:  rgba(232,76,42,.12);
  --ac-mid:   rgba(232,76,42,.25);
  --ac-glow:  rgba(232,76,42,.40);
}

/* ── Page & sections ─────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] {
  background: #111111;
  /* Extend the dark background to cover section padding areas */
  margin-top: 0;
}
.te-hotel-page[data-hotel-theme="dark"] section,
.te-hotel-page[data-hotel-theme="dark"] .te-section { background: #111111 !important; }
/* On mobile: section padding is already 0 (from single-hotel.css ≤640px),
   so no dark band shows between header and image */

/* ── Typography ──────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] h1,
.te-hotel-page[data-hotel-theme="dark"] h2,
.te-hotel-page[data-hotel-theme="dark"] h3 { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] p,
.te-hotel-page[data-hotel-theme="dark"] .te-prose { color: #A0A0A0 !important; }

/* ── Hotel title h1: base gradient starts at --te-text=#0F172A (near black) → invisible in dark.
      Override gradient to white→red so title is always legible.              ── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-meta-left h1 {
  background: linear-gradient(135deg, #FFFFFF 55%, #E84C2A) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* ── Amenity items: text is direct div content, not a <span> — the span rule below
      doesn't apply to it. Set color on the item itself.                      ── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-amenity-item {
  color: #D0D0D0 !important;
}

/* ── Hotel meta row & shared card boxes ──────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-meta-row {
  background: #1A1A1A !important;
  border-color: rgba(232,76,42,.15) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.6) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-box {
  background: #1A1A1A !important;
  border-color: rgba(255,255,255,.07) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.5) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-box h3 {
  color: #FFFFFF !important;
  border-bottom-color: rgba(255,255,255,.07) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-box--widget .te-box-widget-header {
  border-bottom-color: rgba(255,255,255,.07) !important;
}

/* ── Price block ─────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-price-value { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-price-block {
  background: rgba(232,76,42,.10) !important;
  border: 1.5px solid rgba(232,76,42,.30) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-price-label,
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-price-unit { color: #6B6B6B !important; }

/* ── Breadcrumb ──────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-breadcrumb,
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-breadcrumb a { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-breadcrumb a:hover { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-breadcrumb .current { color: #FFFFFF !important; }

/* ── Pills ───────────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-pill {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #A0A0A0 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-meta-pills .te-pill {
  background: rgba(232,76,42,.10) !important;
  border-color: rgba(232,76,42,.25) !important;
  color: #E84C2A !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-rooms-times-badge {
  background: rgba(232,76,42,.12) !important;
  border-color: rgba(232,76,42,.25) !important;
  color: #E84C2A !important;
}

/* ── Amenities ───────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-amenity-item {
  background: #202020 !important;
  border-color: rgba(255,255,255,.07) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-amenity-item span { color: #D0D0D0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-amenity-item:hover {
  background: rgba(232,76,42,.08) !important;
  border-color: rgba(232,76,42,.28) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-amenity-item svg { color: #E84C2A !important; }

/* ── Map & location ──────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-map-address {
  background: #202020 !important;
  border-color: rgba(255,255,255,.07) !important;
  color: #A0A0A0 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-map-address svg { color: #E84C2A !important; }

/* ── Reviews ─────────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-review-rating-bar {
  background: rgba(232,76,42,.08) !important;
  border-color: rgba(232,76,42,.18) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-review-rating-score { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-rating-count { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-item {
  background: #202020 !important;
  border-color: rgba(255,255,255,.07) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-review-item:hover { border-color: rgba(232,76,42,.22) !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-name { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-text { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-form-wrap { border-top-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-review-form-wrap h4 { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-form-label { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-form-input,
.te-hotel-page[data-hotel-theme="dark"] .te-form-textarea,
.te-hotel-page[data-hotel-theme="dark"] .te-form-select {
  background: #202020 !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-form-input:focus,
.te-hotel-page[data-hotel-theme="dark"] .te-form-textarea:focus,
.te-hotel-page[data-hotel-theme="dark"] .te-form-select:focus {
  border-color: #E84C2A !important;
  background: rgba(232,76,42,.06) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-btn--hotel {
  background: #E84C2A !important;
  box-shadow: 0 4px 16px rgba(232,76,42,.40) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-btn--hotel:hover {
  background: #C73B1E !important;
  box-shadow: 0 6px 24px rgba(232,76,42,.50) !important;
}

/* ── Custom date picker ──────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] .te-datepicker-trigger {
  background: #202020 !important;
  border-color: rgba(232,76,42,.30) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-datepicker-trigger:hover {
  background: rgba(232,76,42,.10) !important;
  border-color: rgba(232,76,42,.55) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-datepicker-trigger svg { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-dp-label { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-dp-val { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-popup {
  background: #1A1A1A !important;
  border-color: rgba(232,76,42,.20) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.85) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-cal-nav-btn {
  background: #252525 !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-cal-nav-btn:hover {
  background: rgba(232,76,42,.15) !important;
  border-color: rgba(232,76,42,.35) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-cal-month-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-dow { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-cell { color: #D0D0D0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-today { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-today::after { background: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-past { color: #3A3A3A !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-cell:not(.te-cal-past):not(.te-cal-empty):hover {
  background: rgba(232,76,42,.20) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-cal-ci,
.te-hotel-page[data-hotel-theme="dark"] .te-cal-co { background: #E84C2A !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-cal-range {
  background: rgba(232,76,42,.18) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-cal-hint {
  color: #6B6B6B !important;
  border-top-color: rgba(255,255,255,.07) !important;
}

/* ── HR ──────────────────────────────────────────────────── */
.te-hotel-page[data-hotel-theme="dark"] hr { border-color: rgba(255,255,255,.07) !important; }

/* ══════════════════════════════════════════════════════════
   SSP WIDGET — full dark override
   ══════════════════════════════════════════════════════════ */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget { background: #111111 !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget * { color: #FFFFFF !important; }

/* Topbar */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-topbar { background: #1A1A1A !important; border-color: rgba(255,255,255,.07) !important; color: #FFFFFF !important; }

/* Rooms panel */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rooms-panel { background: #111111 !important; border-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rooms-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rooms-count { background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important; color: #6B6B6B !important; }

/* Search fields */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-search-field { background: #202020 !important; border-color: rgba(255,255,255,.10) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-search-field:hover,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-search-field:focus-within { background: rgba(232,76,42,.08) !important; border-color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-field-label { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-date-input { color: #FFFFFF !important; color-scheme: dark; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-arrow { color: #555555 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-g-btn { background: #202020 !important; border-color: rgba(255,255,255,.10) !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-g-btn:hover { background: #E84C2A !important; border-color: #E84C2A !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-g-count { color: #FFFFFF !important; }

/* Filter chips */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-chip { background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-chip.active { background: #E84C2A !important; border-color: #E84C2A !important; color: #FFFFFF !important; box-shadow: 0 2px 10px rgba(232,76,42,.40) !important; }

/* Room cards */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc { background: #1A1A1A !important; border-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc:hover { border-color: rgba(232,76,42,.35) !important; transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(0,0,0,.5) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc--selected { border-color: #E84C2A !important; background: rgba(232,76,42,.06) !important; box-shadow: 0 0 0 2px rgba(232,76,42,.25), 0 8px 28px rgba(0,0,0,.4) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc--selected::before { background: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-name { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-desc { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-price { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-info { background: #1A1A1A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-badge--info { background: #252525 !important; border-color: rgba(255,255,255,.08) !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-amenity,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-amenity-tag { background: #252525 !important; border-color: rgba(255,255,255,.08) !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-breakdown { background: #202020 !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-img::after { background: linear-gradient(to right, transparent, #1A1A1A) !important; }

/* CTA buttons on room cards */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-cta,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-bed-btn {
  background: linear-gradient(135deg, #E84C2A, #C73B1E) !important;
  box-shadow: 0 4px 14px rgba(232,76,42,.40) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-cta--selected {
  background: rgba(232,76,42,.10) !important;
  border: 1.5px solid #E84C2A !important;
  color: #E84C2A !important;
  box-shadow: none !important;
}

/* Room card bottom controls */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-bottom { background: #1A1A1A !important; border-top-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-ctrl-row { border-top-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-ctrl-label { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-ctrl-cap { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-stepper { background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rc-step { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rg-btn,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty-btn { background: #252525 !important; border-color: rgba(255,255,255,.10) !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-rg-btn:hover,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty-btn:hover { background: #E84C2A !important; border-color: #E84C2A !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty { background: #202020 !important; border-color: rgba(255,255,255,.08) !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty-row { background: #1A1A1A !important; border-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty-label { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-qty-count { color: #FFFFFF !important; }

/* Availability / cal-bar strip */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-cal-btn { color: #A0A0A0 !important; border-color: rgba(255,255,255,.08) !important; background: #202020 !important; }
.te-hotel-page[data-hotel-theme="dark"] [class*="ssp-cbd"],
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-cbd-wrap { background: #111111 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-cbd-cell { background: #1A1A1A !important; border-color: rgba(255,255,255,.07) !important; color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-cbd-cell--hd { color: #6B6B6B !important; }

/* Summary panel */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-panel,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-panel {
  background: #1A1A1A !important;
  border-left-color: #E84C2A !important;
  border-color: rgba(255,255,255,.07) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-header { border-bottom-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-nights { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-nights strong { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-date-accent { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-empty p { color: #555555 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-currency-btn,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-currency-display { background: #202020 !important; border-color: rgba(255,255,255,.08) !important; color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-divider { background: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-item { border-bottom-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-si-name { color: #FFFFFF !important; font-weight: 600 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-si-sub { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-si-price { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-tax-row { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-tax-row span:last-child { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-total-row { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-total-row span:last-child { color: #FFFFFF !important; font-size: 18px !important; }

/* Payable row */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-payable-row {
  background: rgba(232,76,42,.10) !important;
  border-color: rgba(232,76,42,.25) !important;
}
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-payable-label { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-payable-sub { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-payable-value { color: #E84C2A !important; }

/* Summary footer */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-summary-footer { background: #1A1A1A !important; border-top-color: rgba(255,255,255,.07) !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-book-btn-disabled-wrap { background: #1A1A1A !important; }

/* Book Now button */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-book-btn {
  background: linear-gradient(135deg, #E84C2A, #C73B1E) !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 24px rgba(232,76,42,.45) !important;
}
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-book-btn:not([disabled]):hover {
  filter: brightness(1.10) !important;
  box-shadow: 0 8px 28px rgba(232,76,42,.55) !important;
  transform: translateY(-2px) !important;
}
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-book-btn:disabled,
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-book-btn[disabled] {
  background: rgba(255,255,255,.08) !important;
  color: #555555 !important;
  box-shadow: none !important;
}

/* Sticky bar (mobile) */
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-sticky-bar { background: #1A1A1A !important; border-top-color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-sticky-payable-val { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-sticky-payable-lbl { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] #ssp-widget .ssp-sticky-btn { background: linear-gradient(135deg, #E84C2A, #C73B1E) !important; box-shadow: 0 4px 14px rgba(232,76,42,.45) !important; }

/* Booking modal */
/* NOTE: .ssp-booking-modal is outside #ssp-widget — selector must NOT include #ssp-widget */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal {
  --bm-bg:       #111111;
  --bm-surface:  #1A1A1A;
  --bm-surface2: #202020;
  --bm-border:   rgba(255,255,255,.08);
  --bm-border2:  rgba(255,255,255,.12);
  --bm-tx:       #FFFFFF;
  --bm-tx2:      #A0A0A0;
  --bm-tx3:      #6B6B6B;
  --bm-green:    #22C55E;
  --bm-ac:       #E84C2A;
  --bm-ac-h:     #C73B1E;
  --bm-ac-soft:  rgba(232,76,42,.10);
  --bm-ac-mid:   rgba(232,76,42,.25);
  background: #111111 !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.06) !important;
}

/* ── Close button ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-close {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.10) !important; color: #A0A0A0 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-close:hover {
  background: #252525 !important; color: #FFFFFF !important;
}

/* ── Step bar ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step.active { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step-num {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.12) !important; color: #6B6B6B !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step.active .ssp-bm-step-num {
  background: #E84C2A !important; border-color: #E84C2A !important; color: #fff !important;
  box-shadow: 0 0 0 3px rgba(232,76,42,.18) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step.done { color: #22C55E !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step.done .ssp-bm-step-num {
  background: rgba(34,197,94,.12) !important; border-color: #22C55E !important; color: #22C55E !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step-line { background: rgba(255,255,255,.08) !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-step.done + .ssp-bm-step-line { background: #22C55E !important; }

/* ── Title / subtitle ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-subtitle { color: #A0A0A0 !important; }

/* ── Stay summary card ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-card {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important;
  border-left-color: #E84C2A !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-lbl { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-item strong { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-arrow { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-rooms { border-top-color: rgba(255,255,255,.08) !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-room { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-stay-room span:last-child { color: #FFFFFF !important; }

/* ── Guest form fields ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field label {
  color: #A0A0A0 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-req { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field textarea,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field select {
  background: #1A1A1A !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input:-webkit-autofill,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input:-webkit-autofill:hover,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 100px #252525 inset !important;
  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #FFFFFF !important;
  border-color: #E84C2A !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input::placeholder,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field textarea::placeholder {
  color: #6B6B6B !important;
  -webkit-text-fill-color: #6B6B6B !important;
  opacity: 1 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field input:focus,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field textarea:focus,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-field select:focus {
  border-color: #E84C2A !important;
  background: rgba(232,76,42,.06) !important;
  box-shadow: 0 0 0 3px rgba(232,76,42,.14) !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-actions {
  border-top-color: rgba(255,255,255,.08) !important;
}

/* ── Add-ons ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-item {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-item.ssp-addon-on {
  background: rgba(232,76,42,.08) !important; border-color: #E84C2A !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-name { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-desc { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-price { color: #E84C2A !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-unit { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-toggle {
  border-color: #E84C2A !important; color: #E84C2A !important; background: transparent !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-on .ssp-addon-toggle {
  background: #E84C2A !important; color: #fff !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-total {
  background: rgba(232,76,42,.08) !important; border-color: rgba(232,76,42,.25) !important;
  color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-addon-total strong { color: #E84C2A !important; }

/* ── Review / price cards ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-review-card,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-price-card {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-review-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-review-row { border-top-color: rgba(255,255,255,.06) !important; color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-review-row span:last-child,
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-review-row strong { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-total { border-top-color: rgba(255,255,255,.12) !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-total strong { color: #E84C2A !important; }

/* ── Primary button ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-btn-primary {
  background: linear-gradient(135deg, #E84C2A, #C73B1E) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 18px rgba(232,76,42,.40) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-booking-modal .ssp-bm-btn-secondary {
  background: #1A1A1A !important; color: #A0A0A0 !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* Dark gallery */
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid { border-radius: 0 !important; gap: 3px !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:first-child { grid-column: 1 / 4 !important; grid-row: 1 !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid { grid-template-columns: 1fr 1fr 1fr !important; grid-template-rows: 300px 180px !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:nth-child(2) { grid-column: 1; grid-row: 2; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:nth-child(3) { grid-column: 2; grid-row: 2; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:nth-child(4) { grid-column: 3; grid-row: 2; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:nth-child(5) { display: none !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a img { filter: brightness(.82) !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a:hover img { filter: brightness(1) !important; }

/* ── Bed/Calendar modals — NOTE: .ssp-modal is outside #ssp-widget ── */
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal {
  --md-bg:    #111111;
  --md-surf:  #1A1A1A;
  --md-surf2: #202020;
  --md-bd:    rgba(255,255,255,.08);
  --md-bd2:   rgba(255,255,255,.12);
  --md-tx:    #FFFFFF;
  --md-tx2:   #A0A0A0;
  --md-tx3:   #6B6B6B;
  --md-green: #22C55E;
  --md-red:   #EF4444;
  background: #111111 !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.85) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-close {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.10) !important; color: #A0A0A0 !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-close:hover {
  background: #252525 !important; color: #FFFFFF !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-title { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-hint { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-hint .dot-avail { background: #22C55E !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-hint .dot-taken { background: #EF4444 !important; }
/* Bed buttons */
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-btn {
  background: #1A1A1A !important; border-color: rgba(255,255,255,.08) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-num { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-lbl { color: #A0A0A0 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-sta { color: #6B6B6B !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-sta.avail { color: #22C55E !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-sta.taken { color: #EF4444 !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-btn.sel {
  border-color: #E84C2A !important; background: rgba(232,76,42,.12) !important;
}
/* Bottom confirm bar */
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-confirm-bar {
  background: #1A1A1A !important; border-top-color: rgba(255,255,255,.08) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-bed-confirm-info { color: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal .ssp-modal-confirm-btn {
  background: linear-gradient(135deg, #E84C2A, #C73B1E) !important;
  color: #FFFFFF !important; box-shadow: 0 4px 16px rgba(232,76,42,.40) !important;
}
/* Availability hint banner */
.te-hotel-page[data-hotel-theme="dark"] .ssp-modal #sspBedAvailHint {
  background: rgba(232,76,42,.10) !important; border-color: rgba(232,76,42,.25) !important; color: #E84C2A !important;
}


/* ╔═══════════════════════════════════════════════════════════╗
   ║  5. MINIMAL — Snow white, graphite, zero decoration       ║
   ╚═══════════════════════════════════════════════════════════╝ */
/* Body stays white — intentional for minimal theme */
body:has([data-hotel-theme="minimal"]),
html:has([data-hotel-theme="minimal"]) { background: #FFFFFF !important; }
/* SSP widget CSS variable overrides — keeps light palette */
.te-hotel-page[data-hotel-theme="minimal"] #ssp-widget {
  --bg:  #F9FAFB;
  --sf:  #FFFFFF;
  --sf2: #F9FAFB;
  --sf3: #F3F4F6;
  --sf4: #E5E7EB;
  --bd:  rgba(0,0,0,.06);
  --bd2: rgba(0,0,0,.10);
  --bd3: rgba(0,0,0,.16);
  --tx:  #111827;
  --tx2: #6B7280;
  --tx3: #9CA3AF;
}
.te-hotel-page[data-hotel-theme="minimal"] { background: #FFFFFF; }
.te-hotel-page[data-hotel-theme="minimal"] section,
.te-hotel-page[data-hotel-theme="minimal"] .te-section { background: #FFFFFF !important; }
.te-hotel-page[data-hotel-theme="minimal"] h1,
.te-hotel-page[data-hotel-theme="minimal"] h2,
.te-hotel-page[data-hotel-theme="minimal"] h3 { color: #111827 !important; font-weight: 400 !important; letter-spacing: -.03em !important; }
.te-hotel-page[data-hotel-theme="minimal"] h1 { font-weight: 300 !important; font-size: 2.4rem !important; }
.te-hotel-page[data-hotel-theme="minimal"] p,
.te-hotel-page[data-hotel-theme="minimal"] .te-prose { color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-price-value { color: #111827 !important; font-weight: 900 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-price-block { background: #F9FAFB !important; border: 1px solid #E5E7EB !important; border-radius: 8px !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-price-label { color: #9CA3AF !important; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-price-unit { color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-pill { background: transparent !important; border: 1px solid #D1D5DB !important; color: #6B7280 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-amenity-item { background: #F9FAFB !important; border-color: #E5E7EB !important; border-radius: 4px !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-amenity-item span { color: #374151 !important; }
.te-hotel-page[data-hotel-theme="minimal"] hr { border-color: #F3F4F6 !important; }
/* SSP Widget */
.te-hotel-page[data-hotel-theme="minimal"] #ssp-widget { background: #FFFFFF !important; color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] #ssp-widget * { color: #111827; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-topbar { background: #F9FAFB !important; border-color: #E5E7EB !important; color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rooms-panel { background: #FFFFFF !important; border-color: #E5E7EB !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rooms-title { color: #111827 !important; font-weight: 400 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rooms-count { background: #F9FAFB !important; border-color: #E5E7EB !important; color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-search-field { background: #F9FAFB !important; border-color: #E5E7EB !important; border-radius: 6px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-search-field:hover,
.te-hotel-page[data-hotel-theme="minimal"] .ssp-search-field:focus-within { background: #F3F4F6 !important; border-color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-field-label { color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-date-input { color: #111827 !important; color-scheme: light; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-arrow { color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-g-btn { background: #F3F4F6 !important; border-color: #E5E7EB !important; color: #374151 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-g-count { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-chip { background: transparent !important; border-color: #D1D5DB !important; color: #6B7280 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-chip.active { background: #111827 !important; border-color: #111827 !important; color: #fff !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc { background: #FAFAFA !important; border-color: #E5E7EB !important; border-radius: 8px !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc:hover { border-color: #111827 !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc--selected { border-color: #111827 !important; background: #F9FAFB !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-name { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-desc { color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-price { color: #111827 !important; font-weight: 900 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-amenity { background: #F3F4F6 !important; border-color: #E5E7EB !important; color: #374151 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-breakdown { background: #F3F4F6 !important; color: #6B7280 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-rc-img::after { background: linear-gradient(to right, transparent, #FAFAFA) !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-qty-row { background: #FFFFFF !important; border-color: #E5E7EB !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-qty-label { color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-qty-count { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-qty-btn { background: #F3F4F6 !important; border-color: #E5E7EB !important; color: #111827 !important; border-radius: 4px !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-panel { background: #F9FAFB !important; border-color: #E5E7EB !important; border-radius: 8px !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-title { color: #111827 !important; font-weight: 400 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-nights { color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-nights strong { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-date-accent { color: #111827 !important; font-weight: 700 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-empty p { color: #9CA3AF !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-si-name { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-si-sub { color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-si-price { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-item { border-color: #E5E7EB !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-summary-divider { background: #E5E7EB !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-tax-row { color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-tax-row span:last-child { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-total-row { color: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-total-row span:last-child { color: #111827 !important; font-weight: 900 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-book-btn { background: #111827 !important; color: #fff !important; border-radius: 6px !important; box-shadow: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .ssp-book-btn:not([disabled]):hover { background: #1F2937 !important; box-shadow: none !important; }
/* Minimal gallery — single large */
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-gallery-grid { grid-template-columns: 1fr !important; grid-template-rows: 420px !important; border-radius: 8px !important; gap: 0 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-gallery-grid a:first-child { grid-column:1 !important; grid-row:1 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-gallery-grid a:not(:first-child) { display: none !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-gallery-grid a img { filter: grayscale(6%) brightness(.97) !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-all-photos-btn { background: rgba(255,255,255,.95) !important; color: #111827 !important; border: 1px solid #E5E7EB !important; }

/* ═══════════════════════════════════════════════════════════
   BOX / SECTION CONTAINER OVERRIDES
   .te-box is the white card wrapper that also contains the
   SSP widget — must match theme bg per design.
   ═══════════════════════════════════════════════════════════ */

/* ── CLASSIC box overrides ── */
.te-hotel-page[data-hotel-theme="classic"] .te-box {
  background: #FFF8F0 !important;
  border-color: rgba(240,146,42,.15) !important;
  box-shadow: 0 4px 24px rgba(240,146,42,.08) !important;
}
.te-hotel-page[data-hotel-theme="classic"] .te-box h3 { color: #1C0D00 !important; border-color: rgba(240,146,42,.2) !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-box h3::before { background: linear-gradient(to bottom,#F0922A,#F59E0B) !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-box-widget-header { border-color: rgba(240,146,42,.2) !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-rooms-times-badge { background: rgba(240,146,42,.12) !important; border-color: rgba(240,146,42,.3) !important; color: #C2701A !important; }
.te-hotel-page[data-hotel-theme="classic"] .te-hotel-meta-row { background: #FFF8F0 !important; border-color: rgba(240,146,42,.2) !important; }

/* ── DARK box overrides ── */
.te-hotel-page[data-hotel-theme="dark"] .te-box {
  background: #161B22 !important;
  border-color: #21262D !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
}
.te-hotel-page[data-hotel-theme="dark"] .te-box h3 { color: #F0EEE8 !important; border-color: #21262D !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-box h3::before { background: linear-gradient(to bottom,#F59E0B,#D97706) !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-box-widget-header { border-color: #21262D !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-rooms-times-badge { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.3) !important; color: #F59E0B !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-meta-row { background: #161B22 !important; border-color: #21262D !important; }
.te-hotel-page[data-hotel-theme="dark"] .te-hotel-sections { background: #0D1117 !important; }

/* ── DARK: CSS variable overrides for inline-style elements ── */
/* These fix the hardcoded inline styles in single-te_hotel.php that use
   var() fallbacks or that the PHP now references via these variables.   */
.te-hotel-page[data-hotel-theme="dark"] {
  --te-surface:     #1E2330;               /* inner card bg — was #f8f8f8 fallback */
  --te-tx-body:     #B8BFC8;               /* body text    — was hardcoded #333/#444 */
  --te-tx-label:    #7A8494;               /* label/meta   — was hardcoded #888 */
  --te-tx-heading:  #E8EAF0;               /* name/title   — was hardcoded #222 */
  --te-border-card: rgba(255,255,255,.09); /* card border  — was rgba(0,0,0,.07/.08) */
}

/* ── DARK: House Rules section ── */
/* Heading h3 is already covered by .te-box h3 rule above */
/* Inner rule-card borders */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-rules > div > div {
  border-color: rgba(255,255,255,.07) !important;
}
/* Extra rules list items */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-rules li {
  color: #B8BFC8 !important;
}

/* ── DARK: Location / Map section ── */
/* .te-map-address color is already set in the earlier dark block; add h3 heading border fix */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-map > div:first-child {
  border-bottom-color: #21262D !important;
}
/* Map embed border: override the inline rgba(0,0,0,.08) border */
.te-hotel-page[data-hotel-theme="dark"] .te-map-embed {
  border-color: rgba(255,255,255,.10) !important;
}

/* ── DARK: Nearby Attractions section ── */
/* Card borders */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-nearby > div > div {
  border-color: rgba(255,255,255,.09) !important;
  background: #1E2330 !important;
}
/* Attraction name text */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-nearby > div > div > div:last-child > div:first-child {
  color: #E8EAF0 !important;
}
/* Attraction meta / distance text */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-nearby > div > div > div:last-child > div:last-child {
  color: #7A8494 !important;
}
/* Attraction placeholder bg */
.te-hotel-page[data-hotel-theme="dark"] #te-hotel-nearby > div > div > div:first-child {
  background: #1A2035 !important;
}

/* ── MINIMAL box overrides ── */
.te-hotel-page[data-hotel-theme="minimal"] .te-box {
  background: #FFFFFF !important;
  border-color: #E5E7EB !important;
  box-shadow: none !important;
  border-radius: 8px !important;
}
.te-hotel-page[data-hotel-theme="minimal"] .te-box h3 { color: #111827 !important; font-weight: 400 !important; border-color: #F3F4F6 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-box h3::before { background: #111827 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-box-widget-header { border-color: #F3F4F6 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-rooms-times-badge { background: #F9FAFB !important; border-color: #E5E7EB !important; color: #6B7280 !important; }
.te-hotel-page[data-hotel-theme="minimal"] .te-hotel-meta-row { background: #FFFFFF !important; border-color: #E5E7EB !important; }

/* ── Mobile gallery fix (≤640px)
   The dark/minimal theme selectors have specificity (0,3,0) which beats the
   base mobile reset (0,2,0) in single-hotel.css. These rules match the same
   high specificity INSIDE a media query so they win on mobile. ── */
@media (max-width: 640px) {
  .te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows:    260px !important;   /* kill the empty 180px second row */
    gap:                   0 !important;
  }
  .te-hotel-page[data-hotel-theme="minimal"] .te-hotel-gallery-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows:    260px !important;   /* collapse oversized 420px single-row */
    gap:                   0 !important;
  }
  /* Empty cell background in dark theme — matches section so no ghost gap shows */
  .te-hotel-page[data-hotel-theme="dark"] .te-hotel-gallery-grid a {
    background: #111111 !important;
  }
}
