.booking-page{padding-bottom:80px}.booking-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:65px 48px}.booking-hero h1{font:500 clamp(32px,3.3vw,48px)/1.5 var(--serif);letter-spacing:.07em;margin:15px 0 25px}.booking-hero p{line-height:2;font-size:16px}.booking-hero .guide-photo{margin:0}.booking-preview{background:var(--sand);padding:22px 26px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;line-height:1.9;font-size:14px;margin:20px 0}.booking-preview strong{display:block;font-weight:500}.booking-preview a:not(.button){text-decoration:underline;text-underline-offset:4px}.booking-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:45px;margin-top:45px;align-items:start}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;border-bottom:1px solid var(--line);margin:0 0 36px}.booking-progress li{font-size:13px;padding:0 8px 16px;color:var(--muted);text-align:center}.booking-progress span{display:block;font:500 30px/1.4 var(--latin);font-variant-numeric:lining-nums tabular-nums}.booking-progress [aria-current]{border-bottom:2px solid var(--accent);color:var(--accent)}.booking-step h2{font:500 28px/1.7 var(--serif);margin:0 0 26px;scroll-margin-top:160px}.booking-step fieldset{border:0;padding:0;margin:30px 0;min-width:0}.booking-step legend{font-size:18px;font-weight:500;margin:0 0 15px}.booking-step p{font-size:16px;line-height:2}.booking-step small,.booking-hint{font-size:13px!important;line-height:1.9;color:var(--muted)}.booking-step legend small,.booking-field span small{font-size:12px;margin-left:8px;color:var(--accent);font-weight:400}.booking-gender{display:flex;flex-wrap:wrap;gap:16px}.booking-gender label{padding:14px 30px 14px 18px;background:var(--sand,#EEE8DF);border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:48px}.booking-page input[type=radio],.booking-page input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px;flex-shrink:0}.booking-courses{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-course{display:flex;align-items:flex-start;gap:12px;background:var(--sand,#EEE8DF);padding:22px;border:1px solid transparent;border-radius:8px;cursor:pointer}.booking-course:has(input:checked){border-color:var(--accent);background:var(--sand)}.booking-course:has(input:disabled){opacity:.55;cursor:not-allowed}.booking-course input{margin-top:5px}.booking-course span{display:flex;flex-direction:column;gap:10px}.booking-course strong{font-weight:500;font-size:17px;line-height:1.7}.booking-course em{font-size:21px;color:var(--accent);font-style:normal;font-variant-numeric:lining-nums tabular-nums}.booking-summary{position:sticky;top:155px;background:var(--sand);padding:28px;border-radius:8px}.booking-summary h2{font:500 25px/1.7 var(--serif);margin:12px 0 20px}.booking-summary>p{line-height:1.8}.booking-summary dl>div{display:flex;justify-content:space-between;gap:15px;margin:14px 0;align-items:baseline;font-size:14px}.booking-summary dd{margin:0;white-space:nowrap}.booking-summary .booking-total{border-top:1px solid var(--line);padding-top:20px;display:block}.booking-total dd{font-size:30px;color:var(--accent);margin-top:6px}.booking-summary ul{padding-left:18px;font-size:13px;line-height:1.9}.booking-summary>a{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:13px}.booking-summary>a span{font:500 28px/1.7 var(--latin);font-variant-numeric:lining-nums tabular-nums}.booking-controls{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin:35px 0;padding-top:25px}.booking-controls .button{min-height:56px;white-space:normal;font-size:15px}.booking-controls [hidden],.booking-step[hidden]{display:none!important}.booking-controls #booking-next{margin-left:auto}.booking-option-group{border-block-start:1px solid var(--line);margin:15px 0}.booking-option-group>summary{cursor:pointer;padding:17px 0;min-height:48px;font-size:19px}.booking-option{display:flex;align-items:center;gap:13px;padding:16px;border-bottom:1px solid var(--line);background:var(--sand,#EEE8DF);cursor:pointer}.booking-option>span{flex:1;min-width:0}.booking-option strong{display:block;font-weight:400;font-size:15px;line-height:1.8}.booking-option small{display:block}.booking-option em{font-style:normal;font-size:15px;white-space:nowrap}.booking-option:has(input:checked){background:var(--sand)}.booking-option:has(input:disabled){background:transparent;cursor:default}.booking-option input:disabled{opacity:.6}.booking-field-grid,.booking-date-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-field{display:flex;flex-direction:column;gap:10px;margin:0 0 22px;min-width:0}.booking-field>span{font-size:15px;line-height:1.8}.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-width:0;border:1px solid #bfb3a5;background:var(--sand,#EEE8DF);border-radius:4px;min-height:50px;padding:12px;color:var(--ink);font:400 16px/1.6 var(--sans)}.booking-page :is(input,select,textarea,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.booking-page [aria-invalid=true]{border-color:#9c372c}.booking-page button:disabled{opacity:.55;cursor:not-allowed}.booking-preview button{display:block;padding:15px;margin-top:18px;background:transparent;border:1px solid var(--line);border-radius:3px;font:inherit}.booking-date-row{border-bottom:1px solid var(--line);padding-top:10px;margin-bottom:10px}.booking-review-list{margin:22px 0}.booking-review-list>div{display:grid;grid-template-columns:150px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:15px;line-height:1.9}.booking-review-list dt{color:var(--muted)}.booking-review-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.booking-error,#booking-error:not([hidden]){background:#f5e8df;border-left:3px solid var(--accent);padding:20px;margin-bottom:25px;line-height:1.9}.booking-review-edit{border:0;background:transparent;text-decoration:underline;color:var(--accent);padding:12px 0;font:inherit;min-height:44px;cursor:pointer}
@media(max-width:1000px){.booking-shell{grid-template-columns:minmax(0,1fr) 240px;gap:25px}.booking-summary{padding:22px}.booking-courses{grid-template-columns:1fr}}
@media(max-width:800px){.booking-hero{grid-template-columns:1fr;gap:25px;padding-top:35px}.booking-hero .guide-photo{order:-1}.booking-hero .guide-photo img{max-height:330px;object-fit:cover}.booking-hero h1 br{display:none}.booking-shell{grid-template-columns:1fr;gap:20px}.booking-summary{position:static;order:-1;padding:20px}.booking-summary h2{font-size:20px;margin:0 0 10px}.booking-summary>.eyebrow,.booking-summary>a{display:none}.booking-summary .booking-total{display:flex}.booking-total dd{font-size:24px}.booking-summary dl{margin:0}.booking-summary ul{margin:6px 0}.booking-summary>p{margin:8px 0}.booking-step h2{font-size:24px;scroll-margin-top:135px}.booking-controls{position:sticky;bottom:68px;background:rgba(248,246,241,.98);padding:14px 0;z-index:4}.booking-progress{margin-bottom:25px}.booking-progress li{padding-inline:2px;font-size:12px}.booking-progress span{font-size:26px}.booking-field-grid,.booking-date-row{grid-template-columns:1fr;gap:0}.booking-preview{padding:20px}.booking-option{padding:16px 10px;gap:10px}.booking-option strong{font-size:14px}.booking-option em{font-size:14px}.booking-review-list>div{grid-template-columns:1fr;gap:6px}.booking-page{padding-bottom:40px}}
@media(max-width:800px){.booking-hero h1 br{display:initial}.booking-hero h1{font-size:31px}}
