/* Reservation cards and completion, consistent with Bacano's white and charcoal identity. */
html,body{max-width:100%;overflow-x:clip}main,.layout,.panel,header>div{min-width:0}input,select{max-width:100%}.booking-heading{margin-bottom:26px}.shop-filters .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}button,a{-webkit-tap-highlight-color:transparent}
.layout:has(.booking-checkout),.layout:has(.booking-success){grid-template-columns:minmax(0,1fr);max-width:780px;margin:0 auto}.layout:has(.booking-checkout)>aside,.layout:has(.booking-success)>aside{display:none}.layout:has(.booking-checkout)>#content{padding:34px;background:#f7f8f7;border:1px solid #e5e7e5;border-radius:16px}.layout:has(.booking-success)>#content{padding:40px 34px;border:1px solid #e5e7e5;border-radius:16px;background:#fff}main:has(.booking-success) .hero,main:has(.booking-success) #memberInvite,main:has(.booking-success) .booking-heading{display:none}main:has(.booking-success){padding-top:28px}
.reservation-card{min-width:0;background:#fff;border:1px solid #dedfdb;border-radius:12px;padding:25px;margin:18px 0;box-shadow:0 5px 16px #21282004}.reservation-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.reservation-card h3{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.5px;margin:20px 0;overflow-wrap:anywhere}.reservation-card dl{margin:0}.reservation-card dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;margin:13px 0;font-size:13px;line-height:1.5}.reservation-card dt{color:#898b84}.reservation-card dd{margin:0;color:#30332f;overflow-wrap:anywhere}.reservation-card dd span{color:#95978f;white-space:nowrap}.reservation-card-price{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eeefeb;margin-top:20px;padding-top:17px;font-size:13px;color:#7c7e76}.reservation-card-price strong{font-size:20px;color:#252923}.remove-reservation{background:none;border:0;font-size:11px;color:#8a5852;padding:8px}.checkout-contact{display:flex;flex-direction:column;gap:9px;padding:24px 0;margin-top:6px}.checkout-contact b{font-size:14px}.checkout-contact>span:last-child{font-size:12px;color:#777b73;overflow-wrap:anywhere}.booking-checkout>h2{font-family:Georgia,serif!important;font-size:34px!important;line-height:1.2;margin-top:15px}.booking-checkout>p{font-size:13px}.checkout-totals{border:1px solid #e1e5de;border-radius:10px;overflow:hidden;background:#fff;margin-top:14px}.checkout-totals>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;font-size:13px}.checkout-totals .discount-row{padding-top:0;color:#65816a}.checkout-totals .checkout-grand-total{background:#eaf4ec;color:#346a43;padding:23px 22px;font-size:17px}.checkout-grand-total strong{font-size:27px;color:#253f2d;white-space:nowrap}.payment-heading{font-size:16px;margin:32px 0 17px}.payment-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-choice{min-width:0;border:1px solid #e5e7e1;border-radius:12px;background:#fff;color:#343a33;padding:24px 12px;display:flex;align-items:center;flex-direction:column;gap:14px;box-shadow:0 8px 20px #222a2005}.payment-choice.selected{border:2px solid #292e28;padding:23px 11px;box-shadow:0 4px 14px #222a200a}.payment-choice svg{width:33px;height:33px;color:#7d938b}.payment-choice b{font-size:14px;font-weight:500}.payment-choice span{font-size:10px;color:#92988f}.payment-choice.selected span{color:#3f694a}.checkout-demo{font-size:10px!important;color:#94998f!important;line-height:1.6;margin:20px 0}.booking-consent{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.6;margin:22px 0}.booking-consent input{flex:0 0 auto;width:17px;height:17px;margin:1px 0;accent-color:#2c342c}.optional-account{border-top:1px solid #e5e7e1;padding-top:18px;font-size:11px;line-height:1.8}.optional-account button{display:inline;background:transparent;border:0;padding:0;font:inherit;text-decoration:underline;color:#62695f}.booking-checkout~.nav{align-items:stretch}.booking-checkout~.nav .btn{border-radius:7px;padding:18px 22px}.booking-checkout~.nav .primary{flex:1}
.success-heading{text-align:center}.success-ring{width:80px;height:80px;border:2px solid #5f9e70;border-radius:50%;display:grid;place-items:center;margin:8px auto 26px;color:#5f9e70;animation:success-arrive .45s ease-out}.success-ring svg{width:43px;height:43px}.success-heading>.eyebrow{font-size:9px;color:#8c9489}.success-heading h2{font-family:Georgia,serif;font-size:37px!important;font-weight:400;line-height:1.2;letter-spacing:-1.1px!important;margin:15px 0!important;color:#467c53}.success-heading>p{font-size:12px;color:#8a9286}.confirmation-label{display:block;color:#90978c;font-size:12px;margin-top:30px}.confirmation-folio{font-size:clamp(25px,7vw,43px);font-weight:400;letter-spacing:3px;line-height:1.3;margin:16px 0 32px;overflow-wrap:anywhere;color:#292e28}.confirmed-reservations .reservation-card{padding:20px 23px;border-color:#e9ece5;background:#fbfcfa;box-shadow:none}.confirmed-reservations .reservation-card h3{font-size:20px}.confirmed-total{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#798471;padding:8px 5px 25px}.confirmed-total strong{font-size:22px;color:#354830}.completion-options{display:grid;gap:10px;border-top:1px solid #eef0ea;padding-top:23px}.completion-option{display:flex;align-items:center;gap:15px;width:100%;min-width:0;border:1px solid #e1e6dd;border-radius:9px;background:#f6f8f4;color:#66745e;font:inherit;text-decoration:none;padding:19px 20px;text-align:left;min-height:64px;transition:background .18s,border-color .18s}.completion-option>svg{width:25px;height:25px;flex:0 0 auto;color:#8a9b81}.completion-option>span:nth-child(2){flex:1;font-size:12px;line-height:1.4;font-weight:600}.completion-option>span:last-child{font-size:16px;color:#99a590}.completion-option:hover{background:#eff3eb;border-color:#a5b39c}.finish-option{background:#2c312b;color:white;border-color:#2c312b}.finish-option>svg,.finish-option>span:last-child{color:#bdccba}.finish-option:hover{background:#404b3a;color:white}.completion-note{text-align:center;font-size:11px;margin:24px 0 8px}.booking-success>.checkout-demo{text-align:center;margin:10px 0 0}.google-event-link{display:block;font-size:12px;padding:14px 18px;margin-top:6px;background:#f9faf7;border-radius:7px;color:#5a7050}.google-event-link:hover{text-decoration:underline}.completion-option:focus-visible,.payment-choice:focus-visible{outline:2px solid #557747;outline-offset:3px}
@keyframes success-arrive{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.success-ring{animation:none}}
@media(max-width:760px){.layout:has(.booking-checkout)>#content{padding:22px 18px;border-radius:12px}.layout:has(.booking-success)>#content{padding:30px 19px;border-radius:12px}.booking-checkout>h2{font-size:29px!important}.reservation-card{padding:20px 18px}.reservation-card h3{font-size:21px}.reservation-card dl>div{grid-template-columns:74px minmax(0,1fr);font-size:12px;gap:9px}.payment-choices{gap:10px}.payment-choice b{font-size:12px}.checkout-totals>div{padding-left:17px;padding-right:17px}.checkout-grand-total strong{font-size:23px}.checkout-totals .checkout-grand-total{padding:20px 17px;font-size:15px}.success-heading h2{font-size:32px!important}.success-ring{width:72px;height:72px;margin-bottom:24px}.completion-option{padding:17px 14px;gap:12px}.completion-option>span:nth-child(2){font-size:11px}.confirmed-reservations .reservation-card{padding:18px}.confirmed-total{font-size:11px}.confirmed-total strong{font-size:20px}.booking-checkout~.nav .btn{padding:16px 12px;font-size:9px}}
