.offer-layout{display:grid;gap:clamp(28px,4vw,56px);align-items:start}@media(min-width:960px){.offer-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.offer-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-soft);border-top:2px solid var(--ochre);padding:clamp(24px,3vw,36px)}@media(min-width:960px){.offer-card{position:sticky;top:100px}}.offer-card h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.85rem);margin-bottom:.35em}.offer-price{font-size:.95rem;color:var(--muted);margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.offer-price strong{font-family:var(--font-head);font-weight:300;font-size:2.1rem;color:var(--green);margin-right:.25em;letter-spacing:-.01em}.offer-card .prose{font-size:.96em}.offer-card .prose p:last-child{color:var(--muted);font-size:.92em}.booking-title{margin:0 0 18px}.booking-help{margin:20px 0 0;color:var(--muted)}.booking-help a{color:var(--green)}.booking{display:grid;gap:22px}.booking>.muted:not(.space),.booking .dates>.muted:not(.space){margin:0;padding:18px 22px;background:var(--paper);border-radius:var(--radius);border-left:2px solid var(--ochre);color:var(--ink)}.booking .notice{padding:18px 22px;border-radius:var(--radius);background:var(--paper);border:0;border-left:2px solid var(--ochre)}.booking .notice.err{border-left-color:#a3261e}.booking .space{margin:0;font-size:.9rem;color:var(--muted);opacity:1}.booking .space a{color:var(--green);font-weight:500}.booking .step-title,.booking .times>h3,.booking .day>h3{font-family:var(--font-head);font-weight:400;font-size:1.15rem;color:var(--green);margin:0;text-transform:none}.booking .times>h3:first-letter,.booking .day>h3:first-letter{text-transform:uppercase}.booking .packs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.booking .pack{display:grid;gap:4px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.booking .pack strong{font-family:var(--font-head);font-weight:400;font-size:1.1rem;color:var(--green)}.booking .pack .price{font-family:var(--font-head);font-weight:300;font-size:1.8rem;color:var(--green);line-height:1.2}.booking .pack span{font-size:.88rem;color:var(--muted);opacity:1}.booking .pack .save{color:var(--green);font-weight:600}.booking .pack.sel{border-color:var(--line);box-shadow:none}.booking .packs.single{grid-template-columns:1fr}.booking .packs.single .pack{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 16px;padding:16px 20px;background:var(--sand);border:0}.booking .packs.single .pack strong{grid-column:1 / -1;font-size:1rem}.booking .packs.single .pack .price{font-size:1.5rem;grid-row:2 / span 3}.booking .packs.single .pack span{grid-column:2}.booking .dates{display:grid;gap:18px}.booking .change{justify-self:start}.booking .cal{align-self:start;width:100%;max-width:440px;padding:20px 20px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.booking .cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;font-weight:400;text-transform:none}.booking .cal-head span{font-family:var(--font-head);font-size:1.15rem;color:var(--green)}.booking .cal-head span:first-letter{text-transform:uppercase}.booking .cal-head button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--green);font:inherit;font-size:1.3rem;line-height:1;cursor:pointer;padding:0}.booking .cal-head button:hover,.booking .cal-head button:focus-visible{border-color:var(--green);background:var(--beige)}.booking .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.booking .cal-grid .wd{text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--muted);padding:2px 0 6px;opacity:1}.booking .cal-grid .day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);opacity:.5;font:inherit;font-size:.95rem;cursor:default}.booking .cal-grid .day.open{opacity:1;color:var(--green);font-weight:600;background:var(--beige);border-color:var(--line);cursor:pointer}.booking .cal-grid .day.open:hover,.booking .cal-grid .day.open:focus-visible{border-color:var(--green)}.booking .cal-grid .day.today{box-shadow:none;text-decoration:underline;text-decoration-color:var(--ochre);text-underline-offset:3px}.booking .cal-grid .day.sel{background:var(--green);border-color:var(--green);color:#fff}.booking .cal-grid .day i{display:block;width:12px;height:2px;border-radius:2px;background:var(--ochre)}.booking .cal-grid .day.sel i{background:var(--sand)}.booking .times{display:grid;gap:10px;align-content:start;margin-top:0}.booking .slot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.booking .slot.open>.left .btn{display:none}.booking .slot>.form{grid-column:1 / -1}.booking .time{font-family:var(--font-head);font-weight:400;font-size:1.3rem;color:var(--green);line-height:1.1;min-width:4.5ch}.booking .time small{display:block;font-family:var(--font-body);font-size:.78rem;color:var(--muted);opacity:1;margin-top:3px}.booking .what{min-width:0}.booking .what strong{display:block;font-weight:600;color:var(--green)}.booking .what span{display:block;font-size:.88rem;color:var(--muted);opacity:1}.booking .left{font-size:0;text-align:right;opacity:1}.booking .left br{display:none}.booking .left.full{font-size:.85rem;color:#a3261e;font-weight:600}.booking .slot .btn{font-size:.88rem;min-height:42px;padding:.6em 1.2em}@media(max-width:560px){.booking .slot{grid-template-columns:auto minmax(0,1fr)}.booking .slot .left{grid-column:1 / -1;justify-self:stretch;text-align:left}.booking .slot .left .btn{width:100%}}.booking .form{display:grid;gap:14px;margin-top:4px;padding:16px 0 0;background:none;box-shadow:none;border-radius:0;border-top:1px solid var(--line)}.booking .form .row{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:560px){.booking .form .row{grid-template-columns:1fr}}.booking .form label{font-size:.9rem}.booking .form .terms{font-size:.85rem;color:var(--muted);opacity:1;margin:0}.booking .form>div:has(>.btn){display:flex;flex-wrap:wrap;gap:10px}
