[hidden]{display:none!important}
.account-nav{display:flex;gap:8px;margin:0 0 22px}.account-nav button{border:1px solid transparent;border-radius:99px;padding:10px 18px;min-height:46px;background:transparent;color:var(--muted);font-size:.85rem}.account-nav button[aria-current=page]{background:#e9ddc6;border-color:#d5c5a5;color:#504025}
.booking-card{min-height:390px}.booking-card h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;font-size:2.2rem;line-height:1.18;margin:10px 0 14px}.lede{color:var(--muted);font-size:.92rem;line-height:1.75}.mode-note{font-size:.75rem;line-height:1.65;color:var(--muted);margin:20px 0}.login-art{display:grid;place-items:center;width:60px;height:60px;border:1px solid #d8c8a7;border-radius:18px;background:#f3ecdf;margin:24px 0}.login-art .icon{width:28px;height:28px;color:#89723e}.bankid-pending{width:100%;border:1px solid var(--line);border-radius:10px;background:#f7f4ee;color:#807566;min-height:52px;margin-top:20px}
.login-test{width:100%;margin-top:12px}.section-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin:24px 0 12px}
.appointment{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;margin:12px 0}.appointment-top{display:flex;align-items:start;gap:16px}.date-tile{width:60px;min-height:67px;border-radius:12px;border:1px solid #dacbac;background:#f7f2e8;text-align:center;padding:7px;flex:none}.date-tile strong{font-family:Georgia,serif;display:block;font-size:1.7rem;line-height:1.1}.date-tile span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:#7a6948}.appointment h3{font-size:1rem;line-height:1.5;margin:0 0 5px;font-weight:650}.appointment p{font-size:.82rem;color:var(--muted);margin:3px 0}.appointment-actions{display:flex;gap:10px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.appointment-actions button{flex:1;min-height:44px;border-radius:9px;border:1px solid #dccfad;background:#faf7f0;font-size:.8rem;color:#5e5033}.appointment-actions button[data-cancel]{border-color:transparent;background:transparent;color:var(--muted)}
.status-badge{font-size:.65rem;color:#55705b;font-weight:650;display:inline-block;margin:0 0 5px}.cancelled{opacity:.75}.cancelled .status-badge{color:var(--muted)}.receipt-line{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere;margin-top:12px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.service-choice{min-height:120px;background:#fff;border:1px solid var(--line);border-radius:13px;text-align:left;padding:18px;color:var(--text)}.service-choice:hover{background:#faf5e9;border-color:var(--gold)}.service-choice strong{display:block;font-size:.95rem;line-height:1.4}.service-choice span{display:block;font-size:.72rem;margin-top:8px;color:#806d43}
.provider-control{display:block;font-size:.8rem;margin:20px 0}.provider-control select,.scenario-control select{display:block;min-height:48px;width:100%;background:white;border:1px solid #d9cfc0;border-radius:10px;margin-top:8px;padding:10px 12px;font-size:16px;color:var(--text)}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:18px 0}.day{min-height:81px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 2px;color:var(--text)}.day span{display:block;font-size:.64rem;text-transform:uppercase}.day strong{display:block;font:1.35rem Georgia,serif;margin:5px 0}.day:disabled{opacity:.38}.day[aria-pressed=true]{background:#eaddc2;border-color:#af914f}.date-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:10px}.date-nav>strong{font-size:.88rem}.date-nav button{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:44px;min-height:44px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.slot{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:48px;font-size:.92rem;color:var(--text)}.slot[aria-pressed=true]{background:#eaddc2;border-color:#af914f}
.primary-button{min-height:50px}.primary-button:disabled{opacity:.5}.flow-actions{display:flex;justify-content:space-between;gap:15px;margin-top:24px;align-items:center}.flow-actions .primary-button{min-width:165px}.selected-hint{font-size:.8rem;color:var(--muted);margin-top:15px}.review-list{margin:24px 0;background:#faf7f0;border:1px solid var(--line);border-radius:13px;padding:18px}.review-list div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.review-list div:last-child{border:0}.review-list dt{font-size:.79rem;color:var(--muted)}.review-list dd{margin:0;font-size:.86rem;text-align:right;max-width:65%}.notice.success{background:#eff4ed;border-color:#ccd9c8;color:#36553c}.notice button{display:block;margin-top:12px}.scenario-control{display:block;color:var(--muted);font-size:.75rem;margin-top:24px}.scenario-control select{font-size:.82rem}
.pending-card{border:1px solid #dbc89b;border-radius:13px;padding:18px;background:#fcf5e6;margin:18px 0}.pending-card h3{margin:0 0 8px;font-size:1rem}.pending-card p{font-size:.83rem;color:#796035}.error-box{padding:18px;border-radius:12px;border:1px solid #dcbdb4;background:#fff2ee}.error-box p{color:var(--error)}.visit-footnote{font-size:.66rem}.site-footer{padding-bottom:28px;flex-wrap:wrap}.preview-ribbon{flex-wrap:wrap;line-height:1.5}
@media(max-width:780px){.layout{padding-top:18px;gap:20px}.visit-panel-top{display:block}.visit-name h2{font-size:.9rem;margin:0}.visit-kicker{display:none}.visit-facts{margin-top:5px}.account-nav{margin-bottom:18px}.account-nav button{padding:9px 14px;font-size:.8rem}.booking-card h2{font-size:2.1rem}.service-grid{grid-template-columns:1fr;gap:10px}.service-choice{min-height:0;padding:16px}.service-choice strong{font-size:.97rem}.service-choice span{margin-top:5px}.appointment{padding:16px}.date-tile{width:54px}.appointment-top{gap:12px}.appointment h3{font-size:.95rem}.days{gap:4px}.day{min-height:76px}.day span{font-size:.58rem}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-actions{margin-bottom:16px}.flow-actions .primary-button{min-width:145px;padding:12px 17px}.review-list{padding:14px}.review-list div{gap:10px}.review-list dd{max-width:62%}.masthead .brand img{width:182px}.site-footer{gap:6px 16px;padding-bottom:28px}.lede{font-size:.87rem}}
@media(max-width:360px){.days{gap:3px}.day span{font-size:.54rem}.day strong{font-size:1.2rem}.appointment-actions{gap:5px}.appointment-actions button{font-size:.75rem}.masthead .brand img{width:162px}.booking-card h2{font-size:1.85rem}}


/* Native WebKit selects ignore min-height; explicit appearance/height keeps the touch target consistent. */
.provider-control,.scenario-control{position:relative}
.provider-control select,.scenario-control select{appearance:none;-webkit-appearance:none;height:48px;min-height:48px;line-height:1.4;padding-right:38px;font-size:16px}
.provider-control::after,.scenario-control::after{content:"";position:absolute;right:17px;bottom:21px;width:7px;height:7px;border-bottom:1.5px solid #62563f;border-right:1.5px solid #62563f;transform:rotate(45deg);pointer-events:none}

