/* GENERATED by tools/gen-modules from modules/<type>/style.css. Edit it there. */
/* modules/weather/style.css */
:root{
  --weather-frame-h:    220px;
  --weather-compact-h:  60px;
  --weather-compact-ar: calc(32 / 15);
}
.lvw-frame{position:relative;width:100%;height:var(--weather-frame-h);border-radius:var(--surface-radius);
  overflow:hidden;}
.lvw-section[data-variant="compact"] .lvw-frame{
  height:var(--weather-compact-h);width:calc(var(--weather-compact-h) * var(--weather-compact-ar));}
.lvw-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.lvw-embed{width:100%;}
.lvw-section[data-state="live"] .lvw-embed,
.lvw-section[data-state="embed"] .lvw-frame{display:none;}
.lvw-section[data-state="off"],
.lvw-section[data-state="empty"]{display:none;}
.lv-split-weather{position:absolute;top:var(--space-3);right:var(--space-3);}
.lv-hero-mast > *:has(> .lvw-section[data-state="off"]),
.lv-hero-mast > *:has(> .lvw-section[data-state="empty"]){display:none;}

/* modules/socialFeed/style.css */
:root{
  --lv-social-h:  auto;
}
.lvsoc-embed{--text:var(--on-surface);display:block;width:100%;height:var(--lv-social-h);aspect-ratio:var(--ratio-wide);
  border:var(--inner-border);border-radius:var(--surface-radius);
  background:var(--surface);box-shadow:var(--surface-shadow);overflow:hidden;}
@container page (max-width:600px){ .lvsoc-embed{aspect-ratio:var(--ratio-square);} }
@container page (min-width:1025px){
  .lv-grid[data-rail="off"][data-cols="two"] .lv-content > *:has(.lvsoc-section),
  .lv-grid[data-rail="off"][data-cols="two"] .lv-content > .lvsoc-section{column-span:all;}
}

/* modules/factsBand/style.css */
:root{
  --trust-figure-h:        58px;
  --trust-mark-size:       60px;
  --trust-num-size:        38px;
  --trust-num-lift:  var(--space-1);
  --trust-num-pad-b:        5px;
  --trust-label-track:     .12em;
  --trust-label-size:      var(--t-size-caption);
  --trust-slot-pad-block:  var(--space-3);
  --trust-slot-pad-inline:  var(--space-1);
  --trust-slot-gap:          0;
  --lvt-chars:               3;
  --trust-divider-fade:    .22;
  --trust-divider-inset:   16%;
  --trust-figure-h-phone:  42px;
  --trust-img-max-w:      180px;
  --trust-label-size-phone: 10px;
  --trust-label-track-phone: .05em;
  --trust-label-w-phone:   96%;
  --trust-mark-fit:        62cqi;
  --trust-mark-size-phone: 46px;
  --trust-num-fit:        106cqi;
  --trust-num-lift-phone:     0px;
  --trust-num-pad-b-phone:    0px;
  --trust-num-size-phone:  28px;
  --trust-num-track:        1px;
  --trust-slot-gap-phone:        var(--space-1);
  --trust-slot-pad-block-phone:  var(--space-2);
  --trust-slot-pad-inline-phone:   0;
}
.lv-img--contain{object-fit:contain;}
.lvt-band{display:flex;flex-wrap:nowrap;align-items:stretch;overflow:hidden;
  background:var(--tone-bg);color:var(--tone-fg);}
.lvt-band[data-state="off"]{display:none;}
.lvt-slot{position:relative;container-type:inline-size;flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:var(--trust-slot-gap);
  padding:var(--trust-slot-pad-block) var(--trust-slot-pad-inline);
  text-align:center;color:inherit;text-decoration:none;}
.lvt-slot + .lvt-slot::before{content:"";position:absolute;left:0;
  top:var(--trust-divider-inset);bottom:var(--trust-divider-inset);
  width:var(--border-w-hair);background:currentColor;opacity:var(--trust-divider-fade);}
.lvt-figure{height:var(--trust-figure-h);min-width:0;overflow:hidden;width:100%;
  display:flex;align-items:flex-end;justify-content:center;}
.lvt-mark{--icon-size:min(var(--trust-mark-size), var(--trust-mark-fit));
  color:currentColor;flex-shrink:0;}
.lvt-img{position:relative;width:100%;max-width:var(--trust-img-max-w);flex:0 0 auto;
  height:min(var(--trust-mark-size), var(--trust-mark-fit));}
.lvt-num{display:flex;align-items:flex-start;justify-content:center;max-width:100%;
  font-family:var(--font-body);
  font-size:clamp(var(--t-size-display), calc(var(--trust-num-fit) / var(--lvt-chars)), var(--trust-num-size));
  font-weight:var(--t-weight-regular);line-height:1;letter-spacing:var(--trust-num-track);
  font-variant-numeric:tabular-nums lining-nums;color:currentColor;
  transform:translateY(calc(-1 * var(--trust-num-lift)));
  padding-bottom:var(--trust-num-pad-b);}
.lvt-label{width:100%;font-family:var(--font-body);font-size:var(--trust-label-size);font-weight:var(--t-weight-regular);
  text-transform:uppercase;
  letter-spacing:var(--trust-label-track);line-height:var(--t-leading-caption);
  text-wrap:balance;}
@container page (max-width:600px){
  .lvt-band{--trust-figure-h:var(--trust-figure-h-phone);
    --trust-mark-size:var(--trust-mark-size-phone);
    --trust-num-size:var(--trust-num-size-phone);
    --trust-num-lift:var(--trust-num-lift-phone);
    --trust-num-pad-b:var(--trust-num-pad-b-phone);
    --trust-label-track:var(--trust-label-track-phone);
    --trust-slot-pad-block:var(--trust-slot-pad-block-phone);
    --trust-slot-pad-inline:var(--trust-slot-pad-inline-phone);
    --trust-slot-gap:var(--trust-slot-gap-phone);
    --trust-label-size:var(--trust-label-size-phone);}
  .lvt-label{width:var(--trust-label-w-phone);}
  .lvt-slot + .lvt-slot::before{display:none;}
  .lvt-slot[data-bp]:not([data-bp~="mobile"]){display:none;}
}
@container page (min-width:1025px){
  .lvt-slot[data-bp]:not([data-bp~="desktop"]){display:none;}
  .lvt-slot[data-bp]:not([data-bp~="desktop"]) + .lvt-slot::before{display:none;}
}
@container page (min-width:601px) and (max-width:1024px){
  .lvt-slot[data-bp]:not([data-bp~="tablet"]){display:none;}
  .lvt-slot[data-bp]:not([data-bp~="tablet"]) + .lvt-slot::before{display:none;}
}

.lv-page:has(.lv-hero-factsBand .lvt-band:not([data-state="off"])) .lv-section-hero{
  --hero-trust-h:calc(var(--trust-figure-h) + var(--trust-slot-pad-block) * 2
                      + var(--trust-label-size) * var(--t-leading-caption));
}
.lv-hero-factsBand--full .lvt-band{ margin-inline: calc(-1 * var(--page-gutter)); padding-inline: var(--page-gutter); }

/* modules/priceCards/style.css */
:root{
  --price-card-min:    220px;
  --price-fit:           1;
  --price-block-ems:   3.6;   /* the price block holds a four-character price at full size */
  --price-row-h:        76px;
}
.t-price       { font-family:var(--font-body);    font-size:var(--t-size-price);      font-weight:var(--t-weight-bold);    line-height:var(--t-leading-body); color:var(--on-accent); }
/* Inset like the heading above them, the same below, and sharing the whole row between the cards there are. */
.lvpc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--price-card-min),1fr));gap:var(--space-4);padding:0 var(--sec-text-pad-inline) var(--sec-text-pad-block);}
.lvpc-card{display:flex;align-items:stretch;min-height:var(--price-row-h);border:var(--inner-card-border);border-radius:var(--surface-radius);overflow:hidden;background:var(--card);color:var(--on-card);box-shadow:var(--elev-2);}
.lvpc-card-body{flex:1;padding:var(--space-3);display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);}
.lvpc-card-price{display:flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;
  width:calc(var(--t-size-price) * var(--price-block-ems));padding:0 var(--space-3);white-space:nowrap;
  font-size:calc(var(--t-size-price) * var(--price-fit));background:var(--accent);}
/* Beside the text in one column, two cards to a row. */
@container page (min-width:1025px){
  .lv-grid[data-rail="off"][data-cols="one"] .lvpc-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* modules/pointsOfInterest/style.css */
:root{
  --hero-perk-gap:      var(--space-4);
  --hero-perk-gap-phone:    5px;
  --hero-strip-gap-phone:  10px;
  --hero-strip-h: calc(var(--hero-strip-icon) + var(--space-3) * 2 + var(--space-3));
  --hero-strip-text-phone: 10px;
  --hero-strip-text-tablet: calc(var(--hero-strip-text) - 2px);
  --ico:             none;
  --perk-hover-shift:   3px;
  --perk-tracking:      2px;
  --split-perk-text-phone: 12px;
  --hero-strip-icon:    var(--icon-lg);
  --hero-strip-gap:     var(--space-7);
  --hero-strip-row-gap: var(--space-2);
  --hero-strip-text: calc(var(--hero-perk-text) - 3px);
  --glass-icon-size: 42px;
}
.lv-section-hero:has(.lv-hero-perks){ --hero-band-h:calc(var(--hero-strip-h) + var(--space-5)); }
.lv-perk:hover{transform:translateX(var(--perk-hover-shift));}
.lv-hero-perks .lv-perk{color:var(--on-header);}
.lv-hero-perks{z-index:var(--z-part-top);box-sizing:border-box;min-height:var(--hero-strip-h);border-left:0;border-right:0;border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;column-gap:var(--hero-strip-gap);row-gap:var(--hero-strip-row-gap);padding:var(--space-3) var(--mast-text-inset);}
.lv-hero-perks .lv-perk-ico{width:var(--hero-strip-icon);height:var(--hero-strip-icon);}
.lv-hero-perks .t-perk{font-size:var(--hero-strip-text);text-transform:uppercase;letter-spacing:var(--perk-tracking);}
.lv-perk{display:flex;gap:var(--hero-perk-gap);align-items:center;transition:transform var(--dur-quick) var(--ease);}
.lv-perk-ico{width:calc(var(--glass-icon-size) * var(--perk-scale));height:calc(var(--glass-icon-size) * var(--perk-scale));flex-shrink:0;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;}
@container page (min-width:601px) and (max-width:1024px){
  .lv-perk{--perk-scale:0.9;}
  .lv-hero-perks .t-perk{font-size:var(--hero-strip-text-tablet);letter-spacing:0;}
}
/* Points never wrap: --perk-fit (set by component-Poi when they would not fit) shrinks their text instead. */
.lv-split-perks{--perk-fit:1;display:flex;flex-wrap:nowrap;gap:var(--space-3) var(--space-5);}
.lv-split-perk{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text);}
.lv-split-perk .t-perk{font-size:calc(var(--t-size-body) * var(--perk-fit));letter-spacing:calc(var(--perk-tracking) * var(--perk-fit));text-transform:uppercase;}
.lv-split-perk-ico{width:var(--amenity-icon-size);height:var(--amenity-icon-size);flex-shrink:0;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;}
@container page (max-width: 600px){
  .lv-inner{ --glass-icon-size:var(--icon-lg); }
  .lv-hero-perks{
    --hero-strip-gap:var(--hero-strip-gap-phone);
    --hero-strip-row-gap:var(--hero-strip-gap-phone);
    justify-content:center;
    padding-block:var(--space-3);
  }
  .lv-hero-perks .t-perk{font-size:var(--hero-strip-text-phone);letter-spacing:0;}
  .lv-hero-perks .lv-perk{gap:var(--hero-perk-gap-phone);}
  .lv-split-perk .t-perk{font-size:calc(var(--split-perk-text-phone) * var(--perk-fit));}
  .lv-split-perks { justify-content:center; gap:var(--hero-strip-gap-phone); }
}
.lv-split-perks[data-tone]:not([data-tone=""]){background:var(--tone-bg);color:var(--tone-fg);}

/* modules/photos/style.css */
:root{
  --ss-dot-size:     8px;
  --ss-slide-dur:      var(--dur-slow);
  --ss-slide-ease:     var(--overlay-ease);
}
.lvss-stage{position:relative;border-radius:var(--surface-radius);overflow:hidden;background:var(--surface-sunken);box-shadow:var(--elev-2);}
.lvss-track{--ss-x:0px;display:flex;transform:translateX(var(--ss-x));transition:transform var(--ss-slide-dur) var(--ss-slide-ease);}
.lvss-track[data-dragging]{transition:none;}
.lvss-cover-stage{position:relative;flex:0 0 100%;aspect-ratio:var(--ratio-wide);background:var(--surface-sunken);}
/* Everything on the photograph is Card glass and Card ink: the glass pane recipe, filled with Card. */
.lvss-caption,
.lvss-counter{background:color-mix(in oklab, var(--card) var(--glass-op), transparent);color:var(--on-card);
  backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));
  border:var(--border-w-hair) solid var(--glass-border);box-shadow:var(--glass-shadow);}
/* The bottom of the photo is one glass pane: the caption centred in it, the dots at its foot. */
.lvss-caption{position:absolute;left:0;right:0;bottom:0;border-width:var(--border-w-hair) 0 0;
  padding:var(--space-4) var(--space-5) var(--space-6);text-align:center;pointer-events:none;}
.lvss-caption-text{font-family:var(--font-body);font-size:var(--t-size-lead);font-weight:var(--t-weight-regular);line-height:var(--t-leading-body);}
.lvss-counter{font-family:var(--font-body);font-size:var(--t-size-caption);font-weight:var(--t-weight-regular);line-height:var(--t-leading-caption);position:absolute;left:var(--space-4);top:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--btn-radius);}
.lvss-dots{position:absolute;left:0;right:0;bottom:var(--space-3);display:flex;justify-content:center;gap:var(--space-2);pointer-events:none;}
.lvss-dot{width:var(--ss-dot-size);height:var(--ss-dot-size);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--on-card) 50%, transparent);}
.lvss-dot[data-on="1"]{background:var(--on-card);}
.lv-ss-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--img-gap);}
@container page (max-width: 600px){
  .lv-ss-grid { grid-template-columns:1fr; }
}
.lvss-fig{margin:0;}
.lvss-cover-thumb{position:relative;aspect-ratio:var(--ratio-wide);border-radius:var(--surface-radius);overflow:hidden;background:var(--surface-sunken);}
.lvss-cell{flex:0 0 100%;aspect-ratio:var(--ratio-wide);}
.lvss-figcap{margin-top:var(--space-2);}
@container page (max-width:1024px){
  .lvss-stage{touch-action:pan-y;}
}

/* modules/reviews/style.css */
:root{
  --rev-slide-dist:    28px;
  --rev-pad:             5px;  --rev-link-h:      1.4em;
  /* The stars' colour: a theme states it; one saved before it existed shows Accent. */
  --star: var(--accent);
  --lvr-cols:             3;
  --rev-arrow-size-tablet: 38px;
  --rev-full-max-h:       84vh;
  --rev-full-max-w:       calc(var(--measure) + var(--space-6) * 2);
  --rev-head-h: calc(var(--t-size-card-title) * 1.3 + var(--t-size-caption) * 1.4);
  --rev-lines:            6;
  --rev-row-gaps:         3;
  --rev-row-gap:        var(--space-2);
  --rev-slide-ease:   cubic-bezier(.4, 0, .2, 1);
  --rev-slide-ms:     700ms;
  --rev-src-size:       32px;
  --rev-star-gap:       var(--space-0);
  --rev-star-icon:     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpolygon points='128,0 157.4,87.5 249.7,88.4 175.6,143.5 203.2,231.6 128,178 52.8,231.6 80.4,143.5 6.3,88.4 98.6,87.5'/%3E%3C/svg%3E");
  --rev-star-size:     19px;
  --rev-star-pick:     34px;
  --rev-text-min-h:   180px;
}
:root, [data-lvtheme]{
  --rev-empty-star-fade: .22;
}
.lv-rev-book[data-cal="on"] > .lv-rev-reviews { grid-column:span 2; }
.lv-rev-reviews   { flex:1 1 auto; min-width:0; }
@keyframes lvr-in-next{ from{opacity:0;transform:translateX(var(--rev-slide-dist));}
                          to{opacity:1;transform:none;} }
@keyframes lvr-in-prev{ from{opacity:0;transform:translateX(calc(var(--rev-slide-dist) * -1));}
                          to{opacity:1;transform:none;} }

.lvr-overlay{position:absolute;inset:0;z-index:var(--z-overlay);background:var(--scrim);
  display:flex;align-items:center;justify-content:center;
  padding:var(--space-6);overflow:auto;
  -webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));}
.lvr{position:relative;min-width:0;max-width:100%;box-sizing:border-box;--rev-lvr-pad:var(--rev-pad);
  padding-inline:var(--rev-lvr-pad);}
@container page (max-width:1024px){
  .lvr{--nav-arrow-size:var(--rev-arrow-size-tablet);--rev-lvr-pad:calc(var(--nav-arrow-size) / 2 + var(--space-1));}
}
.lvr[data-pages="1"] .lv-arrow{display:none;}
.lvr-view{overflow:hidden;min-width:0;}
.lvr-page{display:grid;gap:var(--rev-gap);align-items:stretch;
  grid-template-columns:repeat(var(--lvr-cols), minmax(0, 1fr));}
.lvr-page[data-dir="next"]{animation:lvr-in-next var(--rev-slide-ms) var(--rev-slide-ease) both;}
.lvr-page[data-dir="prev"]{animation:lvr-in-prev var(--rev-slide-ms) var(--rev-slide-ease) both;}
@media (prefers-reduced-motion: reduce){
  .lvr-page[data-dir]{animation:none;}
}
.lvr-cards{display:contents;}
.lvr-card{display:flex;flex-direction:column;gap:var(--rev-row-gap);
  min-height:calc(var(--rev-card-pad) * 2 + var(--rev-head-h) + var(--rev-star-size)
    + var(--rev-lines) * var(--t-leading-body) * var(--t-size-body)
    + var(--rev-link-h) + var(--rev-row-gap) * var(--rev-row-gaps));
  padding-block:var(--rev-card-pad);
  padding-inline:var(--rev-card-pad);
  background:var(--card);   
  border:var(--inner-card-border);border-radius:var(--surface-radius);
  box-shadow:var(--surface-shadow);}
.lvr-head{display:flex;align-items:center;gap:var(--space-3);}
.lvr-src{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  width:var(--rev-src-size);height:var(--rev-src-size);margin-inline-start:auto;}
.lvr-srcmark{width:100%;height:100%;background:var(--src-mark) center/contain no-repeat;}
.lvr-src[data-src="airbnb"] { --src-mark:url('../icons/platform/airbnb.svg'); }
.lvr-src[data-src="booking"]{ --src-mark:url('../icons/platform/booking.svg'); }
.lvr-src[data-src="google"] { --src-mark:url('../icons/platform/google.svg'); }
.lvr-src[data-src="vrbo"]   { --src-mark:url('../icons/platform/vrbo.svg'); }
.lvr-src:not(.lvr-src--marked) .lvr-srcmark{display:none;}
.lvr-panel-source{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);}
.lvr-panel-source .lvr-src{margin-inline-start:0;}
.lvr-src-link{color:var(--brand-contrast);text-decoration:none;}
.lvr-src-link:hover{text-decoration:underline;}
.lvr-who{min-width:0;display:flex;flex-direction:column;}
.lvr-name{display:flex;align-items:center;gap:var(--space-1);}
.lvr-stars{display:flex;gap:var(--rev-star-gap);}
/* Date, place and stay: one line, commas between, in italic. */
.lvr-meta,
.lvr-panel-meta{font-style:italic;}
.lvr-star{width:var(--rev-star-size);height:var(--rev-star-size);background:var(--star);
  -webkit-mask:var(--rev-star-icon) center/contain no-repeat;
  mask:var(--rev-star-icon) center/contain no-repeat;}
.lvr-star[data-on="0"]{opacity:var(--rev-empty-star-fade);}
.lvr-text{flex:0 0 auto;margin:0;overflow:hidden;
  max-height:calc(var(--rev-lines) * var(--t-leading-body) * 1em);}
.lvr-more[data-shown="0"]{visibility:hidden;}
.lvr-more{display:flex;align-items:center;min-height:var(--tap-min);align-self:flex-start;border:0;padding:0;background:none;
  text-align:left;cursor:pointer;
  font-family:var(--font-body);font-size:var(--t-size-link);
  font-weight:var(--t-weight-medium);color:var(--heading);text-decoration:none;}
.lvr-more:hover{text-decoration:underline;}
.lvr-more:focus{outline:none;}
.lvr-more:focus-visible{outline:var(--focus-ring) solid var(--text);
  outline-offset:var(--focus-offset);}
@container page (max-width:600px){
  .lvr-overlay{padding:var(--space-3);}
}
.lvr-panel{--text:var(--on-surface);width:100%;max-width:var(--rev-full-max-w);max-height:var(--rev-full-max-h);
  overflow:auto;padding:var(--space-6);
  display:flex;flex-direction:column;gap:var(--space-4);
  background:var(--surface);border:var(--inner-border);border-radius:var(--surface-radius);
  box-shadow:var(--glass-shadow);}
.lvr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);}
.lvr-panel-who{min-width:0;display:flex;flex-direction:column;gap:var(--space-2);}
.lvr-panel-close{flex:0 0 auto;border:0;background:transparent;color:var(--text);
  font-size:var(--gal-close-size);line-height:1;cursor:pointer;
  padding:0 var(--space-2);border-radius:var(--btn-radius);}
.lvr-panel-close:hover{color:var(--brand-contrast);}
.lvr-panel-close:focus{outline:none;}
.lvr-panel-close:focus-visible{outline:var(--focus-ring) solid var(--text);
  outline-offset:var(--focus-offset);}
.lvr-panel-body{display:flex;flex-direction:column;gap:var(--space-3);}
.lvr-panel-body p{margin:0;}
.lvr .lv-arrow{position:absolute;top:50%;z-index:var(--z-part);}
.lvr .lv-arrow[data-side="prev"]{left:var(--rev-lvr-pad);transform:translate(-50%, -50%);}
.lvr .lv-arrow[data-side="next"]{right:var(--rev-lvr-pad);transform:translate(50%, -50%);}
/* The guest's review page (review.dc.html). */
.lv-revpage{--text:var(--on-background);min-height:100dvh;display:flex;align-items:center;background:var(--background);}
.lv-revpage__inner{width:100%;}
.lv-revpage__card{max-width:var(--measure);margin-inline:auto;}
.lv-revform{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5);}
.lv-revform__label{margin-top:var(--space-4);}
.lv-revform__label:first-child{margin-top:0;}
.lv-revform__text{resize:vertical;min-height:var(--rev-text-min-h);}
.lv-revform__stars{display:flex;gap:var(--space-1);}
.lv-revform__star{background:none;border:0;padding:0 var(--space-1);cursor:pointer;line-height:1;
  font-size:var(--rev-star-pick);color:var(--text-muted);
  transition:color var(--dur-quick) var(--ease);}
.lv-revform__star[aria-pressed="true"]{color:var(--star);}
.lv-revform__star:hover{color:var(--brand-strong);}
.lv-revform__error{color:var(--accent-strong);}
.lv-revform__send{margin-top:var(--space-5);align-self:flex-start;}

/* modules/chatAssistant/style.css */
:root{
  --bot-launcher-size:56px;
  --bot-pulse-dur:2.8s; --bot-pulse-delay:1.4s;
  --bot-pulse-from:   .45;
  --bot-pulse-scale:  1.85;
  --bot-panel-h:      75cqh;
  --z-bot:        900;
  --z-bot-panel:  901;
  --bot-msg-max-w:       85%;
  --bot-panel-w:       420px;
  --bot-textarea-h:     88px;
  --bot-hover-lift:     -1px;
}
/* The chat and Welcome offer docks share their frame, joined by selector. */
.lvbot-dock,
.lvwo-dock{position:absolute;bottom:var(--corner-inset);left:0;right:0;height:0;width:100%;
  max-width:var(--container-max);margin-inline:auto;pointer-events:none;}
.lvbot-dock{z-index:var(--z-bot);}
.lvbot-dock > *,
.lvwo-dock > *{pointer-events:auto;}
@keyframes lvbot-pulse{0%{transform:scale(1);opacity:var(--bot-pulse-from);}80%{opacity:0;}100%{transform:scale(var(--bot-pulse-scale));opacity:0;}}
.lvbot-embed{width:100%;}
.lvbot-embed[data-off="1"]{opacity:var(--off-fade);}
.lvbot-editnote{--text:var(--on-surface);display:none;align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border-w) dashed var(--border-strong);border-radius:var(--surface-radius);background:var(--surface);}
.lvbot-editnote[data-on]{display:flex;}
.lvbot-editnote-txt{display:flex;flex-direction:column;gap:var(--space-0);}
.lvbot-ico{--icon-size:var(--icon-xs);color:var(--text);flex-shrink:0;}
.lvbot-launcher{position:absolute;right:var(--corner-inset);bottom:0;z-index:var(--z-bot);
  display:flex;align-items:center;justify-content:center;isolation:isolate;
  width:var(--bot-launcher-size);height:var(--bot-launcher-size);padding:0;
  border:var(--border-w) solid var(--on-accent);border-radius:var(--radius-pill);
  background:var(--accent);color:var(--on-accent);box-shadow:var(--elev-3);cursor:pointer;
  transition:transform var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease);}
.lvbot-launcher:hover{transform:translateY(var(--bot-hover-lift));box-shadow:var(--elev-3);}
.lvbot-launcher-ico{--icon-size:var(--icon-lg);color:var(--on-accent);}
.lvbot-launcher::before,.lvbot-launcher::after{content:"";position:absolute;inset:0;z-index:-1;
  border-radius:var(--radius-pill);border:var(--border-w-thick) solid var(--accent);
  opacity:0;animation:lvbot-pulse var(--bot-pulse-dur) ease-out infinite;}
.lvbot-launcher::after{animation-delay:var(--bot-pulse-delay);}
@media (prefers-reduced-motion:reduce){
  .lvbot-launcher::before,.lvbot-launcher::after{animation:none;}
}
.lvbot-panel{--text:var(--on-surface);position:absolute;right:var(--corner-inset);bottom:0;z-index:var(--z-bot-panel);
  display:flex;flex-direction:column;overflow:hidden;
  width:min(var(--bot-panel-w), calc(100cqw - (var(--corner-inset) * 2)));
  height:var(--bot-panel-h);
  max-height:calc(100cqh - (var(--corner-inset) * 2));
  background:var(--surface);color:var(--on-surface);border:var(--inner-border);border-radius:var(--surface-radius);
  box-shadow:var(--elev-3);}
.lvbot-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);
  padding:var(--space-5);background:var(--brand-strong);color:var(--on-brand);}
.lvbot-panel-head .t-card-title,
.lvbot-panel-head .t-caption{color:var(--on-brand);}
.lvbot-panel-title{display:flex;flex-direction:column;gap:var(--space-1);}
.lvbot-panel-title .t-caption{opacity:var(--opacity-soft);}
.lvbot-panel-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:var(--gal-close-size);height:var(--gal-close-size);padding:0;border:0;border-radius:var(--btn-radius);cursor:pointer;
  background:var(--on-brand-soft);color:var(--on-brand);
  font-size:var(--t-size-body);line-height:1;}
.lvbot-panel-body{--text:var(--on-background);flex:1;min-height:0;overflow-y:auto;padding:var(--space-5);
  display:flex;flex-direction:column;gap:var(--space-3);background:var(--background);
  scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;}
.lvbot-panel-body::-webkit-scrollbar{width:var(--scrollbar-w);}
.lvbot-panel-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);
  background-clip:content-box;border:var(--scrollbar-pad) solid transparent;}
.lvbot-msg{--text:var(--on-surface);max-width:var(--bot-msg-max-w);padding:var(--space-4);border-radius:var(--surface-radius);
  background:var(--surface);border:var(--inner-border);color:var(--text);}
.lvbot-msg--bot{align-self:flex-start;}
.lvbot-msg--user{align-self:flex-end;background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.lvbot-msg--user .t-body{color:var(--on-brand);}
.lvbot-msg--note{align-self:stretch;max-width:100%;background:var(--surface-tint);border-style:dashed;color:var(--text-muted);text-align:center;}
.lvbot-contact-open{--text:var(--on-surface);align-self:flex-start;padding:var(--space-3) var(--space-4);cursor:pointer;
  border:var(--border-w) solid var(--brand);border-radius:var(--btn-radius);
  background:var(--surface);color:var(--brand-contrast);font-family:var(--font-body);
  font-size:var(--t-size-body);font-weight:var(--t-weight-medium);}
.lvbot-contact{--text:var(--on-surface);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);
  background:var(--surface);border:var(--inner-border);border-radius:var(--surface-radius);}
.lvbot-contact textarea.lvbot-input{min-height:var(--bot-textarea-h);resize:vertical;}
.lvbot-cerr{color:var(--brand-strong);}
.lvbot-contact-acts{display:flex;gap:var(--space-3);}
.lvbot-cancel{--text:var(--on-surface);padding:var(--space-3) var(--space-5);cursor:pointer;border-radius:var(--btn-radius);
  border:var(--border-w) solid var(--border);background:var(--surface);color:var(--text);
  font-family:var(--font-body);font-size:var(--t-size-body);}
.lvbot-panel-foot{--text:var(--on-surface);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);
  border-top:var(--border-w-hair) solid var(--border);background:var(--surface);}
.lvbot-input{flex:1;min-width:0;}
.lvbot-send{flex-shrink:0;padding:var(--space-3) var(--space-5);border:0;border-radius:var(--btn-radius);
  background:var(--brand-strong);color:var(--on-brand);font-family:var(--font-body);
  font-size:var(--t-size-body);font-weight:var(--t-weight-medium);cursor:pointer;}
@container page (max-width:1024px){
  .lvbot-panel{right:0;left:0;bottom:calc(-1 * var(--corner-inset));width:100%;max-width:none;
    border-left:0;border-right:0;border-bottom:0;
    border-radius:var(--surface-radius) var(--surface-radius) 0 0;}
}
@container page (max-width:600px){
  .lvbot-panel{height:calc(100cqh - var(--menu-h));max-height:none;}
}

/* modules/welcomeOffer/style.css */
:root{
  --wo-art-h:             180px;
  --wo-art-h-phone:       140px;
  --wo-cat-h:             140px;
  --wo-cat-h-phone:       104px;
  --wo-panel-max-w:       calc(var(--measure) * 0.6 + var(--space-5) * 2);
  --wo-prize-size:        calc(var(--t-size-display) * 1.75);
  --wo-tag-text:          19px;
}
@container page (max-width:600px){
  .lvwo-panel{--wo-art-h:var(--wo-art-h-phone);--wo-cat-h:var(--wo-cat-h-phone);}
}
.lvwo-panel{max-width:var(--wo-panel-max-w);padding:0;position:relative;
  background:var(--tone-bg);color:var(--tone-fg);}
/* The X is ink on card, so it reads on any colour the host picks. */
.lvwo-close,.lvwo-close:hover{background:var(--card);color:var(--on-card);border-radius:var(--btn-radius);
  padding:var(--space-1) var(--space-2);}
.lvwo-dock{z-index:var(--z-overlay);}
.lvwo-tag{position:absolute;left:var(--corner-inset);bottom:0;
  border-radius:var(--radius-pill);box-shadow:var(--glass-shadow);font-size:var(--wo-tag-text);}
.lvwo-art{display:flex;align-items:center;justify-content:center;overflow:hidden;
  flex:0 0 auto;
  height:var(--wo-art-h);background:var(--surface-tint);}
.lvwo-artimg[data-art="cat"]{height:var(--wo-cat-h);width:auto;}
.lvwo-artimg[data-art="photo"]{width:100%;height:100%;object-fit:cover;}
.lvwo-body{padding:var(--space-5);}
/* The offer is a banner across the panel, in the button's colours, at section-title size. */
.lvwo-tear{display:flex;justify-content:center;align-self:stretch;margin-inline:calc(var(--space-5) * -1);
  padding:var(--space-3) var(--space-5);background:var(--btn-primary);color:var(--on-btn-primary);}
.lvwo-eyebrow{color:var(--tone-fg);}
.lvwo-msg{color:var(--tone-fg);}
.lvwo-panel .lvwo-offer{color:inherit;text-align:center;}
.lvwo-panel .lvwo-send{--c:var(--btn-primary);--c-strong:var(--btn-primary-strong);--on-c:var(--on-btn-primary);}
.lvwo-tag[data-tone]{--c:var(--tone-bg);--c-strong:var(--tone-bg);--on-c:var(--tone-fg);}
.lvwo-error, .lvwo-fine{font-family:var(--font-body);font-size:var(--t-size-caption);font-weight:var(--t-weight-regular);line-height:var(--t-leading-caption);}
.lvwo-error{color:var(--error-text);}
.lvwo-fine{color:var(--tone-fg-faint);}
.lvwo-body--granted{gap:var(--space-4);}
.lvwo-stub{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);
  border:var(--border-w) dashed var(--tone-line);border-radius:var(--btn-radius);
  padding:var(--space-4);width:100%;box-sizing:border-box;}
/* One line: --wo-prize-fit (set by component-WelcomeOffer when the code would not fit) shrinks it instead of breaking it. */
.lvwo-prize{--wo-prize-fit:1;color:var(--tone-fg);font-size:calc(var(--wo-prize-size) * var(--wo-prize-fit));white-space:nowrap;max-width:100%;}

/* modules/cards/style.css */
:root{
  --gal-card-min:      240px;
  --gal-cols:          2;
}
.lvgal-title{font-family:var(--font-body);font-size:var(--t-size-card-title);font-weight:var(--t-weight-bold);line-height:var(--t-leading-card-title);color:var(--text);}
.lv-card-nested  { background:var(--card-nested); border:var(--inner-card-border); border-radius:var(--surface-radius); box-shadow:var(--elev-2); }
/* One grid for every card style: one gap, read by the grid and by the column width. */
.lv-photogrid{display:grid;align-content:start;gap:var(--img-gap);padding-inline:var(--sec-text-pad-inline);
  grid-template-columns:repeat(auto-fit,
    minmax(max(var(--gal-card-min),
               calc((100% - (var(--gal-cols) - 1) * var(--img-gap)) / var(--gal-cols))), 1fr));}
.lv-photogrid:not(:has(*)) { display:none; }
.lvgal-card{padding:var(--rev-card-pad);display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden;}
.lv-gal-fill{position:relative;aspect-ratio:var(--ratio-wide);
  margin:calc(-1 * var(--rev-card-pad)) calc(-1 * var(--rev-card-pad)) 0;
  border-radius:var(--surface-radius) var(--surface-radius) 0 0;}
.lvgal-head{display:flex;align-items:center;gap:var(--space-3);}
.lvgal-ico{--icon-size:var(--space-6);color:var(--accent);flex:0 0 auto;}
.lvgal-cardtext{display:flex;flex-direction:column;gap:var(--space-1);}
.lvgal-type{font-family:var(--font-body);font-weight:var(--t-weight-regular);line-height:var(--t-leading-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--t-track-caps);font-size:var(--t-size-eyebrow);}
.lvgal-meta{font-family:var(--font-body);font-size:var(--t-size-caption);line-height:var(--t-leading-caption);color:var(--text);font-weight:var(--t-weight-medium);}
.lvgal-footer{margin-top:auto;padding-top:var(--space-3);border-top:var(--border-w-hair) solid var(--border);display:flex;}
.lvgal-link{display:inline-flex;align-items:center;min-height:var(--tap-min);text-decoration:none;border-bottom:var(--border-w) dashed var(--border-strong);}
.lvgal-addr--link{display:flex;align-items:center;min-height:var(--tap-min);color:var(--heading); cursor:pointer;}
.lvgal-addr--link:hover{text-decoration:underline;}

/* modules/guide/style.css */
:root{
  --guide-three-rows:   1.3fr 1fr;
  --amenity-type:       var(--t-size-caption);
  --amenity-label-gap:  6px;
  --amenity-head-scale: 0.5;
}
.lvl-list{display:flex;flex-direction:column;gap:var(--space-4);padding-inline:var(--sec-text-pad-inline);margin:0;list-style:none;max-width:var(--measure);}
.lvl-row{display:flex;flex-direction:column;gap:var(--space-2);}
.lvl-lead{display:flex;align-items:center;gap:var(--space-3);}
.lvl-lead > .t-body{font-size:var(--t-size-parent);}
.lvl-ico{--icon-size:var(--amenity-icon-size);color:var(--text);flex-shrink:0;}
.lvl-sublist{display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 0 calc(var(--amenity-icon-size) / 2);
             padding:0 0 0 calc(var(--amenity-icon-size) / 2 + var(--space-3));list-style:none;
             border-left:var(--border-w) solid var(--border);}
.lvl-list[data-wrap="on"]{display:block;max-width:none;column-gap:var(--space-6);}
.lvl-list[data-wrap="on"] .lvl-row{break-inside:avoid;margin-bottom:var(--space-4);}
.lvl-list[data-wrap="on"] .lvl-row:last-child{margin-bottom:0;}
@container page (min-width:601px) and (max-width:1024px){ .lvl-list[data-wrap="on"]{columns:2;} }
@container page (min-width:1025px){
  .lv-grid[data-rail="on"] .lvl-list[data-wrap="on"],
  .lv-grid[data-rail="off"][data-cols="two"] .lvl-list[data-wrap="on"]{columns:2;}
  .lv-grid[data-rail="off"][data-cols="one"] .lvl-list[data-wrap="on"]{columns:3;}
}
.lv-sec-tail > .sc-host{ display:contents; }
.lv-sec-tail      { display:flex; flex-direction:column; gap:var(--sec-gap);
                    padding:0 var(--sec-text-pad-inline) 0; }
.lv-sec-tail > *  { margin:0; }
.lv-sec-tail:not(:has(*)){ display:none; }
@container page (min-width:1025px){
  .lv-grid[data-rail="off"][data-cols="one"] .lvg-section > .lv-sec-tail,
  .lv-grid[data-rail="off"][data-cols="one"] .lvg-section > .sc-host:has(> .lv-sec-tail){flex-basis:100%;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"]:is([data-count="1"],[data-count="2"],[data-count="3"],[data-count="4"]){position:absolute;inset:0;display:grid;gap:var(--img-gap);}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"]:is([data-count="1"],[data-count="2"],[data-count="3"],[data-count="4"]) .lvg-cell{grid-column:auto;aspect-ratio:auto;height:auto;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"][data-count="1"]{grid-template-columns:1fr;grid-template-rows:1fr;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"][data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"][data-count="3"]{grid-template-columns:1fr 1fr;grid-template-rows:var(--guide-three-rows);}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"][data-count="3"] > .lvg-cell:first-child{grid-column:1 / -1;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-guide-photos[data-alone="yes"][data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
}
@container page (max-width: 600px){
  .lv-guide-photos { gap:var(--space-3); }
  .lv-map { aspect-ratio:var(--ratio-wide); }
  .lv-amenities { gap:var(--space-2) var(--space-3); }
  .lvg-amenity  { --amenity-label-gap:var(--space-1); }
}
.lv-section:has(.lv-sec-tail){display:flex;flex-direction:column;gap:var(--sec-gap);}
.lv-map-box{position:relative;overflow:hidden;width:100%;aspect-ratio:var(--ratio-map);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border:var(--inner-border);border-radius:var(--surface-radius);background:var(--surface-tint);}
.lv-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.lvg-map-ico{--icon-size:var(--icon-xl);color:var(--accent);}
.lvg-amenity-ico{--icon-size:var(--amenity-icon-size);color:var(--text);flex-shrink:0;}
.lv-amenities{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);}
.lvg-amenity{display:flex;align-items:center;gap:var(--amenity-label-gap);flex:0 0 auto;}
/* Amenities sit half a heading gap further from the title, and from the text under them. */
.lv-sec-head .lv-amenities{margin-top:calc(var(--t-space-section) * var(--amenity-head-scale));}
.lv-sec-head:has(.lv-desc) .lv-amenities{margin-bottom:calc(var(--t-space-section) * var(--amenity-head-scale));}
.lvg-perk{font-size:var(--amenity-type);}
.lv-guide-photos{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--img-gap);}
.lvg-cell[data-span="2"]{grid-column:span 2;}
.lvg-cell[data-span="3"]{grid-column:span 3;}
.lvg-cell[data-span="6"]{grid-column:span 6;}
@container page (max-width:600px){
  .lv-guide-photos{grid-template-columns:repeat(4,1fr);}
  .lvg-cell[data-span]{grid-column:span 2;}
  .lvg-cell[data-span="6"]{grid-column:span 4;}
}
.lvg-cell{aspect-ratio:var(--ratio-wide);overflow:hidden;}
/* Map beside one photo: only in full-width sections with no rail. Everywhere else the map sits above all the photos. */
.lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"]{display:grid;gap:var(--img-gap);}
@container page (min-width:601px){
  .lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"]{grid-template-columns:1fr 1fr;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"] .lv-map-box{aspect-ratio:var(--ratio-wide);}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"] .lv-guide-photos{position:relative;inset:auto;display:block;height:100%;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"] .lvg-cell{height:100%;aspect-ratio:auto;}
  .lv-grid[data-rail="off"][data-cols="one"] .lv-sec-body[data-pair="yes"] .lv-guide-photos > :not(:first-child){display:none;}
}
.lvg-cell[data-ratio="square"]{aspect-ratio:var(--ratio-square);}
.lv-photo-fill{position:relative;width:100%;height:100%;border-radius:var(--surface-radius);background-size:cover;background-position:center;background-repeat:no-repeat;}
.lvg-highlight{display:flex;gap:var(--space-3);align-items:flex-start;border:var(--inner-border);border-radius:var(--surface-radius);padding:var(--space-3) var(--space-4);background:var(--surface-tint);max-width:var(--measure);}
.lvg-hl-ico{--icon-size:var(--icon-md);color:var(--accent);flex-shrink:0;}
.lvg-hl-text{margin:0;}
.lvg-inlink{text-decoration:none;border-bottom:var(--border-w) dashed var(--brand);}
.lvg-btns{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.lvg-btn{align-self:flex-start;text-decoration:none;}
.pm-wrap{position:relative;width:100%;aspect-ratio:var(--ratio-map);overflow:hidden;
  border:var(--inner-border);border-radius:var(--surface-radius);background:var(--surface-tint);}
.pm-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.pm-wrap[data-state="empty"] .pm-frame{display:none;}

/* modules/guidebook/style.css */
:root{
  --gb-card-title:      16px;
  --gb-card-title-narrow: 12px;
  --gb-card-gap:        var(--space-1);
  --gb-card-pad:         var(--space-2);
  --gb-bar-pad-block:   10px;
  --gb-bar-pad-block-narrow: 5px;
  --gb-chip-text:       10px;
  --gb-chip-h:          26px;
  --gb-chip-max:           4;
  --gb-bar-h:           36px;  --gb-bar-h-phone:     26px;
  --gb-map-share:    47.5%;
  --gb-places-share: 52.5%;
  --map-canvas-max:     760px;
  --gb-map-open-h:      320px;
  --gb-map-open-h-phone: 240px;
  --gb-grab-band:        20px;
  --gb-grab-w:           40px;
  --gb-grab-h:            4px;
  --gb-sheet-drag-min:   32px;
  --gb-sheet-pad-end:     var(--space-7);
  --gb-chip-touch-pad:     var(--space-1);
  --gb-card-min:        240px;
  --gb-filters-h:       68px;
  --dot-box:        15px;  --dot-size:      15px;
  --dot-box-sel:    24px;  --dot-size-sel:  20px;
  --dot-ring-w:     2px;   --dot-ring-w-lg: 3px;
  --gbm-probe-expr:  none;
  --dot-color:       transparent;
  --gb-chip-text-map:     12px;
  --gb-dot-quiet:         0.2;
  --gb-map-hold:        180ms;
  --gb-map-hold-slop:      8px;
  --gb-map-reset-size:    40px;
  --gb-sheet-btn-text:    12px;
  --gb-sheet-glyph:       22px;
  --gb-sheet-text:        var(--t-size-caption);
  --gb-sheet-title:       16px;
  --gbf-ico-size:       14px;
  --place-cat-size:     var(--icon-md);
}
:root, [data-lvtheme]{
  --dot-shadow:   0 1px 5px color-mix(in srgb, var(--text) 50%, transparent);
}
.gb-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);}
.gb-toolbar .gb-filters-mount{flex:1 1 auto;min-width:0;}
.gb-toolbar .gb-sort-mount{flex:0 0 auto;margin-left:auto;}
.gb-shell{padding:calc(var(--surface-pad) * var(--surface-pad-scale));margin-bottom:var(--section-gap);}
.gb-body{display:flex;flex-direction:column;gap:var(--section-gap);}
.gb-cols{display:flex;gap:var(--section-gap);align-items:flex-start;}
.gb-cols > .gb-places{flex:1 1 var(--gb-places-share);min-width:0;}
.gb-cols > .gb-mapcol{flex:1 1 var(--gb-map-share);min-width:0;}
.gb-cats{--text:var(--on-surface);position:sticky;top:var(--menu-h);z-index:var(--z-map-cats);grid-column:1 / -1;background:var(--surface);
  padding:var(--gb-bar-pad-block) 0;border-bottom:var(--border-w-hair) solid transparent;
  transition:border-color var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease);}
.gb-cats[data-stuck]{border-bottom-color:var(--border);box-shadow:var(--surface-shadow);}
.gb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--gb-card-min),1fr));gap:var(--gb-card-gap);}
.gb-empty{margin:0;color:var(--text-muted);padding-inline:var(--sec-text-pad-inline);}
.gb-places{position:relative;min-width:0;}
.gb-grab{display:none;}
.gb-mapcol{display:grid;position:sticky;
  top:calc(var(--menu-h) + var(--gb-filters-h));z-index:var(--z-rail);}
@container page (max-width:1024px){
  .gb-cats{--gb-bar-pad-block:var(--gb-bar-pad-block-narrow);order:0;}
  .gb-cards{--gb-card-title:var(--gb-card-title-narrow);grid-template-columns:repeat(2,minmax(0,1fr));}
  .gb-cols{flex-direction:column;}
  .gb-cols > .gb-places, .gb-cols > .gb-mapcol{flex:0 0 auto;width:100%;}
  .gb-mapcol{order:1;display:block;}
  .gb-places{order:2;}
}
@container page (max-width:600px){
  .gb-cards{grid-template-columns:minmax(0,1fr);}
}
:root:has(.lv-page[data-guide="map"]){ scroll-snap-type:y mandatory; }
.lv-page[data-guide="map"] .lv-introblock,
.lv-page[data-guide="map"] .gb-shell{ scroll-snap-align:start; scroll-snap-stop:always;
  scroll-margin-top:var(--menu-h); }

@container page (max-width:1024px){
  .lv-page--flush[data-guide="map"] .lv-inner{padding-bottom:0;}
  .lv-page[data-guide="map"] .gb-shell{padding:0;margin-bottom:0;border:0;background:none;box-shadow:none;}

  .lv-page[data-guide="map"] .gb-body{
    --gb-screen-h:calc(100dvh - var(--menu-h));
    --gb-sheet-h:0px;
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-areas:"map" "sheet";
    grid-template-rows:minmax(0,1fr) var(--gb-sheet-h);
    align-items:stretch;
    height:var(--gb-screen-h);gap:0;}
  .lv-page[data-guide="map"][data-sheet="peek"] .gb-body{--gb-sheet-h:auto;}
  .lv-page[data-guide="map"][data-sheet="open"] .gb-body{--gb-sheet-h:calc(var(--gb-screen-h) - var(--gb-map-open-h));}

  .lv-page[data-guide="map"] .gb-cols{display:contents;}

  .lv-page[data-guide="map"] .gb-mapcol{grid-area:map;position:static;min-height:0;z-index:1;
    display:grid;grid-template-rows:auto minmax(0,1fr);}
  .lv-page[data-guide="map"] .gb-mapcol > .sc-host{grid-row:2;}
  .lv-page[data-guide="map"] .gb-mapcol .sc-host{height:100%;min-height:0;}
        .lv-page[data-guide="map"] #gbmap-canvas[data-grabbed]{cursor:grabbing;}
  .lv-page[data-guide="map"] .leaflet-top.leaflet-left{margin-top:var(--gb-filters-h);}
    .lv-page[data-guide="map"] #gbmap-canvas{height:100%;min-height:0;
    border-radius:0;box-shadow:none;
    border:0;border-block:var(--border-w-hair) solid var(--border);}

  .lv-page[data-guide="map"] .gb-cats{grid-area:map;align-self:start;position:relative;z-index:var(--z-part);
    top:auto;background:none;border:0;box-shadow:none;padding:var(--space-2) var(--space-3);}
            .lv-page[data-guide="map"] .gbf-btn{flex:0 0 auto;position:relative;}
  .lv-page[data-guide="map"] .gbf-btn::after{content:"";position:absolute;
    inset:calc(-1 * var(--gb-chip-touch-pad));}
  .lv-page[data-guide="map"] .gbf-btn.t-btn--quiet:not(:hover){background:var(--btn-quiet);}
  .lv-page[data-guide="map"] .gbf-btn.t-btn--filled:hover{background:var(--c);border-color:var(--c);}

  .lv-page[data-guide="map"] .gb-places{grid-area:sheet;z-index:var(--z-part-top);min-height:0;overflow:hidden;
    display:flex;flex-direction:column;
    background:var(--gbm-road);color:var(--gbm-ink);
    border:var(--inner-border);border-color:var(--gbm-road-edge);border-bottom:0;
    border-radius:var(--surface-radius) var(--surface-radius) 0 0;box-shadow:var(--surface-shadow);}
  .lv-page[data-guide="map"] .gb-cards .pc-card{--text:var(--gbm-ink);background:var(--gbm-road);color:var(--gbm-ink);
    border-color:var(--gbm-road-edge);}
        .lv-page[data-guide="map"][data-sheet="none"] .gb-places{display:none;}

  .lv-page[data-guide="map"] .gb-grab{display:flex;align-items:center;justify-content:center;
    flex:0 0 auto;height:var(--gb-grab-band);padding:0;border:0;background:none;
    cursor:grab;touch-action:none;}
  .lv-page[data-guide="map"] .gb-grab-bar{width:var(--gb-grab-w);height:var(--gb-grab-h);
    border-radius:var(--radius-pill);background:var(--border);}

  .lv-page[data-guide="map"] .gb-cards{grid-template-columns:minmax(0,1fr);gap:0;
    overflow-y:auto;min-height:0;}
  .lv-page[data-guide="map"][data-sheet="peek"] .gb-cards > *:not(:first-child){display:none;}
  .lv-page[data-guide="map"] .gb-cards .pc-card{
    border-radius:0;border-inline:0;border-top:0;
    display:grid;align-items:center;column-gap:var(--space-3);
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"glyph title link" "glyph facts link";}
                .lv-page[data-guide="map"][data-sheet="peek"] .gb-cards > *:first-child .pc-card,
  .lv-page[data-guide="map"][data-sheet="open"] .gb-cards > *:last-child .pc-card{
    padding-bottom:var(--gb-sheet-pad-end);}

  }
@container page (max-width:600px){
  .lv-page[data-guide="map"] .gb-body{--gb-map-open-h:var(--gb-map-open-h-phone);}
}
@container page (max-width:1024px){
  .gb-toolbar{flex-direction:column-reverse;align-items:stretch;}
  .gb-toolbar .gb-filters-mount{width:100%;}
  .gb-toolbar .gb-sort-mount{align-self:flex-end;}
  .gb-shell { width:100cqw; margin-inline:calc(50% - 50cqw);
              border:0; border-radius:0; box-shadow:none;
              padding-inline:calc(50cqw - 50% + calc(var(--surface-pad) * var(--surface-pad-scale))); }
}
.gbf-btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--gb-chip-h);
  font-size:var(--gb-chip-text);letter-spacing:var(--t-track-button-xs);padding:0 var(--space-3);}
.gb-toolbar .lv-select{min-height:var(--gb-bar-h);height:var(--gb-bar-h);padding-top:0;padding-bottom:0;border-radius:var(--radius-pill);}
@container page (max-width:600px){
  .gb-toolbar{--gb-bar-h:var(--gb-bar-h-phone);}
      }
.pc-card{--text:var(--on-surface);background:var(--surface);
  border-style:solid;border-color:var(--border);
  border-width:var(--inner-border-w);
  border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);
  position:relative;padding:var(--gb-card-pad);display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden;cursor:pointer;transition:background-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);}
.lv-page:not([data-guide="map"]) .pc-card:hover{background:var(--surface-sunken);color:var(--text);}
.leaflet-container{font-family:var(--font-body);background:var(--surface-sunken);}
.leaflet-popup-content{font-family:var(--font-body);font-size:var(--t-size-caption);line-height:var(--t-leading-popup);}
.leaflet-popup-content b{font-family:var(--font-heading);color:var(--brand-contrast);}
.leaflet-popup-content a{color:var(--brand-contrast);font-weight:var(--t-weight-medium);}
#gbmap-canvas{position:relative;height:var(--map-canvas-max);width:100%;overflow:hidden;background:var(--surface-sunken);border:var(--inner-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);transition:height var(--dur-base) var(--ease);}
.gbm-colour-probe{position:absolute;width:0;height:0;overflow:hidden;color:var(--gbm-probe-expr);}
.gbm-pin-house{fill:var(--surface);}
.gbm-pin-ring{stroke:var(--surface);fill:var(--brand);}
.gbm-pin-door{fill:var(--brand);}
@container page (max-width:1024px){
  .lv-page[data-guide="map"] .gbm-showall{display:none;}
  .lv-page[data-guide="map"] .gbm-reset{display:flex;}
  .lv-page[data-guide="map"] .gbm-ctrls{top:auto;bottom:var(--space-6);}
  .lv-page[data-guide="map"] .gbm-wrap .leaflet-popup{display:none;}
  .lv-page[data-guide="map"] .gb-toolbar .gbs-label{display:none;}
  .lv-page[data-guide="map"] .gbf-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;--gb-chip-text:var(--gb-chip-text-map);}
  .lv-page[data-guide="map"] .gbf-nav::-webkit-scrollbar{display:none;}
  .lv-page[data-guide="map"] .pc-metarow{display:contents;}
  .lv-page[data-guide="map"] .pc-cat{grid-area:glyph;margin-inline-start:0;
    width:var(--gb-sheet-glyph);height:var(--gb-sheet-glyph);}
  .lv-page[data-guide="map"] .pc-title{grid-area:title;color:var(--gbm-ink);font-size:var(--gb-sheet-title);
    white-space:normal;}
  .lv-page[data-guide="map"] .pc-meta{grid-area:facts;color:var(--gbm-ink-quiet);font-size:var(--gb-sheet-text);}
  .lv-page[data-guide="map"] .pc-links{grid-area:link;padding-right:0;flex-wrap:nowrap;}
  .lv-page[data-guide="map"] .pc-desc,
  .lv-page[data-guide="map"] .pc-link--goo .pc-link-arrow,
  .lv-page[data-guide="map"] .pc-link--dir{display:none;}
  .lv-page[data-guide="map"] .pc-link--goo{color:var(--gbm-ink);
    display:inline-flex;align-items:center;justify-content:center;
    min-height:var(--gb-bar-h);padding:0 var(--space-3);
    font-family:var(--font-label);font-size:var(--gb-sheet-btn-text);font-weight:var(--t-weight-bold);
    text-transform:uppercase;letter-spacing:var(--t-track-button-sm);}
}
.gbf-nav{display:flex;gap:var(--space-2);flex-wrap:wrap;}
.gbf-ico{width:var(--gbf-ico-size);height:var(--gbf-ico-size);flex-shrink:0;background:currentColor;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat;}
@container page (max-width:600px){
  .gbf-nav{gap:var(--space-1);}
  .lv-page:not([data-guide="map"]) .gbf-nav .gbf-ico{display:none;}
  .lv-page:not([data-guide="map"]) .gbf-nav .gbf-btn{padding-left:var(--space-2);padding-right:var(--space-2);gap:0;}
}
.gbs-label{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;}
.lv-page:not([data-guide="map"]) .pc-card:hover .pc-desc{color:var(--text);}
.pc-title{font-family:var(--font-body);font-weight:var(--t-weight-bold);color:var(--text);
  font-size:var(--gb-card-title);line-height:var(--t-leading-place-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pc-metarow{display:flex;align-items:center;gap:var(--space-1);}
.pc-metarow svg{flex-shrink:0;}
.gb-placemeta{font-family:var(--font-body);line-height:var(--t-leading-caption);font-size:var(--t-size-field-label);font-weight:var(--t-weight-regular);color:var(--text);}
.pc-meta{white-space:nowrap;}
.pc-desc{font-family:var(--font-body);font-weight:var(--t-weight-regular);font-size:var(--t-size-caption);line-height:var(--t-leading-caption);color:var(--text-muted);margin:0;}
.pc-links{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-right:var(--space-6);}
.pc-link{font-family:var(--font-body);font-size:var(--t-size-field-label);font-weight:var(--t-weight-medium);color:var(--heading);}
.pc-cat{background:var(--text);margin-inline-start:auto;flex:0 0 auto;width:var(--place-cat-size);height:var(--place-cat-size);pointer-events:none;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat;}
.pc-fav{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-part);display:inline-flex;align-items:center;gap:var(--space-0);padding:var(--space-hair) var(--space-2);border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);font-family:var(--font-label);font-weight:var(--t-weight-bold);text-transform:uppercase;font-size:var(--t-size-micro);letter-spacing:var(--t-track-button-sm);line-height:var(--t-leading-chip);}
.gbm-wrap{position:relative;isolation:isolate;height:100%;}
.gb-mapcol:has(.gbm-wrap[data-empty="1"]){display:none;}
.gbm-dot{width:var(--dot-size);height:var(--dot-size);box-shadow:var(--dot-shadow);border-radius:var(--radius-pill);background:var(--dot-color);border:var(--dot-ring-w) solid var(--surface);}
.gbm-dot--sel{border-radius:var(--radius-pill);background:var(--dot-color);border:var(--dot-ring-w) solid var(--surface);width:var(--dot-size-sel);height:var(--dot-size-sel);border-width:var(--dot-ring-w-lg);box-shadow:0 0 0 var(--dot-ring-w-lg) var(--dot-color),var(--dot-shadow);}
.leaflet-popup-content .gbm-pop-goo{margin-left:var(--space-3);}
.gbm-ctrls{position:absolute;top:var(--space-3);right:var(--space-3);z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);}
.gbm-showall{box-shadow:var(--elev-2);}
.gbm-reset{--text:var(--on-surface);display:none;width:var(--gb-map-reset-size);height:var(--gb-map-reset-size);
  align-items:center;justify-content:center;padding:0;cursor:pointer;
  border:var(--inner-border);border-radius:var(--radius-pill);
  background:var(--surface);color:var(--text);box-shadow:var(--surface-shadow);}
.gbm-reset svg{display:block;width:var(--icon-size);height:var(--icon-size);}

/* modules/header/style.css */
:root{
  --home-glyph:         var(--icon-xl);
  --z-menu:       90;
  --home-btn-size:      52px;
  --nav-size:           var(--t-size-button);
  --nav-tracking:       2px;
  --nav-weight:         var(--t-weight-regular);
}
.lv-page:has(.lv-header-bar--glass + .sc-host > .lv-hero-wrapper) .lv-rail-sticky { top:var(--space-4); }
.lv-header-bar .lv-header .t-btn:not([class*="lv-bookbtn--"]){--c:var(--on-header);}
.lv-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);}
.lv-header-bar.lv-header-bar--glass{height:var(--menu-h);box-sizing:border-box;background:var(--glass-brand-bg);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);box-shadow:none;}
.lv-header-bar.lv-header-bar--glass + .sc-host > .lv-hero-wrapper{margin-top:calc(-1 * var(--menu-h));}
.lv-header-bar.lv-header-bar--glass + .sc-host > .lv-hero-wrapper .lv-section-hero{padding-top:var(--menu-h);--hero-over-h:var(--menu-h);}
.lv-header-bar.lv-header-bar--glass + .sc-host > .lv-hero-wrapper .lv-hero-photo{top:calc(-1 * var(--menu-h));}
.lv-header-bar.lv-header-bar--glass:has(+ .sc-host > .lv-hero-wrapper){position:relative;}
.lv-header-bar.lv-header-bar--glass[data-glasstone="dark"]{--glass-scrim:var(--glass-scrim-bar-dark);}
.lv-header-bar.lv-header-bar--glass[data-glasstone="pale"]{--glass-scrim:var(--glass-scrim-bar-pale);}
.lv-header-bar.lv-header-bar--glass::before{content:"";position:absolute;inset:0;background:var(--glass-scrim);pointer-events:none;z-index:0;}
.lv-header-bar.lv-header-bar--glass .lv-header-inner{position:relative;z-index:1;}
.lv-header .lv-nav a[aria-current="page"],
.lv-header .lv-cbtn{background:var(--header-quiet);color:var(--on-header);}
.lv-header .lv-burger{background:none;color:var(--on-header);}
.lv-header-bar .lv-header .t-btn:not([class*="lv-bookbtn--"]):hover,
.lv-header-bar .lv-header .t-btn:not([class*="lv-bookbtn--"]):focus-visible,
.lv-header .lv-burger:hover,
.lv-header .lv-burger:focus-visible{background:var(--header-quiet-strong);color:var(--on-header);}
.lv-header-bar .lv-header .t-btn:not([class*="lv-bookbtn--"]):focus-visible,
.lv-header .lv-burger:focus-visible{outline:var(--border-w-hair) solid var(--on-header);outline-offset:var(--space-1);}
.lv-menu-left{display:flex;align-items:center;gap:var(--space-3);}
.lv-menu-actions{display:flex;align-items:center;gap:var(--space-4);}
.lv-home{display:flex;align-items:center;justify-content:center;width:var(--home-btn-size);height:var(--header-btn-h);flex-shrink:0;border-radius:var(--btn-radius);text-decoration:none;color:var(--on-header);}
.lv-home svg{pointer-events:none;width:var(--home-glyph);height:var(--home-glyph);}
.lv-lead{display:inline-flex;}
/* Page links are not buttons: the current one is a box, never a pill. */
.lv-nav{--btn-radius:var(--page-link-radius);display:flex;align-items:center;gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin-left:auto;}
.lv-header .lv-nav a,
.lv-header .lv-cbtn{font-size:var(--nav-size);letter-spacing:var(--nav-tracking);font-weight:var(--nav-weight);
  padding:var(--space-2) var(--space-3);min-height:var(--header-btn-h);}
.lv-burger{display:none;align-items:center;justify-content:center;padding:0 var(--space-3);height:var(--header-btn-h);flex-shrink:0;border:var(--border-w) solid transparent;border-radius:var(--btn-radius);cursor:pointer;}
.lv-burger svg{width:var(--icon-size);height:var(--icon-size);}
@container page (max-width: 1024px){
  .lv-header { flex-wrap:nowrap; }
  .lv-burger { display:inline-flex; }
  .lv-nav { display:none; position:absolute; top:calc(100% + var(--space-2)); left:0; right:0; flex-direction:column; align-items:stretch; gap:var(--space-2); background:var(--surface-sunken); border:var(--border-w) solid var(--border-strong); border-radius:var(--radius-md); padding:var(--space-3); z-index:var(--z-menu); box-shadow:var(--elev-3); }
  .lv-nav.is-open { display:flex; }
  .lv-nav a           { width:100%; }
  .lv-header-bar .lv-header .lv-nav a.t-btn { --c:var(--text); color:var(--text); }
  .lv-header-bar .lv-header .lv-nav a.t-btn[aria-current="page"] {--text:var(--on-surface); background:var(--surface); color:var(--text); }
  .lv-header-bar .lv-header .lv-nav a.t-btn:hover,
  .lv-header-bar .lv-header .lv-nav a.t-btn:focus-visible {--text:var(--on-surface); background:var(--surface); color:var(--text); box-shadow:none; }
  .lv-header-bar .lv-header .lv-nav a.t-btn:focus-visible { outline-color:var(--text); }
}
@container page (max-width: 600px){
  /* On a phone the contact button is its icon; its words stay its name. */
  .lv-header .lv-cbtn { display:flex; padding:0; width:var(--home-btn-size); height:var(--header-btn-h); min-height:var(--header-btn-h); justify-content:center; background:none; }
  .lv-header .lv-cbtn-ico { display:block; }
  .lv-cbtn-text { display:none; }
  .lv-header { padding:var(--space-1) var(--space-4); }
  .lv-home, .lv-header .lv-cbtn { --home-btn-size:42px; }
  .lv-menu-actions{gap:var(--space-1);}
}
.lv-cbtn svg{flex-shrink:0;}
.lv-cbtn-ico{display:none;width:var(--home-glyph);height:var(--home-glyph);pointer-events:none;}

/* modules/footer/style.css */
:root{
  --footer-links-min:   160px;
  --footer-main-basis:  420px;
  --footer-main-max:    560px;
  --footer-title-slope: 3.4cqw;
  --footer-title-min:   26px;  --footer-title-max:  40px;
}
@container page (max-width:1024px){
  .lv-page[data-guide="map"] .lvf-foot{display:none;}
}
.lvf-foot{color:var(--tone-fg);margin-top:var(--section-stack-gap);
  max-width:var(--container-max);margin-inline:auto;}
.lvf-wrap{background:var(--tone-bg);
  padding:var(--space-8) calc(var(--page-gutter) + var(--surface-pad) * var(--surface-pad-scale) + var(--sec-text-pad-inline)) var(--space-6);}
.lvf-row{display:flex;gap:var(--space-7);justify-content:space-between;flex-wrap:wrap;}
.lvf-main{flex:1 1 var(--footer-main-basis);max-width:var(--footer-main-max);display:flex;flex-direction:column;gap:var(--space-3);}
.lvf-eyebrow{font-family:var(--font-label);font-size:var(--t-size-eyebrow);font-weight:var(--t-weight-bold);letter-spacing:var(--t-track-label);text-transform:uppercase;color:var(--tone-fg-faint);}
.lvf-title{margin:0;font-family:var(--font-heading);font-size:clamp(var(--footer-title-min),var(--footer-title-slope),var(--footer-title-max));font-weight:var(--t-weight-heading);line-height:var(--t-leading-display);color:var(--tone-fg);}
.lvf-blurb{margin:0;font-family:var(--font-body);font-size:var(--t-size-body);font-weight:var(--t-weight-regular);line-height:var(--t-leading-body);color:var(--tone-fg-quiet);max-width:var(--measure-short);text-wrap:pretty;}
.lvf-btns{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.lvf-btn{text-decoration:none;}
.lvf-social{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;font-family:var(--font-label);font-weight:var(--t-weight-bold);text-transform:uppercase;letter-spacing:var(--t-track-label);font-size:var(--t-size-field-label);color:var(--tone-fg);background:transparent;border:var(--border-w) solid var(--tone-edge);padding:var(--space-3) var(--space-5);border-radius:var(--btn-radius);transition:background var(--dur-quick) var(--ease),color var(--dur-quick) var(--ease),border-color var(--dur-quick) var(--ease);}
.lvf-social:hover{background:var(--tone-fg);color:var(--tone-bg);border-color:var(--tone-fg);}
.lvf-social-ico[data-net="facebook"] { --icon:url('../icons/platform/facebook.svg'); }
.lvf-social-ico[data-net="instagram"]{ --icon:url('../icons/platform/instagram.svg'); }
.lvf-social-ico[data-net="whatsapp"] { --icon:url('../icons/platform/whatsapp.svg'); }
.lvf-links{flex:0 1 auto;min-width:var(--footer-links-min);display:flex;flex-direction:column;gap:var(--space-4);}
.lvf-linklist{display:flex;flex-direction:column;gap:var(--space-3);}
.lvf-link{display:flex;align-items:center;min-height:var(--tap-min);text-decoration:none;color:var(--tone-fg-quiet);font-size:var(--t-size-lead);transition:color var(--dur-quick) var(--ease);}
.lvf-link:hover{color:var(--tone-fg);}
.lvf-bottom{margin-top:var(--space-7);padding-top:var(--space-4);border-top:var(--border-w-hair) solid var(--tone-line);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;}
.lv-page:has(.lvbot-dock) .lvf-bottom{padding-right:calc(var(--bot-launcher-size) + var(--corner-inset) * 2);}
.lvf-copyline{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;}
.lvf-copy{color:var(--tone-fg-faint);font-size:var(--t-size-caption);}
.lvf-made{display:inline-flex;align-items:center;min-height:var(--tap-min);color:var(--tone-fg-faint);font-size:var(--t-size-caption);text-decoration:none;letter-spacing:var(--t-track-button-xs);transition:color var(--dur-quick) var(--ease);}
.lvf-made:hover{color:var(--tone-fg);}

/* modules/navigation/style.css */
:root{
  --tab-icon-phone:     28px;
  --tab-icon-rail:      var(--icon-md);
  --tab-label-rail:     17px;
  --tab-label-max:     10ch;
}
/* The tabs stick under the header; a glass header over a Hero scrolls away (header.css), so there they stick to the top. */
.lv-page:has(.lv-header-bar--glass + .sc-host > .lv-hero-wrapper) .lv-pagenav-strip{ top:0; }
.lv-pagenav-strip{ position:sticky; top:var(--menu-h); z-index:var(--z-pagenav); padding:var(--space-2); margin-top:var(--section-stack-gap);
  /* The sections under the strip start one section gap below it. */
  margin-bottom:calc(var(--section-gap) - var(--section-stack-gap)); }
@container page (max-width: 1024px) {
  .lv-section[data-section-id="page-selector"] { margin-top:0;
    margin-left:calc(-1 * var(--page-gutter)); margin-right:calc(-1 * var(--page-gutter));
    padding-left:var(--page-gutter); padding-right:var(--page-gutter);
    border:0; border-bottom:var(--border-w-hair) solid var(--border); box-shadow:var(--elev-2); border-radius:0; }
}
.lv-pagenav       { display:flex; flex-direction:column; gap:var(--space-2); }
.lv-pagenav-item  { display:flex; align-items:center; gap:var(--space-2); padding:var(--space-1) var(--space-4); border:var(--border-w-thick) solid transparent; border-radius:var(--page-link-radius); text-decoration:none; background:transparent; color:var(--brand-contrast); transition:background-color var(--dur-base) var(--ease), color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease); }
.lv-pagenav-icon  { --icon-size:var(--tab-icon-rail); transition:background-color var(--dur-base) var(--ease); }
@media (prefers-reduced-motion: reduce){
  .lv-pagenav-item, .lv-pagenav-icon { transition:none; }
}
.lv-pagenav-label { font-family:var(--font-label); font-size:var(--tab-label-rail); font-weight:var(--t-weight-medium); line-height:var(--t-leading-tab); }
.lv-pagenav-strip .lv-pagenav { flex-direction:row; gap:var(--tab-gap); align-items:stretch; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.lv-pagenav-strip .lv-pagenav::-webkit-scrollbar { width:0; height:0; display:none; }
.lv-pagenav-strip .lv-pagenav-item { flex:1 1 0; min-width:0; flex-direction:column; align-items:center; justify-content:flex-end; gap:var(--space-1); padding:var(--space-2) var(--space-3); color:var(--text-muted); border:0; }
/* After the strip's own ink, so the current page wins there too. */
.lv-pagenav-item.is-active { background:var(--accent); color:var(--on-accent); }
.lv-pagenav-strip .lv-pagenav-label { max-width:var(--tab-label-max); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@container page (max-width: 1024px){
  .lv-pagenav       { flex-direction:row; gap:0; align-items:stretch; }
  .lv-pagenav-item  { flex:1; min-width:0; flex-direction:column; justify-content:flex-end; gap:var(--space-1); padding:var(--space-1) var(--space-1) var(--space-2); color:var(--text-muted); border:0; }
  .lv-pagenav-label { font-size:var(--t-size-caption); font-weight:var(--t-weight-regular); white-space:nowrap; }
}
@container page (max-width: 600px){
  .lv-pagenav-icon  { --icon-size:var(--tab-icon-phone); }
}

/* modules/intro/style.css */
:root{
  /* Desktop: story and photos share the row as a Text section's head and body do. */
  --about-story:    calc((100% - var(--space-7)) * var(--sec-head-grow) / (var(--sec-head-grow) + var(--sec-body-grow)));
  --about-grid:     var(--about-story) var(--space-7) 1fr var(--img-gap) 1fr;
  --about-grid-one: var(--about-story) var(--space-7) 1fr;
  --intro-title-scale:  1;
  --intro-title-slope:  5cqw;
  --intro-title-min:    28px;  --intro-title-max:   46px;
}
/* The story lines up with the photos and buttons beside it: no card inset inside the intro. */
.lv-about-grid { --sec-text-pad-inline:0; display:grid; grid-template-columns:var(--about-grid); row-gap:var(--img-gap); align-items:start;
                 grid-template-areas:"story . img1 . img2" "story . btns btns btns"; grid-template-rows:auto auto; }
.lv-about-grid[data-photos="1"] { grid-template-columns:var(--about-grid-one); grid-template-areas:"story . img1" "story . btns"; }
.lv-about-grid[data-photos="1"] .lvin-img1 { aspect-ratio:var(--ratio-wide); }
.lv-about-grid[data-photos="0"] { grid-template-columns:1fr; grid-template-areas:"story" "btns"; }

@container page (min-width:1025px){
  /* Two columns without a rail: the story lines up with the page's left column. A desktop grid only. */
  .lv-inner[data-rail="off"][data-cols="two"] .lv-about-grid{
    grid-template-columns:calc(50% + var(--surface-pad) + var(--section-gap) / 2 - var(--space-7)) var(--space-7) 1fr var(--img-gap) 1fr;
  }
  .lv-about-grid:not(:has(.lvin-btns > *))                    { grid-template-areas:"story . img1 . img2"; grid-template-rows:auto; }
  .lv-about-grid[data-photos="1"]:not(:has(.lvin-btns > *))   { grid-template-areas:"story . img1"; }
  .lv-about-grid[data-photos="0"]:not(:has(.lvin-btns > *))   { grid-template-areas:"story"; }
}
@container page (max-width: 1024px){
  .lv-about-grid { grid-template-columns:1fr 1fr; column-gap:var(--img-gap); grid-template-areas:"img1 img2" "btns btns" "story story"; }
  .lv-about-grid[data-photos="1"] { grid-template-columns:1fr 1fr; grid-template-areas:"img1 img1" "btns btns" "story story"; }
  .lv-about-grid .lvin-btns { grid-area:btns; }
}
.lvin-story{grid-area:story;display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--sec-text-pad-block);}
.lvin-img1{grid-area:img1;}
.lvin-img2{grid-area:img2;}
.lvin-btns{display:flex;gap:var(--space-3);flex-wrap:wrap;grid-area:btns;align-self:start;}
.lv-about-grid[data-photos="0"] .lvin-btns{grid-area:btns;}
.lvin-btns:not(:has(*)){display:none;}
.lvin-btn{text-decoration:none;}
.lvin-title{font-family:var(--font-heading);font-weight:var(--t-weight-heading);line-height:var(--t-leading-display);font-size:calc(clamp(var(--intro-title-min),var(--intro-title-slope),var(--intro-title-max)) * var(--intro-title-scale));color:var(--logo);text-wrap:balance;}
.lvin-body{text-wrap:pretty;}
.lvin-img{position:relative;aspect-ratio:var(--ratio-square);border-radius:var(--surface-radius);overflow:hidden;}
.lvin-fill{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.lv-introblock[data-tone]:not([data-tone=""]){background:var(--tone-bg);color:var(--tone-fg);}

/* modules/masthead/style.css */
:root{
  --hero-height:       880px;
  /* the hero photo's slow drift: how far it creeps, and how long one pass takes */
  --hero-drift-scale:  1.08;   --hero-drift-x:      -1.5%;
  --hero-drift-y:      -1%;    --hero-drift-ms:     24000ms;
  --masthead-h:        800px;
  --logo-h:            110px;
  --title-logo-h:     var(--logo-h);  --logo-scale:        1;
  /* the editorial masthead: how tall its photograph stands, and how wide the column of
     words beside it is */
  --editorial-h:       560px;  --editorial-media:   52%;
  --t-hero-scale:    1;
  --logo-mark:       none;
  --hero-pad-block:     var(--space-8);
  --hero-perks-w:       340px;
  --hero-shade-strength:  55%;
  --hero-shade-blur:      32px;
  --book-glass:             50%;   /* the widget panel on a masthead's colour lets that colour through by this much */
  --mosaic-cols:          2fr 1fr 1fr;
  /* Gallery on a tablet: how strong the ground behind the title starts, over a photo and in a colour. */
  --gallery-ground-glass: 75%;
  --gallery-ground-tone:  90%;
  --cal-pane-pad-x:     var(--space-4);
  --hero-facts-blur:   var(--glass-blur);
  --hero-facts-gap:    var(--space-2);
  --hero-facts-leading: 1.25;
  --hero-facts-op:     var(--mix-soft);
  --hero-facts-pad-x:  21px;
  --hero-facts-pad-y:  6px;
  /* Small capitals sit high in their line: this much more below puts them at the pill's visual centre. */
  --hero-facts-optical: 3px;
  --hero-facts-scale:  1.05;
  --hero-facts-track:  2px;
  --hero-facts-track-phone: 0px;
  --hero-pill-blur:    3px;
  --hero-step-phone:       38px;
  --hero-title-pop:    0 1px 2px color-mix(in oklab, var(--hero-title-pop-ink) 80%, transparent);
  --logo-h-phone:       64px;
  --mosaic-cell-h:      180px;
  --mosaic-h:          420px;
  --mosaic-hero-h:      280px;
  --phone-btn-h:        40px;
  --placeholder-chip-radius: 3px;
  /* The four layouts: each grid's proportions. */
  --ml-bottom-cal:          0.72fr;
  --ml-frame-title:         5fr;
  --ml-frame-between:       2fr;
  --ml-gallery-main:        2fr;
  --ml-gallery-thumbs:      1fr;
  --hero-slide-fade: 1200ms;
}
:root, [data-lvtheme]{
  --hero-title-shadow: 0 2px 6px color-mix(in oklab, var(--text) 80%, transparent);
  /* The title wears two shadows and no others: this one, tight and dark, and the brand's glow
     below it. NOT the theme's ink — a dark skin's ink is light, so the dark shadow came out
     white. A shadow is the absence of light at every tone the product has. */
  --hero-title-pop-ink: #000;
  --hero-title-glow:   0 0 var(--hero-shade-blur) color-mix(in oklab, var(--brand) var(--hero-shade-strength), transparent);
  --hero-slide-bg:       var(--brand);
}
.t-hero        { font-family:var(--font-heading); font-weight:var(--t-weight-heading);    line-height:var(--t-leading-hero);       color:var(--text);
                 font-size:calc(var(--t-hero-scale) * var(--t-name-fit) * var(--t-size-hero));
                 text-wrap:balance; }
.lv-section-hero {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  --hero-band-h:0px;
  --hero-over-h:0px;
  --hero-trust-h:0px;
  --hero-room:calc(var(--masthead-h) - var(--hero-band-h) - var(--hero-over-h) - var(--hero-trust-h));
  min-height:calc(var(--hero-room) + var(--hero-band-h) + var(--hero-over-h));
  grid-template-rows:1fr auto;
  grid-template-areas:"stack panel" "band band";
  row-gap:var(--space-5);
  overflow:hidden;
  container-type:inline-size;
}
@container page (max-width:600px) {
  .lv-hero-logo{ --logo-h: var(--logo-h-phone); }
        }

/* SLOW DRIFT — the hero photo creeps toward a corner and back, so a still photograph is not
   a still page. It moves the BOX, not what is in it, so the one rule covers a single photo and
   a slideshow's slides alike (each of those carries its own crossfade animation inline, which
   a second animation here could not join). .lv-section-hero already clips, so nothing spills.
   The drift is a look, not information: a reader who has asked for less motion gets the photo
   standing still, which is the page it would have been anyway. */
@keyframes lvHeroDrift {
  from { transform:scale(1) translate3d(0, 0, 0); }
  to   { transform:scale(var(--hero-drift-scale)) translate3d(var(--hero-drift-x), var(--hero-drift-y), 0); }
}
.lv-hero-photo--drift { will-change:transform; animation:lvHeroDrift var(--hero-drift-ms) ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) { .lv-hero-photo--drift { animation:none; } }
.lv-hero-wrapper{position:relative;}
.lv-hero-photo{background-size:cover;background-position:center;position:absolute;grid-area:1 / 1 / -1 / -1;inset:0;z-index:0;isolation:isolate;}
.lv-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;}

.lv-hero--noimg{ --hero-title-glow:none; }

.lv-hero-logo{height:calc(var(--logo-h) * var(--logo-scale));width:auto;aspect-ratio:1/1;display:block;position:relative;filter:drop-shadow(var(--hero-title-shadow));}
.lv-hero-logo::before{content:"";position:absolute;inset:0;background:var(--site-title);-webkit-mask:var(--logo-mark) center / contain no-repeat;mask:var(--logo-mark) center / contain no-repeat;}
.lv-hero-name{margin:0;}
.lv-hero-cal{ grid-area:panel; align-self:center; z-index:var(--z-part-top);
  margin:0 var(--hero-content-pad-x) 0 0;
  width:var(--hero-perks-w); }

@container page (min-width:601px) and (max-width:1024px){
  .lv-inner{ --hero-pad-block:var(--space-7); }
}
.lv-hero-wrapper--full{ margin-inline: calc(-1 * var(--fw-edge)); overflow-x:clip; }
.lv-hero-wrapper--full .lv-section-hero{ max-width: var(--container-max); margin-inline: auto; }
.lv-header-bar.lv-header-bar--full{ margin-inline: calc(-1 * var(--fw-edge)); }

.lv-mosaic-hero,.lv-mosaic-cell{cursor:pointer;}

.lv-mosaic-hero{grid-column:1;grid-row:1 / 3;position:relative;background-size:cover;background-position:center;border-radius:var(--surface-radius);overflow:hidden;}
.lv-mosaic-cell{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:var(--surface-radius);overflow:hidden;}

@container page (max-width: 1024px) {
  .lv-hero-wrapper { margin-left:calc(-1 * var(--page-gutter)); margin-right:calc(-1 * var(--page-gutter)); }
}
@container page (max-width: 600px) {
  .lv-section-hero{ min-height:min(var(--hero-height), calc(100cqh - var(--menu-h))); }
  .lv-inner { --hero-pad-block:var(--space-5); }
}
@container page (max-width:600px){
  .lv-splithead-logo{ --title-logo-h: var(--logo-h-phone); }
}
.lv-hero-stack{grid-area:stack;align-self:center;min-width:0;display:flex;flex-direction:column;gap:var(--space-5);
  padding-inline:var(--mast-text-inset);padding-block:var(--hero-pad-block);}
.lv-hero-headline{position:relative;z-index:1;min-width:0;container-type:inline-size;isolation:isolate;}
.lv-hero-mast > *,
.lv-splithead-lead > *,
.lv-ed-lead > *,
.lv-splithead-text > *{ max-width:100%; }
.lv-hero-facts:not(:has(.sc-host > *)),
.lv-splithead-facts:not(:has(.sc-host > *)){display:none;}
.lv-hero-actions:not(:has(> a, > button)):not(:has(.sc-host > *)),
.lv-split-actions:not(:has(> a, > button)):not(:has(.sc-host > *)){display:none;}
.lv-hero-headline .lv-hero-name{color:var(--site-title);text-shadow:var(--hero-title-glow),var(--hero-title-pop);}
.lv-hero-mast{position:relative;width:fit-content;max-width:100%;
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5);}
.lv-hero-pointsOfInterest{ grid-area:band; min-width:0; position:relative; }
.lv-hero-stack > .lv-mast-book{ min-width:0; position:relative; z-index:var(--z-part-top); }
.lv-cal-pane{ box-sizing:border-box; border-radius:var(--surface-radius);
  padding:var(--glass-pad) var(--cal-pane-pad-x); }
.lv-cal-pane .lv-avail-hint,
.lv-cal-pane .lv-avail-month,
.lv-cal-pane .lv-avail-dow,
.lv-cal-pane .lv-avail-day,
.lv-cal-pane .lv-avail-note{ color:var(--on-header); }
.lv-cal-pane .lv-avail-day.is-busy{ background:var(--header-quiet); color:var(--on-header); }
.lv-cal-pane .lv-avail-day.is-busy::after{ background:var(--on-header); }
.lv-cal-pane .lv-avail-day.is-today::before{ background:var(--on-header); }
@container page (min-width:601px) and (max-width:1024px){
  .lv-splithead[data-aside="off"] .lv-splithead-lead{ flex:1 1 100%; max-width:100%; }
  /* The calendar sits beside the title, so the title and logo take less room. */
  .lv-splithead[data-aside="on"]{ flex-wrap:nowrap; }
  .lv-splithead[data-aside="on"] .lv-splithead-lead{ flex:1 1 0; }
  .lv-splithead[data-aside="on"] .lv-splithead-logo{ --title-logo-h: var(--logo-h-phone); }
  .lv-splithead[data-aside="on"] .lv-splithead-name{ --t-splithead-name-share: var(--t-splithead-name-share-aside); }
}
.lv-splithero, .lv-ed, .lv-ml{--text:var(--on-surface);position:relative;background:var(--surface);color:var(--on-surface);}
/* The runtime's wrappers in and around a masthead block take no box, as a section's do. */
.lv-splithero .sc-host, .lv-ed .sc-host, .lv-ml .sc-host,
.sc-host:has(.lv-splithero, .lv-ed, .lv-ml){display:contents;}
/* Full width: the band spans the 1440 page box; on a desktop its content keeps the Split's own margin, below it the sections' text edge. */
.lv-splithero{--split-pad:calc(var(--surface-pad-roomy) * var(--surface-pad-scale));margin:0 calc(-1 * var(--fw-edge));padding:var(--split-pad);
  display:flex;flex-direction:column;}
.lv-splithero > *:not([data-section-id="poi"]){padding-block:var(--space-3);}
.lv-splithero .lv-split-perks{padding:var(--space-3) var(--split-pad);margin-inline:calc(-1 * var(--split-pad));}
.lv-splithero > *:first-child{padding-top:0;}
.lv-splithero > *:last-child{padding-bottom:0;}
/* The photos sit one photo gap below the points band, as they sit from each other. */
.lv-splithero > .lv-mosaic{padding-top:var(--img-gap);}
.lv-splithead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-7);flex-wrap:wrap;}
.lv-splithead-lead,
.lv-ed-lead{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;
  container-type:inline-size;}
.lv-splithead-lead{gap:var(--space-3);}
@container page (min-width:1025px){
  .lv-splithead[data-aside="off"] .lv-splithead-lead{ flex:1 1 100%; max-width:100%; }
  .lv-splithead[data-aside="on"] .lv-splithead-lead{ flex:1 1 auto; }
}
.lv-splithead-aside{ flex:0 0 var(--rail-width); min-width:0; }
.lv-splithead-logo{height:calc(var(--title-logo-h) * var(--logo-scale));width:auto;aspect-ratio:1/1;background:var(--logo);-webkit-mask:var(--logo-mark) center / contain no-repeat;mask:var(--logo-mark) center / contain no-repeat;}
.lv-splithead-text{display:flex;flex-direction:column;gap:var(--space-1);}
.lv-facts-strip{display:inline-block;color:var(--text);}
.lv-splithead-facts .lv-facts-strip{font-size:var(--t-size-facts);}
.lv-hero-mast .lv-facts-strip{
  --glass-op:var(--hero-facts-op);
  position:relative;background:var(--glass-brand-bg);color:var(--on-header);
  display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--hero-facts-gap);
  font-size:calc(var(--t-size-lead) * var(--hero-facts-scale));
  font-variant-caps:all-small-caps;letter-spacing:var(--hero-facts-track);
  padding:var(--hero-facts-pad-y) var(--hero-facts-pad-x) calc(var(--hero-facts-pad-y) + var(--hero-facts-optical));line-height:var(--hero-facts-leading);
  border-radius:var(--radius-pill);
  backdrop-filter:blur(var(--hero-facts-blur));-webkit-backdrop-filter:blur(var(--hero-facts-blur));}
.lv-hero-mast .lv-facts-strip[data-glasstone="dark"]{--glass-scrim:var(--glass-scrim-pane-dark);}
.lv-hero-mast .lv-facts-strip[data-glasstone="pale"]{--glass-scrim:var(--glass-scrim-pane-pale);}
.lv-hero-mast .lv-facts-strip::before{content:"";position:absolute;inset:0;border-radius:inherit;
  background:var(--glass-scrim);pointer-events:none;z-index:0;}
.lv-hero-mast .lv-facts-strip > *{position:relative;z-index:1;
  /* Small capitals stand at the x-height: the line is trimmed to it, so the padding centres the letters, not the font's empty descender room. */
  text-box:trim-both ex alphabetic;}
.lv-hero--noimg .lv-facts-strip{color:var(--text);text-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.lv-fact{white-space:nowrap;}
.lv-splithead-name{margin:0;line-height:var(--t-leading-page-title);color:var(--logo);
  font-size:calc(var(--t-hero-scale) * var(--t-name-fit) * min(var(--t-size-splithead-name), var(--t-splithead-name-share)));}
.lv-name-probe{position:absolute;visibility:hidden;white-space:nowrap;}
.lv-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);}
.lv-hero-actions > *{line-height:1;margin:0;border-radius:var(--radius-pill);
  background:transparent; color:var(--site-title); border-color:var(--site-title);
  backdrop-filter:blur(var(--hero-pill-blur)); -webkit-backdrop-filter:blur(var(--hero-pill-blur));}
.lv-split-actions > *{
  background:transparent; color:var(--heading); border-color:var(--heading);}
.lv-hero--noimg .lv-hero-actions > *{
  color:var(--text); border-color:var(--text);
  backdrop-filter:none; -webkit-backdrop-filter:none;}
.lv-split-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2);
  /* The buttons stand apart from the logo under them by the masthead's step, not the column's tight one. */
  margin-bottom:calc(var(--space-5) - var(--space-3));}
.lv-split-actions > *{min-width:0;border-radius:var(--radius-pill);}
.lv-split-actions .lv-btn-long{display:none;}
.lv-split-actions .lv-btn-short{display:inline;}
.lv-btn-short{display:none;}
.lv-mast-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);}
.lv-mast-cta:not(:has(> a, > button)):not(:has(.sc-host > *)){display:none;}
.lv-mast-cal{display:block;align-self:stretch;}
@container page (min-width:601px){ .lv-mast-book{align-items:flex-start;} }
.lv-splithero > .lv-mast-book,
.lv-splithero > [data-section-id="poi"]{border-top:var(--border-w-hair) solid var(--border);}
.lv-mosaic{position:relative;display:grid;grid-template-columns:var(--mosaic-cols);grid-template-rows:1fr 1fr;gap:var(--img-gap);height:var(--mosaic-h);}
@container page (max-width: 1024px){
  .lv-splithero { padding:var(--space-5) var(--mast-pad-inline); }
  .lv-splithero .lv-split-perks{margin-inline:calc(-1 * var(--mast-pad-inline));padding-inline:var(--mast-pad-inline);}
}
@container page (max-width: 600px){
  .lv-hero-stack{ gap:var(--hero-step-phone); }
  .lv-hero-mast{ align-items:center; text-align:center; gap:var(--hero-step-phone); margin-inline:auto; --hero-facts-track:var(--hero-facts-track-phone); }
  .lv-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:none; height:auto; }
  .lv-mosaic > div { grid-column:auto; grid-row:auto; height:var(--mosaic-cell-h); }
  .lv-mosaic > .lv-mosaic-hero { grid-column:1 / -1; height:var(--mosaic-hero-h); }
  .lv-splithead { display:block; }
  .lv-splithead-lead,
  .lv-ed-lead { max-width:100%; align-items:center; text-align:center; }
  .lv-splithead-text { align-items:center; }
  .lv-split-actions,
  .lv-hero-actions,
  .lv-splithead-lead .lv-mast-cta { justify-content:center; }
  .lv-split-actions > *,
  .lv-hero-actions > * { flex:0 1 auto; min-width:0; min-height:var(--phone-btn-h);
    font-size:var(--t-size-caption); padding:var(--space-1) var(--space-3); }
  .lv-hero-actions .lv-btn-long{display:none;}
  .lv-hero-actions .lv-btn-short{display:inline;}
}
.lv-imgph{--text:var(--on-surface);position:absolute;inset:0;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;border:var(--inner-border);border-radius:var(--surface-radius);background-color:var(--surface);background-image:var(--placeholder-cross);box-sizing:border-box;overflow:hidden;}
.lv-imgph-chip{background:var(--surface-sunken);padding:var(--space-1) var(--space-2);border-radius:var(--placeholder-chip-radius);white-space:nowrap;}
/* Editorial: the title beside the photo; under the desktop tier it stacks like Split. */
/* One margin on all four sides, one gap between the parts; name and facts stay a tight pair. */
.lv-ed{margin:0 calc(-1 * var(--fw-edge));overflow:hidden;display:grid;
  grid-template-columns:minmax(0,1fr) var(--editorial-media);
  grid-template-areas:"lead media" "perks perks" "band band";}
.lv-ed-lead{grid-area:lead;padding:var(--hero-content-pad-x);padding-inline-start:var(--mast-pad-inline);gap:var(--space-5);}
.lv-ed-media{grid-area:media;position:relative;min-height:var(--editorial-h);overflow:hidden;}
.lv-ed-media .lv-hero-photo{position:absolute;inset:0;}
.lv-ed-cal{align-self:stretch;}
.lv-ed-band{grid-area:band;}
.lv-ed-perks{grid-area:perks;border-top-style:solid;border-top-width:var(--surface-border-w-top);border-top-color:var(--page-border);}
/* The booking block is a card under the title, as in Gallery. */
.lv-ed-book{align-self:stretch;}
@container page not ((min-width:601px) and (max-width:1024px)){ .lv-ed-book{max-width:var(--avail-max-w);} }
/* On a phone the masthead is centred, so its booking card is too. */
@container page (max-width:600px){ .lv-ed-book, .lv-ml-book{margin-inline:auto;justify-self:center;} }
/* Frame's widget sits on the photo and stays solid. */
:is(.lv-ed-book, .lv-ml:not([data-mast-layout="frame"]) .lv-ml-book){background:color-mix(in oklab, var(--card) var(--book-glass), transparent);}
/* The points strip carries the row's padding, so a colour on it fills the whole row. */
.lv-ed-perks .lv-split-perks{padding-block:var(--space-3);padding-inline:var(--mast-pad-inline);}
.lv-ed-perks:not(:has(.lv-split-perk)),
.lv-ed-band:not(:has(*)){display:none;}
.lv-ed[data-tone]:not([data-tone=""]){background:var(--tone-bg);color:var(--tone-fg);}
@container page (max-width:1024px){
  .lv-ed{grid-template-columns:minmax(0,1fr);grid-template-areas:"lead" "perks" "media" "band";
    row-gap:var(--space-3);padding:var(--space-5) var(--mast-pad-inline);}
  .lv-ed-lead{padding:0;}
  .lv-ed-perks .lv-split-perks{margin-inline:calc(-1 * var(--mast-pad-inline));}
  .lv-ed-media{min-height:var(--mosaic-h);}
}
@container page (min-width:601px) and (max-width:1024px){
  .lv-ed{grid-template-areas:"media" "lead" "perks" "band";}
}
@container page (max-width:600px){
  .lv-ed{grid-template-areas:"media" "perks" "lead" "band";
    padding:var(--space-6) var(--mast-pad-inline);}
  .lv-ed-lead > .lv-split-actions{order:1;}
  .lv-ed-cal .lv-avail{margin-inline:auto;}
}
/* Bottom, Frame, Gallery, L-shape: one component, a grid each. Parts: ground (the colour's panel), logo, title, actions, cal, media, thumbs, perks, book, band. */
.lv-ml{--ml-pad:var(--hero-content-pad-x);--ml-edge:var(--mast-pad-inline);margin:0 calc(-1 * var(--fw-edge));overflow:hidden;display:grid;}
/* Stacking: the photo at the bottom, the colour's panel over it, every other part on top. */
.lv-ml > :not(.lv-ml-ground, .lv-ml-media){position:relative;z-index:var(--z-part);min-width:0;}
.lv-ml-ground{display:none;z-index:1;}
.lv-ml[data-tone]:not([data-tone=""]),
.lv-ml-ground[data-tone]:not([data-tone=""]){background:var(--tone-bg);color:var(--tone-fg);}
.lv-ml-logo{grid-area:logo;display:flex;margin-bottom:var(--space-4);}
.lv-ml-title{grid-area:title;margin-bottom:var(--space-4);}
.lv-ml-actions{grid-area:actions;align-self:center;flex-wrap:wrap;margin-bottom:var(--space-5);}
.lv-ml-cal{grid-area:cal;align-self:start;--avail-max-w:none;}
.lv-ml-media{grid-area:media;position:relative;z-index:0;min-width:0;min-height:var(--editorial-h);overflow:hidden;}
.lv-ml-media .lv-hero-photo{position:absolute;inset:0;cursor:pointer;}
/* The gaps between photos are the colour under the gallery: the masthead's own, whatever its tone. */
.lv-ml-thumbs{grid-area:thumbs;display:grid;gap:var(--img-gap);background:inherit;}
.lv-ml-thumb{position:relative;overflow:hidden;cursor:pointer;min-height:var(--mosaic-cell-h);}
/* The booking block and the calendar never show together: it takes the calendar's spot, as a card; its widget stacks as it does in the rail. */
.lv-ml-book{grid-area:cal;align-self:start;width:var(--avail-max-w);max-width:100%;}
.lv-ml-perks{grid-area:perks;}
.lv-ml-band{grid-area:band;}
.lv-ml-perks .lv-split-perks{justify-content:center;padding:var(--space-4) var(--ml-edge);}
/* On a tablet the points wrap, and a line would start with a divider: there they stand apart by the gap alone. */
@container page not ((min-width:601px) and (max-width:1024px)){
  .lv-ml-perks .lv-split-perk + .lv-split-perk{border-inline-start:var(--border-w-hair) solid var(--border);padding-inline-start:var(--space-5);}
}
.lv-ml-perks:not(:has(.lv-split-perk)),
.lv-ml-band:not(:has(*)){display:none;}
.lv-ml[data-mast-layout="gallery"] .lv-ml-ground,
.lv-ml[data-mast-layout="lshape"] .lv-ml-ground{display:block;}

/* Bottom: the photo on top, the points under it, then the title beside the calendar. */
.lv-ml[data-mast-layout="bottom"]{
  grid-template-columns:var(--ml-edge) minmax(0,1fr) var(--ml-pad) fit-content(var(--avail-max-w)) var(--ml-edge);
  grid-template-rows:auto auto var(--ml-pad) auto auto auto 1fr var(--ml-pad) auto auto;
  grid-template-areas:"media media media media media" "perks perks perks perks perks" ". . . . ." ". logo . cal ." ". title . cal ."
    ". actions . cal ." ". . . cal ." ". . . . ." "book book book book book" "band band band band band";}
.lv-ml[data-mast-layout="bottom"] .lv-ml-media{min-height:var(--mosaic-h);}

@container page (min-width:601px){
  .lv-ml[data-mast-layout="bottom"]:has(> .lv-ml-cal){grid-template-columns:var(--ml-edge) minmax(0,1fr) var(--space-7) minmax(0,var(--ml-bottom-cal)) var(--ml-edge);}
  /* Beside the text, the calendar or booking card sits level with its middle. */
  .lv-ml[data-mast-layout="bottom"] :is(.lv-ml-cal, .lv-ml-book){align-self:center;}
  .lv-ml[data-mast-layout="bottom"] .lv-ml-actions{margin-bottom:0;}
  /* The points read at the size of the facts, their icons one step up. */
  .lv-ml-perks .lv-split-perk .t-perk{font-size:calc(var(--t-size-lead) * var(--perk-fit));}
  .lv-ml-perks .lv-split-perk-ico{width:var(--icon-lg);height:var(--icon-lg);}
  /* Frame: logo and buttons centred in the photo's top margin, one margin on the top and both sides; the title and the calendar are cards over its lower edge. */
  .lv-ml[data-mast-layout="frame"]{
    grid-template-columns:calc(var(--ml-pad) - var(--space-3)) var(--space-3) minmax(0,var(--ml-frame-title)) minmax(0,var(--ml-frame-between)) fit-content(var(--avail-max-w)) var(--space-3) calc(var(--ml-pad) - var(--space-3));
    /* Under the photo, the same margin as its sides, counted from the photo's own lower edge. */
    --ml-frame-foot:calc(var(--ml-pad) - var(--space-6));
    grid-template-rows:minmax(var(--ml-pad),auto) minmax(var(--space-8),1fr) auto var(--space-6) var(--ml-frame-foot) auto auto auto;}
  .lv-ml[data-mast-layout="frame"] .lv-ml-logo{grid-area:1 / 2 / 2 / 4;margin:0;align-self:center;padding-block:var(--space-4);}
  /* In the photo's top margin the logo scales down freely but never past its own full size. */
  .lv-ml[data-mast-layout="frame"] .lv-splithead-logo{height:min(calc(var(--title-logo-h) * var(--logo-scale)), var(--title-logo-h));}
  .lv-ml[data-mast-layout="frame"] .lv-ml-actions{grid-area:1 / 5 / 2 / 7;justify-content:flex-end;margin:0;align-self:center;padding-block:var(--space-4);}
  .lv-ml[data-mast-layout="frame"] .lv-ml-media{grid-area:2 / 3 / 4 / 6;border-radius:var(--surface-radius);}
  .lv-ml[data-mast-layout="frame"] .lv-ml-title{grid-area:3 / 2 / 5 / 4;align-self:end;margin:0;
    --text:var(--on-card);--text-muted:var(--on-card-quiet);--logo:var(--page-logo);
    padding:var(--rev-card-pad);background:var(--card);border:var(--inner-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow);}
  .lv-ml[data-mast-layout="frame"] :is(.lv-ml-cal, .lv-ml-book){grid-area:2 / 5 / 5 / 7;align-self:end;}
  .lv-ml[data-mast-layout="frame"] .lv-ml-perks{grid-area:6 / 1 / 7 / -1;}
  .lv-ml[data-mast-layout="frame"] .lv-ml-band{grid-area:8 / 1 / 9 / -1;}

  /* L-shape: the title and calendar beside the photo; a band under both carries the buttons and the points. */
  .lv-ml[data-mast-layout="lshape"]{
    grid-template-columns:var(--ml-edge) minmax(0,var(--avail-max-w)) var(--ml-pad) minmax(0,1fr);
    grid-template-rows:var(--ml-pad) auto auto auto 1fr auto auto auto;
    grid-template-areas:". . . media" ". logo . media" ". title . media" ". cal . media" ". . . media" ". actions . perks" "book book book book" "band band band band";}
  .lv-ml[data-mast-layout="lshape"] .lv-ml-ground{grid-area:6 / 1 / 7 / -1;}
  .lv-ml[data-mast-layout="lshape"] :is(.lv-ml-cal, .lv-ml-book){margin-bottom:var(--ml-pad);}
  .lv-ml[data-mast-layout="lshape"] .lv-ml-actions{padding-block:var(--space-4);margin:0;align-self:stretch;}
  /* The points fill the band's height, so a colour on them meets the photo. */
  .lv-ml[data-mast-layout="lshape"] .lv-ml-perks,
  .lv-ml[data-mast-layout="lshape"] .lv-ml-perks > [data-section-id]{display:flex;flex:1;min-width:0;}
  .lv-ml[data-mast-layout="lshape"] .lv-ml-perks .lv-split-perks{flex:1;min-width:0;align-items:center;align-content:center;}
}
@container page (min-width:1025px){
  /* Frame on a desktop: the photo runs under the cards' lower edge, so both cards sit inside it. */
  .lv-ml[data-mast-layout="frame"]{--ml-frame-foot:var(--ml-pad);}
  .lv-ml[data-mast-layout="frame"] .lv-ml-media{grid-area:2 / 3 / 5 / 6;}
  .lv-ml[data-mast-layout="frame"] :is(.lv-ml-title, .lv-ml-cal, .lv-ml-book){margin-bottom:var(--space-6);}
  /* Gallery: the title, buttons and calendar in a side column, the photo and three more beside it, the points under the photos.
     One gap around the photos and between them: the photo gap, on every side. */
  .lv-ml[data-mast-layout="gallery"]{
    grid-template-columns:var(--ml-edge) minmax(0,var(--avail-max-w)) var(--ml-pad) var(--img-gap) minmax(0,var(--ml-gallery-main)) var(--img-gap) minmax(0,var(--ml-gallery-thumbs)) var(--img-gap);
    grid-template-rows:var(--ml-pad) auto auto auto auto 1fr var(--ml-pad) auto auto auto;
    grid-template-areas:". . . . . . . ." ". logo . . . . . ." ". title . . . . . ." ". actions . . . . . ."
      ". cal . . . . . ." ". . . . . . . ." ". . . . . . . ." ". . . perks perks perks perks perks" "book book book book book book book book" "band band band band band band band band";}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-media{grid-area:1 / 5 / 8 / 6;margin-block:var(--img-gap);}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-thumbs{grid-area:1 / 7 / 8 / 8;margin-block:var(--img-gap);}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-ground{grid-area:1 / 1 / 9 / 4;}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-cal{grid-area:5 / 1 / 6 / 4;margin:0 var(--space-4) var(--ml-pad);}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-thumbs{grid-template-rows:repeat(3,minmax(0,1fr));}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-thumb:nth-child(n+4){display:none;}
}
@container page (max-width:1024px){
  .lv-ml{--ml-pad:var(--mast-pad-inline);}
  /* Bottom below desktop: a hairline under the points, inside the margins. */
  .lv-ml[data-mast-layout="bottom"] .lv-ml-perks{background:linear-gradient(var(--border), var(--border)) bottom / calc(100% - 2 * var(--ml-edge)) var(--border-w-hair) no-repeat;}
}
@container page (min-width:601px) and (max-width:1024px){
  /* Gallery on a tablet: the photo fills the top and the title sits on it in glass; four more photos in a row under it. */
  .lv-ml[data-mast-layout="gallery"]{
    grid-template-columns:var(--ml-edge) minmax(0,1fr) var(--ml-pad) fit-content(var(--avail-max-w)) var(--ml-edge);
    grid-template-rows:var(--ml-pad) auto auto auto 1fr var(--ml-pad) auto auto auto auto;
    grid-template-areas:". . . . ." ". logo . cal ." ". title . cal ." ". actions . cal ." ". . . cal ." ". . . . ."
      "thumbs thumbs thumbs thumbs thumbs" "perks perks perks perks perks" "book book book book book" "band band band band band";}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-media{grid-area:1 / 1 / 7 / -1;}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-ground{grid-area:1 / 1 / 7 / 4;background:linear-gradient(to right, color-mix(in oklab, var(--glass-dark) var(--gallery-ground-glass), transparent), transparent);}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-ground[data-tone]:not([data-tone=""]){background:linear-gradient(to right, color-mix(in oklab, var(--tone-bg) var(--gallery-ground-tone), transparent), transparent);}
  .lv-ml[data-mast-layout="gallery"] :is(.lv-ml-logo, .lv-ml-title, .lv-ml-actions)[data-tone=""]{--text:var(--site-title);--heading:var(--site-title);--logo:var(--site-title);--text-muted:var(--site-title);}
  /* On the photo the name and logo take the Hero masthead's glow. */
  .lv-ml[data-mast-layout="gallery"] .lv-ml-title[data-tone=""] .lv-splithead-name{text-shadow:var(--hero-title-glow),var(--hero-title-pop);}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-logo[data-tone=""]{filter:drop-shadow(var(--hero-title-shadow));}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--img-gap);}
  /* The booking card takes the photo's top right corner; the weather takes its bottom right. */
  .lv-ml[data-mast-layout="gallery"] .lv-split-weather{top:auto;bottom:var(--space-3);}
}
@container page (max-width:600px){
  .lv-ml-media{min-height:var(--mosaic-hero-h);}
  /* On a phone the points share the width at the page's own side padding, and may wrap rather than run off it. */
  .lv-ml-perks .lv-split-perks{flex-wrap:nowrap;}
  .lv-ml-perks .lv-split-perk{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;text-align:center;padding-inline:var(--space-2);}
  .lv-ml-perks .lv-split-perk + .lv-split-perk{padding-inline-start:var(--space-2);}
  .lv-ml[data-mast-layout="bottom"]{
    grid-template-columns:var(--ml-edge) minmax(0,1fr) var(--ml-edge);
    grid-template-rows:auto auto var(--space-6) auto auto auto auto var(--space-6) auto auto;
    grid-template-areas:"media media media" "perks perks perks" ". . ." ". logo ." ". title ." ". actions ." ". cal ." ". . ." "book book book" "band band band";}
  .lv-ml:is([data-mast-layout="bottom"], [data-mast-layout="lshape"], [data-mast-layout="gallery"]) .lv-ml-logo{justify-content:center;}
  .lv-ml:is([data-mast-layout="bottom"], [data-mast-layout="lshape"], [data-mast-layout="gallery"]) .lv-ml-title{align-items:center;text-align:center;}
  .lv-ml:is([data-mast-layout="bottom"], [data-mast-layout="lshape"]) .lv-ml-actions{justify-content:center;}
  .lv-ml[data-mast-layout="frame"],
  .lv-ml[data-mast-layout="gallery"],
  .lv-ml[data-mast-layout="lshape"]{grid-template-columns:var(--ml-edge) minmax(0,1fr) var(--ml-edge);}
  .lv-ml[data-mast-layout="frame"]{
    grid-template-rows:var(--space-5) auto auto auto auto auto var(--space-5) auto auto auto;
    grid-template-areas:". . ." ". logo ." ". media ." ". title ." ". actions ." ". cal ." ". . ." "perks perks perks" "book book book" "band band band";}
  .lv-ml[data-mast-layout="frame"] .lv-ml-media{margin-bottom:var(--space-4);}
  .lv-ml[data-mast-layout="gallery"]{
    grid-template-rows:var(--space-5) auto auto auto var(--space-5) var(--img-gap) auto var(--img-gap) auto var(--space-5) auto auto auto;
    grid-template-areas:". . ." ". logo ." ". title ." ". actions ." ". . ." ". . ." ". media ." ". . ." ". cal ." ". . ." "perks perks perks" "book book book" "band band band";}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-ground{grid-area:1 / 1 / 6 / -1;}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-thumbs{display:none;}
  .lv-ml[data-mast-layout="gallery"] .lv-ml-media{grid-column:1 / -1;margin-inline:var(--img-gap);}
  /* L-shape on a phone: the photo and its points on top, then the title, the widget and the buttons, centred on the colour. */
  .lv-ml[data-mast-layout="lshape"]{
    grid-template-rows:auto auto var(--space-6) auto auto auto auto var(--space-6) auto auto;
    grid-template-areas:"media media media" "perks perks perks" ". . ." ". logo ." ". title ." ". cal ." ". actions ." ". . ." "book book book" "band band band";}
  .lv-ml[data-mast-layout="lshape"] .lv-ml-ground{grid-area:3 / 1 / 9 / -1;}
  .lv-ml[data-mast-layout="lshape"] :is(.lv-ml-cal, .lv-ml-book){justify-self:center;margin-bottom:var(--space-4);}
}

/* modules/booking/style.css */
:root{
  /* A day's height: the rail's square, kept when the calendar is wider so its rows do not grow. */
  --avail-day-h:         33px;
  /* A bit wider than the rail's calendar where there is room, never the whole column. */
  --avail-max-w:         360px;
  --avail-nav-size:      26px;
  --avail-rule-inset:     6px;
  --avail-today-dot:      4px;
  --avail-today-inset:    3px;
  --booking-err-min-h:  200px;
  --bookbtn-logo:       var(--icon-sm);
  --booking-frame-min-h: 520px;
  /* An iframe widget has no width of its own: the column's, in the page. */
  --book-frame-w:       100%;
  /* The Lodgify search bar's own sizes, which the Inquiry bar shares. */
  --inq-bar-h:         58px;
  --inq-half-w:       150px;
  --inq-guests-w:     250px;
  --inq-half-h:        56px;
  --inq-phone-w:      300px;
  --inq-go-size:       var(--t-size-button);
  --inq-note-min-h:   120px;
  --inq-panel-max-w:      calc(var(--measure) * 0.72 + var(--space-5) * 2);
  --avail-past-fade:     .7;  --avail-day-size: var(--t-size-body);  --avail-dow-size: var(--t-size-caption);
}
/* Lodgify and Guesty: their widgets' own variables and parts, in the site's tokens. */
.lv-book-embed-host #lodgify-search-bar section > a{
  text-transform:uppercase;
  letter-spacing:var(--t-track-button);
}
.lv-book-embed-host #lodgify-search-bar section > a svg,
.lv-book-embed-host #lodgify-search-bar .value-wrapper > svg{ display:none; }
/* The date picker's clear button stays usable — click or keyboard — but is not seen. */
.lv-book-embed-host #lodgify-search-bar [data-testid="date-picker-clear-cta"]{ opacity:0; }

:root{
  --ldg-core-font-family: var(--font-body);
  --ldg-core-font-family-heading: var(--font-heading);
  --ldg-component-calendar-font-family: var(--font-body);
  --ldg-component-dropdown-font-family: var(--font-body);
  --ldg-component-popover-background: var(--surface);
  --ldg-component-card-background: var(--surface);
  --ldg-component-card-body-text-color: var(--on-surface);
  --ldg-component-trigger-background: var(--surface);
  --ldg-component-dropdown-content-bg-color: var(--surface);
  --ldg-component-dropdown-color: var(--on-surface);
  --ldg-component-dropdown-item-hover-background-color: var(--surface-sunken);
  --ldg-component-dropdown-item-hover-color: var(--on-surface);
  --ldg-component-select-main-background-color: var(--surface);
  --ldg-component-select-item-background-color: var(--surface);
  --ldg-component-select-item-hover-background-color: var(--surface-sunken);
  --ldg-component-drawer-background-color: var(--surface);
  --ldg-component-nav-menu-sub-menu-color: var(--on-surface);
  --ldg-component-card-border-radius: var(--surface-radius);
  --ldg-component-dropdown-content-border-radius: var(--surface-radius);
  --ldg-component-card-shadow: var(--elev-2);
  --ldg-component-card-shadow-active: var(--elev-3);
  --ldg-component-calendar-cell-selection-bg-color: var(--btn-primary);
  --ldg-component-calendar-cell-selection-color: var(--on-btn-primary);
  --ldg-component-calendar-cell-selected-bg-color: var(--btn-primary-strong);
  --ldg-component-calendar-cell-selected-color: var(--on-btn-primary);
  --ldg-component-alert-background-color: var(--error-bg);
  --ldg-component-alert-color: var(--error-text);
}

.lv-book-wrap[data-tone] .lv-book-embed-host{
  --ldg-psb-color-primary: var(--tone-bg);
  --ldg-psb-color-primary-contrast: var(--tone-fg);
  --ldg-psb-color-primary-darker: var(--tone-bg);
  --ldg-psb-color-primary-lighter: var(--tone-bg);
  --ldg-bnb-color-primary: var(--tone-bg);
  --ldg-bnb-color-primary-contrast: var(--tone-fg);
  --ldg-bnb-color-primary-darker: var(--tone-bg);
  --ldg-bnb-color-primary-lighter: var(--tone-bg);
  --ldg-component-calendar-cell-selection-bg-color: var(--tone-bg);
  --ldg-component-calendar-cell-selection-color: var(--tone-fg);
  --ldg-component-calendar-cell-selected-bg-color: var(--tone-bg);
  --ldg-component-calendar-cell-selected-color: var(--tone-fg);
}
/* The Inquiry bar's Go button takes the tone, as the Lodgify bar's button does above. */
.lv-book-wrap[data-tone] .lvinq-dates__go{
  --c: var(--tone-bg);
  --c-strong: var(--tone-bg);
  --on-c: var(--tone-fg);
  --on-c-strong: var(--tone-fg);
}
.lv-book-embed-host{
  --ldg-widget-sb-sharp-gap: var(--space-3);
  --ldg-psb-padding: 0;
  --ldg-psb-background: transparent;
  --ldg-psb-box-shadow: none;
  --ldg-psb-border-radius: var(--surface-radius);
  --ldg-psb-input-background: var(--surface);
  --ldg-psb-button-border-radius: var(--btn-radius);
  --ldg-psb-color-primary: var(--btn-primary);
  --ldg-psb-color-primary-contrast: var(--on-btn-primary);
  --ldg-psb-color-primary-darker: var(--btn-primary-strong);
  --ldg-psb-color-primary-lighter: var(--btn-primary-strong);
  --ldg-psb-font-family: var(--font-body);


  --ldg-bnb-padding: 0;
  --ldg-bnb-background: transparent;
  --ldg-bnb-box-shadow: none;
  --ldg-bnb-border-radius: var(--surface-radius);
  --ldg-bnb-input-background: var(--surface);
  --ldg-bnb-button-border-radius: var(--btn-radius);
  --ldg-bnb-color-primary: var(--btn-primary);
  --ldg-bnb-color-primary-contrast: var(--on-btn-primary);
  --ldg-bnb-color-primary-darker: var(--btn-primary-strong);
  --ldg-bnb-color-primary-lighter: var(--btn-primary-strong);
  --ldg-bnb-font-family: var(--font-body);
  --ldg-component-select-trigger-background-color: var(--surface);
  --ldg-component-select-trigger-border: var(--border-w) solid var(--inq-field-line);
  --ldg-component-select-trigger-color: var(--on-surface);
  --ldg-component-select-trigger-focus-outline: var(--border-w-thick) solid var(--brand);
  --ldg-component-select-trigger-font-size: var(--t-size-body);
  --ldg-component-input-border-radius: var(--surface-radius);
  --ldg-component-input-color: var(--on-surface);
  --ldg-component-button-focus-outline: var(--border-w-thick) solid var(--brand);
  --ldg-widget-date-picker-border: var(--border-w) solid var(--inq-field-line);
  --ldg-widget-date-picker-background: var(--surface);
  --ldg-widget-date-picker-color: var(--on-surface);
  --ldg-widget-date-picker-font-family: var(--font-body);
  --ldg-widget-date-picker-font-size: var(--t-size-body);
  --ldg-widget-date-picker-border-radius: var(--surface-radius);
  --ldg-widget-date-picker-height: var(--ldg-component-select-trigger-height);
  --ldg-component-input-wrapper-border: var(--border-w) solid var(--inq-field-line);
  --ldg-component-input-wrapper-outline: var(--border-w-thick) solid var(--brand);
  --ldg-component-input-label-color: var(--text-muted);
  --ldg-component-input-label-font-size: var(--t-size-caption);
  --ldg-component-input-padding: var(--space-2);
  --ldg-component-input-wrapper-padding: var(--space-2);
  --ldg-component-select-trigger-padding: var(--space-2) var(--space-4);
  --ldg-component-spacing-button-paddingX: var(--space-7);
  --ldg-component-spacing-button-paddingY: var(--space-3);
  --ldg-component-spacing-button-md-paddingX: var(--space-7);
  --ldg-component-spacing-button-md-paddingY: var(--space-3);
  --ldg-component-button-font:var(--t-weight-bold) var(--t-size-button)/var(--t-leading-button) var(--font-label);
  --ldg-component-primary-button-font-weight: var(--t-weight-bold);
  --ldg-component-input-font-size: var(--t-size-body);
  --ldg-component-input-label-transform: none;
  --ldg-component-select-trigger-font-weight: var(--t-weight-regular);
}
.lv-book-embed-host #lodgify-search-bar > div{
  --ldg-widget-sb-sharp-input-border-radius: var(--surface-radius);
  --ldg-component-spacing-button-paddingX: var(--space-7);
  --ldg-component-spacing-button-paddingY: var(--space-3);
}
.lv-book-embed-host #lodgify-book-now-box{
  --ldg-semantic-color-white: var(--surface);
  --ldg-core-color-neutral-300: var(--border);
  --ldg-core-color-neutral-500: var(--text-muted);
  --ldg-component-select-trigger-border-radius: var(--surface-radius);
}



.lv-book-embed-host #lodgify-book-now-box [data-testid="book-now-box"]{
  border: 0;
  width: 100%;
  max-width: var(--rail-width);
}

.lv-book-embed-host #lodgify-book-now-box > div{
  justify-content: flex-start;
}

.lv-book-embed-host #lodgify-book-now-box [data-testid="book-now-box.date-picker.trigger"]{
  border-radius: var(--surface-radius);
}

.lv-book-embed-host #lodgify-book-now-box [data-testid="guests-breakdown-trigger"]{
  font-family: var(--font-body);
  font-size: var(--t-size-body);
}

.lv-book-embed-host #lodgify-book-now-box [data-testid="book-now-box.cta-button"]{
  text-transform: uppercase;
  letter-spacing: var(--t-track-button);
}
.lv-book-embed-host #lodgify-book-now-box [data-testid="book-now-box.cta-button"] svg{ display:none; }

.lv-book-embed-host #lodgify-book-now-box p{
  font-size: var(--t-size-caption);
  font-weight: var(--t-weight-regular);
}

.lv-book-embed-host,
.lv-book-embed-host *{max-width:100%;box-sizing:border-box;}
.lv-book-embed-host .guesty-root-element,
.lv-book-embed-host .guesty-root-element * { font-family: inherit !important; }
.lv-book-embed-host .guesty-search-submit-btn {
  background: var(--btn-primary) !important;
  color: var(--on-btn-primary) !important;
  border: none !important;
  border-radius: var(--btn-radius) !important;
}
.lv-book-embed-host .guesty-widget__container .__super-input,
.lv-book-embed-host .guesty-widget__container .selectr-selected {
  background: var(--surface) !important;
  color: var(--on-surface) !important;
  border: var(--border-w-thick) solid var(--border-strong) !important;
  border-radius: var(--surface-radius) !important;
}
/* The two bars' shared layout: our Inquiry bar and the Lodgify search bar, joined by selector. */
.lv-book-block > .sc-host,
.lv-book-wrap,
.lv-book-wrap > div,
.lv-book-embed-host{width:100%;}
.lv-book-embed-host #lodgify-search-bar,
.lv-book-embed-host #lodgify-search-bar > div,
.lv-book-embed-host #lodgify-search-bar section,
.lvinq-dates{width:100%;max-width:100%;}
.lv-book-embed-host #lodgify-search-bar section > div:empty{display:none;}
/* Check-in and Check-out are two fields, as Guests is one. */
.lv-book-embed-host #lodgify-search-bar button:has(> .left){display:flex;gap:var(--space-3);}
/* Placement, by the spot that holds it: a desktop masthead's widget hugs its fields in one row; before the row rule, which its Go button must lose to. */
@container page (min-width: 1025px){
  .lv-mast-book .lv-book-embed-host #lodgify-search-bar,
  .lv-mast-book .lv-book-embed-host #lodgify-search-bar > div,
  .lv-mast-book .lv-book-embed-host #lodgify-search-bar section,
  .lv-mast-book .lvinq-dates{width:fit-content;max-width:100%;}
  .lv-mast-book .lv-book-embed-host #lodgify-search-bar section > *,
  .lv-mast-book .lvinq-dates > *{flex:0 1 auto;}
  .lv-mast-book .lv-book-embed-host #lodgify-search-bar section,
  .lv-mast-book .lvinq-dates{flex-wrap:nowrap;}
}
@container page (min-width: 601px){
  .lv-book-embed-host #lodgify-search-bar section,
  .lvinq-dates{flex-direction:row;align-items:stretch;flex-wrap:wrap;}
  .lv-book-embed-host #lodgify-search-bar section > a,
  .lvinq-dates > .lvinq-dates__go{padding-inline:var(--space-7);height:auto;flex:1 1 auto;}
}
/* Placement: the rail, the layout and editorial calendar spots and the Inquiry popup stack it. */
:is(.lv-rail, .lv-ml-book, .lvinq-widget) .lv-book-embed-host #lodgify-search-bar section,
:is(.lv-rail, .lv-ml-book) .lvinq-dates{flex-direction:column;align-items:stretch;justify-content:stretch;gap:var(--space-3);margin:0;max-width:100%;}
:is(.lv-rail, .lv-ml-book, .lvinq-widget) .lv-book-embed-host #lodgify-search-bar section > *,
:is(.lv-rail, .lv-ml-book) .lvinq-dates > *{width:100%;max-width:100%;min-width:0;flex:0 0 auto;margin:0;}
:is(.lv-rail, .lv-ml-book, .lvinq-widget) .lv-book-embed-host #lodgify-search-bar section > a,
:is(.lv-rail, .lv-ml-book) .lvinq-dates > .lvinq-dates__go{height:var(--ldg-component-select-trigger-height);}
:is(.lv-rail, .lv-ml-book, .lvinq-widget) .lv-book-embed-host #lodgify-search-bar .left,
:is(.lv-rail, .lv-ml-book, .lvinq-widget) .lv-book-embed-host #lodgify-search-bar .right,
:is(.lv-rail, .lv-ml-book) .lvinq-dates__half{min-width:0;}
/* Editorial's card stacks it beside the photo and on a phone; on a tablet the card is full width and keeps the bar. */
@container page not ((min-width:601px) and (max-width:1024px)){
  .lv-ed-book .lv-book-embed-host #lodgify-search-bar section,
  .lv-ed-book .lvinq-dates{flex-direction:column;align-items:stretch;justify-content:stretch;gap:var(--space-3);margin:0;max-width:100%;}
  .lv-ed-book .lv-book-embed-host #lodgify-search-bar section > *,
  .lv-ed-book .lvinq-dates > *{width:100%;max-width:100%;min-width:0;flex:0 0 auto;margin:0;}
  .lv-ed-book .lv-book-embed-host #lodgify-search-bar section > a,
  .lv-ed-book .lvinq-dates > .lvinq-dates__go{height:var(--ldg-component-select-trigger-height);}
  .lv-ed-book .lv-book-embed-host #lodgify-search-bar .left,
  .lv-ed-book .lv-book-embed-host #lodgify-search-bar .right,
  .lv-ed-book .lvinq-dates__half{min-width:0;}
}
@container page (max-width: 600px){
  .lv-book-embed-host #lodgify-search-bar section,
  .lvinq-dates{flex-direction:column;align-items:stretch;justify-content:stretch;gap:var(--space-3);margin:0;max-width:100%;}
  .lv-book-embed-host #lodgify-search-bar section > *,
  .lvinq-dates > *{width:100%;max-width:100%;min-width:0;flex:0 0 auto;margin:0;}
  .lv-book-embed-host #lodgify-search-bar section > a,
  .lvinq-dates > .lvinq-dates__go{height:var(--ldg-component-select-trigger-height);}
}
.lb-err{position:relative;width:100%;min-height:var(--booking-err-min-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:var(--space-5);border:var(--border-w-thick) solid var(--error-line);border-radius:var(--radius-sm);background:var(--error-bg);}
.lb-err-title{font-size:var(--t-size-lead);font-weight:var(--t-weight-medium);color:var(--text);}
.lb-err-detail{font-size:var(--t-size-caption);line-height:var(--t-leading-note);color:var(--error-text);max-width:var(--measure-note);}
.lv-book-frame{--text:var(--on-surface);width:var(--book-frame-w);max-width:100%;min-height:var(--booking-frame-min-h);border:0;border-radius:var(--radius-sm);display:block;background:var(--surface);}
.lv-avail        { display:flex; flex-direction:column; gap:var(--space-3); max-width:var(--avail-max-w); }
.lv-avail-hint   { text-align:center; }
.lv-avail-head   { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); --nav-arrow-size:var(--avail-nav-size); }
.lv-avail-month  { font-family:var(--font-body); font-size:var(--t-size-body); font-weight:var(--t-weight-bold);
                   letter-spacing:0; color:var(--text); white-space:nowrap;
                   line-height:var(--t-leading-caption); }
.lv-avail-grid   { display:grid; grid-template-columns:repeat(7,1fr); column-gap:0; row-gap:var(--space-1); }
.lv-avail-dow    { font-family:var(--font-label); font-size:var(--avail-dow-size); font-weight:var(--t-weight-bold);
                   letter-spacing:var(--t-track-label); text-transform:uppercase; color:var(--text-muted);
                   text-align:center; padding-bottom:var(--space-1); }
.lv-avail-day    { position:relative; display:flex; align-items:center; justify-content:center;
                   height:var(--avail-day-h); font-family:var(--font-body);
                   font-size:var(--avail-day-size); line-height:1; color:var(--text);
                   background:none; border:0; padding:0; cursor:default; }
.lv-avail-day.is-pickable { cursor:pointer; }
.lv-avail-day.is-pickable:not(.is-picked):hover { background:var(--surface-tint); border-radius:var(--radius-sm); }
.lv-avail-day.is-picked { background:var(--brand); color:var(--on-brand); }
.lv-avail-day.is-picked.is-today::before { background:var(--on-brand); }
.lv-avail-day.is-busy { background:var(--surface-sunken); color:var(--text-muted); }
.lv-avail-day.is-busy::after { content:""; position:absolute; left:0; right:0; top:50%;
                   height:var(--border-w-thick); background:var(--text-muted); transform:translateY(-50%); }
.lv-avail-day:not(.is-busy) + .lv-avail-day.is-busy,
.lv-avail-day.is-busy:nth-child(7n+1),
.lv-avail-day:not(.is-picked) + .lv-avail-day.is-picked,
.lv-avail-day.is-picked:nth-child(7n+1) { border-start-start-radius:var(--radius); border-end-start-radius:var(--radius); }
.lv-avail-day.is-busy:has(+ .lv-avail-day:not(.is-busy)),
.lv-avail-day.is-busy:nth-child(7n),
.lv-avail-day.is-busy:last-child,
.lv-avail-day.is-picked:has(+ .lv-avail-day:not(.is-picked)),
.lv-avail-day.is-picked:nth-child(7n),
.lv-avail-day.is-picked:last-child      { border-start-end-radius:var(--radius); border-end-end-radius:var(--radius); }
.lv-avail-day:not(.is-busy) + .lv-avail-day.is-busy::after,
.lv-avail-day.is-busy:nth-child(7n+1)::after { left:var(--avail-rule-inset); }
.lv-avail-day.is-busy:has(+ .lv-avail-day:not(.is-busy))::after,
.lv-avail-day.is-busy:nth-child(7n)::after,
.lv-avail-day.is-busy:last-child::after      { right:var(--avail-rule-inset); }
.lv-avail-day.is-past { opacity:var(--avail-past-fade); }
.lv-avail-day.is-today::before { content:""; position:absolute; left:50%; bottom:var(--avail-today-inset);
                   width:var(--avail-today-dot); height:var(--avail-today-dot);
                   margin-left:calc(var(--avail-today-dot) / -2);
                   border-radius:var(--radius-pill); background:var(--brand); }
.lv-avail-note   { color:var(--text-muted); }
.lv-avail-slot:not(:has(.lv-avail)) { display:none; }
.lv-bookbtn--airbnb{ --c:var(--airbnb); --c-strong:var(--airbnb-strong); --on-c:var(--airbnb-ink);
  background:var(--airbnb-fill); border:0; border-radius:var(--airbnb-radius);
  font-family:var(--airbnb-font); font-weight:var(--airbnb-weight); text-transform:none; letter-spacing:normal; }
.lv-bookbtn--vrbo  { --c:var(--vrbo);   --c-strong:var(--vrbo-strong);   --on-c:var(--vrbo-ink);   }
.lv-bookbtn-logo{width:var(--bookbtn-logo);height:var(--bookbtn-logo);flex:none;}
.lv-bookbtns--rail{display:flex;flex-direction:column;gap:var(--space-3);}
.lv-bookbtns--rail .lv-bookbtn{width:100%;}
.lv-bookbtns--mast{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);}
.lv-bookbtns--header{display:flex;align-items:stretch;gap:var(--space-2);flex-shrink:0;}
.lv-bookbtns--header .lv-bookbtn{flex-shrink:0;min-height:var(--header-btn-h);}
@container page (max-width:600px){
  .lv-bookbtns--header{gap:var(--space-1);}
  .lv-bookbtns--header .lv-bookbtn{font-size:var(--t-size-field-label);letter-spacing:var(--t-track-button-sm);padding:0 var(--space-3);}
}
.lv-avail-ask{width:100%;margin-top:var(--space-4);}
/* The popup hugs what it holds. The form keeps its measure; a system's own size is set per system:
   .lvinq-panel[data-engine="ownerrez"]{ --book-frame-w: … } */
.lvinq-panel{width:fit-content;max-width:100%;padding:var(--space-5);position:relative;
  --book-frame-w:var(--inq-panel-max-w);}
.lvinq-panel[data-holds="form"]{width:var(--inq-panel-max-w);}
/* The Inquiry, Welcome offer and Contact popups share their frame, joined by selector. */
.lvinq-close,
.lvwo-close,
.lv-contact-popup__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;}
.lvinq-body,
.lvwo-body{display:flex;flex-direction:column;gap:var(--space-4);
  align-items:center;text-align:center;}
.lvinq-head,
.lvwo-head{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;}
.lvinq-head > *{margin:0;}
.lvinq-fields,
.lvwo-fields{display:flex;flex-direction:column;gap:var(--space-3);width:100%;}
.lvinq-when{display:flex;flex-wrap:wrap;gap:var(--space-3);width:100%;}
.lvinq-when:not(:has(> *)){display:none;}
.lvinq-when__box{flex:1 1 auto;display:flex;flex-direction:column;gap:var(--space-1);
  text-align:start;}
.lvinq-note{resize:vertical;min-height:var(--inq-note-min-h);}
.lvinq-error{font-family:var(--font-body);font-size:var(--t-size-caption);font-weight:var(--t-weight-regular);line-height:var(--t-leading-caption);color:var(--error-text);}
.lvinq-send,
.lvwo-send{width:100%;}
/* Inquiry without a calendar is the Lodgify search bar, field for field: the same sizes (Lodgify's own
   numbers, below), the same tokens; its layout and breakpoints are the Lodgify bar's rules
   (above), joined by selector. */
.lvinq-dates{display:flex;gap:var(--space-3);font-family:var(--font-body);color:var(--on-surface);}
/* ONE SET OF FIELD RULES FOR BOTH WIDGETS: each rule names our Inquiry bar and the Lodgify bar together,
   so the two can never draw a field differently. The fields are the page's surface wherever the bar sits,
   so they draw the host's Border and the surface's inks. */
.lvinq-dates,
.lv-book-embed-host{--inq-field-line:var(--page-border);}
.lvinq-dates__pair{display:flex;flex:1 1 auto;gap:var(--space-3);}
.lvinq-dates__half,
.lvinq-dates__guests,
.lv-book-embed-host #lodgify-search-bar :is(.left, .right),
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)){background:var(--surface);
  border-style:solid;border-width:var(--inner-border-w);border-color:var(--inq-field-line);border-radius:var(--surface-radius);
  /* Every field one inset. */
  padding:var(--space-2) var(--space-3);}
/* Lodgify's date fields: its own outline goes, so they wear the one border every field wears;
   its hidden native date inputs take no room and no press, so nothing shows and the first press opens the calendar. */
.lv-book-embed-host #lodgify-search-bar :is(.left, .right){outline:0;}
.lv-book-embed-host #lodgify-search-bar :is(.left, .right) input{position:absolute;width:0;height:0;border:0;padding:0;opacity:0;pointer-events:none;}
/* Every field's label: Guests and Lodgify's dates alike. Our Inquiry bar's date text is the field's one line, at body size. */
.lvinq-dates__text,
.lvinq-dates__label,
.lv-book-embed-host #lodgify-search-bar :is(.left, .right) > label,
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)) > label{font-family:var(--font-body);
  font-size:var(--t-size-caption);color:var(--on-surface-quiet);white-space:nowrap;}
.lvinq-dates__text{font-size:var(--t-size-body);}
/* Guests and the dates: the label over the value, both in the flow and centred together, never Lodgify's shrunk corner label. */
.lv-book-embed-host #lodgify-search-bar :is(.left, .right),
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)){display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--space-2);}
.lv-book-embed-host #lodgify-search-bar :is(.left, .right) > label,
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)) > label{position:static;transform:none;}
.lv-book-embed-host #lodgify-search-bar :is(.left, .right) > :is(label, .date),
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)) > :is(label, .value-wrapper){line-height:normal;margin:0;}
.lv-book-embed-host #lodgify-search-bar section > button:not(:has(> .left)) > .value-wrapper{padding-top:0;}
.lvinq-dates__half[data-set="yes"] .lvinq-dates__text,
.lvinq-dates__guests .lv-select,
.lv-book-embed-host #lodgify-search-bar :is(.left, .right) > .date,
.lv-book-embed-host #lodgify-search-bar .value-wrapper{font-family:var(--font-body);font-size:var(--t-size-body);color:var(--on-surface);}
.lvinq-dates__guests{min-height:var(--inq-bar-h);display:flex;flex-direction:column;justify-content:center;}
.lvinq-dates__half{position:relative;flex:1 1 auto;width:var(--inq-half-w);min-height:var(--inq-half-h);display:flex;align-items:center;cursor:pointer;}
.lvinq-dates__pick{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;}
.lvinq-dates__half:focus-within,
.lvinq-dates__guests:focus-within{outline:var(--border-w-thick) solid var(--brand);outline-offset:calc(-1 * var(--border-w-thick));}
:where(.lvinq-dates__guests){width:var(--inq-guests-w);min-width:var(--inq-guests-w);}
@container page (max-width:600px){ .lv-book-wrap > .lvinq-dates{width:var(--inq-phone-w);margin-inline:auto;} }
.lvinq-dates__go{flex:0 0 auto;width:100%;border:0;padding:var(--space-3) var(--space-7);font:var(--t-weight-bold) var(--inq-go-size)/var(--t-leading-button) var(--font-label);letter-spacing:var(--t-track-button);}

/* modules/contactInquiry/style.css */
.lv-contact-inquiry,.lv-contact-popup{--contact-inquiry-max-w:760px;}
.lv-contact-inquiry{display:grid;gap:var(--space-3);max-width:var(--contact-inquiry-max-w);padding:var(--surface-pad);}
.lv-contact-inquiry__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);}
.lv-contact-inquiry__grid label{display:grid;gap:var(--space-1);min-width:0;}
.lv-contact-inquiry__grid label:nth-child(3){grid-column:1/-1;}
.lv-contact-inquiry__grid .t-field{width:100%;min-width:0;}
.lv-contact-inquiry__hint{margin:0;}
.lv-contact-inquiry__error{margin:0;}
.lv-contact-inquiry .t-btn{justify-self:start;}
.lv-contact-popup{position:relative;width:var(--contact-inquiry-max-w);max-width:100%;}
.lv-contact-popup .lv-contact-inquiry{padding:0;}
@container page (max-width:600px){.lv-contact-inquiry__grid{grid-template-columns:1fr;}}
