.appointment-page { background:#fff; color:#202020; font-family:Arial,Helvetica,sans-serif; }
.appointment-section { width:min(100% - 40px,480px); margin:0 auto; padding:64px 0 72px; }
.appointment-section h1 { margin:0 0 18px; font-family:inherit; font-size:20px; font-weight:500; line-height:1.5; letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.appointment-intro { margin:0 0 32px; color:#666; font-size:14px; line-height:1.7; text-align:center; }
.appointment-form { display:flex; flex-direction:column; gap:16px; }
.appointment-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.appointment-field label { font-size:13px; font-weight:500; line-height:1.5; }
.appointment-field label span { color:#777; font-weight:400; }
.appointment-field input,.appointment-field textarea,.appointment-field select { width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #d1d1d1; border-radius:5px; background:#fff; color:#222; font-family:inherit; font-size:14px; line-height:1.5; box-sizing:border-box; }
.appointment-field input::placeholder,.appointment-field textarea::placeholder { color:#828282; opacity:1; }
.appointment-field textarea { resize:vertical; min-height:96px; }
.appointment-field input[readonly] { background:#fafafa; color:#555; }
.appointment-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.appointment-choice label { font-size:13px; font-weight:500; }
.appointment-choice select { min-height:48px; padding-right:36px; border-radius:5px; font-size:14px; }
.appointment-location-label { font-size:13px; font-weight:500; line-height:1.5; }
.appointment-location-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:8px 14px; border:1px solid #d1d1d1; border-radius:5px; color:#222; text-decoration:none; }
.appointment-location-link strong { display:block; font-size:14px; font-weight:500; }
.appointment-location-link > span > span { display:block; margin-top:4px; font-size:12px; line-height:1.5; color:#666; }
.appointment-location-link:hover,.appointment-location-link:active { border-color:#d1d1d1; background:#fff; }
.appointment-submit { display:flex; align-items:center; justify-content:center; gap:14px; min-height:58px; width:100%; padding:14px; margin-top:0; border:1px solid #222; border-radius:4px; background:#222; color:#fff; font:500 16px Arial,Helvetica,sans-serif; cursor:pointer; }
.appointment-submit:hover { background:#3d3327; }
.appointment-form :is(input,textarea,select,button,a):focus-visible { outline:2px solid #000; outline-offset:3px; }
.appointment-form .appointment-location-link:focus-visible { outline-color:#000; background:#fff; }
.appointment-note { margin:0; text-align:center; font-size:12px; line-height:1.7; color:#666; }
@media(max-width:600px) { .appointment-section { padding:36px 0 48px; } .appointment-section h1 { font-size:18px; } .appointment-field input,.appointment-field textarea,.appointment-field select { font-size:16px; } .appointment-row { grid-template-columns:1fr; gap:16px; } }
