.form-section{background:var(--bg2);padding:90px 0}
.form-wrap{max-width:720px;margin:0 auto;padding:0 52px}
.form-intro{background:var(--bg);padding:20px 28px;border-left:2px solid var(--cta);margin-bottom:32px}
.form-intro p{font-size:14px;font-style:italic;color:var(--text)}
.fform{display:flex;flex-direction:column}
.fsec{font-family:var(--serif);font-size:17px;color:var(--text);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fg{margin-bottom:10px}
.fg label{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--tmid);margin-bottom:4px;font-weight:500}
.fg input,.fg textarea,.fg select{width:100%;padding:11px 14px;border:1px solid var(--line);background:var(--white);font-family:var(--sans);font-size:13px;color:var(--text);outline:none;transition:border-color .25s,box-shadow .25s;appearance:none}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--cta);box-shadow:0 0 0 3px rgba(139,115,92,.08)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--tlt)}
.fg textarea{resize:none}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239A8F82' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.radio-g,.check-g{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.ro,.co{padding:6px 14px;border:1px solid var(--line);font-size:11px;color:var(--tmid);cursor:pointer;transition:all .2s;background:var(--white);user-select:none}
.ro:hover,.co:hover{border-color:var(--cta);color:var(--cta)}
.ro.active,.co.active{border-color:var(--cta);background:var(--cta);color:#fff}
.fsub{padding:13px 44px;background:var(--cta);color:#fff;border:none;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .2s;margin-top:24px;align-self:flex-start}
.fsub:hover{background:var(--ctah);transform:translateY(-1px)}
.fsub:disabled{opacity:.6;cursor:not-allowed;transform:none}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;border:1px solid var(--line);background:var(--white);transition:all .2s}
.cal-day:hover:not(.disabled){border-color:var(--cta);background:rgba(139,115,92,.06)}
.cal-day.selected{background:var(--cta);color:#fff;border-color:var(--cta)}
.cal-day.disabled{opacity:.35;cursor:not-allowed;background:var(--bg3)}
.cal-day.today{font-weight:500;border-color:var(--tmid)}
.time-slots{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.time-slot{padding:7px 14px;border:1px solid var(--line);font-size:11px;cursor:pointer;transition:all .2s;background:var(--white)}
.time-slot:hover:not(.taken){border-color:var(--cta);color:var(--cta)}
.time-slot.selected{background:var(--cta);color:#fff;border-color:var(--cta)}
.time-slot.taken{opacity:.35;cursor:not-allowed;background:var(--bg3);text-decoration:line-through}
.fg.error input,.fg.error textarea,.fg.error select{border-color:#b94040}
.fg .err-msg{font-size:10px;color:#b94040;margin-top:3px;display:none}
.fg.error .err-msg{display:block}
.checkout-overlay{position:fixed;inset:0;z-index:var(--z-ov);background:rgba(46,39,35,.75);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s;pointer-events:none}
.checkout-overlay.open{opacity:1;pointer-events:all}
.checkout-box{background:var(--white);max-width:480px;width:90%;padding:48px;position:relative}
.checkout-close{position:absolute;top:14px;right:18px;font-size:22px;cursor:pointer;color:var(--tlt);background:none;border:none;line-height:1}
.checkout-price{font-family:var(--serif);font-size:56px;font-weight:200;color:var(--cta);line-height:1}
@media(max-width:960px){.form-wrap{padding:0 24px}.frow{grid-template-columns:1fr}}
