.jd2-deck-visit { padding:clamp(32px,6vw,72px) 0; background:var(--jd2-paper,#fffdf9); color:var(--jd2-ink,#202421); font:inherit; scroll-margin-top:30px; }
.jd2-deck-visit * { box-sizing:border-box; min-width:0; }
.jd2-deck-visit [hidden] { display:none!important; }
.dv-intro { max-width:700px; }
.dv-intro h2 { margin:8px 0 14px; font-size:clamp(28px,4vw,42px); line-height:1.15; }
.dv-intro p { line-height:1.65; }
.dv-eyebrow { font-size:12px; font-weight:700; letter-spacing:.12em; }
.jd2-deck-visit :is(button,input,select,textarea) { font:inherit; max-width:100%; }
.jd2-deck-visit button { min-height:46px; padding:10px 18px; border:1px solid currentColor; border-radius:8px; cursor:pointer; background:#fff; color:inherit; }
.jd2-deck-visit .dv-primary { background:#171717; color:#fff; border-color:transparent; font-weight:700; }
.jd2-deck-visit button:disabled { opacity:.55; cursor:wait; }
.jd2-deck-visit :focus-visible { outline:3px solid var(--jd2-green,#173c32); outline-offset:3px; }
.dv-flow { max-width:800px; margin-top:24px; padding:clamp(16px,4vw,32px); border:1px solid var(--jd2-border,#d8ddd7); border-radius:16px; background:#fff; }
.dv-calendar-head { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; }
.dv-calendar-head h3 { margin:0; }
.dv-calendar-head span,.dv-privacy { font-size:13px; line-height:1.5; }
.jd2-deck-visit label { display:block; font-size:14px; font-weight:600; margin:14px 0 6px; }
.jd2-deck-visit :is(input,select,textarea) { width:100%; min-height:46px; border:1px solid #a5b4ab; border-radius:7px; padding:10px 12px; background:#fff; color:inherit; font-size:16px; }
#dv-date { width:200px; margin-right:12px; }
.dv-slots { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
.dv-slots h4 { margin:8px 0; }
.dv-block-slots { display:flex; gap:8px; flex-wrap:wrap; }
.dv-slots button { flex:1; white-space:nowrap; }
.jd2-deck-visit .dv-slots button[aria-pressed=true] { outline:3px solid var(--jd2-green,#173c32); outline-offset:3px; text-decoration:underline; text-underline-offset:4px; }
.jd2-deck-visit .dv-slots button[aria-pressed=true]::after { content:' ✓'; }
.dv-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
.dv-wide,.dv-field-address_line_1 { grid-column:1/-1; }
.dv-field-error,.dv-review-error { display:block; color:#9e2424; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.dv-field-error:not(:empty) { margin-top:6px; }
.dv-trap { position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dv-details { border-top:1px solid #d9e0db; margin-top:24px; padding-top:14px; }
.dv-status { line-height:1.5; }
.dv-review { width:min(560px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #cdd6d0; border-radius:14px; background:#fff; color:#202421; overflow:auto; }
.dv-review::backdrop { background:#10241dcc; }
.dv-review-content { padding:clamp(18px,4vw,30px); }
.dv-review h2 { font-size:25px; margin:0 0 18px; }
.dv-review dl,.dv-success dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 16px; line-height:1.5; }
.dv-review dt,.dv-success dt { font-weight:600; }
.dv-review dd,.dv-success dd { margin:0; overflow-wrap:anywhere; }
.dv-review-actions { display:flex; gap:10px; flex-wrap:wrap; position:sticky; bottom:-1px; background:#fff; padding-top:14px; }
.dv-review-actions button { flex:1; }
.jd2-visit-secondary { margin:16px 0; text-align:center; }
.jd2-visit-secondary a { text-underline-offset:4px; }
@media(max-width:440px) {
 .dv-fields { grid-template-columns:1fr; }
 .dv-slots { gap:12px; }
 .dv-block-slots { display:grid; }
 .dv-review dl,.dv-success dl { grid-template-columns:1fr; gap:3px; }
 .dv-review dd,.dv-success dd { margin-bottom:9px; }
 .dv-next { margin-top:10px; }
 .dv-intro .dv-primary { width:100%; }
}
