:root{--bg:#f7f6f2;--paper:#fff;--ink:#272c28;--muted:#7b817b;--line:#eaece6;--accent:#fa4b3c;--accent-soft:#fff0ed;--green:#48634d;--green-soft:#edf3ed;--radius:24px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #48634d88;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.test-banner{background:#f8edcf;color:#746132;text-align:center;padding:9px 16px;font-size:12px;letter-spacing:.01em}.brand-header{max-width:1120px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center}.brand strong{display:block;font-size:20px;letter-spacing:-.5px;font-weight:650}.brand small{display:block;color:var(--muted);font-size:13px;margin-top:5px}.help-link{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.help-link>span:first-child{border:1.5px solid #c0c7bc;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:15px}.help-link:hover{color:var(--green)}main{max-width:1120px;padding:34px 32px 0;margin:auto}.page-heading .eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;color:var(--green);margin:0 0 13px}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.15;margin:0 0 12px;font-weight:650}.page-heading>p:last-child{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.steps{display:flex;align-items:center;gap:15px;max-width:690px;margin:30px 0}.step{border:0;padding:0;background:none;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.step>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #dce0d6;border-radius:50%;font-size:11px}.step.active{color:var(--ink);font-weight:600}.step.active>span{background:var(--accent);color:#fff;border-color:var(--accent)}.step.done>span{background:var(--green-soft);color:var(--green);border-color:#c9d6c9}.steps i{flex:1;height:1px;background:#e2e5dc;max-width:65px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start}.main-column{min-width:0}.panel{background:var(--paper);border:1px solid #eaede5;border-radius:var(--radius);padding:28px;box-shadow:0 8px 24px #28312203}.panel h2{font-size:20px;letter-spacing:-.5px;font-weight:600;margin:0}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-top h2{text-transform:capitalize;font-size:21px}.month-controls{display:flex;gap:6px}.icon-button{height:34px;width:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:white;font-size:25px;line-height:1}.icon-button:hover:not(:disabled){background:var(--bg)}.icon-button:disabled{opacity:.25}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{margin-bottom:9px;font-size:11px;color:var(--muted);text-align:center}.weekdays span{padding:7px 0}.day{border:0;background:none;position:relative;border-radius:13px;min-height:51px;font-size:16px;font-weight:550;padding:8px 0 13px}.day.available:hover{background:var(--bg)}.day:disabled{color:#d1d5cd}.day.outside{color:#e3e6df}.day.available:after{content:"";position:absolute;bottom:6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#99ad8d}.day.today:before{content:"";position:absolute;bottom:3px;left:calc(50% - 9px);width:18px;height:2px;background:var(--accent);border-radius:2px}.day.selected,.day.selected:hover{background:var(--accent);color:#fff;box-shadow:0 3px 9px #fa4b3c1c}.day.selected:after{background:#ffd2cb}.day.selected:before{background:transparent}.calendar-legend{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin-top:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.calendar-legend>span{display:flex;gap:6px;align-items:center}.availability-dot{display:inline-block;border-radius:50%;background:#99ad8d;width:5px;height:5px}.slot-section{padding-top:24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title h2{font-size:16px}.muted{color:var(--muted);font-size:11px}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:87px}.slot{background:var(--bg);border:1px solid transparent;text-align:left;padding:15px 12px;border-radius:13px;transition:background .15s,border-color .15s}.slot:hover{background:var(--accent-soft);border-color:#ffbbb2}.slot strong{display:block;font-size:16px;white-space:nowrap;font-weight:600;letter-spacing:-.5px}.slot small{display:block;margin-top:7px;font-size:11px;color:var(--muted)}.slot-group-label{grid-column:1/-1;color:var(--muted);font-size:11px;margin:9px 0 0}.summary{position:sticky;top:20px;padding:24px}.summary-title{display:flex;align-items:center;gap:8px;margin-bottom:24px}.summary-title h2{font-size:16px}.leaf{color:var(--green);font-size:25px;line-height:1}.summary-empty{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 28px}.summary-detail{margin:0 0 16px}.summary-detail small{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.summary-detail strong{display:block;font-size:16px;font-weight:550}.summary-total{border-top:1px solid var(--line);padding-top:18px;margin-top:21px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.summary-total strong{font-size:21px;font-weight:650;letter-spacing:-.5px}.summary-deposit{display:flex;justify-content:space-between;font-size:12px;color:var(--green);margin-top:11px}.summary-footer{display:flex;gap:9px;border-top:1px solid var(--line);margin-top:23px;padding-top:20px;color:var(--green);font-size:11px;line-height:1.5}.summary-footer>span:first-child{font-size:20px;line-height:1.2}.summary-footer small{color:var(--muted);font-size:10px}.page-footer{display:flex;justify-content:space-between;color:#9a9e94;font-size:10px;margin:30px 0 0;padding:22px 0 28px;border-top:1px solid var(--line)}.back{border:0;background:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:12px}.back:hover{color:var(--ink)}.section-description{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0 24px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.option{border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;padding:17px;position:relative}.option:hover{border-color:#ffb5aa}.option.selected{border-color:var(--accent);background:#fff8f5}.option strong{display:block;font-size:14px;font-weight:550;margin-bottom:11px}.option .option-price{display:block;font-size:21px;font-weight:650;letter-spacing:-.7px;margin-bottom:7px}.option small{display:block;color:var(--muted);font-size:11px;line-height:1.4}.option.selected:after{content:"✓";position:absolute;right:13px;top:13px;background:var(--accent);color:#fff;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:10px}.option-title{font-size:10px!important;margin-top:7px}.primary{width:100%;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:13px;min-height:51px;padding:14px 18px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:12px}.primary:hover:not(:disabled){background:#e83c2d}.primary:disabled{background:#e7e9e2;color:#9ca394}.secondary{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:13px;min-height:45px;font-size:12px;padding:12px 18px}.secondary:hover{background:var(--bg)}label{display:block;font-size:12px;margin:20px 0 9px;font-weight:550}input{width:100%;min-height:49px;background:#fbfcf9;color:var(--ink);border:1px solid #e0e5da;border-radius:11px;padding:12px 14px;font-size:15px}input::placeholder{color:#a8aea2}input:focus{background:#fff;border-color:#8ea180;outline:3px solid #8ea18022;outline-offset:0}.form-note{color:var(--muted);font-size:10px;line-height:1.6;margin:18px 0 22px}.empty-state{grid-column:1/-1;font-size:13px;color:var(--muted);line-height:1.8;padding:8px 0}.loading{grid-column:1/-1;color:var(--muted);font-size:13px;min-height:220px;display:grid;place-items:center}.slots .loading{min-height:85px}.error{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff0ed;border:1px solid #ffccc4;color:#9a3a2f;border-radius:14px;padding:16px;font-size:12px;line-height:1.7;margin-top:15px}.error button{border:0;background:none;color:inherit;font-size:20px;padding:0 0 0 6px}.payment-icon{display:grid;place-items:center;background:var(--green-soft);color:var(--green);width:57px;height:57px;border-radius:50%;font-size:26px;margin-bottom:20px}.payment-amount{font-size:36px;letter-spacing:-1.5px;font-weight:650;margin:20px 0 7px}.payment-subtitle{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 22px}.payment-detail{background:var(--bg);border:1px solid var(--line);border-radius:15px;padding:19px;margin:20px 0;line-height:1.8;font-size:14px}.payment-detail small{display:block;font-size:11px;color:var(--muted)}.payment-detail strong{font-size:17px}.payment-detail p{margin:8px 0 0;font-size:12px;color:var(--muted)}.cancel-button{display:block;margin:18px auto 0;background:none;border:0;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.upload-label{display:flex;align-items:center;justify-content:center;border:1px dashed #aab8a1;border-radius:13px;padding:20px;text-align:center;background:#f5f8f2;color:var(--green);font-size:12px;cursor:pointer;margin:16px 0}.upload-label input{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0}.payment-test-note{border-radius:12px;padding:15px;background:#faf3df;color:#796737;font-size:12px;line-height:1.7;margin:20px 0}.success h2{font-size:26px}.success .payment-icon{width:65px;height:65px;font-size:30px}.success-note{color:var(--green);font-size:12px;line-height:1.8}.skeleton{animation:pulse 1.1s ease-in-out infinite;background:#f4f5f0;border-radius:12px;height:52px}.retry{border:0;background:none;padding:8px;color:var(--accent);font-size:12px;text-decoration:underline}.busy{opacity:.6;pointer-events:none}@keyframes pulse{50%{opacity:.45}}@media(min-width:1000px){.calendar .day{min-height:58px}.panel{padding:32px}.summary{padding:25px}.layout{gap:26px}}
@media(max-width:800px){.brand-header{padding:20px 22px}main{padding:28px 22px 0}.layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.panel{padding:22px}.summary{padding:20px}.slot strong{font-size:14px}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:29px}}
@media(max-width:620px){.brand-header{padding:16px 18px}.brand img{width:42px;height:42px}.brand{gap:10px}.brand strong{font-size:17px}.brand small{font-size:10px;margin-top:4px}.help-label{display:none}.help-link>span:first-child{width:25px;height:25px}main{padding:25px 15px 0}.page-heading{padding:0 4px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:10px}h1{font-size:28px;letter-spacing:-.9px}.page-heading>p:last-child{font-size:12px;line-height:1.7;max-width:320px}.steps{gap:8px;margin:23px 4px}.step{font-size:10px;gap:5px}.step>span{width:23px;height:23px;font-size:10px}.steps i{min-width:5px}.layout{grid-template-columns:1fr;gap:15px}.panel{padding:21px 18px;border-radius:20px}.calendar-top{margin-bottom:19px}.calendar-top h2{font-size:19px}.weekdays,.calendar{gap:4px}.day{min-height:46px;font-size:15px;border-radius:11px}.calendar-legend{font-size:9px;margin-top:16px;padding-bottom:20px}.slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.slot{padding:15px;border-radius:12px}.slot strong{font-size:17px}.slot small{font-size:11px}.summary{position:static;padding:20px}.summary-title{margin-bottom:17px}.summary-title h2{font-size:14px}.summary-empty{font-size:12px;margin-bottom:15px;line-height:1.6}.summary-footer{margin-top:17px;padding-top:16px}.summary-detail{display:inline-block;width:49%;vertical-align:top;margin-bottom:12px}.summary-detail strong{font-size:14px}.summary-total{margin-top:4px;padding-top:14px}.summary-deposit{margin-top:10px}.page-footer{font-size:9px;margin-top:23px;gap:15px;padding-bottom:calc(25px + env(safe-area-inset-bottom))}.page-footer>span:last-child{text-align:right}.panel h2{font-size:19px}.section-description{font-size:12px}.option{padding:16px 13px}.option strong{font-size:13px}.option .option-price{font-size:20px}.primary{font-size:13px;min-height:51px}.payment-amount{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:360px){main{padding-left:8px;padding-right:8px}#step-3{padding:20px 6px}.slot strong{font-size:15px}}
.options+.primary{position:sticky;bottom:16px;box-shadow:0 6px 24px #ffffffcc}
.guest-details{grid-column:1/-1;border:1px solid #f4d4ca;border-radius:15px;background:#fff8f5;padding:15px}.guest-details>p{font-size:12px;font-weight:550;margin:0 0 12px}.guest-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guest-count{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:13px 10px;text-align:left}.guest-count strong,.guest-count span,.guest-count small{display:block}.guest-count strong{font-size:13px;margin-bottom:8px}.guest-count span{font-size:17px;font-weight:600}.guest-count small{font-size:10px;color:var(--muted);line-height:1.5;margin-top:6px}.guest-count:hover{border-color:#ffb5aa}.guest-count.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.option strong{padding-right:17px}.option.selected:after{right:9px;top:14px}
.guest-count-compact strong{margin:0;text-align:center}.guest-count-compact{min-height:44px}
