.booking-public{padding-bottom:64px}
.booking-public .page-intro{padding-bottom:24px}
.booking-public section[hidden],.booking-public [hidden]{display:none!important}
.booking-public .grid,.booking-public .formgrid{display:grid;gap:16px}
.booking-public .four{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-public .two,.booking-public .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-public .wide{grid-column:1/-1}
.booking-public .card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}
.booking-public h2,.booking-public h3{margin:0 0 12px}
.booking-public .section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 12px}
.booking-public .section-title h2{margin:0}
.booking-public .badge{display:inline-block;color:var(--navy);background:var(--soft);border-radius:16px;padding:5px 10px;font-size:.8rem;margin-bottom:6px}
.booking-public .hint{color:var(--muted);font-size:.93rem;margin:8px 0}
.booking-public .card p{margin:8px 0}
.booking-public .boat-text{white-space:pre-line}
.booking-public .booking-card{cursor:pointer;text-align:left;color:var(--ink);font:inherit}
.booking-public .booking-card:hover,.booking-card:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.booking-public .card img,.booking-public .booking-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:8px}
.booking-public .booking-placeholder{display:grid;place-items:center;background:var(--soft);color:var(--navy);font-size:32px}
.booking-public .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:7px}
.booking-public .gallery-grid img{margin:0}
.booking-public label{display:grid;gap:5px;font-weight:650}
.booking-public label.checkline{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.booking-public label a{text-decoration:underline}
.booking-public input,.booking-public select,.booking-public textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px;color:var(--ink);font:inherit}
.booking-public input[type=checkbox]{width:auto}
.booking-public .form-actions,.booking-public .calendar-nav{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:12px 0}
.booking-public .primary,.booking-public .ghost{border:1px solid var(--navy);border-radius:6px;background:var(--navy);color:white;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}
.booking-public .ghost{background:var(--paper);color:var(--navy)}
.booking-public .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.booking-public .day-label,.booking-public .public-day{text-align:center;padding:5px}
.booking-public .public-day{min-height:40px;background:var(--soft);border:0;border-radius:4px;color:var(--ink);cursor:pointer}
.booking-public .public-day.partial{background:#fff0d7;color:#70500d}
.booking-public .public-day.blocked{background:#e4e8e6;color:#6d7774}
.booking-public .public-day[aria-pressed=true]{outline:2px solid var(--navy)}
.booking-public .booking-quote,.booking-public .error{background:var(--soft);color:var(--ink);padding:10px 12px;border-radius:8px}
.booking-public .error{background:#fff0d7;color:#70500d}
.booking-public .booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-public button:disabled{cursor:default;opacity:.6}
@media(max-width:850px){.booking-public .four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.booking-public .two,.booking-public .formgrid{grid-template-columns:1fr}.booking-public .card{padding:12px}.booking-public .calendar-nav strong{font-size:.93rem}}

.booking-public .activity-cover{max-width:520px;max-height:230px;object-fit:cover}

.booking-video{display:block;width:100%;aspect-ratio:16/9;background:#102e38;border-radius:6px}
