/* KEK Yachting — static per-yacht pages (yacht-<slug>.html).
   Was the inline <style> of the old yacht.html, plus the booking module. */

/* Real-photo hero gallery */
.yacht-hero-gallery .yh-slot{border:0;padding:0;margin:0;cursor:pointer;background:#0F1B33;display:block;}
.yacht-hero-gallery .yh-slot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.yacht-hero-gallery .yh-slot:hover img{transform:scale(1.04);}

/* Spec table */
.spec-table{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;background:#fff;border:1px solid #EFE9DC;border-radius:18px;padding:10px 28px;}
.spec-table .spec-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed #F0EBDD;font-size:14px;}
.spec-table .spec-row .k{color:#6B6E7B;}
.spec-table .spec-row .v{color:#0F1B33;font-weight:600;text-align:right;}
@media (max-width:680px){.spec-table{grid-template-columns:1fr;gap:0;}}

/* Layout plan */
.layout-figure{background:#fff;border:1px solid #EFE9DC;border-radius:18px;padding:24px;display:flex;align-items:center;justify-content:center;}
.layout-figure img{max-width:100%;height:auto;border-radius:8px;}
.layout-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px;}
.layout-meta .lm{display:flex;flex-direction:column;gap:4px;padding:16px;background:#FBF8EF;border-radius:12px;}
.layout-meta .lm strong{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;line-height:1;}
.layout-meta .lm span{font-size:12px;color:#6B6E7B;letter-spacing:0.04em;text-transform:uppercase;}

/* Extras */
.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.extras-col{background:#fff;border:1px solid #EFE9DC;border-radius:16px;padding:22px 24px;}
.extras-col h4{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;margin:0 0 12px;}
.extras-col .extra-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed #F0EBDD;font-size:14px;color:#3A3D4A;}
.extras-col .extra-row:last-child{border-bottom:0;}
.extras-col .extra-row strong{color:#0F1B33;white-space:nowrap;}
.extras-col.extras-tl{grid-column:1/-1;}
.extras-col.extras-tl p{font-size:14px;line-height:1.7;color:#3A3D4A;margin:0;}
.extras-note{font-size:13px;color:#2C7A63;font-weight:600;margin:12px 0 0;}
@media (max-width:680px){.extras-grid{grid-template-columns:1fr;}.layout-meta{grid-template-columns:repeat(2,1fr);}}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,14,28,0.94);display:none;overflow:auto;padding:64px 24px;}
.lightbox.open{display:block;}
.lb-grid{max-width:1100px;margin:0 auto;column-count:2;column-gap:14px;}
.lb-grid img{width:100%;border-radius:12px;margin-bottom:14px;display:block;break-inside:avoid;}
.lb-close{position:fixed;top:20px;right:24px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#0F1B33;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
@media (max-width:680px){.lb-grid{column-count:1;}}

/* ===== Booking module inside the sticky widget ===== */
.bw-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.bw-field{display:flex;flex-direction:column;gap:5px;background:#FBF8EF;border:1px solid #EFE9DC;border-radius:12px;padding:10px 13px;min-width:0;}
.bw-field label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9B7E3F;}
.bw-field input,.bw-field select{border:0;background:transparent;font:600 14px Manrope,sans-serif;color:#0F1B33;padding:0;width:100%;min-width:0;outline:none;}
.bw-field input{cursor:pointer;caret-color:transparent;}
.bw-field select{cursor:pointer;appearance:none;}
.bw-field.bw-guests{grid-column:1/-1;}
.bw-status{margin-top:12px;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.5;background:#F6F1E6;color:#3A3D4A;}
.bw-status .bw-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#0F1B33;}
.bw-status .dot{width:8px;height:8px;border-radius:50%;background:#B9B4A6;flex:0 0 auto;}
.bw-status.is-free{background:#E9F3EC;}
.bw-status.is-free .dot{background:#3AA46B;}
.bw-status.is-request{background:#F7F0DE;}
.bw-status.is-request .dot{background:#C9A663;}
.bw-status.is-booked{background:#EFECE2;}
.bw-status p{margin:5px 0 0;font-size:12.5px;color:#5A5E6B;}
.bw-free{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.bw-free button{border:0;cursor:pointer;background:#C9A663;color:#0F1B33;font:700 12px Manrope,sans-serif;padding:7px 11px;border-radius:999px;}
.bw-free button:hover{background:#D4B574;}
.bw-extras{margin-top:14px;border-top:1px solid #F0EBDD;padding-top:12px;}
.bw-extras>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;font:700 13px Manrope,sans-serif;color:#0F1B33;}
.bw-extras>summary::-webkit-details-marker{display:none;}
.bw-extras>summary::after{content:'+';font-size:19px;font-weight:400;color:#C9A663;line-height:1;}
.bw-extras[open]>summary::after{content:'\2212';}
.bw-extras .bwx-list{display:flex;flex-direction:column;gap:2px;margin-top:10px;}
.bw-extras label{display:grid;grid-template-columns:16px 1fr auto;gap:9px;align-items:center;font-size:13px;color:#3A3D4A;padding:5px 0;cursor:pointer;}
.bw-extras label span.px{font-weight:600;color:#0F1B33;white-space:nowrap;}
.bw-extras input{accent-color:#253D6F;width:16px;height:16px;margin:0;}
.bw-extras .bwx-note{font-size:12px;color:#6B6E7B;margin:9px 0 0;line-height:1.5;}
.bw-onarrival{margin-top:10px;font-size:12px;line-height:1.55;color:#6B6E7B;}
.bw-onarrival strong{color:#0F1B33;}

/* ===== Weeks still open ===== */
.week-band{background:#fff;border:1px solid #EFE9DC;border-radius:18px;padding:22px 24px;}
.week-chips{display:flex;flex-wrap:wrap;gap:10px;}
.week-chips .wk{display:flex;flex-direction:column;gap:3px;align-items:flex-start;background:#FBF8EF;border:1px solid #EFE9DC;border-radius:12px;padding:11px 15px;cursor:pointer;text-align:left;transition:border-color .18s,transform .18s;}
.week-chips .wk:hover{border-color:#C9A663;transform:translateY(-1px);}
.week-chips .wk-d{font:700 13.5px Manrope,sans-serif;color:#0F1B33;white-space:nowrap;}
.week-chips .wk-p{font-size:12px;color:#6B6E7B;}
.week-note{font-size:13px;color:#6B6E7B;margin:14px 0 0;}
.week-none{font-size:14px;color:#3A3D4A;margin:0;}

/* All-fleet link row (crawlable, and useful) */
.fleet-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid #EFE9DC;}
.fleet-links a{font-size:13px;font-weight:600;color:#253D6F;text-decoration:none;background:#F6F1E6;border:1px solid #EFE9DC;border-radius:999px;padding:8px 14px;}
.fleet-links a:hover{background:#EDE3CE;}
.fleet-links .fl-lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9B7E3F;align-self:center;margin-right:4px;}
