/* Weekend columns use the same dark palette as the rest of the search calendar.
   Keep the existing light/desktop shading and selected-range rules unchanged. */
@media (max-width: 1023px) {
  html[data-lodging-theme="dark"] .airbnb-calendar {
    --lodging-calendar-weekend: var(--lodging-surface, #223144);
  }

  /* The selected range also paints its parent cell through a Tailwind :has
     variant. Theme that layer too, not just the blue day button above it. */
  html[data-lodging-theme="dark"] .airbnb-calendar td:has(.rdp-day[aria-selected="true"]) {
    background-color: #20374a !important;
  }

  /* DayPicker v8 puts the day and modifier classes on the day button itself.
     Tint that real element directly rather than relying on its table cell. */
  html[data-lodging-theme="dark"] .airbnb-calendar .rdp-day.rdp-day-weekend:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end):not(.rdp-day_range_middle) {
    background-color: var(--lodging-calendar-weekend, #223144) !important;
    border-color: transparent !important;
  }

  /* Only dates supplied as unavailable get the red booking mark. Historical
     disabled dates remain muted, but are not presented as booked. */
  html[data-lodging-theme="dark"] .airbnb-calendar
    .rdp-day.rdp-day-unavailable:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end):not(.rdp-day_range_middle) {
    color: var(--lodging-muted, #91a0b0) !important;
    background-color: transparent !important;
  }
  html[data-lodging-theme="dark"] .airbnb-calendar
    .rdp-day.rdp-day-weekend.rdp-day-unavailable:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end):not(.rdp-day_range_middle) {
    background-color: var(--lodging-calendar-weekend, #223144) !important;
  }
  html[data-lodging-theme="dark"] .airbnb-calendar
    .rdp-day.rdp-day-unavailable:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end):not(.rdp-day_range_middle) {
    position: relative;
    border-color: transparent !important;
  }
  html[data-lodging-theme="dark"] .airbnb-calendar
    .rdp-day.rdp-day-unavailable:not(.rdp-day_outside):not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end):not(.rdp-day_range_middle)::after {
    content: "" !important;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 48%;
    height: 1px;
    transform: translate(-50%, -50%);
    background-color: #e87575;
    pointer-events: none;
  }
  html[data-lodging-theme="dark"] .airbnb-calendar
    .rdp-day.rdp-day_disabled:not(.rdp-day-unavailable):not(.rdp-day_outside)::after {
    content: none !important;
  }
}

/* Property cancellation terms: preserve the original yellow notice in light
   mode/desktop, and pair both text colors with the dark mobile surface. */
@media (max-width: 1023px) {
  html[data-lodging-theme="dark"] [data-testid="property-cancellation-policy"] {
    background-color: var(--lodging-surface) !important;
    border-color: var(--lodging-border) !important;
    color: var(--lodging-text);
  }
  html[data-lodging-theme="dark"] [data-testid="property-cancellation-policy"] h4 {
    color: var(--lodging-text) !important;
  }
  html[data-lodging-theme="dark"] [data-testid="property-cancellation-policy"] p {
    color: var(--lodging-muted) !important;
  }
}
/* Dark-mode corrections for bespoke public UI surfaces whose colors are
   authored in component CSS rather than through the shared utility tokens.
   Keep this file after the shared lodging and user-area theme styles. */

/* TripLar and React Day Picker calendars. Keep active selections branded blue;
   dates outside the active range use the dark surface palette. */
html[data-lodging-theme="dark"] :is(
  .calendar-wrapper,
  .triplar-calendar .rdrMonth,
  .triplar-double .rdrMonth,
  .airbnb-calendar,
  .triplar-modern-calendar .rdp-month,
  .rdp-custom .rdp-month,
  .simple-calendar .rdrMonth,
  .mobile-calendar .rdrMonth,
  .booking-calendar .rdp-month,
  .booking-calendar .rdp-table
) {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrCalendarWrapper,
  .rdrDateRangePickerWrapper,
  .rdrDateDisplayWrapper,
  .rdrDateDisplayItem,
  .rdrMonthAndYearWrapper,
  .rdrDefinedRangesWrapper,
  .rdp-months,
  .rdp-month,
  .rdp-caption,
  .rdp-table
) {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text) !important;
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrMonthName,
  .rdrMonthPicker,
  .rdrYearPicker,
  .rdrWeekDay,
  .rdrWeekDay::after,
  .rdrDayNumber span,
  .rdp-caption_label,
  .rdp-head_cell,
  .rdp-day
) {
  color: var(--lodging-text) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrMonthPicker select,
  .rdrYearPicker select,
  .rdrMonthAndYearPickers select,
  .rdp-nav_button
) {
  background-color: var(--lodging-surface) !important;
  color: var(--lodging-text) !important;
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrMonthPicker select,
  .rdrYearPicker select,
  .rdrMonthAndYearPickers select,
  .rdrNextPrevButton,
  .rdrPprevButton,
  .rdrNextButton,
  .rdp-nav_button
):is(:hover, :focus-visible) {
  background-color: #29445a !important;
  color: var(--lodging-text) !important;
  border-color: #4c91b4 !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(.rdrDateDisplayItem, .rdp-day_button) {
  background-color: var(--lodging-surface) !important;
  color: var(--lodging-text) !important;
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(.rdrDay:not(.rdrDayDisabled):not(.rdrDayPassive):hover .rdrDayNumber span, .rdp-day:not([disabled]):hover) {
  background-color: #29445a !important;
  color: var(--lodging-text) !important;
  border-color: #4c91b4 !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrDayStartEdge .rdrDayNumber span,
  .rdrDayEndEdge .rdrDayNumber span,
  .rdrDaySelected .rdrDayNumber span,
  .rdrDay_selected,
  .rdp-day_selected .rdp-day_button,
  .rdp-day_range_start .rdp-day_button,
  .rdp-day_range_end .rdp-day_button,
  [aria-selected="true"] .rdp-day_button,
  .rdp-day_selected:not([disabled]),
  .rdp-day[aria-selected="true"]
) {
  background-color: #087eb9 !important;
  color: #fff !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(
  .rdrDayInRange,
  .rdrDayInRange:not(.rdrDayStartEdge):not(.rdrDayEndEdge)::before,
  .rdrDayHovered,
  .rdrDayInRange .rdrDayNumber span,
  .rdp-day_range_middle
) {
  background-color: #20374a !important;
  color: var(--lodging-text) !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(.rdrDayToday .rdrDayNumber span, .rdp-day_today:not(.rdp-day_selected)) {
  background-color: #29445a !important;
  color: #8bd8fb !important;
  border-color: #4c91b4 !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(.rdrDayDisabled .rdrDayNumber span, .rdrDayPassive .rdrDayNumber span, .rdp-day_disabled, .rdp-day_outside) {
  color: #8290a0 !important;
  opacity: 0.58 !important;
}

html[data-lodging-theme="dark"] :is(
  .triplar-calendar,
  .triplar-double,
  .airbnb-calendar,
  .triplar-modern-calendar,
  .rdp-custom,
  .simple-calendar,
  .mobile-calendar,
  .booking-calendar
) :is(.rdrWeekDays, .rdrMonth .rdrWeekDays, .rdp-head, .rdp-row) {
  border-color: var(--lodging-border) !important;
}

/* Search surfaces: custom mobile summary, hotel search wizard, and desktop
   date/location popovers. Brand-blue search actions remain unchanged. */
html[data-lodging-theme="dark"] :is(
  header[data-triplar-header="true"] .mobile-search-summary,
  .search-bar-mobile,
  [data-testid="button-hotel-mobile-search-panel"]
) {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

/* Home collection/search backgrounds are authored separately from the card
   tokens. Retint only these surfaces so card photos remain untouched. */
html[data-lodging-theme="dark"] .triplar-search-results-surface {
  background-color: var(--lodging-page) !important;
  color: var(--lodging-text);
}

html[data-lodging-theme="dark"] .triplar-search-results-surface [data-testid="desktop-search-results"] :is(
  [data-testid^="card-hotel-"],
  [data-property-card]
) {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border);
}

html[data-lodging-theme="dark"] [role="dialog"]:has([data-testid="hotel-mobile-search-progress"]),
html[data-lodging-theme="dark"] [role="dialog"]:has(.airbnb-calendar) {
  background-color: var(--lodging-page) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] [role="dialog"]:has([data-testid="hotel-mobile-search-progress"]) :is(
  .bg-white,
  .bg-white\/95,
  .bg-gray-50\/80
) {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] header[data-triplar-header="true"] [class~="w-[700px]"],
html[data-lodging-theme="dark"] header[data-triplar-header="true"] [data-radix-dropdown-menu-content],
html[data-lodging-theme="dark"] header[data-triplar-header="true"] [data-radix-menu-content],
html[data-lodging-theme="dark"] header[data-triplar-header="true"] [data-radix-popover-content] {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] header[data-triplar-header="true"] :is(
  [data-radix-dropdown-menu-content],
  [data-radix-menu-content],
  [data-radix-popover-content]
) :is(.border-b, .border-t) {
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .places-autocomplete-dropdown {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .places-autocomplete-item {
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .places-autocomplete-item:hover {
  background-color: var(--lodging-surface) !important;
}

/* Host-owned mobile navigation and messaging header. No admin dashboard
   panels or sidebars are recolored here. */
html[data-lodging-theme="dark"] .host-bottom-nav > div {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .host-bottom-nav [data-testid^="nav-item-"]:hover {
  background-color: var(--lodging-surface) !important;
}

html[data-lodging-theme="dark"] .host-messages-main > header {
  background-color: var(--lodging-card);
  color: var(--lodging-text);
  border-color: var(--lodging-border);
}

/* Public property booking footer and app-owned map price labels only.
   Photographs and third-party Google Maps controls are intentionally untouched. */
html[data-lodging-theme="dark"] .property-mobile-footer {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .map-price-marker {
  background-color: var(--lodging-card) !important;
  color: var(--lodging-text) !important;
  border-color: var(--lodging-border) !important;
}

/* Consent drawer bespoke controls; retain its blue primary action and logo. */
html[data-lodging-theme="dark"] .privacy-drawer :is(
  .privacy-drawer__close,
  .privacy-drawer__category,
  .privacy-drawer__button--secondary
) {
  background-color: var(--lodging-surface) !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .privacy-drawer :is(
  .privacy-drawer__notice,
  .privacy-drawer__category-icon--essential,
  .privacy-drawer__category-icon--analytics,
  .privacy-drawer__category-icon--marketing
) {
  background-color: #20374a !important;
  color: var(--lodging-text);
  border-color: var(--lodging-border) !important;
}

html[data-lodging-theme="dark"] .privacy-drawer :is(
  .privacy-drawer__close,
  .privacy-drawer__category,
  .privacy-drawer__button--secondary
):is(:hover, :focus-visible) {
  background-color: #29445a !important;
  color: var(--lodging-text);
  border-color: #4c91b4 !important;
}

/* Public property details: host identity and review surfaces. Theme manager
   activates this attribute only for the public mobile experience; leave
   desktop colors, admin screens, photos, numeric ratings and gold stars intact. */
@media (max-width: 1023px) {
  html[data-lodging-theme="dark"] [data-testid="property-host-card"] {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text);
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-tier-header"] {
    background-color: var(--lodging-surface) !important;
    background-image: none !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] :is(
    .text-gray-900,
    .text-gray-800,
    .text-gray-700
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] :is(
    .text-gray-600,
    .text-gray-500,
    .text-gray-400
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] :is(
    .border-t,
    .border-slate-200
  ) {
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] .host-security-notice {
    background-color: var(--lodging-surface) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] .host-contact-notice {
    background-color: var(--lodging-surface) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-host-card"] .host-contact-notice :is(
    .text-amber-800,
    .text-amber-500
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-reviews"] {
    background-color: var(--lodging-card) !important;
    background-image: none !important;
    color: var(--lodging-text);
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-reviews"] :is(
    .text-gray-900,
    .text-gray-800,
    .text-gray-700
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-reviews"] :is(
    .text-gray-600,
    .text-gray-500,
    .text-gray-400
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-reviews"] :is(
    .border-gray-100,
    .border-gray-200,
    .border-gray-300
  ) {
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-rating-summary"] {
    background-color: var(--lodging-surface) !important;
    background-image: none !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-review-card"],
  html[data-lodging-theme="dark"] .property-review-modal-card {
    background-color: var(--lodging-surface) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] .property-reviews-dialog,
  html[data-lodging-theme="dark"] [data-testid="property-reviews-sheet"] {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] .property-reviews-sheet-header {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] .property-reviews-dialog-header {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] .property-reviews-dialog :is(
    .text-gray-900,
    .text-gray-800,
    .text-gray-700
  ),
  html[data-lodging-theme="dark"] [data-testid="property-reviews-sheet"] :is(
    .text-gray-900,
    .text-gray-800,
    .text-gray-700
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] .property-reviews-dialog :is(
    .text-gray-600,
    .text-gray-500,
    .text-gray-400
  ),
  html[data-lodging-theme="dark"] [data-testid="property-reviews-sheet"] :is(
    .text-gray-600,
    .text-gray-500,
    .text-gray-400
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] .property-review-modal-card :is(
    .text-gray-900,
    .text-gray-800,
    .text-gray-700
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] .property-review-modal-card :is(
    .text-gray-600,
    .text-gray-500,
    .text-gray-400
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="property-reviews"] .bg-gray-200,
  html[data-lodging-theme="dark"] [data-testid="property-reviews"] .bg-gray-50,
  html[data-lodging-theme="dark"] [data-testid="property-reviews"] .bg-gray-100 {
    background-color: var(--lodging-surface) !important;
  }

  html[data-lodging-theme="dark"] .property-review-policy {
    background-color: var(--lodging-surface) !important;
    background-image: none !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] .property-review-policy :is(
    .text-green-800,
    .text-green-700
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] .property-review-policy-icon {
    background-color: #20374a !important;
  }

  html[data-lodging-theme="dark"] .property-review-policy-icon svg {
    color: #63c9f3 !important;
  }
}

/* Selected hotel accommodation and tariff panels. These hooks are attached
   only to the room chooser, its selected-room summary, and its mobile footer. */
@media (max-width: 1023px) {
  html[data-lodging-theme="dark"] [data-testid^="group-room-"] {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
    border-top-color: #398bc4 !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="group-room-"] [data-testid^="room-panel-heading-"] {
    background-color: var(--lodging-surface) !important;
    background-image: none !important;
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="room-tariff-list-"] {
    background-color: var(--lodging-card) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"] {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"]:is(:hover, :focus-within),
  html[data-lodging-theme="dark"] [data-testid^="option-room-"][data-room-option-state="available"]:hover {
    background-color: var(--lodging-surface) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"][data-room-option-state="selected"] {
    background-color: #173d5c !important;
    color: #f4f7fb !important;
    box-shadow: inset 3px 0 0 #5bb5ed !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"] :is(
    .text-slate-900, .text-slate-800, .text-slate-700, .text-slate-600,
    .text-slate-500, .text-slate-400, .text-gray-900, .text-gray-800,
    .text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"] .text-blue-600 {
    color: #a8e1ff !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"] :is(
    .text-emerald-700, .text-emerald-600, .text-green-700, .text-green-600
  ) {
    color: #91e3b3 !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="option-room-"] :is(
    .border-slate-100, .border-slate-200, .border-gray-100, .border-gray-200
  ) {
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="button-select-room-"][aria-pressed="true"] {
    background-color: #0879b3 !important;
    border-color: #67c6f4 !important;
    color: #ffffff !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="button-select-room-"]:disabled {
    background-color: #354252 !important;
    border-color: #536273 !important;
    color: #d1dbe5 !important;
    opacity: 1 !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="selected-accommodation-room-"] {
    background-color: #173d5c !important;
    color: var(--lodging-text) !important;
    border: 1px solid #397eaa !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="selected-accommodation-room-"] :is(
    .text-slate-900, .text-slate-800, .text-slate-700, .text-slate-600,
    .text-slate-500, .text-slate-400, .text-gray-900, .text-gray-800,
    .text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="selected-accommodation-room-"] button {
    color: #a8e1ff !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="button-edit-selected-room-"]:is(:hover, :focus-visible),
  html[data-lodging-theme="dark"] [data-testid^="button-toggle-room-details-"]:is(:hover, :focus-visible) {
    background-color: #29445a !important;
    color: #a8e1ff !important;
  }

  html[data-lodging-theme="dark"] [data-testid="section-selection-summary"] :is(
    .border-slate-100, .border-slate-200, .border-gray-100, .border-gray-200
  ) {
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="section-selection-summary"] :is(
    .text-slate-900, .text-slate-800, .text-slate-700, .text-slate-600,
    .text-slate-500, .text-slate-400, .text-gray-900, .text-gray-800,
    .text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400
  ) {
    color: var(--lodging-text) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="section-selection-summary"] [data-testid="text-selection-total"] {
    color: #a8e1ff !important;
  }

  html[data-lodging-theme="dark"] [data-testid="mobile-hotel-checkout-cta"] {
    background-color: var(--lodging-card) !important;
    color: var(--lodging-text) !important;
    border-color: var(--lodging-border) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="mobile-hotel-checkout-cta"] :is(
    .text-slate-900, .text-slate-800, .text-slate-700, .text-slate-600,
    .text-slate-500, .text-slate-400
  ) {
    color: var(--lodging-muted) !important;
  }

  html[data-lodging-theme="dark"] [data-testid="mobile-hotel-checkout-cta"] .text-blue-600 {
    color: #a8e1ff !important;
  }

  html[data-lodging-theme="dark"] [data-testid^="group-room-"] :is(:disabled, [aria-disabled="true"]),
  html[data-lodging-theme="dark"] [data-testid="section-selection-summary"] :is(:disabled, [aria-disabled="true"]) {
    color: #c4cfdb !important;
    opacity: 0.78;
  }
}
