/* «Κλείσε ραντεβού» (ARCHITECTURE.md, ενότητα 18): η ενότητα της σελίδας Επικοινωνία, στο ύφος της φόρμας μηνύματος
   (ίδια κάρτα, ίδια πεδία). Πεδία 16px στο κινητό (το iPhone δεν μεγεθύνει), κουμπιά τουλάχιστον 44px. */
.contact-appointment{padding-top:0}
.appt{display:grid;gap:20px;color:var(--ink);font-variant-numeric:tabular-nums}
.appt [hidden]{display:none!important}
.appt__notice{margin:0;padding:13px 15px;border-radius:10px;background:#fff0ef;color:#922;font-weight:700}
.appt__group{min-width:0;margin:0;padding:0;border:0}
.appt__group legend{margin-bottom:8px;padding:0;color:var(--navy);font-size:.8rem;font-weight:800}
.appt__kinds,.appt__days{display:flex;gap:8px}
.appt__kinds{flex-wrap:wrap}
.appt__days{overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.appt__kind,.appt__day,.appt__time{position:relative;cursor:pointer}
.appt__kind input,.appt__day input,.appt__time input{position:absolute;opacity:0;pointer-events:none}
.appt__kind span,.appt__day span,.appt__time span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #cbd7e2;border-radius:10px;background:#fff;color:var(--navy);font-size:.86rem;font-weight:700;box-sizing:border-box}
.appt__kind svg{width:20px;height:20px;color:var(--blue)}
.appt__day span{flex-direction:column;gap:0;min-width:62px;color:var(--muted);font-weight:600}
.appt__day b{color:var(--navy)}
.appt input:checked+span{border-color:var(--blue);background:#f4f9ff;color:var(--navy);box-shadow:0 0 0 3px rgba(8,119,209,.12)}
.appt input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.appt__times{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.appt__date{flex-basis:100%;margin:4px 0 0;color:var(--muted);font-size:.8rem;font-weight:700}
.js-appt .appt__date{display:none}
.appt__time span{min-width:70px}
.appt__empty{margin:0;color:var(--muted)}
.appt__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.appt__field{display:block;min-width:0}
.appt__field label{display:block;margin-bottom:6px;color:var(--navy);font-size:.8rem;font-weight:800}
.appt__hint{color:var(--muted);font-weight:500}
.js-appt .appt__hint{display:none}
.appt__field input{width:100%;padding:12px 13px;border:1px solid #cbd7e2;border-radius:10px;background:#fff;font:inherit;outline:none;box-sizing:border-box}
.appt__field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,119,209,.12)}
.appt__remind{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--muted);font-size:.86rem;cursor:pointer}
.appt__remind input{width:18px;height:18px;margin:0;accent-color:var(--navy)}
.appt__remind span,.appt .appt__remind input:checked+span{padding:0;border:0;background:none;box-shadow:none;color:inherit}
.appt__confirm{margin:-8px 0 0;padding:12px 14px;border-left:4px solid #16835f;border-radius:0 10px 10px 0;background:#eaf7f2;color:#105b43;font-size:.82rem;font-weight:700}
.appt__submit{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:0;border-radius:10px;background:var(--navy);color:#fff!important;font:inherit;font-weight:800;cursor:pointer}
.appt__submit:disabled{opacity:.5;cursor:default}
.appt__privacy{margin:0;color:var(--muted);font-size:.78rem}
.appt__privacy a{color:var(--blue);text-decoration:underline}
.appt__done{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:13px 15px;border-radius:10px;background:#e9f8ef;color:#166534;font-weight:700}
.appt__done>span{flex:none;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#16835f;color:#fff}
.appt__done[hidden]{display:none}
@media(max-width:680px){
  .appt__fields{grid-template-columns:1fr}
  .appt__field input{font-size:16px}
  .appt__submit{justify-self:stretch}
}
