:root{--deep:#052f43;--sea:#087f8c;--aqua:#62d7d4;--sand:#f5f0e5;--ink:#17333e;--line:#d7e2e3}*{box-sizing:border-box}.booking-page{margin:0;background:#f4f8f8;color:var(--ink);font:16px/1.55 Arial,sans-serif}.booking-header{height:86px;padding:10px max(20px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center;background:var(--deep)}.booking-header img{height:66px}.booking-header nav{display:flex;gap:22px}.booking-header a{color:#fff;text-decoration:none;font-weight:700}.booking-shell{width:min(1180px,calc(100% - 32px));margin:44px auto;min-height:65vh}.booking-title{display:flex;justify-content:space-between;align-items:end;gap:24px}.booking-title span,.activity-meta span,.cart-line span{color:var(--sea);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.booking-shell h1{font:700 clamp(34px,5vw,58px)/1.05 Georgia,serif;color:var(--deep);margin:8px 0}.booking-shell h2,.booking-shell h3{font-family:Georgia,serif;color:var(--deep)}.activity-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:18px 0 45px}.activity-cards article,.authorization-form section,.checkout-card,.cart-line,.empty-cart{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 5px 20px #002b3c0d}.activity-cards img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px}.activity-meta{display:flex;justify-content:space-between;gap:10px;margin:18px 0}.booking-row,.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-page label{display:grid;gap:6px;font-weight:700}.booking-page input,.booking-page textarea,.booking-page select{width:100%;min-height:46px;padding:11px;border:1px solid #bfcfd2;border-radius:7px;font:inherit}.booking-page textarea{min-height:100px}.book-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border:0;border-radius:8px;background:var(--sea);color:#fff!important;text-decoration:none;font-weight:800;cursor:pointer}.book-button:disabled{opacity:.45}.secondary{background:var(--deep)}.activity-cards .book-button{width:100%;margin-top:16px}.steps{display:flex;gap:12px;margin-bottom:30px}.steps>*{flex:1;text-align:center;padding:11px;border-bottom:3px solid var(--line)}.steps b{border-color:var(--sea);color:var(--sea)}.cart-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:22px;margin-bottom:14px}.cart-line h2{margin:3px 0}.link-button{border:0;background:none;color:#9a3838;text-decoration:underline;cursor:pointer}.totals{margin:24px 0 24px auto;width:min(480px,100%);background:var(--deep);color:#fff;padding:24px;border-radius:14px}.totals p{display:flex;justify-content:space-between;gap:12px}.totals .deposit{font-size:19px;border-top:1px solid #ffffff44;padding-top:15px}.totals .book-button{width:100%;background:var(--aqua);color:var(--deep)!important}.authorization-form section{margin:20px 0}.wide{grid-column:1/-1}.terms label{grid-template-columns:auto 1fr;align-items:start;margin:18px 0}.terms input{width:22px;min-height:22px}.honeypot{position:absolute;left:-9999px}.checkout-card{max-width:700px;margin:30px auto}.checkout-card dl{display:grid;grid-template-columns:1fr auto;gap:12px;border-block:1px solid var(--line);padding:20px 0}.checkout-card dt,.checkout-card dd{margin:0}.booking-alert{padding:15px;border-radius:8px;background:#d8f3e8;margin-bottom:20px}.booking-alert.error{background:#f7dddd}.booking-footer{padding:28px;text-align:center;background:var(--deep);color:#cce1e5}@media(max-width:850px){.activity-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.booking-shell{width:min(100% - 20px,1180px);margin:24px auto}.booking-header{height:72px;padding:8px 14px}.booking-header img{height:54px}.booking-title{display:block}.activity-cards,.booking-grid,.booking-row{grid-template-columns:1fr}.activity-cards{gap:14px}.cart-line{grid-template-columns:1fr auto}.cart-line form{grid-column:1/-1}.steps{font-size:12px;gap:4px}.wide{grid-column:auto}.booking-page input,.booking-page textarea,.booking-page select{font-size:16px}}
/* Editable activity details live in the cart. */
.cart-intro{margin:-6px 0 24px;color:#587078}
.cart-product h2{margin:4px 0 6px;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.08}
.cart-line.cart-editor{grid-template-columns:minmax(190px,.8fr) minmax(460px,1.7fr) auto;align-items:end}
.cart-details-form{display:grid;grid-template-columns:1.45fr .75fr .75fr auto;gap:12px;align-items:end}
.cart-details-form .book-button{min-height:46px}
.cart-line-total{display:grid;gap:5px;min-width:130px;text-align:right}
.cart-line-total small{color:#587078}
.cart-line-total strong{font-size:1.25rem;color:var(--deep)}
.cart-editor .remove-form{grid-column:1/-1;text-align:right;border-top:1px solid var(--line);padding-top:10px}
@media(max-width:850px){.cart-line.cart-editor{grid-template-columns:1fr}.cart-details-form{grid-template-columns:repeat(3,1fr)}.cart-details-form .book-button{grid-column:1/-1}.cart-line-total{text-align:left}.cart-editor .remove-form{grid-column:1}}
@media(max-width:600px){.cart-details-form{grid-template-columns:1fr 1fr}.cart-details-form label:first-child{grid-column:1/-1}}
.booking-footer a{color:inherit;text-decoration:none}.booking-footer a:hover,.booking-footer a:focus-visible{text-decoration:underline}
.cart-added-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 20px;padding:12px 15px;border-radius:10px;background:#e8f3f3}.cart-added-actions a{color:var(--deep);font-weight:800}.cart-added-actions span{color:#587078;font-size:.9rem}.cart-product details{margin-top:10px;font-size:.86rem}.cart-product summary{cursor:pointer;font-weight:800}.cart-closing{display:grid;grid-template-columns:1fr minmax(340px,480px);gap:20px;align-items:start}.booking-assurance{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.booking-assurance h2{margin-top:0;font-size:1.45rem}.booking-assurance li{margin:8px 0}.cart-closing .totals{width:100%;margin:0}
@media(max-width:760px){.cart-added-actions{align-items:flex-start;flex-direction:column;gap:4px}.cart-closing{grid-template-columns:1fr}.booking-assurance{order:2}}
.direct-booking-fees{display:block;margin-top:8px;color:var(--muted)}.booking-policy{margin-top:14px}.booking-policy summary{cursor:pointer;font-weight:800}
