/* "Build your detail" estimator */
.booking{background:linear-gradient(180deg,var(--paper),#e9eef5)}
.booking h2 em{font-style:italic;color:var(--signal)}
.bk-shell{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.bk-builder{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(18px,3vw,30px);box-shadow:var(--shadow)}
.bk-progress{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bk-progress li{font:700 .72rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--steel-2);padding-top:10px;border-top:4px solid var(--line)}
.bk-progress li.done{color:var(--ink);border-color:var(--ink)}
.bk-progress li.active{color:var(--signal);border-color:var(--signal)}
.bk-panel{border:0;margin:0;padding:0;min-width:0;display:none}
.bk-panel.active{display:block}
.bk-panel legend,.bk-legend{font:800 var(--step-2)/1.05 var(--font-display);font-variation-settings:"wdth" 85;text-transform:uppercase;margin:0 0 18px;padding:0}
.bk-panel legend .mono,.bk-legend .mono{display:block;color:var(--signal);font-size:.72rem;font-weight:700;margin-bottom:8px;letter-spacing:.1em}
.bk-panel legend small{font:600 .9rem var(--font-body);text-transform:none;color:var(--steel)}
.bk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bk-card{position:relative;cursor:pointer;display:block}
.bk-card input,.bk-addon input,.bk-promo input{position:absolute;opacity:0;pointer-events:none}
.bk-card-inner{display:flex;flex-direction:column;gap:8px;height:100%;padding:18px;border:2px solid var(--line);border-radius:var(--radius);transition:border-color .15s,background .15s}
.bk-card:hover .bk-card-inner{border-color:#b8c5d8}
.bk-card input:checked + .bk-card-inner{border-color:var(--signal);background:var(--signal-ice)}
.bk-card input:focus-visible + .bk-card-inner{outline:3px solid var(--signal);outline-offset:2px}
.bk-tag{align-self:flex-start;font-size:.62rem}
.bk-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bk-title{font-weight:800}
.bk-price{font:850 1.35rem var(--font-display);text-align:right}
.bk-price small{display:block;font:600 .62rem var(--font-mono);text-transform:uppercase;color:var(--steel-2)}
.bk-text{font-size:.88rem;color:var(--steel)}
.bk-addons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-addon,.bk-promo{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}
.bk-addon::before,.bk-promo::before{content:"";flex:0 0 20px;height:20px;border:2px solid #b3bfd0;border-radius:4px;background:#fff center/12px no-repeat}
.bk-addon:has(input:checked),.bk-promo:has(input:checked){border-color:var(--signal);background:var(--signal-ice)}
.bk-addon:has(input:checked)::before,.bk-promo:has(input:checked)::before{background-color:var(--signal);border-color:var(--signal);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.bk-addon:has(input:focus-visible),.bk-promo:has(input:focus-visible){outline:3px solid var(--signal);outline-offset:2px}
.bk-addon-copy{flex:1}
.bk-addon-copy strong,.bk-promo strong{display:block;font-size:.95rem}
.bk-addon-copy small,.bk-promo small{display:block;color:var(--steel);font-size:.82rem;line-height:1.35}
.bk-addon-price{font:700 .9rem var(--font-mono);white-space:nowrap}
.bk-promo{margin-bottom:16px;border-style:dashed;border-color:var(--signal)}
.bk-promo span{flex:1}
.bk-promo b{font:800 1.1rem var(--font-mono);color:var(--signal)}
.bk-review{border-top:1px solid var(--line)}
.bk-review > div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.bk-review span{color:var(--steel)}
.bk-review strong{text-align:right}
.bk-review-total strong{font:850 1.5rem var(--font-display)}
.bk-continue{width:100%;margin-top:6px;min-height:58px;font-size:1.05rem}
.bk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.bk-nav #bookingNext{margin-left:auto}
.bk-summary{position:sticky;top:92px;background:var(--ink);color:var(--on-dark);border-radius:var(--radius-l);padding:24px}
.bk-summary .mono{color:#9cc3ff}
.bk-summary h3{margin:6px 0 16px;font-size:1.4rem}
.bk-summary dl{margin:0}
.bk-summary dl > div,.bk-sum-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-dark);font-size:.92rem}
.bk-summary dt,.bk-sum-row span{color:var(--on-dark-muted)}
.bk-summary dd{margin:0;text-align:right;font-weight:700}
.bk-sum-addons{padding:6px 0}
.bk-sum-addons > .muted{display:block;padding:10px 0;color:var(--on-dark-muted);font-size:.9rem}
.bk-sum-promo strong{color:#7fb2ff}
.bk-total{display:flex;justify-content:space-between;align-items:flex-end;padding-top:16px}
.bk-total strong{font:850 2.2rem/1 var(--font-display)}
.bk-total small{font:600 .7rem var(--font-mono);color:var(--on-dark-muted)}
@media (max-width:980px){.bk-shell{grid-template-columns:1fr}.bk-summary{position:static}}
@media (max-width:700px){.bk-grid,.bk-addons{grid-template-columns:1fr}.bk-summary{padding:18px}.bk-total strong{font-size:1.8rem}}
.bk-range-note{display:block;padding:8px 0 0;font-size:.8rem;color:var(--on-dark-muted)}
