.reservation-page{background:#f4efe7;color:#201b17}.reservation-main{min-height:72vh}.reservation-hero{width:min(1220px,calc(100% - 36px));margin:0 auto;padding:clamp(54px,8vw,96px) 0;display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:clamp(40px,7vw,90px);align-items:start}.reservation-intro{position:relative;padding:clamp(30px,3.4vw,44px);border:1px solid #ddcdb9;border-radius:24px;background:linear-gradient(145deg,rgba(255,253,249,.96),rgba(246,238,227,.94));box-shadow:0 18px 54px rgba(50,35,20,.09);overflow:hidden}.reservation-intro::before{content:"";position:absolute;top:0;left:34px;width:92px;height:4px;border-radius:0 0 6px 6px;background:#a82328}.reservation-intro .eyebrow{color:#8f642f;font-weight:850;letter-spacing:.13em}.reservation-intro h1{color:#1d1814}.reservation-intro h1 em{color:#a82328}.reservation-intro .reservation-lead{color:#51463e;font-weight:520}.reservation-intro .reservation-facts>div{border-color:#d5c2aa;background:#fffdf9;box-shadow:0 7px 20px rgba(64,45,26,.055)}.reservation-intro .reservation-facts strong{color:#241d18}.reservation-intro .reservation-facts small{color:#695d52}.reservation-intro .reservation-notice{border:1px solid #ead4b6;border-left:4px solid #b51f27;background:#fff5e8;box-shadow:0 7px 20px rgba(64,45,26,.04)}.reservation-intro h1,.reservation-cancel-card h1{margin:12px 0 22px;font-family:Georgia,serif;font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.035em}.reservation-intro h1 em{color:#a82328;font-weight:500}.reservation-lead{max-width:590px;font-size:18px;line-height:1.7;color:#51463e}.reservation-facts{display:grid;gap:12px;margin:34px 0}.reservation-facts>div{display:flex;gap:15px;align-items:center;padding:15px 17px;border:1px solid #ddd0bf;border-radius:15px;background:rgba(255,255,255,.55)}.reservation-facts>div>span{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:50%;background:#1d1814;color:#e8cda0;font-size:20px}.reservation-facts strong,.reservation-facts small{display:block}.reservation-facts small{margin-top:3px;color:#776c62}.reservation-notice{padding:18px 20px;border-left:4px solid #b51f27;border-radius:4px 14px 14px 4px;background:#fff7ec}.reservation-notice p{margin:6px 0 0;line-height:1.6;color:#64584d}.reservation-card,.reservation-cancel-card{border:1px solid #dfd2c1;border-radius:24px;background:#fffdf9;box-shadow:0 22px 70px rgba(50,35,20,.12)}.reservation-card{padding:clamp(24px,4vw,42px)}.reservation-card-heading h2{margin:4px 0 8px;font-family:Georgia,serif;font-size:36px}.reservation-card-heading>p:last-child{margin:0 0 26px;color:#796e64}.reservation-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.reservation-choice-grid{margin-bottom:19px}.reservation-field{display:grid;gap:7px;margin-bottom:17px;color:#332b25;font-weight:750}.reservation-field span small{font-weight:500;color:#887c71}.reservation-field input,.reservation-field select,.reservation-field textarea{width:100%;box-sizing:border-box;border:1px solid #d7c9b7;border-radius:11px;background:#fff;padding:13px 14px;color:#211c18;font:inherit;outline:none}.reservation-field input:focus,.reservation-field select:focus,.reservation-field textarea:focus{border-color:#a82328;box-shadow:0 0 0 3px rgba(168,35,40,.12)}.reservation-slots-fieldset{margin:0 0 21px;padding:0;border:0}.reservation-slots-fieldset legend{margin-bottom:10px;font-weight:800}.reservation-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.reservation-slot{border:1px solid #d8c9b6;border-radius:11px;background:#fbf7f0;padding:12px 7px;color:#2e2823;font-weight:850;cursor:pointer}.reservation-slot:hover:not(:disabled){border-color:#a82328}.reservation-slot.is-selected{border-color:#a82328;background:#a82328;color:#fff;box-shadow:0 8px 20px rgba(168,35,40,.22)}.reservation-slot:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.reservation-slots-message{grid-column:1/-1;margin:0;padding:15px;border-radius:11px;background:#f5eee5;color:#74685e;text-align:center;line-height:1.5}.reservation-consent{display:flex;align-items:flex-start;gap:11px;margin:4px 0 20px;color:#5d534b;font-size:14px;line-height:1.5}.reservation-consent input{margin-top:3px;accent-color:#a82328}.reservation-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.reservation-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.reservation-submit-row button{min-width:230px}.reservation-status{margin:0;color:#796e64;line-height:1.5}.reservation-status.is-error{color:#a01820;font-weight:750}.reservation-status.is-success{color:#28653c;font-weight:750}.reservation-success{text-align:center;padding:25px 5px 10px}.reservation-success-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 22px;border-radius:50%;background:#2d6d43;color:#fff;font-size:34px}.reservation-success h2{font-family:Georgia,serif;font-size:36px}.reservation-success-details{margin:23px auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dfd2c1;border-radius:15px;overflow:hidden}.reservation-success-details div{padding:15px 9px;background:#f9f3eb}.reservation-success-details div+div{border-left:1px solid #dfd2c1}.reservation-success-details small,.reservation-success-details strong{display:block}.reservation-success-details small{margin-bottom:5px;color:#7b7066}.reservation-success .primary-button{display:inline-block;margin-top:17px;text-decoration:none}.reservation-cancel-shell{width:min(760px,calc(100% - 32px));margin:0 auto;padding:70px 0 100px}.reservation-cancel-card{padding:clamp(28px,6vw,55px);text-align:center}.reservation-cancel-card h1{font-size:clamp(38px,6vw,58px)}.reservation-cancel-summary{margin:25px 0;padding:22px;border-radius:15px;background:#f7f0e7;display:grid;gap:8px}.reservation-cancel-summary strong{font-size:22px}.reservation-cancel-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.reservation-cancel-actions a,.reservation-cancel-card>a{display:inline-block;text-decoration:none}.reservation-cancel-card .reservation-status{margin-top:20px}.danger-button{border:0;border-radius:10px;background:#a82328;color:#fff;padding:13px 18px;font:inherit;font-weight:850;cursor:pointer}.danger-button:disabled{opacity:.55}.secondary-button{border:1px solid #cfbfad;border-radius:10px;background:#fff;color:#2a241f;padding:12px 18px;font:inherit;font-weight:800}.reservation-page [hidden]{display:none!important}@media(max-width:980px){.reservation-hero{grid-template-columns:1fr;max-width:720px}.reservation-intro{padding-top:0}.reservation-slots{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.reservation-hero{width:min(100% - 22px,720px);padding:38px 0 58px;gap:28px}.reservation-intro{padding:25px 20px;border-radius:19px}.reservation-intro::before{left:20px;width:74px}.reservation-intro h1{font-size:39px}.reservation-lead{font-size:16px}.reservation-card{border-radius:19px;padding:21px 16px}.reservation-form-grid{grid-template-columns:1fr;gap:0}.reservation-choice-grid{margin:0}.reservation-slots{grid-template-columns:repeat(2,1fr)}.reservation-submit-row{display:grid}.reservation-submit-row button{width:100%;min-width:0}.reservation-success-details{grid-template-columns:1fr}.reservation-success-details div+div{border-left:0;border-top:1px solid #dfd2c1}.reservation-cancel-shell{padding:38px 0 70px}.reservation-cancel-card{padding:28px 19px}.reservation-cancel-actions{display:grid}.reservation-cancel-actions>*{width:100%;box-sizing:border-box}}
