/* ============================================
   css/customer_app_where.css
   Βήμα 3 «Πού και πότε»: διακόπτης, ωράριο, χάρτης, ζώνες, κάρτα «Επικοινωνία» στην προεπισκόπηση.
   Χρησιμοποιεί τις κλάσεις cai-* της Ταυτότητας (customer_app_identity.css). Φόντο σελίδας: κληρονομείται, δεν ορίζεται εδώ.
   ============================================ */

.ca-page [hidden] { display: none !important; }

.caw-step-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.caw-step-head .cai-strong { font-size: 19px; }
.caw-tag { font-size: 15px; font-weight: 600; color: #0E2A47; background: #E6EEF7; border-radius: 8px; padding: 2px 10px; white-space: nowrap; }
.caw-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.caw-opt { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.caw-check { display: flex; align-items: center; gap: 12px; font-size: 17px; min-height: 44px; }
.caw-check input { width: 24px; height: 24px; flex: none; }

/* Διακόπτης «Ο χώρος σας» */
.caw-switch { font: inherit; text-align: left; display: flex; align-items: flex-start; gap: 14px; width: 100%; padding: 14px 16px; background: #FFFFFF; border: 1px solid #C5D1DE; border-radius: 14px; cursor: pointer; color: #0F172A; }
.caw-switch.is-on { border-color: #111111; box-shadow: 0 0 0 2px #111111; }
.caw-knob { flex: none; position: relative; width: 52px; height: 30px; border-radius: 15px; background: #9FB1C6; margin-top: 2px; }
.caw-knob::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #FFFFFF; transition: left 0.15s; }
.caw-switch.is-on .caw-knob { background: #111111; }
.caw-switch.is-on .caw-knob::after { left: 25px; }
.caw-switch-txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.caw-switch-txt .cai-strong { font-size: 18px; overflow-wrap: anywhere; }
.caw-panel { display: flex; flex-direction: column; gap: 18px; padding-top: 6px; }

/* Ωράριο */
.caw-hours-wrap { display: flex; flex-direction: column; gap: 8px; }
.caw-hours { border: 1px solid #D6E1EE; border-radius: 12px; padding: 14px 16px; background: #F8FAFD; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.caw-hours-sum { margin: 0; font-size: 17px; line-height: 1.5; color: #0F172A; overflow-wrap: anywhere; }
.caw-hours-toggle { font: inherit; font-size: 17px; font-weight: 600; min-height: 44px; padding: 0 14px; background: #FFFFFF; border: 1px solid #9FB1C6; border-radius: 10px; cursor: pointer; color: #0F172A; white-space: nowrap; }
.caw-hours-body { width: 100%; display: flex; flex-direction: column; gap: 4px; }
.caw-hrow { display: flex; flex-direction: column; gap: 8px; padding: 12px 0; border-top: 1px solid #E2E8F0; }
.caw-hday { font-size: 17px; color: #0F172A; }
.caw-htimes { display: flex; flex-wrap: wrap; gap: 10px; }
.caw-htimes.is-off { opacity: 0.45; }
.caw-time { display: flex; flex-direction: column; gap: 4px; }
.caw-time-cap { font-size: 15px; color: #475569; }
.caw-time-input { min-width: 140px; }
.caw-hclosed { display: flex; align-items: center; gap: 10px; font-size: 17px; min-height: 44px; }
.caw-hclosed input { width: 24px; height: 24px; flex: none; }
.caw-same { align-self: flex-start; max-width: 100%; overflow-wrap: anywhere; }

/* Χάρτης */
.caw-map { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.caw-map-holder { width: 100%; height: 300px; border-radius: 12px; border: 1px solid #D6E1EE; background: #E5E7EB; }
.caw-map-msg { margin: 0; }
.caw-map .ca-btn { max-width: 100%; overflow-wrap: anywhere; }

/* Ζώνες */
.caw-zones { display: flex; flex-direction: column; gap: 10px; border: 1px solid #D6E1EE; border-radius: 12px; padding: 14px 16px; background: #F8FAFD; align-items: flex-start; }
.caw-zone-list { list-style: none; margin: 0; padding: 0; width: 100%; display: flex; flex-direction: column; gap: 10px; }
.caw-zone { display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid #E2E8F0; }
.caw-zone:first-child { border-top: 0; padding-top: 0; }
.caw-zone-name { font-size: 17px; color: #0F172A; overflow-wrap: anywhere; }
.caw-zone-days { font-size: 16px; color: #2E3D50; overflow-wrap: anywhere; }
.caw-zone-btn { max-width: 100%; overflow-wrap: anywhere; text-align: left; }

/* Προεπισκόπηση: κάρτα «Επικοινωνία» */
.caw-pv-card { margin: 12px; padding: 12px; border: 1px solid #E2E8F0; border-radius: 12px; background: #FFFFFF; display: flex; flex-direction: column; gap: 6px; color: #1A1A1A; text-align: left; }
.caw-pv-title { font-size: 15px; }
.caw-pv-line { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.caw-pv-hours { color: #475569; }
.caw-pv-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.caw-pv-chip { font-size: 13px; font-weight: 600; border: 1px solid #C5D1DE; border-radius: 8px; padding: 2px 8px; }
.caw-pv-map { position: relative; height: 70px; border-radius: 8px; background: #E5E7EB; overflow: hidden; }
.caw-pv-pin { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #111111; border: 3px solid #FFFFFF; box-shadow: 0 0 0 1px #111111; }
