/* Breathtaking Lagoon Day / Night Appearance — v5.5.5
   Default remains the current Day theme. A visitor-selected Night preference
   is stored locally on that visitor's device and restored before paint. */

:root{
  --bl-theme-night-bg:#071512;
  --bl-theme-night-surface:#0e211d;
  --bl-theme-night-surface-2:#122a25;
  --bl-theme-night-border:#284b43;
  --bl-theme-night-text:#e7f4f0;
  --bl-theme-night-muted:#a8bbb5;
  --bl-theme-night-accent:#69d5b8;
  --bl-theme-night-field:#091a17;
  --bl-theme-night-shadow:0 14px 38px rgba(0,0,0,.28);
}
html[data-theme="day"]{color-scheme:light}
html[data-theme="night"]{color-scheme:dark;background:var(--bl-theme-night-bg)}

/* Theme switch — compact in headers, explicit in navigation menus. */
.bl-theme-toggle{
  -webkit-appearance:none;appearance:none;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.34);
  border-radius:999px;background:rgba(255,255,255,.13);color:#fff;
  font:800 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.01em;white-space:nowrap;cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.bl-theme-toggle:hover{transform:translateY(-1px)}
.bl-theme-toggle:focus-visible{outline:3px solid #83e8d0;outline-offset:3px}
.bl-theme-toggle .bl-theme-icon{font-size:16px;line-height:1}
.bl-theme-toggle .bl-theme-label{line-height:1}
.site-header.scrolled .bl-theme-toggle,
.te-header .bl-theme-toggle,
.m-header .bl-theme-toggle,
.blog-header .bl-theme-toggle{
  background:#f3faf8;color:#073f36;border-color:#cfe3dd;
}
.te-header-inner>.bl-theme-toggle{margin-left:4px;flex:0 0 auto}
.m-header-inner>.bl-theme-toggle{flex:0 0 auto}
.blog-header-inner>.bl-theme-toggle{margin-left:auto;margin-right:8px;flex:0 0 auto}
.bl-theme-fallback{
  position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2147482200;
  background:#08735f;border-color:#08735f;color:#fff;
}
.bl-theme-menu-action{
  width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 0!important;border:0!important;border-top:1px solid #dce9e5!important;
  border-radius:0!important;background:transparent!important;color:#073f36!important;
  text-align:left!important;font:750 1rem/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  cursor:pointer;
}
.bl-theme-menu-action span:last-child{font-size:.84rem;color:#60736f;font-weight:700}
.blog-mobile-menu .bl-theme-menu-action{padding:14px 18px!important}

/* Night foundation. */
html[data-theme="night"] body,
html[data-theme="night"] body.te-body,
html[data-theme="night"] body.media-page,
html[data-theme="night"] body.blog-page{
  background:var(--bl-theme-night-bg)!important;
  color:var(--bl-theme-night-text)!important;
}
html[data-theme="night"] ::selection{background:#1d9e75;color:#fff}

/* Navigation and menus. */
html[data-theme="night"] .site-header.scrolled,
html[data-theme="night"] .te-header,
html[data-theme="night"] .m-header,
html[data-theme="night"] .blog-header,
html[data-theme="night"] .mobile-nav,
html[data-theme="night"] .dropdown-menu,
html[data-theme="night"] .blog-mobile-menu{
  background:rgba(8,24,20,.97)!important;
  border-color:var(--bl-theme-night-border)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
}
html[data-theme="night"] .site-header.scrolled .nav-link,
html[data-theme="night"] .site-header.scrolled .search-icon-btn,
html[data-theme="night"] .mobile-nav a,
html[data-theme="night"] .dropdown-menu a,
html[data-theme="night"] .te-nav a,
html[data-theme="night"] .m-nav a,
html[data-theme="night"] .blog-desktop-nav a,
html[data-theme="night"] .blog-mobile-menu a{
  color:var(--bl-theme-night-text)!important;
}
html[data-theme="night"] .site-header.scrolled .hamburger span{background:var(--bl-theme-night-text)!important}
html[data-theme="night"] .mobile-nav a,
html[data-theme="night"] .blog-mobile-menu a{border-color:var(--bl-theme-night-border)!important}
html[data-theme="night"] .mobile-sub a{color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] .site-header.scrolled .nav-link:hover,
html[data-theme="night"] .dropdown-menu a:hover,
html[data-theme="night"] .te-nav a:hover,
html[data-theme="night"] .m-nav a:hover{background:#143129!important;color:#8ce9cd!important}
html[data-theme="night"] .site-header.scrolled .bl-theme-toggle,
html[data-theme="night"] .te-header .bl-theme-toggle,
html[data-theme="night"] .m-header .bl-theme-toggle,
html[data-theme="night"] .blog-header .bl-theme-toggle{
  background:#153029;color:#e9f8f4;border-color:#315a50;
}
html[data-theme="night"] .bl-theme-menu-action{
  color:var(--bl-theme-night-text)!important;border-color:var(--bl-theme-night-border)!important;
}
html[data-theme="night"] .bl-theme-menu-action span:last-child{color:var(--bl-theme-night-muted)!important}

/* Main light surfaces from the original site become calm dark surfaces. */
html[data-theme="night"] :where(
  .destinations,.why-us,.widget-section,.category-widget-section,.info-section,
  .digital-resource-section,.affiliate-hub-section,.services-directory-main,
  .bl-home-growth,.te-section.white,.m-section,.legal-content,.blog-main,
  .bl-search-main,.bl-personal-section
){background:var(--bl-theme-night-bg)!important}

html[data-theme="night"] :where(
  .search-card,.why-card,.info-card,.widget-card,.hotel-search-card,.home-hotel-search,
  .partner-brand-lockup,.partner-brand-lockup--inside,.cruise-yacht-card,
  .affiliate-hub-card:not(.affiliate-hub-card--all),.services-directory-disclosure,
  .services-directory-note,.service-directory-card,.te-card,.te-tool,.te-related a,
  .te-guide-card,.bl-journey,.bl-journey-step,.bl-source-box,.te-stat,
  .te-check-item,.m-card,.m-accordion details,.legal-side,.legal-card,
  .bl-search-form,.bl-search-card,.bl-search-empty,.bl-guide-quicksearch,
  .bl-personal-card,.bl-social-plan,.quick-strip a,.news-card,.trust-panel div,
  .filter-btn,.refresh-btn,.bl-alert-card,.bl-app-install-card
){
  background:var(--bl-theme-night-surface)!important;
  color:var(--bl-theme-night-text)!important;
  border-color:var(--bl-theme-night-border)!important;
  box-shadow:var(--bl-theme-night-shadow)!important;
}
html[data-theme="night"] :where(.bl-journey,.bl-source-box,.te-check-item,.te-tag,.te-code,.m-note,.legal-note,.bl-alert-callout,.bl-personal-section){
  background:#0c211c!important;border-color:var(--bl-theme-night-border)!important;
}
html[data-theme="night"] :where(.te-note,.legal-warning){background:#2b2413!important;border-color:#66552b!important;color:#ead7a5!important}

/* Text that was explicitly dark in the Day palette. */
html[data-theme="night"] :where(
  .section-title,.section-header h1,.section-header h2,.why-card h3,.info-card h3,
  .services-directory-note h2,.service-directory-card,.te-heading h2,.te-card h2,
  .te-card h3,.te-article h1,.te-article h2,.te-article h3,.te-article strong,
  .te-guide-card h3,.bl-journey-head h2,.bl-journey-head h3,.bl-source-box strong,
  .m-card h2,.m-card h3,.legal-card h2,.legal-card h3,.bl-search-card h2,
  .bl-search-card h3,.bl-personal-head h2,.bl-personal-card strong,.bl-social-plan h3,
  .bl-alert-page h1,.bl-alert-card h2,.bl-alert-callout h2
){color:var(--bl-theme-night-text)!important}
html[data-theme="night"] :where(
  .section-sub,.why-card p,.info-card p,.services-directory-disclosure,
  .services-directory-note,.service-directory-card p,.te-heading p,.te-card p,
  .te-list,.te-article p,.te-article li,.te-search-intent span,.te-guide-card p,
  .bl-journey-head p,.bl-journey-step span,.m-card p,.m-list,.m-note,
  .legal-card p,.legal-card li,.bl-search-card p,.bl-personal-head p,
  .bl-personal-card span,.bl-social-plan p,.bl-personal-foot,.bl-alert-page .lede,
  .bl-alert-card p,.bl-alert-callout p,.bl-alert-privacy
){color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] :where(
  .te-card a,.te-related a,.te-guide-card a,.te-mini-link,.te-breadcrumbs a,
  .bl-source-links a,.bl-personal-card b,.bl-clear-activity,.bl-search-card a
){color:var(--bl-theme-night-accent)!important}

/* Forms and search controls. */
html[data-theme="night"] :where(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .search-input,.blfs-input,.blfs-date,.blfs-select
){
  background:var(--bl-theme-night-field)!important;
  color:var(--bl-theme-night-text)!important;
  border-color:#31574e!important;
}
html[data-theme="night"] :where(input,textarea)::placeholder{color:#7f9992!important;opacity:1}
html[data-theme="night"] :where(.search-tabs,.search-tab){border-color:var(--bl-theme-night-border)!important}
html[data-theme="night"] .search-tab{color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] .search-tab.active{color:#73ddc0!important;border-bottom-color:#73ddc0!important}
html[data-theme="night"] .search-tab:hover:not(.active){color:var(--bl-theme-night-text)!important}

/* Organic traffic engine variables without changing the brand hero. */
html[data-theme="night"] body.te-body{
  --te-muted:var(--bl-theme-night-muted);
  --te-soft:#102823;
  --te-border:var(--bl-theme-night-border);
  --te-card:var(--bl-theme-night-surface);
}
html[data-theme="night"] .te-btn{background:#123129!important;color:#e8f7f2!important;border-color:#31594f!important}
html[data-theme="night"] .te-btn.dark{background:#0a745f!important;color:#fff!important;border-color:#0a745f!important}
html[data-theme="night"] .te-btn.alt{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important}
html[data-theme="night"] .te-field label,
html[data-theme="night"] .te-field>span{color:#d8ebe5!important}

/* Blog cards / live feed. */
html[data-theme="night"] .blog-page{--blog-ink:#e7f4f0;--blog-muted:#a8bbb5}
html[data-theme="night"] :where(.feed-status,.blog-notice){background:#10241f!important;color:var(--bl-theme-night-muted)!important;border-color:var(--bl-theme-night-border)!important}
html[data-theme="night"] .site-footer{background:#081b17!important;color:var(--bl-theme-night-muted)!important;border-color:var(--bl-theme-night-border)!important}

/* Assistant, push alerts and app-install UI respect the chosen appearance too. */
html[data-theme="night"] #bl-assistant-dialog,
html[data-theme="night"] .bl-push-panel,
html[data-theme="night"] .bl-push-trigger-fixed,
html[data-theme="night"] .bl-app-install-card{
  background:#0d211d!important;color:var(--bl-theme-night-text)!important;border-color:var(--bl-theme-night-border)!important;
}
html[data-theme="night"] .bl-assistant-header{background:linear-gradient(180deg,#102a24,#0d211d)!important;border-color:var(--bl-theme-night-border)!important}
html[data-theme="night"] :where(.bl-assistant-title,.bl-assistant-prompt,.bl-push-panel h2,.bl-app-install-card h2){color:var(--bl-theme-night-text)!important}
html[data-theme="night"] :where(.bl-assistant-subtitle,.bl-assistant-note,.bl-push-panel p,.bl-push-panel ol,.bl-app-install-copy){color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] :where(.bl-assistant-action,.bl-assistant-result,.bl-assistant-email,.bl-assistant-support-action,.bl-push-btn.secondary,.bl-push-status){background:#132b25!important;color:#dff2ec!important;border-color:#31554d!important}
html[data-theme="night"] :where(#bl-assistant-close,.bl-push-close,.bl-app-install-close){background:#17332c!important;color:#e7f4f0!important}
html[data-theme="night"] .bl-push-trigger-fixed .bl-push-dot{box-shadow:0 0 0 3px rgba(184,197,194,.12)}

/* Keep intentionally dark brand sections and footer visually stable. */
html[data-theme="night"] :where(.hero,.te-hero,.m-hero,.services-directory-hero,.digital-resource-card,.te-section.dark,.bl-site-footer-v401,.bl-continue-card){color:#fff}

/* Small transition only after JS mounts, avoiding a flash during first paint. */
@media (prefers-reduced-motion:no-preference){
  html.bl-theme-ready body,
  html.bl-theme-ready :where(.site-header,.te-header,.m-header,.blog-header,.mobile-nav,.dropdown-menu,.search-card,.te-card,.m-card,.legal-card,.bl-search-card,.bl-personal-card,.bl-push-panel,#bl-assistant-dialog){
    transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
  }
}

@media(max-width:768px){
  .site-header .bl-theme-toggle{min-width:62px;padding:7px 9px}
  .site-header .header-actions{gap:8px}
  .te-header-inner>.bl-theme-toggle{margin-left:auto}
}
@media(max-width:560px){
  .bl-theme-toggle{min-height:36px;padding:7px 9px;font-size:12px}
  .bl-theme-toggle .bl-theme-icon{font-size:15px}
  .m-header-inner>.bl-theme-toggle{align-self:flex-end;margin-top:-52px;margin-bottom:8px}
}
@media print{.bl-theme-toggle,.bl-theme-menu-action,.bl-theme-fallback{display:none!important}}

/* High-use comparison forms receive full Night styling rather than a half-light card. */
html[data-theme="night"] .blfs-search{
  --blfs-ink:#e8f5f1;
  --blfs-muted:#a7bbb5;
  --blfs-line:#31574e;
  --blfs-soft:#132b25;
  background:var(--bl-theme-night-surface)!important;
  color:var(--bl-theme-night-text)!important;
}
html[data-theme="night"] :where(.blfs-heading strong,.blfs-field>label,.blfs-field>.blfs-label,.blfs-help strong){color:var(--bl-theme-night-text)!important}
html[data-theme="night"] :where(.blfs-heading span,.blfs-help,.blfs-empty,.blfs-option-copy small){color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] .blfs-no-code{background:#143229!important;color:#8ce9cd!important;border-color:#326254!important}
html[data-theme="night"] .blfs-trip-types{background:#10241f!important}
html[data-theme="night"] .blfs-trip-types span{color:#a9bbb6!important}
html[data-theme="night"] .blfs-trip-types input:checked+span{background:#1a3730!important;color:#8ce9cd!important;box-shadow:none!important}
html[data-theme="night"] :where(.blfs-input,.blfs-select,.blfs-date,.blfs-swap,.blfs-results,.blfs-option){background:#091a17!important;color:var(--bl-theme-night-text)!important;border-color:#31574e!important}
html[data-theme="night"] .blfs-option-copy strong{color:var(--bl-theme-night-text)!important}
html[data-theme="night"] .blfs-option{border-bottom-color:#24443d!important}
html[data-theme="night"] .blfs-option:hover,
html[data-theme="night"] .blfs-option.is-active{background:#16362e!important}
html[data-theme="night"] .blfs-code{background:#163d32!important;color:#8ce9cd!important}
html[data-theme="night"] .blfs-return-field.is-disabled .blfs-date{background:#12231f!important}

html[data-theme="night"] .home-hotel-search{background:var(--bl-theme-night-surface)!important;color:var(--bl-theme-night-text)!important;border-color:var(--bl-theme-night-border)!important}
html[data-theme="night"] :where(.home-hotel-brand-copy h2,.home-hotel-field span){color:var(--bl-theme-night-text)!important}
html[data-theme="night"] :where(.home-hotel-brand-copy p,.home-hotel-note){color:var(--bl-theme-night-muted)!important}
html[data-theme="night"] :where(.home-hotel-field input,.home-hotel-field select){background:var(--bl-theme-night-field)!important;color:var(--bl-theme-night-text)!important;border-color:#31574e!important}

/* The homepage search card shell and pane remain visually continuous in Night mode. */
html[data-theme="night"] :where(.search-card,.widget-body,.widget-pane,.affiliate-widget--flights){background:var(--bl-theme-night-surface)!important;color:var(--bl-theme-night-text)!important}


/* =========================================================
   v5.5.5 NIGHT READABILITY PATCH
   Keep the overall Night palette intact while lifting only
   text that inherited low-contrast Day colors on dark cards.
   ========================================================= */
html[data-theme="night"] :where(
  .partner-brand-copy strong,
  .home-hotel-brand-copy h2,
  .blfs-heading strong
){
  color:#eefaf6!important;
}

html[data-theme="night"] :where(
  .partner-brand-copy span,
  .blfs-trust-note,
  .blfs-heading span,
  .blfs-help,
  .blfs-empty,
  .home-hotel-brand-copy p,
  .home-hotel-note,
  .cruise-yacht-card p,
  .affiliate-hub-card small,
  .service-directory-card p
){
  color:#c8d9d4!important;
}

/* Brand name gets a restrained Lagoon accent so it remains identifiable
   without brightening the whole card or changing the Day appearance. */
html[data-theme="night"] .partner-brand-copy strong{
  color:#91ead2!important;
}

/* Keep dividers and helper marks visible around the text they explain. */
html[data-theme="night"] .partner-brand-copy{
  border-left-color:rgba(145,234,210,.28)!important;
}
html[data-theme="night"] .blfs-trust-note::before{
  background:#dff5ee!important;
  color:#087356!important;
}

/* Slightly brighter placeholder/helper copy in Night mode only. */
html[data-theme="night"] :where(input,textarea)::placeholder{
  color:#aebfba!important;
  opacity:1;
}
