.appt-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;align-items:start}.appt-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}.appt-card h2{font:700 1.7rem Georgia,serif;margin:0 0 12px}.appt-card p{color:var(--muted)}.appt-step{color:#987235;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.appt-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:9px;margin:20px 0}.appt-day{padding:14px 9px;border:1px solid var(--line);border-radius:12px;text-align:center;text-decoration:none;background:#fff;font-size:.87rem}.appt-day.active{background:var(--navy);color:white;border-color:var(--navy)}.appt-day strong,.appt-day small{display:block}.appt-day.active small{color:#e8d5ae}.appt-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;border:0;padding:0;margin:18px 0}.appt-slot{position:relative;display:block;font-weight:600}.appt-slot input{position:absolute;width:20px;height:20px;left:12px;top:14px;accent-color:#102538;box-shadow:none}.appt-slot span{display:block;padding:12px 12px 12px 41px;border:1px solid var(--line);border-radius:11px}.appt-slot input:checked+span{border:2px solid var(--gold);background:#fbf5e9;padding:11px 11px 11px 40px}.appt-slot input:focus-visible+span{outline:3px solid #b68d43;outline-offset:3px}.appt-form{display:grid;gap:17px}.appt-check{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:.9rem}.appt-check input{width:19px;min-width:19px;margin:4px 0 0;accent-color:#102538}.appt-meta{padding:16px;background:var(--ivory);border-radius:12px}.appt-meta p{margin:5px 0}.appt-stack{display:grid;gap:24px}.appt-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.appt-filter label{flex:1;min-width:140px}.appt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.appt-actions form{margin:0;display:grid;gap:8px}.appt-actions .btn{font-size:.8rem;min-height:37px;padding:0 14px}.appt-badge{display:inline-flex;font-size:.8rem;font-weight:800;padding:5px 10px;border-radius:99px;background:#edf1f2}.appt-badge.open{background:#e3f4ea;color:#145f3b}.appt-badge.booked{background:#fff1ce;color:#7b5917}.appt-badge.cancelled,.appt-badge.closed{background:#f9e4e5;color:#8c2028}.appt-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.appt-intro{width:min(520px,100%);margin:22px auto 0;padding:25px;border:1px solid #d9c293;border-radius:20px;background:#faf4e8}.appt-intro h2{font:700 1.5rem Georgia,serif;margin:0 0 8px}.appt-intro p{margin:0 0 16px;color:var(--muted)}.appt-intro .btn{width:100%}.appt-link{display:inline-block;margin-bottom:18px;color:#765420}.appt-table td{vertical-align:top}.appt-table small{display:block}.appt-success{max-width:620px;margin:auto}.appt-error-list{padding-left:18px}.appt-table .appt-check{font-size:.8rem}.appt-public .top nav a{display:inline-flex!important}.appt-public .top nav{flex-wrap:wrap}@media(max-width:800px){.appt-layout{grid-template-columns:1fr}.appt-card{padding:20px}.appt-filter{align-items:stretch}.appt-filter .btn{align-self:end}.appt-days{grid-template-columns:repeat(3,minmax(0,1fr))}.appt-public .top{flex-wrap:wrap}.appt-actions .btn{width:auto}}@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}}