/* CD-BAR-V1 (Genco, 31 Oct 2026): the homepage hero, the booking bar, its calendar, guests and phone sheet. */
.cdh{position:relative;isolation:isolate;z-index:5;min-height:clamp(540px,72vh,780px);display:flex;align-items:flex-end;background:#0e3a36;color:#fff;-webkit-tap-highlight-color:transparent}
.cdh__media{position:absolute;inset:0;z-index:0;overflow:hidden}
.cdh__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,22,20,.18) 0%,rgba(8,22,20,.10) 35%,rgba(8,22,20,.66) 100%),linear-gradient(90deg,rgba(8,22,20,.38) 0%,rgba(8,22,20,0) 62%)}
.cdh__in{position:relative;z-index:2;width:100%;max-width:1520px;margin:0 auto;padding:clamp(40px,7vh,72px) clamp(20px,4.5vw,72px) clamp(36px,6vh,64px)}
.cdh__eye{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#e6c275;margin:0 0 16px}
.cdh h1{margin:0;font-weight:300;color:#fff}
.cdh__brand{display:block;font-family:Fraunces,"Iowan Old Style",Georgia,serif;font-weight:300;font-size:clamp(3.6rem,9.5vw,8rem);line-height:.9;letter-spacing:-.04em;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.18)}
.cdh__line{display:block;font-family:Fraunces,"Iowan Old Style",Georgia,serif;font-weight:300;font-size:clamp(1.3rem,2.3vw,2.05rem);line-height:1.2;letter-spacing:-.01em;color:rgba(255,255,255,.95);margin-top:16px}
.cdh__line em{font-style:italic;color:#e6c275}
.cdh__proof{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 30px;padding:0;list-style:none}
.cdh__chip{display:inline-flex;align-items:center;gap:6px;font:500 13px/1 Inter,system-ui,sans-serif;color:#fff;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.cdh__chip b{font-weight:700}.cdh__chip .s{color:#e6c275}
.cdh button{font-family:Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;min-height:0;box-shadow:none;margin:0;-webkit-appearance:none;appearance:none}
.cdh button:focus-visible,.cds button:focus-visible{outline:2px solid #c8a25b;outline-offset:2px}
.cdh__in>*{animation:cdhUp .8s cubic-bezier(.2,.7,.2,1) both}
.cdh__in>*:nth-child(2){animation-delay:.08s}.cdh__in>*:nth-child(3){animation-delay:.16s}.cdh__in>*:nth-child(4){animation-delay:.24s}
@keyframes cdhUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* the bar */
.cdb{position:relative;max-width:900px;color:#14211e}
.cdb__bar{display:flex;align-items:center;background:#fff;border-radius:999px;padding:8px;box-shadow:0 22px 60px -14px rgba(0,0,0,.5);transition:background .2s}
.cdb__bar.is-active{background:#ece8e1}
.cdb__seg{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:13px 26px;border:0;border-radius:999px;background:transparent;text-align:left;cursor:pointer;color:inherit;position:relative;transition:background .15s,box-shadow .15s}
.cdb__seg:hover{background:#f2efe9}
.cdb__bar.is-active .cdb__seg:hover{background:#e2ddd4}
.cdb__seg[aria-expanded=true]{background:#fff!important;box-shadow:0 8px 24px -8px rgba(0,0,0,.28)}
.cdb__seg+.cdb__seg::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:#e3dccd;transition:opacity .15s}
.cdb__bar:hover .cdb__seg:hover::before,.cdb__seg:hover+.cdb__seg::before,.cdb__seg[aria-expanded=true]::before,.cdb__seg[aria-expanded=true]+.cdb__seg::before,.cdb__bar.is-active .cdb__seg::before{opacity:0}
.cdb__k{font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#14211e}
.cdb__v{font:400 15.5px/1.2 Inter,system-ui,sans-serif;color:#6b7773;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdb__v.is-set{color:#14211e;font-weight:500}
.cdb__go{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:58px;padding:0 30px;border:0;border-radius:999px;background:#0f3d3a;color:#fff;font:600 16px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:transform .12s,background .2s}
.cdb__go:hover{background:#0b2d2a}.cdb__go:active{transform:scale(.96)}
.cdb__go svg{width:18px;height:18px}
.cdb__pop{position:absolute;top:calc(100% + 12px);background:#fff;border-radius:28px;box-shadow:0 28px 70px -18px rgba(0,0,0,.5);padding:26px;z-index:30;animation:cdbIn .2s cubic-bezier(.2,.7,.2,1)}
.cdb__pop[hidden]{display:none}
@keyframes cdbIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
.cdb__cal{left:0;width:min(780px,calc(100vw - 40px))}
.cdb__gst{right:0;width:360px}
.cdb__mini{display:none}

/* calendar */
.cdc__top{display:flex;justify-content:space-between;align-items:center;margin:0 0 4px}
.cdc__arrow{width:38px;height:38px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:#14211e}
.cdc__arrow:hover:not(:disabled){background:#f2efe9}.cdc__arrow:disabled{opacity:.22;cursor:default}
.cdc__arrow svg{width:16px;height:16px}
.cdc__months{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cdc--one .cdc__months{grid-template-columns:1fr}
.cdc__m h3{font:600 15.5px/1 Inter,system-ui,sans-serif;text-align:center;margin:-30px 0 18px;color:#14211e}
.cdc--one .cdc__m h3{margin-top:-30px}
.cdc__dow,.cdc__grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cdc__dow span{font:600 11.5px/1 Inter,system-ui,sans-serif;color:#8a948f;text-align:center;padding-bottom:10px}
.cdc__d{aspect-ratio:1/1;max-height:62px;width:100%;border:0;padding:0;background:transparent;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 14.5px/1 Inter,system-ui,sans-serif;color:#14211e;cursor:pointer;position:relative;font-variant-numeric:tabular-nums}
.cdc__d small{font:500 10px/1 Inter,system-ui,sans-serif;color:#7a8580;letter-spacing:-.01em}
.cdc__d:hover:not(:disabled):not(.s):not(.e){box-shadow:inset 0 0 0 1.5px #14211e}
.cdc__d:disabled{color:#c9cdca;cursor:default}
.cdc__d:disabled:not(.x) small{visibility:hidden}
.cdc__d.x{text-decoration:line-through;color:#c9cdca}.cdc__d.x small{visibility:hidden}
.cdc__d.in{background:#f2efe9;border-radius:0}
.cdc__d.s,.cdc__d.e{background:#14211e;color:#fff}
.cdc__d.s small,.cdc__d.e small{color:rgba(255,255,255,.72)}
.cdc__d.s.has-e{border-radius:999px 0 0 999px;box-shadow:inset 0 0 0 0 transparent}
.cdc__d.e{border-radius:0 999px 999px 0}
.cdc__d.s.e{border-radius:999px}
.cdc__blank{aspect-ratio:1/1;max-height:62px}
.cdc__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #eee9df}
.cdc__sum{font:500 14px/1.35 Inter,system-ui,sans-serif;color:#4f5e5a}
.cdc__sum b{color:#14211e}
.cdc__clear{border:0;background:none;text-decoration:underline;text-underline-offset:3px;font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer;color:#14211e;padding:8px 4px}

/* guests */
.cdg__row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #eee9df}
.cdg__row:last-of-type{border-bottom:0}
.cdg__t b{display:block;font:600 16px/1.3 Inter,system-ui,sans-serif;color:#14211e}
.cdg__t span{font:400 13.5px/1.3 Inter,system-ui,sans-serif;color:#6b7773}
.cdg__step{display:flex;align-items:center;gap:14px}
.cdg__btn{width:36px;height:36px;border-radius:50%;border:1px solid #b9c0bc;background:#fff;cursor:pointer;color:#14211e;display:grid;place-items:center;padding:0;transition:border-color .15s,transform .1s}
.cdg__btn:hover:not(:disabled){border-color:#14211e}.cdg__btn:active:not(:disabled){transform:scale(.92)}
.cdg__btn:disabled{opacity:.28;cursor:default}
.cdg__btn svg{width:14px;height:14px}
.cdg__n{min-width:18px;text-align:center;font:500 16.5px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#14211e}
.cdg__note{font:400 12.5px/1.4 Inter,system-ui,sans-serif;color:#6b7773;margin:12px 0 0}

/* phone: one pill, one sheet */
.cds,.cds__bd{display:none}
@media(max-width:760px){
  .cdh{min-height:clamp(470px,68svh,600px)}
  .cdh__in{padding:28px 18px 22px}
  .cdh__eye{font-size:11px;letter-spacing:.2em;margin-bottom:12px}
  .cdh__brand{font-size:clamp(3.4rem,17vw,5rem)}
  .cdh__line{font-size:1.22rem;margin-top:10px}
  .cdh__proof{margin:16px 0 18px;gap:6px;flex-wrap:nowrap}
  .cdh__chip{font-size:11.5px;padding:7px 10px;white-space:nowrap}
  .cdb__bar,.cdb__pop{display:none!important}
  .cdb__mini{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:0;border-radius:999px;padding:8px 8px 8px 20px;box-shadow:0 18px 50px -12px rgba(0,0,0,.5);cursor:pointer;text-align:left;color:#14211e}
  .cdb__mini:active{transform:scale(.985)}
  .cdb__mini svg.q{width:20px;height:20px;flex:none;color:#14211e}
  .cdb__mt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
  .cdb__mt b{font:600 15px/1.2 Inter,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cdb__mt span{font:400 13px/1.2 Inter,system-ui,sans-serif;color:#6b7773;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cdb__mgo{flex:none;height:48px;padding:0 20px;border-radius:999px;background:#0f3d3a;color:#fff;display:grid;place-items:center;font:600 15px/1 Inter,system-ui,sans-serif}
  .cds__bd{display:block;position:fixed;inset:0;z-index:9998;background:rgba(10,18,16,.45);opacity:0;pointer-events:none;transition:opacity .3s}
  .cds__bd.open{opacity:1;pointer-events:auto}
  .cds{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:9999;max-height:94svh;background:#fff;color:#14211e;border-radius:24px 24px 0 0;transform:translateY(104%);transition:transform .38s cubic-bezier(.2,.85,.25,1);box-shadow:0 -20px 60px -20px rgba(0,0,0,.4);-webkit-tap-highlight-color:transparent}
  .cds.open{transform:none}
  .cds__grab{width:38px;height:5px;border-radius:3px;background:#d6d2ca;margin:9px auto 4px;flex:none}
  .cds__hd{display:flex;align-items:center;justify-content:space-between;padding:6px 20px 10px;flex:none}
  .cds__hd h2{font:600 17px/1 Inter,system-ui,sans-serif;margin:0;color:#14211e}
  .cds__x{width:34px;height:34px;border-radius:50%;border:0;background:#f2efe9;display:grid;place-items:center;cursor:pointer;color:#14211e}
  .cds__x svg{width:14px;height:14px}
  .cds__body{overflow:auto;-webkit-overflow-scrolling:touch;padding:4px 20px 12px;flex:1}
  .cds__pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 16px}
  .cds__pair div{border:1px solid #e3dccd;border-radius:14px;padding:11px 14px}
  .cds__pair div.on{border-color:#14211e;box-shadow:inset 0 0 0 1px #14211e}
  .cds__pair i{display:block;font:700 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;font-style:normal;color:#14211e;margin-bottom:6px}
  .cds__pair span{font:500 15px/1.2 Inter,system-ui,sans-serif;color:#6b7773}
  .cds__pair span.is-set{color:#14211e}
  .cds__sec{font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#14211e;margin:20px 0 2px}
  .cds__ft{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eee9df;background:#fff}
  .cds__book{flex:1;max-width:260px;height:52px;border:0;border-radius:14px;background:#0f3d3a;color:#fff;font:600 16px/1 Inter,system-ui,sans-serif;cursor:pointer}
  .cds__book:active{transform:scale(.98)}
  .cdc__d{max-height:none}
}
@media(prefers-reduced-motion:reduce){.cdh__in>*,.cdb__pop,.cds,.cds__bd{animation:none;transition:none}}

/* ---- CD-BAR-V1 additions (Genco, 31 Oct 2026): one bar everywhere, fixed at the top like Airbnb ---- */
.cdb button{font-family:Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;min-height:0;margin:0;-webkit-appearance:none;appearance:none}
.cdb button:focus-visible{outline:2px solid #c8a25b;outline-offset:2px}
.cdb{text-align:left;-webkit-tap-highlight-color:transparent}

/* the same bar on a white page */
.cdb--light,.cdb--list{margin:0 auto}
.cdb--light .cdb__bar,.cdb--list .cdb__bar{border:1px solid #e3dccd;box-shadow:0 12px 32px -16px rgba(20,33,30,.32)}
.cdb--light .cdb__mini,.cdb--list .cdb__mini{border:1px solid #e3dccd;box-shadow:0 12px 30px -16px rgba(20,33,30,.34)}

/* the compact copy that stays at the top */
.cdb--compact{max-width:560px;margin:0 auto}
.cdb--compact .cdb__bar{padding:5px;border:1px solid #e3dccd;box-shadow:0 4px 18px -8px rgba(20,33,30,.28)}
.cdb--compact .cdb__seg{padding:9px 18px;gap:0}
.cdb--compact .cdb__k{display:none}
.cdb--compact .cdb__v{font-size:14.5px;color:#6b7773}
.cdb--compact .cdb__v.is-set{color:#14211e;font-weight:500}
.cdb--compact .cdb__go{height:40px;width:40px;padding:0}
.cdb--compact .cdb__go span{display:none}
.cdb--compact .cdb__go svg{width:16px;height:16px}
.cdb--compact .cdb__pop{top:calc(100% + 12px)}
.cdb--compact .cdb__cal{left:50%;margin-left:calc(min(780px,100vw - 40px) / -2)}

.cdt{position:sticky;top:0;z-index:9000;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid #ece6da;color:#14211e}
.cdt__in{max-width:1520px;margin:0 auto;padding:10px clamp(16px,4.5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;transition:padding .2s}
.cdt.is-top .cdt__in{padding:16px clamp(16px,4.5vw,72px)}
.cdt__brand{justify-self:start;display:block;line-height:0}
.cdt__brand img{height:46px;width:auto;display:block;transition:height .2s}
.cdt.is-top .cdt__brand img{height:60px}
.cdt__slot{width:min(620px,50vw)}
.cdt__nav{justify-self:end;display:flex;align-items:center;gap:24px}
.cdt__nav a{font:500 15px/1 Inter,system-ui,sans-serif;color:#14211e!important;text-decoration:none!important}
.cdt__nav a:not(.cdt__book):hover{text-decoration:underline!important;text-underline-offset:4px}
.cdt__book{display:inline-flex;align-items:center;height:42px;padding:0 22px;border-radius:999px;background:#0f3d3a;color:#fff!important;font-weight:600!important}
.cdt__book:hover{background:#0b2d2a}
.cdt__nav a.cdt__book{color:#fff!important}
/* scrolled: an empty date shows its label (Check in / Check out), a chosen one shows the date */
.cdt:not(.is-top) .cdb--compact .cdb__seg:not(.has-v) .cdb__k{display:block;font:400 14.5px/1.2 Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#6b7773}
.cdt:not(.is-top) .cdb--compact .cdb__seg:not(.has-v) .cdb__v{display:none}
/* at the very top the bar is the full-size one, with labels, like Airbnb; it tightens as you scroll */
.cdt.is-top .cdb--compact{max-width:620px}
.cdt.is-top .cdb--compact .cdb__seg{padding:11px 22px;gap:4px}
.cdt.is-top .cdb--compact .cdb__k{display:block}
.cdt.is-top .cdb--compact .cdb__go{height:50px;width:auto;padding:0 22px}
.cdt.is-top .cdb--compact .cdb__go span{display:inline}
@media(min-width:761px){.wp-block-template-part > .cd-header{display:none!important}}
@media(max-width:1100px){.cdt__nav a:not(.cdt__book){display:none}}
@media(max-width:760px){
  .cdt__in{grid-template-columns:1fr;padding:8px 14px}
  .cdt.is-top .cdt__in{padding:8px 14px}
  .cdt__brand,.cdt__nav{display:none}
  .cdt__slot{width:100%}
  .cdt .cdb__mini{padding:6px 6px 6px 16px;box-shadow:none;border:1px solid #e3dccd}
  .cdt .cdb__mgo{height:40px;padding:0 16px;font-size:14px}
  .cdt .cdb__mt b{font-size:14px}.cdt .cdb__mt span{font-size:12px}
  .cdt--listing{display:none}
}

/* the logo, cut out of its white square (31 Oct 2026); a new logo is its own project */
.cd-header__logo{background:none!important;box-shadow:none!important;border:0!important;width:auto!important;height:auto!important;padding:0!important}
.cd-header__logo img.cd-logo{height:46px!important;width:auto!important;max-width:none!important;display:block}

/* homes row: homes only, two wide cards; the 2BR shows the canal at dusk until its photos arrive */
@media(min-width:961px){
  .v2-listings{grid-template-columns:repeat(2,1fr)!important}
  .v2 .v2-listings .v2-listing__photo img{height:320px!important;max-height:320px!important}
  .v2 .v2-listings .v2-listing__photo--soon{height:320px!important}
}
.v2-listing__photo--soon{background:linear-gradient(180deg,rgba(8,22,20,.16),rgba(8,22,20,.5)),url(/wp-content/uploads/cd-hero-dusk-m-v2.jpg) center 60%/cover!important}
.v2-listing__photo--soon .v2-listing__soon{color:#fff;font:500 15px/1 Inter,system-ui,sans-serif;text-shadow:0 1px 12px rgba(0,0,0,.35)}

/* currency: in the footer, not floating over the page */
.cd-currency-selector.cd-currency--foot{position:static!important;display:inline-flex;align-items:center;margin:20px auto 0;box-shadow:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.cd-currency-selector.cd-currency--foot select{color:#e8ede9}
.cd-currency-selector.cd-currency--foot select option{color:#14211e}
.cd-currency-selector.cd-currency--foot .cd-currency-selector__icon{color:#e6c275}
.cd-currency-foot-row{text-align:center}

/* the homepage's closing call to action carries the bar too */
.v2-close .cdb{margin:28px auto 16px}

/* the hero is the brand now; the bar lives in the header (31 Oct 2026, his "put it at the top, like Airbnb") */
.cdh{min-height:clamp(400px,58vh,640px)}
@media(max-width:760px){.cdh{min-height:clamp(360px,54svh,500px)}}
.cdh__proof{margin-bottom:0}
.v2-listing__price b{font-weight:600}

/* stays page: the header bar is the search, like Airbnb results; the old box area goes */
.cd-stays-top{display:none!important}

/* phones: the theme sets overflow-x:hidden on html/body, which turns body into a scroller and stops the
   header from sticking. clip crops the same way without that side effect (older browsers keep hidden). */
@media(max-width:760px){html,body{overflow-x:clip!important}}

/* homes card on phones: dates above the price, like Airbnb */
@media(max-width:760px){.v2-listing__price{flex-direction:column!important;align-items:flex-start!important;gap:6px}.v2-listing__price .v2-listing__next{order:-1}}

.cdh [data-cdb]{min-height:74px}
@media(max-width:760px){.cdh [data-cdb]{min-height:64px}}
