.checkout-shell{max-width:1180px;margin:0 auto;padding:64px 24px 100px}.checkout-intro{max-width:720px;margin-bottom:32px}.checkout-intro h1,.order-status h1{font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1;margin:10px 0 18px}.checkout-intro>p:last-child{color:#6d6a66;font-size:1.05rem}.back-link,.primary-link{color:#e55f51;font-weight:800;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900;color:#e55f51}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr);gap:28px;align-items:start}.checkout-card{background:#fff;border:1px solid #dedbd5;border-radius:20px;padding:32px;box-shadow:0 16px 50px rgba(18,27,25,.07)}.form-section{border:0;border-top:1px solid #e8e4de;padding:26px 0 4px;margin-top:24px}.form-section h2{font:700 1.35rem Georgia,serif;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:8px;color:#353b38;font-size:.82rem;font-weight:800}.form-grid .wide{grid-column:1/-1}.form-grid input{width:100%;border:1px solid #cfcac2;border-radius:10px;background:#fbfaf7;padding:13px 14px;font:inherit;font-weight:500;color:#17201e}.form-grid input:focus{outline:3px solid rgba(229,95,81,.18);border-color:#e55f51}.field-error{display:block;color:#a72c22;font-size:.78rem;font-weight:700;margin-top:5px}.customer-switch{border:0;padding:0;margin:0}.customer-switch legend{font:700 1.35rem Georgia,serif;margin-bottom:14px}.customer-switch label{display:inline-flex;margin-right:10px}.customer-switch input{position:absolute;opacity:0}.customer-switch span{display:block;border:1px solid #ccc7bf;border-radius:999px;padding:10px 24px;font-weight:800;cursor:pointer}.customer-switch input:checked+span{background:#17201e;color:#fff;border-color:#17201e}.accept-box{display:flex;align-items:flex-start;gap:11px;border-radius:12px;background:#f5f1e9;padding:15px;margin-top:20px;font-weight:650;line-height:1.4}.accept-box input{margin-top:3px;accent-color:#e55f51}.accept-box a{color:#c8473b}.pay-button{width:100%;border:0;border-radius:12px;background:#e55f51;color:#fff;padding:17px 20px;font:800 1rem inherit;display:flex;justify-content:space-between;cursor:pointer;margin-top:24px;box-shadow:0 9px 24px rgba(229,95,81,.22)}.pay-button:disabled{opacity:.5;cursor:not-allowed}.payment-note,.reservation-note{text-align:center;color:#78736d;font-size:.78rem;line-height:1.45}.order-summary{position:sticky;top:24px}.summary-head{display:flex;justify-content:space-between;align-items:center}.summary-head p{margin:0}.summary-items{margin:22px 0;border-block:1px solid #e8e4de}.summary-item{display:flex;justify-content:space-between;gap:18px;padding:16px 0}.summary-item div{display:grid;gap:3px}.summary-item small{color:#7e7971}.summary-item>span{font-weight:800;white-space:nowrap}.totals{margin:0}.totals div{display:flex;justify-content:space-between;padding:6px 0}.totals dt{color:#6f6a64}.totals dd{margin:0;font-weight:800}.totals .grand-total{border-top:1px solid #d9d4cc;margin-top:10px;padding-top:16px;font-size:1.12rem}.form-alert{background:#fff0ed;border:1px solid #e9a097;color:#81261e;padding:14px 16px;border-radius:10px;margin:18px 0;line-height:1.4}.narrow-page{max-width:780px}.order-status{text-align:center}.status-mark{display:block;width:20px;height:20px;border-radius:50%;margin:0 auto 18px;background:#e7a72f;box-shadow:0 0 0 10px #fff2d7}.order-status.success .status-mark{background:#2e8a61;box-shadow:0 0 0 10px #e4f4eb}.order-status.neutral .status-mark{background:#85817b;box-shadow:0 0 0 10px #efede9}.order-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0;text-align:left}.order-meta span{background:#f5f1e9;padding:15px;border-radius:10px;font-weight:800;overflow-wrap:anywhere}.order-meta small{display:block;color:#7a756e;font-weight:600;margin-bottom:5px}.ordered-items{border-block:1px solid #e5e0d9;margin:18px 0 26px}.ordered-items div{display:flex;justify-content:space-between;padding:15px 0}.ordered-items span{color:#6d6861}.order-status .primary-link{display:inline-block;margin-top:22px}.cart-toggle{text-decoration:none}
@media(max-width:850px){.checkout-layout{grid-template-columns:1fr}.order-summary{position:static;order:-1}.checkout-shell{padding-top:40px}.checkout-card{padding:24px}}
@media(max-width:560px){.form-grid,.order-meta{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.checkout-shell{padding-inline:14px}.checkout-card{padding:20px}.main-nav{display:none}.checkout-intro h1,.order-status h1{font-size:2.45rem}}
.summary-item-prices{display:grid;text-align:right}.summary-item-prices del{color:#8b8179;font-size:.72rem;font-weight:600}.summary-item-prices b{color:#b34838}
.checkout-summary{display:grid;gap:10px;margin:24px 0;padding:18px;border-radius:12px;background:#f5f1e9}.checkout-summary>div{display:flex;justify-content:space-between;gap:18px}.checkout-form{margin-top:24px}.form-error,.form-success{margin:18px 0;padding:13px 15px;border-radius:9px}.form-error{background:#fbe9e7;color:#8b2b22}.form-success{background:#e4f3e9;color:#236143}.reservation-actions{display:grid;gap:10px;margin-top:24px}.reservation-actions form{margin:0}.secondary-button{width:100%;border:1px solid #bdb7ad;border-radius:12px;background:#fff;color:#17201e;padding:14px 18px;font-weight:850;cursor:pointer}
.forwarding-section>p{color:#6d6861;line-height:1.55}.forwarding-option{border:1px solid #ded9d1;border-radius:12px;padding:16px;margin-top:12px}.forwarding-toggle{display:flex;align-items:flex-start;gap:10px;font-weight:750}.forwarding-toggle input{margin-top:3px;accent-color:#e55f51}.forwarding-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px;padding-top:15px;border-top:1px solid #e8e4de}.forwarding-fields label{display:grid;gap:7px;font-size:.8rem;font-weight:800}.forwarding-fields input,.forwarding-fields select{width:100%;border:1px solid #cfcac2;border-radius:9px;background:#fbfaf7;padding:11px;font:inherit}.forwarding-summary-line{background:#f7f3ed;margin-inline:-10px;padding-inline:10px}
@media(max-width:560px){.forwarding-fields{grid-template-columns:1fr}}
