/* Shared visit preference controls: equal geometry, ivory surfaces, forest ink. */
.visit-picker{position:relative;min-width:0}.booking-step .preference-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:56px;padding:0 18px;border:1px solid #223b2738;border-radius:12px;background:#fffaf2;color:#223b27;font:inherit;font-size:16px;text-align:left;cursor:pointer}.preference-trigger svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5}.preference-trigger:hover{border-color:#223b2780}.preference-trigger:focus-visible,.preference-panel button:focus-visible{outline:2px solid #223b27;outline-offset:3px}.preference-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:10;width:100%;min-width:280px;padding:18px;background:#fffaf2;border:1px solid #223b272b;border-radius:18px;box-shadow:0 12px 32px #223b2712}.preference-panel[hidden]{display:none}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px}.calendar-heading strong{font-weight:400;font-size:17px}.preference-panel button{font:inherit;color:#223b27;cursor:pointer;border:0;background:transparent}.calendar-heading button{width:36px;height:36px;border-radius:50%;font-size:22px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-week{font-size:11px;color:#64715f;margin-bottom:8px}.calendar-days button{height:36px;padding:0;border-radius:50%;font-size:14px}.calendar-days button:hover,.calendar-heading button:hover,.time-options button:hover{background:#e7e9df}.calendar-days button[aria-pressed=true],.time-options button[aria-pressed=true]{background:#223b27;color:#fffaf2}.calendar-days button:disabled{opacity:.25;cursor:default;background:none}.calendar-days button[data-today=true]{box-shadow:inset 0 0 0 1px #223b2760}.calendar-flexible{width:100%;margin-top:14px;padding:13px 0 0;border-top:1px solid #223b2726!important;font-size:14px!important}.time-options{display:grid;gap:6px}.time-options button{width:100%;padding:12px 14px;border-radius:9px;text-align:left;font-size:16px}.booking-step .field-pair{gap:18px;align-items:start}@media(max-width:600px){.booking-step .field-pair{grid-template-columns:1fr;gap:20px}.preference-panel{min-width:0}}

.contact-details-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-details-pair>div{min-width:0}@media(max-width:600px){.contact-details-pair{grid-template-columns:1fr;gap:0}}

/* Keep related visit questions and controls aligned when labels wrap. */
.booking-step #visit-context{align-items:end;margin-top:24px;margin-bottom:24px}
.booking-step #visit-context>div{min-width:0}
.booking-step #visit-context select{height:56px;border-radius:12px}
