/* Treasure Design System — sitewide content skin (Elementor pages, blog, guides, search results).
   Loads everywhere with the takeover on. Restyles; never hides content. Scope: body.tvr-ds-takeover */

/* ---------- Elementor global colours → new palette (front end only; the kit itself is unchanged) ----------
   Old: secondary #8BD5E7 (sky blue section backgrounds), accent #EF4545, primary #07263B. */
body.tvr-ds-takeover.elementor-kit-8,body.tvr-ds-takeover .elementor-kit-8{--e-global-color-secondary:#efe4d2;--e-global-color-accent:#e2483d;--e-global-color-primary:#0f2a3f}

/* ---------- type ---------- */
/* 0.3.64: not on page 2, the old Elementor homepage production still runs until launch step 2, and these
   rules blew its 18-20px photo and town labels up to 42px (Isaac, 2026-09-28). The new homepage has no Elementor headings. */
.tvr-ds-takeover:not(.elementor-page-2) .elementor-widget-heading .elementor-heading-title,
.tvr-ds-takeover .elementor-widget-theme-post-title .elementor-heading-title,
.tvr-ds-takeover .site-main .entry-title,
.tvr-ds-takeover .site-main h1:not(.tvr-hp-h1),
.tvr-ds-takeover .elementor-widget-theme-post-content h2,
.tvr-ds-takeover .elementor-widget-text-editor h2,
.tvr-ds-takeover .elementor-widget-text-editor h3{font-family:var(--tvr-display)!important;font-weight:600!important;color:var(--tvr-navy);letter-spacing:-.01em;text-transform:none!important;line-height:1.12!important}
.tvr-ds-takeover:not(.elementor-page-2) .elementor-widget-heading h1.elementor-heading-title,.tvr-ds-takeover .elementor-widget-theme-post-title h1{font-size:clamp(34px,4.2vw,56px)!important}
.tvr-ds-takeover:not(.elementor-page-2) .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(28px,3vw,42px)!important}
.tvr-ds-takeover .elementor-widget-text-editor,.tvr-ds-takeover .elementor-widget-theme-post-content{font-family:var(--tvr-body);font-size:17px;line-height:1.75;color:var(--tvr-ink)}
.tvr-ds-takeover .elementor-widget-text-editor a,.tvr-ds-takeover .elementor-widget-theme-post-content a{color:var(--tvr-navy);text-decoration:underline;text-decoration-color:var(--tvr-coral);text-decoration-thickness:2px;text-underline-offset:3px}
.tvr-ds-takeover .elementor-widget-text-editor a:hover,.tvr-ds-takeover .elementor-widget-theme-post-content a:hover{color:var(--tvr-coral-d)}

/* ---------- buttons ---------- */
.tvr-ds-takeover .elementor-button{background:var(--tvr-coral)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 24px!important;font:700 15px var(--tvr-body)!important;letter-spacing:.01em!important;text-transform:none!important;box-shadow:none!important;transition:background .2s,transform .2s}
.tvr-ds-takeover .elementor-button:hover{background:var(--tvr-coral-d)!important;transform:translateY(-1px)}

/* ---------- accordions (Plan Your Stay FAQ, About) ---------- */
.tvr-ds-takeover .eael-adv-accordion .eael-accordion-list{border:0!important;border-bottom:1px solid var(--tvr-line)!important;border-radius:0!important;margin:0!important;background:none!important}
.tvr-ds-takeover .eael-adv-accordion .eael-accordion-header{background:none!important;border:0!important;padding:18px 4px!important;font:600 19px/1.35 var(--tvr-display)!important;color:var(--tvr-navy)!important}
.tvr-ds-takeover .eael-adv-accordion .eael-accordion-header .eael-accordion-tab-title{font:inherit!important;color:inherit!important}
.tvr-ds-takeover .eael-adv-accordion .eael-accordion-header i,.tvr-ds-takeover .eael-adv-accordion .eael-accordion-header svg{color:var(--tvr-coral)!important;fill:var(--tvr-coral)!important}
.tvr-ds-takeover .eael-adv-accordion .eael-accordion-content{background:none!important;border:0!important;padding:0 4px 18px!important;font:16px/1.7 var(--tvr-body)!important;color:var(--tvr-ink)!important}
.tvr-ds-takeover .e-n-accordion-item-title{font-family:var(--tvr-display)!important;font-weight:600!important;color:var(--tvr-navy)!important}

/* ---------- post grids (restaurants, nightlife) ---------- */
.tvr-ds-takeover .eael-post-grid .eael-grid-post-holder{border:0!important;border-radius:18px!important;overflow:hidden;background:#fff!important;box-shadow:inset 0 0 0 1px var(--tvr-line)!important;transition:transform .3s,box-shadow .3s}
.tvr-ds-takeover .eael-post-grid .eael-grid-post-holder:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(15,42,63,.45),inset 0 0 0 1px var(--tvr-line)!important}
.tvr-ds-takeover .eael-post-grid .eael-entry-title,.tvr-ds-takeover .eael-post-grid .eael-entry-title a{font:600 20px/1.25 var(--tvr-display)!important;color:var(--tvr-navy)!important;text-transform:none!important}
.tvr-ds-takeover .eael-post-grid .eael-grid-post-excerpt p{font:15px/1.6 var(--tvr-body)!important;color:var(--tvr-muted)!important}
.tvr-ds-takeover .eael-post-grid .eael-post-elements-readmore-btn{background:none!important;color:var(--tvr-navy)!important;font:700 14px var(--tvr-body)!important;text-decoration:underline!important;text-decoration-color:var(--tvr-coral)!important;text-underline-offset:4px;padding:0!important;border:0!important}

/* ---------- forms (Contact) ---------- */
.tvr-ds-takeover .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.tvr-ds-takeover .wpcf7 textarea,.tvr-ds-takeover .wpcf7 select{border:1px solid var(--tvr-line)!important;border-radius:14px!important;background:#fff!important;padding:14px 16px!important;font:500 15px var(--tvr-body)!important;color:var(--tvr-ink)!important;box-shadow:none!important}
.tvr-ds-takeover .wpcf7 input:focus,.tvr-ds-takeover .wpcf7 textarea:focus{border-color:var(--tvr-navy)!important;outline:none}
.tvr-ds-takeover .wpcf7 input[type=submit]{background:var(--tvr-coral)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 28px!important;font:700 15px var(--tvr-body)!important;text-transform:none!important;cursor:pointer}

/* ---------- blog posts & guide entries: comfortable reading column ---------- */
.tvr-ds-takeover.single-post .elementor-widget-theme-post-content,.tvr-ds-takeover.single-restaurants .elementor-widget-theme-post-content,.tvr-ds-takeover.single-nightlife .elementor-widget-theme-post-content{max-width:740px;margin-left:auto;margin-right:auto}
.tvr-ds-takeover .elementor-widget-theme-post-content img{border-radius:16px}
.tvr-ds-takeover .elementor-widget-theme-post-content blockquote{border-left:3px solid var(--tvr-coral);margin:24px 0;padding:4px 0 4px 20px;font:italic 20px/1.5 var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-takeover .elementor-widget-theme-post-content table{border-collapse:collapse;width:100%;font-size:15px}
.tvr-ds-takeover .elementor-widget-theme-post-content th,.tvr-ds-takeover .elementor-widget-theme-post-content td{border-bottom:1px solid var(--tvr-line);padding:10px 8px;text-align:left}
@media (max-width:767px){
  .tvr-ds-takeover .elementor-widget-theme-post-content,.tvr-ds-takeover .elementor-widget-theme-post-title{padding-left:18px!important;padding-right:18px!important}
}

/* ---------- search results / category landings: sit under the new header ---------- */
/* The search plugin makes these sticky only at ≥1024px; below that they are position:relative, where a top offset would
   push them over the first results (0.3.31 fix). */
@media (min-width:1024px){.tvr-ds-takeover .tvr-search-compact,.tvr-ds-takeover .abe-sort-wrapper{top:var(--tvr-ds-stick,74px)!important}}
.tvr-ds-takeover .elementor-element[class*="elementor-element-tvr-"][class*="-intro"]>.elementor-widget-container{border-radius:24px}

/* ---------- Track's standard search form ([vrpSearchForm]) wherever it's embedded: one clean rounded bar ---------- */
.tvr-ds-takeover .abesearcher #abe-results-search{background:#fff!important;border-radius:22px!important;padding:8px!important;box-shadow:0 24px 50px -24px rgba(0,0,0,.45)!important;max-width:1100px;margin:0 auto!important}
.tvr-ds-takeover .abesearcher #abe-results-search>.abe-row{display:flex!important;flex-wrap:wrap;align-items:center;gap:0!important;margin:0!important}
.tvr-ds-takeover .abesearcher .abesearcher-flex-wrapper{flex:1 1 140px;border-right:1px solid var(--tvr-line);padding:0 6px!important;margin:0!important;min-width:0}
.tvr-ds-takeover .abesearcher #abe-results-search input[type=text],.tvr-ds-takeover .abesearcher #abe-results-search select,.tvr-ds-takeover .abesearcher .amenities-popup-field{width:100%!important;height:52px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:var(--tvr-ink)!important;font:600 15px var(--tvr-body)!important;padding:0 14px!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;text-align:left!important}
.tvr-ds-takeover .abesearcher #abe-results-search input[type=text]::placeholder{color:var(--tvr-muted)!important;opacity:1}
.tvr-ds-takeover .abesearcher #abe-results-search input[type=text]:hover,.tvr-ds-takeover .abesearcher .amenities-popup-field:hover{background:#f3f6f8!important}
.tvr-ds-takeover .abesearcher #abe-results-search button[type=submit],.tvr-ds-takeover .abesearcher #abe-results-search input[type=submit]{flex:none;height:54px!important;border:0!important;border-radius:999px!important;background:var(--tvr-coral)!important;color:#fff!important;font:700 15px var(--tvr-body)!important;text-transform:none!important;letter-spacing:.01em!important;padding:0 26px!important;margin-left:6px!important;cursor:pointer;box-shadow:none!important}
.tvr-ds-takeover .abesearcher #abe-results-search button[type=submit]:hover{background:var(--tvr-coral-d)!important}
@media (max-width:767px){
  .tvr-ds-takeover .abesearcher .abesearcher-flex-wrapper{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--tvr-line)}
  .tvr-ds-takeover .abesearcher #abe-results-search button[type=submit]{width:100%;margin:8px 0 0!important}
}

/* ---------- restaurant & nightlife guide entries (structure written by the 2026-09-27 venue rewrite) ---------- */
.tvr-ds-takeover .tvr-venue{max-width:740px;margin:0 auto;font:17px/1.75 var(--tvr-body);color:var(--tvr-ink)}
.tvr-ds-takeover .tvr-venue-lede{font-size:19px;line-height:1.7;margin:0 0 18px}
.tvr-ds-takeover .tvr-venue-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.tvr-ds-takeover .tvr-venue-tags li{background:#fff;border-radius:999px;box-shadow:inset 0 0 0 1px var(--tvr-line);padding:6px 12px;font:600 13px var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-takeover .tvr-venue h2{font:600 26px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:34px 0 12px!important;text-transform:none!important;letter-spacing:-.01em}
.tvr-ds-takeover .tvr-venue-order{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tvr-ds-takeover .tvr-venue-order li{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px var(--tvr-line);padding:14px 16px 14px 46px;position:relative;line-height:1.55}
.tvr-ds-takeover .tvr-venue-order li::before{content:"";position:absolute;left:16px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--tvr-coral);box-shadow:0 0 0 4px rgba(226,72,61,.15)}
.tvr-ds-takeover .tvr-venue-order strong{display:block;font:700 16px var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-takeover .tvr-venue-notes{padding-left:20px;margin:0}
.tvr-ds-takeover .tvr-venue-notes li{margin:6px 0}
.tvr-ds-takeover .tvr-venue-plan{list-style:none;margin:0;padding:18px 20px;background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px var(--tvr-line);display:grid;gap:6px}
.tvr-ds-takeover .tvr-venue-plan strong{color:var(--tvr-navy)}
.tvr-ds-takeover .tvr-venue-stay{margin-top:28px;padding:18px 20px;border-radius:18px;background:var(--tvr-navy);color:#e6eef3}
.tvr-ds-takeover .tvr-venue-stay a{color:#fff!important;text-decoration-color:var(--tvr-coral)!important}
.tvr-ds-takeover .tvr-venue-source{margin-top:18px;font-size:13px;color:var(--tvr-muted)}
/* 0.3.6: restaurant & nightlife guide archives (templates/guide-archive.php) */
#content.tvr-ds-guide{max-width:1180px;margin:0 auto;padding:44px 22px 64px;box-sizing:border-box}
#content.tvr-ds-guide .tvr-ds-guide-head{max-width:760px;margin:0 0 30px}
#content.tvr-ds-guide h1{font:600 clamp(32px,4.4vw,50px)/1.1 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:8px 0 12px!important;letter-spacing:-.015em;text-transform:none!important}
#content.tvr-ds-guide .tvr-ds-guide-intro{font:17px/1.65 var(--tvr-body);color:var(--tvr-ink);margin:0 0 14px}
#content.tvr-ds-guide .tvr-ds-guide-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0}
#content.tvr-ds-guide .tvr-ds-guide-jump a{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--tvr-line);font:600 13px var(--tvr-body);color:var(--tvr-navy);text-decoration:none}
#content.tvr-ds-guide .tvr-ds-guide-jump a:hover{background:var(--tvr-sand-2)}
#content.tvr-ds-guide .tvr-ds-guide-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
#content.tvr-ds-guide .tvr-ds-guide-card{margin:0;padding:0}
#content.tvr-ds-guide .tvr-ds-guide-card>a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
#content.tvr-ds-guide .tvr-ds-guide-card>a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
#content.tvr-ds-guide .tvr-ds-guide-card>a:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
#content.tvr-ds-guide .tvr-ds-guide-img{display:block;aspect-ratio:4/3;background:var(--tvr-sand-2);overflow:hidden}
#content.tvr-ds-guide .tvr-ds-guide-img img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none!important}
#content.tvr-ds-guide .tvr-ds-guide-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:var(--tvr-sea)}
#content.tvr-ds-guide .tvr-ds-guide-noimg svg{width:44px;height:44px}
#content.tvr-ds-guide .tvr-ds-guide-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
#content.tvr-ds-guide .tvr-ds-guide-meta{font:700 11px/1.3 var(--tvr-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tvr-sea-ink)}
#content.tvr-ds-guide .tvr-ds-guide-body strong{font:600 21px/1.2 var(--tvr-display);color:var(--tvr-navy)}
#content.tvr-ds-guide .tvr-ds-guide-ex{font:15px/1.55 var(--tvr-body);color:var(--tvr-muted)}
#content.tvr-ds-guide .navigation.pagination{margin:34px 0 0}
#content.tvr-ds-guide .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
#content.tvr-ds-guide .nav-links .page-numbers{display:inline-flex;min-width:42px;height:42px;padding:0 14px;box-sizing:border-box;align-items:center;justify-content:center;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--tvr-line);font:600 14px var(--tvr-body);color:var(--tvr-navy);text-decoration:none}
#content.tvr-ds-guide .nav-links .page-numbers.current{background:var(--tvr-navy);color:#fff}
#content.tvr-ds-guide .tvr-ds-guide-stay{margin:40px 0 0;padding:20px 22px;border-radius:18px;background:var(--tvr-navy);color:#e6eef3;font:16px/1.6 var(--tvr-body)}
#content.tvr-ds-guide .tvr-ds-guide-stay a{color:#fff!important;text-decoration:underline;text-decoration-color:var(--tvr-coral)!important;text-underline-offset:3px}
@media (max-width:600px){#content.tvr-ds-guide{padding:30px 16px 48px}#content.tvr-ds-guide .tvr-ds-guide-grid{gap:16px}}
/* 0.3.9 (Impeccable audit): search toolbar date labels and card "Located in" lines were 9.9–10.6px */
.tvr-ds-takeover .abe-results-page .date-field label{font-size:11.5px!important}
.tvr-ds-takeover .unit-location p{font-size:12px!important}
/* 0.3.10 (Impeccable audit follow-up): search toolbar placeholders were white on white; specials ribbon detail 10px */
.tvr-ds-takeover .abe-results-page .date-field input::placeholder{color:var(--tvr-muted)!important;opacity:1!important}
.tvr-ds-takeover .tvr-search-special-ribbon__detail{font-size:11.5px!important}
/* 0.3.14: venue title band gets a navy base, so the white title stays readable when a venue has no photo (Isaac
   removed the wrong photos from Sweet Island and The Starlite Saloon). A featured photo still covers it. */
.tvr-ds-takeover [data-elementor-type="single-post"] .e-con:has(> .e-con-inner > .elementor-page-title){background-color:#0f2a3f!important}
/* 0.3.16: blog index (templates/blog-index.php) */
#content.tvr-ds-blog{max-width:1180px;margin:0 auto;padding:48px 22px 72px;box-sizing:border-box}
#content.tvr-ds-blog .tvr-ds-blog-head{max-width:780px;margin:0 0 34px}
#content.tvr-ds-blog h1{font:600 clamp(34px,4.8vw,56px)/1.06 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:10px 0 14px!important;letter-spacing:-.015em;text-transform:none!important}
#content.tvr-ds-blog .tvr-ds-blog-intro{font:18px/1.6 var(--tvr-body);color:var(--tvr-ink);margin:0 0 22px;max-width:60ch}
#content.tvr-ds-blog .tvr-ds-blog-topics{display:flex;flex-wrap:wrap;gap:8px}
#content.tvr-ds-blog .tvr-ds-blog-topics button,#content.tvr-ds-blog .tvr-ds-blog-empty button{min-height:40px;padding:8px 16px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--tvr-line);font:600 14px var(--tvr-body)!important;color:var(--tvr-navy)!important;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;transition:background .2s,box-shadow .2s}
#content.tvr-ds-blog .tvr-ds-blog-topics button:hover{background:var(--tvr-sand-2)}
#content.tvr-ds-blog .tvr-ds-blog-topics button.is-on{background:var(--tvr-navy)!important;color:#fff!important;box-shadow:none}
#content.tvr-ds-blog button:focus-visible,#content.tvr-ds-blog a:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
#content.tvr-ds-blog [hidden]{display:none!important}
#content.tvr-ds-blog a{text-decoration:none!important;color:inherit}
#content.tvr-ds-blog .tvr-ds-blog-feature{margin:0 0 48px}
#content.tvr-ds-blog .tvr-ds-blog-feature>a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:#fff;border-radius:26px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);transition:box-shadow .25s,transform .25s}
#content.tvr-ds-blog .tvr-ds-blog-feature>a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
#content.tvr-ds-blog .tvr-ds-blog-feature-img{display:block;min-height:360px;background:var(--tvr-sand-2);overflow:hidden}
#content.tvr-ds-blog .tvr-ds-blog-feature-img img,#content.tvr-ds-blog .tvr-ds-blog-img img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none!important;transition:transform .6s ease}
#content.tvr-ds-blog a:hover img{transform:scale(1.03)}
#content.tvr-ds-blog .tvr-ds-blog-feature-body{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:40px 40px 44px}
#content.tvr-ds-blog .tvr-ds-blog-kicker{align-self:flex-start;background:var(--tvr-coral);color:#fff;border-radius:999px;padding:5px 12px;font:700 12px var(--tvr-body);letter-spacing:.06em;text-transform:uppercase}
#content.tvr-ds-blog .tvr-ds-blog-meta{font:700 11.5px/1.3 var(--tvr-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tvr-sea-ink)}
#content.tvr-ds-blog .tvr-ds-blog-feature strong{font:600 clamp(26px,2.8vw,36px)/1.15 var(--tvr-display);color:var(--tvr-navy)}
#content.tvr-ds-blog .tvr-ds-blog-ex{font:16px/1.6 var(--tvr-body);color:var(--tvr-muted)}
#content.tvr-ds-blog .tvr-ds-blog-more{margin-top:6px;font:700 15px var(--tvr-body);color:var(--tvr-coral-d)}
#content.tvr-ds-blog .tvr-ds-blog-more span{display:inline-block;transition:transform .2s}
#content.tvr-ds-blog a:hover .tvr-ds-blog-more span{transform:translateX(4px)}
#content.tvr-ds-blog .tvr-ds-blog-h2{font:600 28px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 18px!important;text-transform:none!important;scroll-margin-top:calc(var(--tvr-ds-stick,74px) + 16px)}
#content.tvr-ds-blog .tvr-ds-blog-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
#content.tvr-ds-blog .tvr-ds-blog-card{margin:0;padding:0}
#content.tvr-ds-blog .tvr-ds-blog-card>a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:22px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);transition:box-shadow .25s,transform .25s}
#content.tvr-ds-blog .tvr-ds-blog-card>a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
#content.tvr-ds-blog .tvr-ds-blog-img{display:block;aspect-ratio:3/2;background:var(--tvr-sand-2);overflow:hidden}
#content.tvr-ds-blog .tvr-ds-blog-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px;flex:1}
#content.tvr-ds-blog .tvr-ds-blog-card strong{font:600 21px/1.22 var(--tvr-display);color:var(--tvr-navy)}
#content.tvr-ds-blog .tvr-ds-blog-card .tvr-ds-blog-ex{font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#content.tvr-ds-blog .tvr-ds-blog-card .tvr-ds-blog-more{margin-top:auto;padding-top:6px}
#content.tvr-ds-blog .tvr-ds-blog-empty{margin:18px 0 0;font:16px var(--tvr-body);color:var(--tvr-muted)}
#content.tvr-ds-blog .tvr-ds-blog-stay{margin:56px 0 0;padding:32px 36px;border-radius:24px;background:var(--tvr-navy);color:#e6eef3;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
#content.tvr-ds-blog .tvr-ds-blog-stay h2{font:600 28px/1.2 var(--tvr-display)!important;color:#fff!important;margin:0 0 6px!important;text-transform:none!important}
#content.tvr-ds-blog .tvr-ds-blog-stay p{margin:0;font:16px/1.55 var(--tvr-body);max-width:52ch}
#content.tvr-ds-blog .tvr-ds-blog-stay-links{display:flex;flex-wrap:wrap;gap:10px}
#content.tvr-ds-blog .tvr-ds-blog-stay .tvr-ds-btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
@media (max-width:900px){#content.tvr-ds-blog .tvr-ds-blog-feature>a{grid-template-columns:1fr}#content.tvr-ds-blog .tvr-ds-blog-feature-img{min-height:0;aspect-ratio:16/10}#content.tvr-ds-blog .tvr-ds-blog-feature-body{padding:24px 22px 28px}}
@media (max-width:600px){#content.tvr-ds-blog{padding:30px 16px 52px}#content.tvr-ds-blog .tvr-ds-blog-stay{padding:26px 22px}}
@media (prefers-reduced-motion:reduce){#content.tvr-ds-blog *{transition:none!important}}
@media (max-width:600px){#content.tvr-ds-blog .tvr-ds-blog-topics{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}#content.tvr-ds-blog .tvr-ds-blog-topics::-webkit-scrollbar{display:none}#content.tvr-ds-blog .tvr-ds-blog-topics button{flex:0 0 auto}}
/* 0.3.19: article pages (body.tvr-ds-article, extras from blog.php / article.js). Post content itself is not changed;
   content rules use :where() so each article's own styles still win. */
.tvr-ds-article [data-elementor-type="single-post"] .elementor-widget-theme-post-title,.tvr-ds-article .tvr-ds-article-top,.tvr-ds-article .tvr-ds-article-meta{max-width:820px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box;width:100%}
.tvr-ds-article .tvr-ds-article-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px!important;margin-bottom:10px!important;padding:0 22px}
.tvr-ds-article .tvr-ds-article-top a{font:600 14px var(--tvr-body);color:var(--tvr-navy);text-decoration:none;padding:6px 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--tvr-line)}
.tvr-ds-article .tvr-ds-article-top a:hover{background:var(--tvr-sand-2)}
.tvr-ds-article .elementor-widget-theme-post-title .elementor-heading-title{text-align:left!important;font-size:clamp(32px,4.4vw,52px)!important;line-height:1.08!important;letter-spacing:-.015em}
.tvr-ds-article .elementor-widget-theme-post-title{padding:0 22px!important}
.tvr-ds-article .tvr-ds-article-meta{margin-top:12px!important;margin-bottom:26px!important;padding:0 22px;font:600 14px var(--tvr-body);color:var(--tvr-muted)}
.tvr-ds-article .elementor-widget-theme-post-featured-image{max-width:1100px;margin-left:auto!important;margin-right:auto!important;padding:0 22px;box-sizing:border-box;width:100%}
.tvr-ds-article .elementor-widget-theme-post-featured-image img{width:100%!important;max-height:620px;object-fit:cover;border-radius:24px;box-shadow:var(--tvr-shadow)}
.tvr-ds-article .elementor-widget-theme-post-content{max-width:740px;margin:36px auto 0!important;padding:0 22px!important;box-sizing:border-box;width:100%;font-size:18px;line-height:1.78}
.tvr-ds-article .elementor-widget-theme-post-content :where(p,li){font-size:inherit;line-height:inherit}
.tvr-ds-article .elementor-widget-theme-post-content :where(h2){margin:44px 0 12px;font:600 30px/1.2 var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-article .elementor-widget-theme-post-content :where(h3){margin:30px 0 8px;font:700 20px/1.3 var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-article .elementor-widget-theme-post-content :where(img){height:auto;border-radius:16px}
.tvr-ds-article .elementor-widget-theme-post-content :where(ul,ol){padding-left:1.3em}
.tvr-ds-article .elementor-widget-theme-post-content :where(li)+:where(li){margin-top:6px}
.tvr-ds-article .elementor-widget-theme-post-content :where(table){display:block;overflow-x:auto}
.tvr-ds-article-progress{position:fixed;left:0;right:0;top:var(--tvr-ds-stick,74px);height:3px;z-index:8999;pointer-events:none}
.tvr-ds-article-progress span{display:block;height:100%;background:var(--tvr-coral);transform:scaleX(0);transform-origin:0 50%}
.tvr-ds-article-next{box-sizing:border-box;max-width:1100px;margin:56px auto 64px;padding:0 22px}
.tvr-ds-article-next:not(.is-placed){margin-top:48px}
.tvr-ds-article-next h2{font:600 30px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 18px!important;text-transform:none!important}
.tvr-ds-article-related{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tvr-ds-article-related li{margin:0}
.tvr-ds-article-related a{display:flex;flex-direction:column;gap:8px;height:100%;background:#fff;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);text-decoration:none!important;color:inherit;padding-bottom:18px;transition:transform .25s,box-shadow .25s}
.tvr-ds-article-related a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
.tvr-ds-article-related a:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
.tvr-ds-article-rimg{display:block;aspect-ratio:3/2;background:var(--tvr-sand-2);overflow:hidden}
.tvr-ds-article-rimg img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none!important;border-radius:0!important}
.tvr-ds-article-rmeta{padding:6px 18px 0;font:700 11.5px/1.3 var(--tvr-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tvr-sea-ink)}
.tvr-ds-article-related strong{padding:0 18px;font:600 20px/1.25 var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-article-stay{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:28px 32px;border-radius:24px;background:var(--tvr-navy);color:#e6eef3}
.tvr-ds-article-stay p{margin:0;font:16px/1.55 var(--tvr-body);max-width:54ch}
.tvr-ds-article-stay .tvr-ds-article-stay-h{font:600 26px/1.2 var(--tvr-display);color:#fff;margin-bottom:6px}
.tvr-ds-article-stay-links{display:flex;flex-wrap:wrap;gap:10px}
.tvr-ds-article-stay .tvr-ds-btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
@media (max-width:860px){.tvr-ds-article-related{grid-template-columns:1fr}.tvr-ds-article .elementor-widget-theme-post-content{font-size:17px}.tvr-ds-article .elementor-widget-theme-post-featured-image{padding:0 16px}.tvr-ds-article .elementor-widget-theme-post-title,.tvr-ds-article .tvr-ds-article-top,.tvr-ds-article .tvr-ds-article-meta,.tvr-ds-article .elementor-widget-theme-post-content{padding-left:16px!important;padding-right:16px!important}.tvr-ds-article-stay{padding:24px 20px}}
@media (prefers-reduced-motion:reduce){.tvr-ds-article-related a{transition:none}}
/* 0.3.20: Plan Your Stay (templates/plan-your-stay.php) */
#content.tvr-ds-plan{padding:0 0 72px}
#content.tvr-ds-plan a{color:inherit}
#content.tvr-ds-plan h2{font:600 clamp(28px,3.2vw,38px)/1.15 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 18px!important;text-transform:none!important;letter-spacing:-.01em}
.tvr-ds-plan-hero{position:relative;min-height:min(62vh,560px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden;background:#1d3a4e}
.tvr-ds-plan-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tvr-ds-plan-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,28,42,.78),rgba(10,28,42,.35) 55%,rgba(10,28,42,.05)),linear-gradient(180deg,rgba(10,28,42,.2),rgba(10,28,42,.55))}
.tvr-ds-plan-hero-inner{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:110px 22px 52px}
.tvr-ds-plan-hero .tvr-ds-eyebrow{color:#bfe6f2!important}
#content.tvr-ds-plan .tvr-ds-plan-hero h1{font:600 clamp(40px,6vw,72px)/1.02 var(--tvr-display)!important;color:#fff!important;margin:8px 0 14px!important;text-transform:none!important;letter-spacing:-.02em;max-width:14ch}
.tvr-ds-plan-hero-inner>p:not(.tvr-ds-eyebrow){font:18px/1.55 var(--tvr-body);max-width:52ch;margin:0 0 22px;color:#eef4f7}
.tvr-ds-plan-hero-links{display:flex;flex-wrap:wrap;gap:10px}
#content.tvr-ds-plan .tvr-ds-plan-hero-links a{color:#fff;text-decoration:none}
.tvr-ds-plan-ghost{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45);backdrop-filter:blur(6px)}
.tvr-ds-plan-ghost svg{width:18px;height:18px}
.tvr-ds-plan-guides,.tvr-ds-plan-faq,.tvr-ds-plan-stories{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:56px 22px 0}
.tvr-ds-plan-guides ul,.tvr-ds-plan-stories ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tvr-ds-plan-guides li,.tvr-ds-plan-stories li{margin:0}
.tvr-ds-plan-guides a{display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:22px;background:#fff;border-radius:20px;box-shadow:inset 0 0 0 1px var(--tvr-line);text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.tvr-ds-plan-guides a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
.tvr-ds-plan-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--tvr-sand-2);color:var(--tvr-navy)}
.tvr-ds-plan-guides strong{font:600 20px/1.2 var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-plan-guides a span:last-child{font:15px/1.5 var(--tvr-body);color:var(--tvr-muted)}
.tvr-ds-plan-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:44px;align-items:start;scroll-margin-top:calc(var(--tvr-ds-stick,74px) + 8px)}
.tvr-ds-plan-faq-side{position:sticky;top:calc(var(--tvr-ds-stick,74px) + 24px)}
.tvr-ds-plan-faq-side p{font:16px/1.6 var(--tvr-body);color:var(--tvr-ink);margin:0 0 16px}
.tvr-ds-plan-contact{list-style:none;margin:0;padding:18px 20px;background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px var(--tvr-line);display:grid;gap:10px}
.tvr-ds-plan-contact li{display:flex;gap:10px;align-items:center;font:600 15px var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-plan-contact svg{color:var(--tvr-coral);flex:none}
#content.tvr-ds-plan .tvr-ds-plan-contact a{text-decoration:none}
#content.tvr-ds-plan .tvr-ds-plan-faq-main h3{font:700 12px/1.3 var(--tvr-body)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--tvr-sea-ink)!important;margin:26px 0 10px!important}
#content.tvr-ds-plan .tvr-ds-plan-faq-main h3:first-child{margin-top:4px!important}
.tvr-ds-plan-faq details{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px var(--tvr-line);margin:0 0 10px}
.tvr-ds-plan-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font:600 17px/1.35 var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-plan-faq summary::-webkit-details-marker{display:none}
.tvr-ds-plan-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tvr-sand-2);font:600 20px/1 var(--tvr-body);color:var(--tvr-navy);transition:transform .2s}
.tvr-ds-plan-faq details[open] summary::after{content:"–"}
.tvr-ds-plan-faq summary:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:2px;border-radius:16px}
.tvr-ds-plan-answer{padding:0 20px 18px;font:16px/1.7 var(--tvr-body);color:var(--tvr-ink)}
.tvr-ds-plan-answer p{margin:0}
#content.tvr-ds-plan .tvr-ds-plan-answer a{color:var(--tvr-navy);text-decoration:underline;text-decoration-color:var(--tvr-coral);text-underline-offset:3px}
.tvr-ds-plan-stories ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.tvr-ds-plan-stories a{display:flex;flex-direction:column;gap:8px;height:100%;background:#fff;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);text-decoration:none!important;padding-bottom:18px;transition:transform .2s,box-shadow .2s}
.tvr-ds-plan-stories a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
.tvr-ds-plan-simg{display:block;aspect-ratio:3/2;background:var(--tvr-sand-2);overflow:hidden}
.tvr-ds-plan-simg img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none!important}
.tvr-ds-plan-smeta{padding:6px 18px 0;font:700 11.5px/1.3 var(--tvr-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tvr-sea-ink)}
.tvr-ds-plan-stories strong{padding:0 18px;font:600 20px/1.25 var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-plan-more{margin:18px 0 0;font:700 15px var(--tvr-body)}
#content.tvr-ds-plan .tvr-ds-plan-more a{color:var(--tvr-coral-d);text-decoration:none}
#content.tvr-ds-plan a:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
@media (max-width:980px){.tvr-ds-plan-guides ul{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-ds-plan-faq{grid-template-columns:1fr;gap:20px}.tvr-ds-plan-faq-side{position:static}}
@media (max-width:640px){.tvr-ds-plan-guides ul,.tvr-ds-plan-stories ul{grid-template-columns:1fr}.tvr-ds-plan-hero-inner{padding:80px 16px 34px}.tvr-ds-plan-guides,.tvr-ds-plan-faq,.tvr-ds-plan-stories{padding:40px 16px 0}}
@media (prefers-reduced-motion:reduce){.tvr-ds-plan-guides a,.tvr-ds-plan-stories a{transition:none}}
/* 0.3.22: About (templates/about.php) + Our Promise (templates/promise.php) */
#content.tvr-ds-about{padding:0 0 72px}
#content.tvr-ds-about h2{font:600 clamp(28px,3.2vw,40px)/1.15 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 18px!important;text-transform:none!important;letter-spacing:-.01em}
#content.tvr-ds-about a{text-decoration:none}
#content.tvr-ds-about a:focus-visible,#content.tvr-ds-about summary:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
.tvr-ds-about-hero{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:48px 22px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
#content.tvr-ds-about .tvr-ds-about-hero h1{font:600 clamp(38px,5vw,62px)/1.04 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:10px 0 16px!important;text-transform:none!important;letter-spacing:-.02em}
.tvr-ds-about-hero-copy>p:not(.tvr-ds-eyebrow){font:18px/1.6 var(--tvr-body);color:var(--tvr-ink);margin:0 0 22px;max-width:48ch}
.tvr-ds-about-links,.tvr-ds-about-promise-link{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.tvr-ds-about-hero-img{border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--tvr-shadow);background:var(--tvr-sand-2)}
.tvr-ds-about-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.tvr-ds-about-hero-img picture{display:block;width:100%;height:100%} /* 0.3.76: WebP <picture> wrapper */
.tvr-ds-about-facts{box-sizing:border-box;max-width:1180px;margin:44px auto 0;padding:0 22px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tvr-ds-about-facts li{margin:0;padding:20px 22px;background:#fff;border-radius:20px;box-shadow:inset 0 0 0 1px var(--tvr-line);display:flex;flex-direction:column;gap:4px}
.tvr-ds-about-facts strong{font:600 34px/1 var(--tvr-display);color:var(--tvr-coral-d)}
.tvr-ds-about-facts span{font:14px/1.45 var(--tvr-body);color:var(--tvr-muted)}
.tvr-ds-about-story{box-sizing:border-box;max-width:760px;margin:0 auto;padding:64px 22px 0;scroll-margin-top:calc(var(--tvr-ds-stick,74px) + 8px)}
.tvr-ds-about-story p{font:18px/1.78 var(--tvr-body);color:var(--tvr-ink);margin:0 0 18px}
.tvr-ds-about-story .tvr-ds-about-lead{font-size:21px;line-height:1.6;color:var(--tvr-navy)}
.tvr-ds-about-pull{margin:30px 0;padding:26px 30px;border-radius:22px;background:var(--tvr-navy);border:0}
.tvr-ds-about-pull p{margin:0!important;font:italic 600 26px/1.35 var(--tvr-display)!important;color:#fff!important}
.tvr-ds-about-team{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:64px 22px 0;scroll-margin-top:calc(var(--tvr-ds-stick,74px) + 8px)}
.tvr-ds-about-team ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.tvr-ds-about-person{margin:0;padding:22px;background:#fff;border-radius:22px;box-shadow:inset 0 0 0 1px var(--tvr-line)}
.tvr-ds-about-photo{width:96px;height:96px;border-radius:50%;overflow:hidden;margin:0 0 14px;background:var(--tvr-sand-2)}
.tvr-ds-about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tvr-ds-about-photo.is-initials{display:grid;place-items:center;background:var(--tvr-navy)}
.tvr-ds-about-photo.is-initials span{font:600 32px var(--tvr-display);color:#fff}
#content.tvr-ds-about .tvr-ds-about-person h3{font:600 22px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 8px!important;text-transform:none!important}
.tvr-ds-about-person>p{font:15px/1.6 var(--tvr-body);color:var(--tvr-ink);margin:0}
.tvr-ds-about-person details{margin-top:12px}
.tvr-ds-about-person summary{cursor:pointer;font:700 14px var(--tvr-body);color:var(--tvr-coral-d);list-style:none}
.tvr-ds-about-person summary::-webkit-details-marker{display:none}
.tvr-ds-about-person summary::after{content:" →"}
.tvr-ds-about-person details[open] summary::after{content:" ↑"}
.tvr-ds-about-person details p{font:15px/1.65 var(--tvr-body);color:var(--tvr-ink);margin:10px 0 0}
.tvr-ds-about-promise{box-sizing:border-box;max-width:1180px;margin:64px auto 0;padding:40px;border-radius:28px;background:var(--tvr-sand-2);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px 40px;align-items:center}
.tvr-ds-about-promise>div p:not(.tvr-ds-eyebrow){font:17px/1.7 var(--tvr-body);color:var(--tvr-ink);margin:0}
.tvr-ds-about-promise ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tvr-ds-about-promise li{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#fff;border-radius:16px}
.tvr-ds-about-promise li span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tvr-coral);color:#fff;font:700 15px var(--tvr-body)}
.tvr-ds-about-promise li strong{font:600 20px var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-about-promise-link{grid-column:1/-1}
.tvr-ds-about-cta{box-sizing:border-box;max-width:1180px;margin:40px auto 0;padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tvr-ds-about-cta a{display:flex;flex-direction:column;gap:6px;padding:28px 30px;border-radius:24px;background:var(--tvr-navy);color:#e6eef3!important;transition:transform .2s}
.tvr-ds-about-cta a:hover{transform:translateY(-3px)}
.tvr-ds-about-cta .tvr-ds-eyebrow{color:#bfe6f2!important}
.tvr-ds-about-cta strong{font:600 26px/1.2 var(--tvr-display);color:#fff}
.tvr-ds-about-cta span:last-child{font:15px var(--tvr-body)}
.tvr-ds-promise-hero{position:relative;min-height:min(56vh,520px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden;background:#1d3a4e}
.tvr-ds-promise-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.tvr-ds-promise-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,28,42,.78),rgba(10,28,42,.3) 60%,rgba(10,28,42,.05)),linear-gradient(180deg,rgba(10,28,42,.15),rgba(10,28,42,.5))}
.tvr-ds-promise-hero-inner{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:110px 22px 52px}
.tvr-ds-promise-hero .tvr-ds-eyebrow{color:#bfe6f2!important}
#content.tvr-ds-about .tvr-ds-promise-hero h1{font:600 clamp(40px,6vw,72px)/1.02 var(--tvr-display)!important;color:#fff!important;margin:8px 0 14px!important;text-transform:none!important;letter-spacing:-.02em}
.tvr-ds-promise-hero-inner>p:not(.tvr-ds-eyebrow){font:italic 20px/1.5 var(--tvr-display);max-width:46ch;margin:0;color:#eef4f7}
.tvr-ds-promise-mv{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:56px 22px 0;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tvr-ds-promise-mv article{padding:32px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--tvr-line)}
.tvr-ds-promise-big{font:500 21px/1.55 var(--tvr-display);color:var(--tvr-navy);margin:10px 0 0}
.tvr-ds-promise-values{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:56px 22px 0}
.tvr-ds-promise-values ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tvr-ds-promise-values li{margin:0;padding:28px;border-radius:24px;background:var(--tvr-sand-2)}
.tvr-ds-promise-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tvr-coral);color:#fff;font:700 18px var(--tvr-body);margin-bottom:14px}
#content.tvr-ds-about .tvr-ds-promise-values h3{font:600 26px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 10px!important;text-transform:none!important}
.tvr-ds-promise-values li p{font:16px/1.7 var(--tvr-body);color:var(--tvr-ink);margin:0}
@media (max-width:980px){.tvr-ds-about-hero{grid-template-columns:1fr}.tvr-ds-about-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-ds-about-team ul{grid-template-columns:repeat(2,minmax(0,1fr))}.tvr-ds-about-promise{grid-template-columns:1fr;margin-left:22px;margin-right:22px;padding:28px}.tvr-ds-promise-values ol{grid-template-columns:1fr}.tvr-ds-promise-mv{grid-template-columns:1fr}}
@media (max-width:640px){.tvr-ds-about-hero{padding:30px 16px 0}.tvr-ds-about-facts,.tvr-ds-about-story,.tvr-ds-about-team,.tvr-ds-about-cta,.tvr-ds-promise-mv,.tvr-ds-promise-values{padding-left:16px;padding-right:16px}.tvr-ds-about-team ul,.tvr-ds-about-cta{grid-template-columns:1fr}.tvr-ds-about-promise{margin-left:16px;margin-right:16px;padding:24px 20px}.tvr-ds-promise-hero-inner{padding:80px 16px 34px}.tvr-ds-about-pull p{font-size:22px!important}}
@media (prefers-reduced-motion:reduce){.tvr-ds-about-cta a{transition:none}}
/* 0.3.23: leadership cards use the real portrait headshots (same files as the live About page) */
.tvr-ds-about-person{padding:0 0 22px;overflow:hidden}
.tvr-ds-about-photo{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;margin:0 0 16px}
.tvr-ds-about-photo img{width:100%!important;height:100%!important;object-fit:cover;object-position:50% 20%;max-width:none!important}
.tvr-ds-about-photo.is-initials{aspect-ratio:4/5}
.tvr-ds-about-person h3,.tvr-ds-about-person>p,.tvr-ds-about-person details{margin-left:22px!important;margin-right:22px!important}
/* 0.3.25: Contact (templates/contact.php); the CF7 form 374 is the page's existing form */
#content.tvr-ds-contact{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:48px 22px 72px}
#content.tvr-ds-contact a{text-decoration:none}
#content.tvr-ds-contact a:focus-visible{outline:3px solid var(--tvr-sea);outline-offset:3px}
.tvr-ds-contact-head{max-width:720px;margin:0 0 30px}
#content.tvr-ds-contact h1{font:600 clamp(36px,4.8vw,56px)/1.06 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:10px 0 12px!important;text-transform:none!important;letter-spacing:-.015em}
.tvr-ds-contact-head>p:not(.tvr-ds-eyebrow){font:18px/1.6 var(--tvr-body);color:var(--tvr-ink);margin:0}
.tvr-ds-contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:28px;align-items:start}
.tvr-ds-contact-ways{display:grid;gap:12px}
.tvr-ds-contact-card{display:flex;gap:14px;align-items:center;padding:18px 20px;background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px var(--tvr-line);color:var(--tvr-navy)!important;transition:transform .2s,box-shadow .2s}
.tvr-ds-contact-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--tvr-line),var(--tvr-shadow)}
.tvr-ds-contact-card svg{flex:none;width:44px;height:44px;padding:11px;box-sizing:border-box;border-radius:14px;background:var(--tvr-sand-2);color:var(--tvr-coral-d)}
.tvr-ds-contact-card span{display:flex;flex-direction:column;font:15px/1.45 var(--tvr-body);color:var(--tvr-ink)}
.tvr-ds-contact-card strong{font:600 19px var(--tvr-display);color:var(--tvr-navy)}
.tvr-ds-contact-help{margin-top:6px;padding:20px;border-radius:18px;background:var(--tvr-sand-2)}
.tvr-ds-contact-help ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.tvr-ds-contact-help a{font:600 15px var(--tvr-body);color:var(--tvr-navy)!important;text-decoration:underline!important;text-decoration-color:var(--tvr-coral)!important;text-underline-offset:3px}
.tvr-ds-contact-form{padding:30px;background:#fff;border-radius:24px;box-shadow:inset 0 0 0 1px var(--tvr-line)}
#content.tvr-ds-contact .tvr-ds-contact-form h2{font:600 28px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0 0 16px!important;text-transform:none!important}
.tvr-ds-contact-form form p{margin:0 0 14px}
.tvr-ds-contact-form label{display:block;font:600 14px var(--tvr-body);color:var(--tvr-navy)}
.tvr-ds-contact-form input[type=text],.tvr-ds-contact-form input[type=email],.tvr-ds-contact-form input[type=tel],.tvr-ds-contact-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:13px 16px;border:1px solid rgba(15,42,63,.22);border-radius:14px;background:#fffdf9;font:16px var(--tvr-body);color:var(--tvr-ink)}
.tvr-ds-contact-form textarea{min-height:160px;resize:vertical}
.tvr-ds-contact-form input:focus,.tvr-ds-contact-form textarea:focus{outline:3px solid var(--tvr-sea);outline-offset:1px;border-color:transparent}
.tvr-ds-contact-form input[type=submit],.tvr-ds-contact-form button[type=submit]{height:50px;padding:0 28px;border:0;border-radius:999px;background:var(--tvr-coral);color:#fff;font:700 16px var(--tvr-body);cursor:pointer}
.tvr-ds-contact-form input[type=submit]:hover{background:var(--tvr-coral-d)}
.tvr-ds-contact-form .wpcf7-not-valid-tip{color:#b3261e;font-size:13px;margin-top:4px}
.tvr-ds-contact-form .wpcf7-response-output{margin:12px 0 0!important;border-radius:12px;font-size:14px}
.tvr-ds-contact-map{margin-top:28px;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tvr-line);background:var(--tvr-sand-2)}
.tvr-ds-contact-map iframe{display:block;width:100%;height:360px;border:0}
@media (max-width:900px){.tvr-ds-contact-grid{grid-template-columns:1fr}}
@media (max-width:600px){#content.tvr-ds-contact{padding:30px 16px 52px}.tvr-ds-contact-form{padding:22px 18px}.tvr-ds-contact-map iframe{height:280px}}
/* 0.3.33 (Codex review 2, P1): from 768 to 1023 px the results toolbar is navy and Search Results Modernization Next
   colours the chosen dates navy, so they vanish (production too). Light text on the navy bar at those widths only. */
@media (min-width:768px) and (max-width:1023.98px){
  body.tvr-search-modernization-next .abe-results-page #abe-results-search #search-arrival,
  body.tvr-search-modernization-next .abe-results-page #abe-results-search #search-departure{color:#fff!important;-webkit-text-fill-color:#fff!important;caret-color:#fff;padding-left:14px!important}
  body.tvr-search-modernization-next .abe-results-page #abe-results-search .date-field input::placeholder{color:rgba(255,255,255,.78)!important;-webkit-text-fill-color:rgba(255,255,255,.78)!important}
}
/* 0.3.34: listing pages on phones. The collection banner is pulled up 20 px to tuck under the old header; under the
   new header that hid its top, and the H1 (three lines at 34 px) overflowed the 120 px banner. */
@media (max-width:767.98px){
  .tvr-ds-takeover .hero-holder{margin-top:0!important}
  .tvr-ds-takeover .hero-holder .elementor-widget-heading h1.elementor-heading-title{font-size:25px!important;line-height:1.14!important}
}
/* 0.3.58 (Isaac, 2026-09-28: "work your magic on the filters … goes behind the header and looks terrible").
   Search-results Filters dialog: restyled only (Track + Search Results Modernization Next markup and behaviour untouched).
   Layering: the dialog lives inside the sticky results toolbar (.abe-jumbo, z 1500), which sat under the sitewide header
   (z 9000); while the dialog is open the toolbar is lifted above the header. */
body.tvr-filter-dialog-open .abe-jumbo{z-index:10050!important}
body.tvr-ds-takeover .abe-pop-up-overlay{background:rgba(10,28,42,.55)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
body.tvr-ds-takeover #tvr-search-filters-dialog{font-family:var(--tvr-body)!important;color:var(--tvr-ink)!important;background:#fff!important;border:0!important;border-radius:24px!important;box-shadow:0 40px 90px -30px rgba(10,28,42,.65),0 0 0 100vmax rgba(10,28,42,.55)!important;padding:0 28px!important;scrollbar-width:thin}
body.tvr-ds-takeover #tvr-search-filters-dialog *{box-sizing:border-box}
/* header: title + round close, stays put while the body scrolls */
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-header-wrapper{position:sticky;top:0;z-index:3;background:#fff!important;margin:0 -28px 6px!important;padding:20px 28px 14px!important;border-bottom:1px solid var(--tvr-line)}
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-header-wrapper .abe-row{display:flex!important;align-items:center;justify-content:space-between;margin:0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-header-wrapper .abe-column{width:auto!important;padding:0!important;flex:none}
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-heading-label h3{font:600 26px/1.1 var(--tvr-display)!important;color:var(--tvr-navy)!important;margin:0!important;text-transform:none!important;letter-spacing:-.01em}
body.tvr-ds-takeover #tvr-search-filters-dialog .abe-filter-close{width:auto!important;min-width:40px;height:40px;padding:0 16px!important;border-radius:999px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;font:700 14px var(--tvr-body)!important;background:var(--tvr-sand)!important;color:var(--tvr-navy)!important;cursor:pointer;font-size:16px}
body.tvr-ds-takeover #tvr-search-filters-dialog .abe-filter-close:hover{background:var(--tvr-sand-2)!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .abe-filter-close::after{content:none!important}
/* clear / reset: quiet outline pills instead of red capitals */
body.tvr-ds-takeover #tvr-search-filters-dialog .clear-buttons{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:4px 0 0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog #clear-dates,body.tvr-ds-takeover #tvr-search-filters-dialog #reset-filters{background:#fff!important;color:var(--tvr-navy)!important;border:0!important;box-shadow:inset 0 0 0 1.5px var(--tvr-line)!important;border-radius:999px!important;padding:9px 16px!important;min-height:0!important;height:auto!important;font:600 14px/1.2 var(--tvr-body)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;margin:0!important;width:auto!important}
body.tvr-ds-takeover #tvr-search-filters-dialog #clear-dates:hover,body.tvr-ds-takeover #tvr-search-filters-dialog #reset-filters:hover{box-shadow:inset 0 0 0 1.5px var(--tvr-navy)!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .clear-buttons .note,body.tvr-ds-takeover #tvr-search-filters-dialog .price-range-wrapper .note{flex-basis:100%;font:500 12.5px/1.4 var(--tvr-body)!important;color:var(--tvr-muted)!important}
/* section titles and small labels */
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-location-filter h3,body.tvr-ds-takeover #tvr-search-filters-dialog .abe-filter-title{display:block;font:600 21px/1.2 var(--tvr-display)!important;color:var(--tvr-navy)!important;text-transform:none!important;letter-spacing:-.005em!important;margin:26px 0 12px!important;padding:0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog legend,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-field>label,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-king-bed-filter-field>label{display:block;font:700 11.5px/1.3 var(--tvr-body)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--tvr-sea-ink)!important;margin:0 0 8px!important;padding:0!important}
/* selects and picker triggers share one field style */
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-ac-holder{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .first-filter-ac-wrapper,body.tvr-ds-takeover #tvr-search-filters-dialog .second-filter-ac-wrapper{display:contents!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .filter-ac-holder .abe-column{width:auto!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;justify-content:flex-end}
body.tvr-ds-takeover #tvr-search-filters-dialog select,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-picker-trigger,body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-trigger{width:100%!important;height:52px!important;min-height:52px!important;border:0!important;box-shadow:inset 0 0 0 1px var(--tvr-line)!important;border-radius:14px!important;background-color:#fff!important;color:var(--tvr-ink)!important;font:600 15px/1 var(--tvr-body)!important;padding:0 40px 0 16px!important;text-transform:none!important;letter-spacing:0!important;text-align:left!important;cursor:pointer;margin:0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog select:hover,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-picker-trigger:hover,body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-trigger:hover{box-shadow:inset 0 0 0 1.5px var(--tvr-navy)!important}
body.tvr-ds-takeover #tvr-search-filters-dialog select:focus-visible,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-picker-trigger:focus-visible,body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-trigger:focus-visible{outline:3px solid var(--tvr-sea)!important;outline-offset:2px}
/* position: tappable pills; the checkbox stays (it is the real control) */
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-position-options{display:flex!important;flex-wrap:wrap;gap:8px;border:0!important;padding:0!important;margin:0 0 16px!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-position-options label{display:inline-flex!important;align-items:center;gap:8px;width:auto!important;min-height:44px;margin:0!important;padding:0 16px 0 12px!important;border:0!important;box-shadow:inset 0 0 0 1.5px var(--tvr-line)!important;border-radius:999px!important;background:#fff!important;color:var(--tvr-ink)!important;font:600 14px/1 var(--tvr-body)!important;cursor:pointer;transition:background .15s,box-shadow .15s}
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-position-options label:hover{box-shadow:inset 0 0 0 1.5px var(--tvr-navy)!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-position-options label:has(input:checked){background:var(--tvr-navy)!important;box-shadow:none!important;color:#fff!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-position-options input{width:18px;height:18px;margin:0!important;accent-color:var(--tvr-coral)}
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-field .abe-column{padding:0!important;width:100%!important}
/* amenities panel */
body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-checkboxes .abe-column{width:100%!important;padding:0!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-panel,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-picker-menu{border:0!important;border-radius:16px!important;box-shadow:0 24px 50px -20px rgba(15,42,63,.5),inset 0 0 0 1px var(--tvr-line)!important;background:#fff!important;padding:8px!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-search input{height:44px;border:0!important;box-shadow:inset 0 0 0 1px var(--tvr-line)!important;border-radius:12px!important;padding:0 14px!important;font:500 15px var(--tvr-body)!important;width:100%}
body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-option,body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-town-picker-menu [role=option]{border-radius:10px!important;font:600 14.5px var(--tvr-body)!important;color:var(--tvr-ink)!important;text-transform:none!important}
body.tvr-ds-takeover #tvr-search-filters-dialog .amenities-popup-option input{accent-color:var(--tvr-coral)}
/* footer: one clear action, pinned to the bottom of the dialog */
body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-filter-apply-row{position:sticky!important;bottom:0;z-index:3;display:block!important;float:none!important;width:auto!important;max-width:none!important;background:#fff!important;margin:24px -28px 0!important;padding:16px 28px 20px!important;border-top:1px solid var(--tvr-line);left:auto!important;right:auto!important;transform:none!important;flex:none!important}
body.tvr-ds-takeover #tvr-search-filters-dialog #apply-filters{width:100%!important;height:54px!important;border:0!important;border-radius:999px!important;background:var(--tvr-coral)!important;color:#fff!important;font:700 16px var(--tvr-body)!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 12px 28px -14px rgba(226,72,61,.8)!important;cursor:pointer}
body.tvr-ds-takeover #tvr-search-filters-dialog #apply-filters:hover{background:var(--tvr-coral-d)!important}
@media (max-width:760px){
  body.tvr-ds-takeover #tvr-search-filters-dialog{padding:0 18px!important;border-radius:20px 20px 0 0!important}
  body.tvr-ds-takeover #tvr-search-filters-dialog .filter-header-wrapper{margin:0 -18px 6px!important;padding:16px 18px 12px!important}
  body.tvr-ds-takeover #tvr-search-filters-dialog .tvr-filter-apply-row{margin:20px -18px 0!important;padding:14px 18px calc(16px + env(safe-area-inset-bottom))!important}
  body.tvr-ds-takeover #tvr-search-filters-dialog .filter-ac-holder{grid-template-columns:1fr}
}

/* ---------- 0.3.68 search results polish (Isaac 2026-09-28) ---------- */
/* Filters dialog: Track sets .clear-buttons to a column, which pushed the note off the right edge and left a gap. */
body.tvr-ds-takeover #tvr-search-filters-dialog .clear-buttons{flex-direction:row!important;align-items:center!important;height:auto!important}
@media (max-width:767px){
  /* the OneTap accessibility button sat on top of Apply Filters */
  body.tvr-filter-dialog-open .onetap-toggle{transform:translateY(-84px)!important}
  /* one map control on phones: "View Map" (tds.js routes it to the overlay); the MAP switch was a silent duplicate */
  body.tvr-ds-takeover.tvr-search-modernization-next .abe-results-page:not(.tvr-zero-results) .abe-sort-wrapper .abe-map-activator{display:none!important}
  /* the map overlay: the legacy 360px phone height left the lower two-thirds blank */
  body.tvr-ds-takeover .abe-results-page.tvr-map-open #abe-map-results{height:100%!important;min-height:0!important}
  /* the red filter bar was icon-only */
  body.tvr-ds-takeover #abe-filters-activator{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px;text-transform:none!important}
  body.tvr-ds-takeover #abe-filters-activator::after{content:"Filters";font:700 15px/1 var(--tvr-body);color:#fff;letter-spacing:.01em}
}
