/* Potenza Rentals v3 (2026-10-16): booking bar and calendar (after the Libema search bar), /book/, apartment pages, map.
   Night palette tokens live in site.css :root. Fields and popovers are white for legibility, like the Libema bar. */

/* ---- booking bar ---- */
.bk{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) auto;align-items:stretch;
  background:var(--field);color:var(--field-ink);border-radius:16px;padding:7px;box-shadow:0 0 0 6px rgba(156,131,255,.92),0 18px 50px rgba(0,0,0,.35);
  max-width:1040px;width:100%;text-align:left;font-family:var(--sans)}
.bk__f{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:8px 18px;border-right:1px solid #E3DFEE}
.bk__f:nth-child(3){border-right:0}
.bk__t{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;height:100%;
  padding:8px 18px;margin:-8px -18px;min-height:64px;border-radius:10px}
.bk__t[hidden]{display:none}
.bk__t span,.bk__native span{font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--field-ink)}
.bk__t b{font-size:17px;font-weight:600;color:var(--field-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk__t.is-empty b{color:#5D5779;font-weight:500}
.bk__t:hover,.bk__t:focus-visible{background:#F4F1FA}
.bk__t:focus-visible{outline:3px solid var(--violet);outline-offset:0}
.bk__t--guests{padding-right:44px}
.bk__t--guests::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #5D5779;border-bottom:2px solid #5D5779;transform:rotate(45deg)}
.bk__native{display:grid;gap:4px}
.bk__native input,.bk__native select{font:inherit;font-size:16px;border:1px solid #CFC9DF;border-radius:8px;padding:6px 8px;min-height:40px;color:var(--field-ink);background:#fff}
.bk__native[hidden]{display:none}
.bk__go{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;margin:4px;border:0;border-radius:11px;cursor:pointer;
  background:var(--coral);color:var(--cta-ink);font-family:var(--sans);font-weight:800;font-size:17px;letter-spacing:.01em;transition:background .25s var(--ease)}
.bk__go:hover{background:var(--coral-2)}
.bk__go:focus-visible{outline:3px solid var(--field-ink);outline-offset:2px}
.bk__go svg{width:19px;height:19px;flex:none}
.bk-under{margin:16px 0 0;font-size:15px;color:var(--on-dark-soft);line-height:1.45}
.bk-under a{color:var(--on-dark);font-weight:700}
.bk__count{font-size:12.5px;font-weight:600;color:#5D5779;position:absolute;right:16px;top:10px}
@media (max-width:860px){
  .bk{grid-template-columns:1fr 1fr;padding:6px;gap:0}
  .bk__f{border-right:0;border-bottom:1px solid #E3DFEE}
  .bk__f:nth-child(1){border-right:1px solid #E3DFEE}
  .bk__f:nth-child(3){grid-column:1/-1}
  .bk__go{grid-column:1/-1;margin:8px 4px 4px}
}

/* ---- popovers: calendar and guests ---- */
.bkpop{position:absolute;z-index:45;top:calc(100% + 14px);left:0;background:#fff;color:var(--field-ink);border-radius:18px;
  box-shadow:0 26px 70px rgba(5,3,20,.55);padding:20px 22px 16px;font-family:var(--sans)}
.bkpop[hidden]{display:none}
.bkcal{width:min(740px,calc(100vw - 32px))}
.bkgu{left:auto;right:0;width:min(380px,calc(100vw - 32px))}
.bkpop__x{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;font-size:26px;border-radius:50%;color:var(--field-ink)}
.bkpop__x:hover,.bkpop__x:focus-visible{background:#F1EEF8}
.bkpop__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid #ECE8F4}
.bkpop__clear{all:unset;cursor:pointer;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:3px;padding:12px 4px;color:var(--field-ink)}
.bkpop__done{all:unset;cursor:pointer;font-weight:800;font-size:15px;background:var(--field-ink);color:#fff;border-radius:10px;padding:12px 22px;min-height:20px}
.bkpop__clear:focus-visible,.bkpop__done:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.bkcal__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-6px 0 4px}
.bkcal__hint{margin:0;font-weight:700;font-size:16px}
.bkcal__nav{position:relative;height:0}
.bkcal__prev,.bkcal__next{all:unset;cursor:pointer;position:absolute;top:2px;width:44px;height:44px;display:grid;place-items:center;font-size:28px;line-height:1;border-radius:50%}
.bkcal__prev{left:-4px}.bkcal__next{right:-4px}
.bkcal__prev:hover,.bkcal__next:hover,.bkcal__prev:focus-visible,.bkcal__next:focus-visible{background:#F1EEF8}
.bkcal__months{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.bkcal__title{font-family:var(--sans);font-size:16px;font-weight:800;text-align:center;margin:10px 0 10px;color:var(--field-ink);line-height:1.6}
.bkcal table{border-collapse:separate;border-spacing:0 3px;width:100%;table-layout:fixed}
.bkcal th{font-size:12px;font-weight:700;color:#5D5779;padding:4px 0}
.bkcal td{padding:0;text-align:center}
.bkcal button[data-d]{all:unset;box-sizing:border-box;cursor:pointer;width:100%;max-width:46px;height:44px;display:inline-grid;place-items:center;border-radius:50%;
  font-size:15px;font-weight:600;color:var(--field-ink)}
.bkcal button[data-d]:hover{box-shadow:inset 0 0 0 1.5px var(--field-ink)}
.bkcal button[data-d]:focus-visible{outline:3px solid var(--violet);outline-offset:-1px}
.bkcal button[data-d]:disabled{color:#AAA5BC;cursor:default;text-decoration:line-through;box-shadow:none}
.bkcal button.is-in,.bkcal button.is-hover{background:#FFE3EE;border-radius:0;max-width:none}
.bkcal button.is-a,.bkcal button.is-b{background:var(--coral);color:var(--cta-ink);font-weight:800}
.bkcal button.is-today{text-decoration:underline;text-underline-offset:4px}
.bkgu__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #ECE8F4}
.bkgu__row b{display:block;font-size:16px}
.bkgu__row span{display:block;font-size:14px;color:#5D5779}
.bkgu__step{display:flex;align-items:center;gap:14px}
.bkgu__step button{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;border:1.5px solid #8F89A8;display:grid;place-items:center;font-size:20px;line-height:1}
.bkgu__step button:hover{border-color:var(--field-ink)}
.bkgu__step button:disabled{opacity:.35;cursor:default}
.bkgu__step button:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.bkgu__step output{min-width:22px;text-align:center;font-weight:700;font-size:16px}
.bkgu__cap{font-size:14px;color:#4E4869;margin:12px 0 0}
body.bk-sheet::before{content:"";position:fixed;inset:0;background:rgba(9,7,32,.62);z-index:44}
@media (max-width:760px){
  .bkcal__months{grid-template-columns:1fr}
  body.bk-sheet .bkpop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:86vh;overflow:auto;border-radius:20px 20px 0 0;padding:18px 16px 20px}
}

/* ---- booking bar placements ---- */
.reel__bk{padding:clamp(4px,.6vw,10px) 0 clamp(22px,2.4vw,40px)}
.reel__bk .bk{margin:0 auto}
.reel__bk .bk-under{text-align:center}
.bk-band{padding:clamp(36px,4.6vw,72px) var(--gutter);background:var(--deep)}
.bk-band .bk{margin:0}
.rail__book{background:var(--deep);border:1px solid var(--hair-d);padding:clamp(20px,1.8vw,28px);border-radius:14px}
.rail__book h3{color:var(--on-dark);margin-bottom:.35em}
.rail__book p{color:var(--on-dark-soft);font-size:15.5px}
.rail__book .bk{grid-template-columns:1fr 1fr;box-shadow:0 0 0 4px rgba(156,131,255,.9);padding:5px}
.rail__book .bk__f{border-right:0;border-bottom:1px solid #E3DFEE;padding:6px 14px}
.rail__book .bk__f:nth-child(1){border-right:1px solid #E3DFEE}
.rail__book .bk__f:nth-child(3){grid-column:1/-1;border-bottom:0}
.rail__book .bk__t{padding:6px 14px;margin:-6px -14px}
.rail__book .bk__go{grid-column:1/-1;margin:6px 2px 2px;font-size:16px}
.rail__book .bkcal{left:auto;right:-8px}
.rail__book .bkgu{right:-8px}
@media (min-width:1001px){.rail__book .bkcal{width:min(700px,calc(100vw - 40px))}}

/* ---- /book/ ---- */
.bkhead{padding:calc(var(--hdr-h) + clamp(36px,5vw,80px)) var(--gutter) clamp(28px,3vw,48px);background:var(--deep)}
.bkhead__top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;margin-bottom:clamp(28px,3vw,44px)}
.bkhead h1{font-size:clamp(42px,5.4vw,88px);margin:0}
.bkhead__top p{margin:0;color:var(--on-dark-soft);font-size:clamp(17px,1.2vw,20px)}
@media (max-width:900px){.bkhead__top{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:clamp(22px,2.4vw,36px) var(--gutter) 0}
.chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--hair-d);
  font-weight:700;font-size:15px;color:var(--on-dark)}
.chip:hover{border-color:var(--sea)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--deep);border-color:var(--ink)}
.chip:focus-visible{outline:3px solid var(--sea);outline-offset:2px}
.bksum{padding:18px var(--gutter) 0;margin:0;font-weight:700;color:var(--sea);font-size:16px}
.bklist{list-style:none;margin:0;padding:18px var(--gutter) clamp(56px,6vw,96px);display:grid;gap:14px}
.bkrow{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;gap:clamp(16px,2vw,32px);align-items:center;background:var(--paper-2);
  border:1px solid var(--line);border-radius:14px;padding:12px;transition:border-color .3s}
.bkrow[hidden]{display:none}
.bkrow:hover{border-color:rgba(69,217,200,.6)}
.bkrow img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.bkrow h2{font-size:clamp(22px,1.7vw,30px);margin:6px 0 6px;line-height:1.15}
.bkrow h2 a{color:var(--on-dark);text-decoration:none}
.bkrow h2 a:hover{color:var(--sea)}
.bkrow .eyebrow{margin:0}
.bkrow p{margin:0;color:var(--muted);font-size:15.5px}
.bkrow__acts{display:flex;flex-direction:column;gap:10px;padding-right:8px}
.bkrow__acts .btn{justify-content:center;white-space:nowrap}
@media (max-width:900px){.bkrow{grid-template-columns:minmax(0,1fr)}.bkrow__acts{flex-direction:row;flex-wrap:wrap;padding:0 4px 6px}}
.bknone{padding:0 var(--gutter);color:var(--on-dark-soft)}
.bknote{padding:0 var(--gutter) clamp(48px,5vw,80px);max-width:900px;color:var(--on-dark-soft);font-size:15.5px}

/* ---- apartment cards and pages ---- */
.ucards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.3vw,20px)}
@media (max-width:1200px){.ucards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.ucards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ucards{grid-template-columns:1fr}}
.ucard{display:block;text-decoration:none;color:var(--on-dark);background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .3s}
.ucard:hover{border-color:rgba(69,217,200,.6);color:var(--on-dark)}
.ucard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ucard__b{padding:14px 16px 16px}
.ucard h3{font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.3;margin:0 0 6px}
.ucard p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.45}
.ucard__r{color:var(--sunset);font-weight:700}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.4em;padding:0;list-style:none}
.facts li{border:1px solid var(--hair-d);border-radius:999px;padding:7px 14px;font-size:15px;font-weight:600;margin:0}
.amen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px;margin:0 0 1.4em}
.amen h3{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sea);margin:1em 0 .4em}
.amen ul{list-style:none;padding:0;margin:0}
.amen li{padding:5px 0;border-bottom:1px solid var(--line);font-size:16px}
@media (max-width:640px){.amen{grid-template-columns:1fr}}
.note{border-left:3px solid var(--sunset);padding:4px 0 4px 18px;margin:0 0 1.4em}
.note li{margin:.3em 0}
.src-line{font-size:14px;color:var(--muted)}
.src-line a{color:var(--muted)}

/* ---- map ---- */
.mapwrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);height:calc(100vh - var(--hdr-h));height:calc(100svh - var(--hdr-h));margin-top:var(--hdr-h);background:var(--deep)}
.mapside{overflow:auto;padding:clamp(20px,2vw,32px);border-right:1px solid var(--hair-d)}
.mapside h1{font-size:clamp(34px,3vw,52px);margin-bottom:.25em}
.mapside p{color:var(--on-dark-soft);font-size:15.5px}
.mapside .chips{padding:0;margin:14px 0 18px}
.maplist{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.maplist button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:start;width:100%;padding:10px 12px;border-radius:10px}
.maplist button:hover,.maplist button:focus-visible,.maplist button.is-on{background:var(--paper-2)}
.maplist button:focus-visible{outline:2px solid var(--sea)}
.maplist i{width:12px;height:12px;border-radius:50%;margin-top:6px}
.maplist b{display:block;font-size:16px}
.maplist span{display:block;font-size:14px;color:var(--muted);line-height:1.4}
.maplist li[hidden]{display:none}
#map{width:100%;height:100%;background:#0B0A22}
.mapcredit{font-size:12.5px;color:var(--muted);margin-top:18px}
.mapcredit a{color:var(--muted)}
@media (max-width:900px){
  .mapwrap{grid-template-columns:1fr;grid-template-rows:62vh auto;height:auto}
  .mapwrap #map{grid-row:1}
  .mapside{grid-row:2;border-right:0;overflow:visible}
}
.pz-pin{width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.pz-pin--home{width:26px;height:26px;border-width:4px}
.leaflet-container{font-family:var(--sans);background:#0B0A22}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:var(--field-ink)}
.leaflet-popup-content{margin:14px 16px;font-size:15px;line-height:1.45}
.leaflet-popup-content b{display:block;font-size:16px;margin-bottom:2px}
.leaflet-popup-content a{color:#5B3FD0;font-weight:700}
.leaflet-overlay-pane svg{width:auto;height:auto;max-width:none}
.leaflet-control-attribution{font-size:11px}
.leaflet-control-attribution a{color:#3D2FA0}
.leaflet-bar a{width:40px!important;height:40px!important;line-height:40px!important}
.mapband{position:relative;display:block;height:clamp(320px,38vw,520px);overflow:hidden;background:var(--deep);color:var(--on-dark);text-decoration:none}
.mapband img{width:100%;height:100%;object-fit:cover;opacity:.9}
.mapband span{position:absolute;left:var(--gutter);bottom:clamp(20px,3vw,40px)}
.form__unit{background:var(--paper-2);border:1px solid var(--line);padding:12px 16px;border-radius:10px;margin:0}
.form__unit b{color:var(--sea)}
/* header Book direct: .hdr__nav a (padding 8px 0, moon text) outranked the button's own padding and colour */
.hdr__nav a.hdr__cta{padding:9px 18px;color:var(--cta-ink);white-space:nowrap}
.hdr__nav a.hdr__cta:hover,.hdr__nav a.hdr__cta[aria-current="page"]{color:var(--cta-ink);background:var(--coral-2)}
.hdr__book{color:var(--cta-ink)}
.hdr__brand img{height:28px}
.bk__f .bk__count{right:14px;top:9px}
.prose .facts,.prose .amen ul{padding-left:0}
.prose .note{padding-left:18px;list-style:none}
.prose .note li{margin:.3em 0}
/* layout_fit 2026-10-16: the rail keeps at least 300 px on narrow desktops so the booking box fits */
@media (min-width:1001px){.read,.read--solo{grid-template-columns:minmax(0,760px) minmax(300px,1fr)}}
.rail__book .bk{min-width:0}
.rail__book .bk__go{white-space:normal;text-align:center}
