/* Ski Club Registrations — front-end form (scoped under .scr-app) */
.scr-app{
  --scr-ink:#16233B; --scr-ink-soft:#3A4A66; --scr-brand:#E23A8E; --scr-brand-dark:#B81E6E;
  --scr-snow:#EEF3F9; --scr-card:#ffffff; --scr-line:#E1E8F1; --scr-muted:#6B7A90;
  --scr-good:#1FA971; --scr-warn:#E4A400; --scr-bad:#D1495B; --scr-radius:14px;
  --scr-shadow:0 10px 30px rgba(22,35,59,.08); --scr-shadow-sm:0 2px 8px rgba(22,35,59,.06);
  color:var(--scr-ink);
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
  line-height:1.5; -webkit-font-smoothing:antialiased; max-width:1160px; margin:0 auto;
}
.scr-app *{box-sizing:border-box}
.scr-app a{color:var(--scr-brand-dark)}
.scr-ico{width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.17em;flex:0 0 auto}
.scr-sprite{position:absolute;width:0;height:0;overflow:hidden}

.scr-pagehead{padding:12px 0 14px}
.scr-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--scr-brand-dark)}
.scr-pagehead h1{margin:9px 0 10px;font-size:34px;font-weight:600;line-height:1.15;letter-spacing:-.5px;color:var(--scr-ink)}
.scr-sub{margin:0;font-size:16px;color:var(--scr-muted);max-width:660px;line-height:1.55}
@media (max-width:600px){.scr-pagehead h1{font-size:26px}}

.scr-note{background:#F1F7FD;border:1px solid #D3E6F6;border-left:4px solid var(--scr-brand);padding:12px 15px;border-radius:10px;font-size:13.5px;color:#204767;margin-bottom:22px}

.scr-grid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
@media (max-width:900px){.scr-grid{grid-template-columns:1fr}}

.scr-section{background:var(--scr-card);border:1px solid var(--scr-line);border-radius:var(--scr-radius);padding:20px 22px;margin-bottom:18px}
.scr-section > h2{margin:0 0 4px;font-size:17px;display:flex;align-items:center;gap:11px}
.scr-step{width:27px;height:27px;flex:0 0 auto;border-radius:8px;background:var(--scr-ink);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}
.scr-sub2{margin:2px 0 16px 38px;color:var(--scr-muted);font-size:13px}
@media (max-width:520px){.scr-sub2{margin-left:0}}
.scr-locked{opacity:.55;pointer-events:none}

.scr-fld{display:block;font-size:12.5px;font-weight:600;color:var(--scr-ink-soft);margin:0 0 5px}
.scr-req{color:var(--scr-bad)}
.scr-app input[type=text],.scr-app input[type=email],.scr-app input[type=tel],.scr-app input[type=date],.scr-app select{
  width:100%;padding:9px 2px;border:none;border-bottom:1.5px solid var(--scr-line);border-radius:0;font:inherit;color:var(--scr-ink);
  background:transparent;transition:border-color .15s;
}
.scr-app ::placeholder{color:#9AA6B6}
.scr-app input:focus,.scr-app select:focus{outline:none;border-bottom-color:var(--scr-brand)}

/* Θωράκιση ορατότητας των <select>.
   Θέματα της οικογένειας ThemeREX/trx_addons (όπως το mounthood του dev site)
   κρύβουν καθολικά κάθε native select —
   `select:not(.esg-sorting-select):not([class*="trx_addons_attrib_"]){visibility:hidden}` —
   και τα ξαναεμφανίζουν μόνο αφού το script τους τα τυλίξει σε δικό τους dropdown.
   Τα select της φόρμας φτιάχνονται δυναμικά μετά το load, οπότε δεν τα προλαβαίνει
   ποτέ: μένουν αόρατα και ο χρήστης βλέπει κενά πεδία.
   Το !important είναι απαραίτητο — ο κανόνας του theme έχει εξειδίκευση (0,2,1),
   μεγαλύτερη από κάθε selector που μπορούμε να γράψουμε μέσα στο .scr-app. */
.scr-app select{visibility:visible!important}
.scr-textarea{width:100%;padding:9px 2px;border:none;border-bottom:1.5px solid var(--scr-line);font:inherit;resize:vertical;background:transparent;color:var(--scr-ink)}
.scr-textarea:focus{outline:none;border-bottom-color:var(--scr-brand)}
.scr-row{display:grid;gap:14px}
.scr-row.c2{grid-template-columns:1fr 1fr}
.scr-row.c3{grid-template-columns:1fr 1fr 1fr}
.scr-row.c4{grid-template-columns:1.1fr 1.1fr 1fr .9fr}
@media (max-width:620px){.scr-row.c2,.scr-row.c3,.scr-row.c4{grid-template-columns:1fr}}
.scr-app fieldset{border:1px dashed var(--scr-line);border-radius:12px;padding:14px 16px 16px;margin:0 0 4px}
.scr-app fieldset legend{font-size:12px;font-weight:700;color:var(--scr-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 6px}

.scr-btn{appearance:none;border:none;cursor:pointer;font:inherit;font-weight:700;border-radius:10px;padding:11px 18px;background:var(--scr-brand);color:#fff;box-shadow:var(--scr-shadow-sm);transition:transform .05s, background .15s;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.scr-btn:hover{background:var(--scr-brand-dark)} .scr-btn:active{transform:translateY(1px)}
.scr-btn.scr-ghost{background:#fff;color:var(--scr-brand);border:1.5px solid var(--scr-brand);box-shadow:none}
.scr-btn.scr-ghost:hover{background:#F1F7FD}
.scr-btn.scr-sm{padding:8px 13px;font-size:13px;border-radius:9px}
.scr-btn.scr-block{width:100%;font-size:16px;padding:14px;margin-top:12px}
.scr-btn.scr-danger{background:#fff;color:var(--scr-bad);border:1.5px solid #F0C4CB;box-shadow:none}
.scr-btn.scr-danger:hover{background:#FDEEF0}
.scr-btn:disabled{opacity:.6;cursor:default}

.scr-participant{border:1px solid var(--scr-line);border-radius:12px;padding:15px 16px;margin-bottom:14px;background:#FBFCFE}
.scr-phead{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.scr-pnum{width:24px;height:24px;border-radius:7px;background:#E9EEF4;color:var(--scr-ink);font-weight:800;font-size:13px;display:grid;place-items:center}
.scr-phead b{font-size:14px}
.scr-role-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.scr-badge-ath{background:#E4F3EB;color:#127a4e} .scr-badge-com{background:#EAEFF6;color:#3A4A66}
.scr-count-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:4px;flex-wrap:wrap}
.scr-cs{min-width:220px}
.scr-count-row .scr-btn{padding:10px 24px}

.scr-pack-axis{margin-bottom:16px}
.scr-pack-axis > span{font-size:12.5px;font-weight:700;color:var(--scr-ink-soft);display:block;margin-bottom:8px}
.scr-choices{display:flex;gap:10px;flex-wrap:wrap}
.scr-choice{flex:1 1 150px;min-width:130px;border:1.5px solid var(--scr-line);border-radius:12px;padding:13px 15px;cursor:pointer;background:#fff;transition:.15s;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.scr-choice:hover{border-color:#F0C6DC}
.scr-choice.on{border-color:var(--scr-brand);background:#FCEAF3;box-shadow:0 0 0 3px rgba(226,58,142,.25)}
.scr-choice .t{font-weight:800;font-size:14.5px}
.scr-choice .d{font-size:12px;color:var(--scr-muted);margin-top:3px}
.scr-choice .p{position:absolute;top:12px;right:14px;font-weight:800;color:var(--scr-brand-dark);font-size:14px}
.scr-freq-choice{flex:1 1 90px;min-width:80px;text-align:center}
.scr-freq-choice .t{font-size:20px}

.scr-hint{font-size:13px;padding:10px 13px;border-radius:10px;margin-bottom:14px;font-weight:600}
.scr-hint.ok{background:#E9F7F0;color:#127a4e;border:1px solid #BFE6D2}
.scr-hint.info{background:#F1F7FD;color:#204767;border:1px solid #D3E6F6}
.scr-hint.warn{background:#FDF1D8;color:#7a5b00;border:1px solid #F2DCA0}
.scr-daterow{display:grid;grid-template-columns:26px 1.4fr 1fr 1.3fr;gap:12px;align-items:end;padding:12px;border:1px solid var(--scr-line);border-radius:11px;margin-bottom:10px;background:#FBFCFE}
.scr-idx{width:26px;height:26px;border-radius:7px;background:var(--scr-ink);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;margin-bottom:2px}
@media (max-width:640px){.scr-daterow{grid-template-columns:1fr;gap:10px}.scr-idx{margin-bottom:0}}
.scr-seg{display:flex;border:1px solid var(--scr-line);border-radius:9px;overflow:hidden}
.scr-seg button{flex:1;border:none;background:#fff;padding:9px 6px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--scr-ink-soft);touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.scr-seg button.on{background:var(--scr-brand);color:#fff}
/* Η αφετηρία κρύβεται όταν η μετακίνηση είναι ΙΧ, κρατώντας όμως τη θέση της
   στο grid ώστε να μην αναπηδά η γραμμή. Το select θέλει ρητή εξαίρεση από τον
   κανόνα ορατότητας παραπάνω: εκείνος έχει !important, οπότε θα ακύρωνε το
   κληρονομούμενο visibility του γονέα και η «Αφετηρία» θα εμφανιζόταν χωρίς
   ετικέτα, δίπλα σε επιλεγμένο ΙΧ. */
.scr-boarding-wrap{transition:.2s}
.scr-app .scr-boarding-wrap.scr-off{visibility:hidden}
.scr-app .scr-boarding-wrap.scr-off select{visibility:hidden!important}

.scr-equip-empty{color:var(--scr-muted);font-size:13.5px;background:#F7F9FC;border:1px dashed var(--scr-line);border-radius:11px;padding:16px;text-align:center}
.scr-equip-card{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:start;border:1px solid var(--scr-line);border-radius:11px;padding:12px 14px;margin-bottom:10px;background:#FBFCFE}
.scr-equip-card .who{font-weight:700;font-size:14px;padding-bottom:9px}
@media (max-width:640px){.scr-equip-card{grid-template-columns:1fr}}

.scr-summary{position:sticky;top:20px}
.scr-card{background:var(--scr-card);border:1px solid var(--scr-line);border-radius:var(--scr-radius);box-shadow:var(--scr-shadow);overflow:hidden}
.scr-cap{background:#16233B;color:#fff;padding:14px 18px;font-weight:800;font-size:15px;display:flex;align-items:center;gap:9px}
.scr-body{padding:16px 18px}
.scr-line{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:14px;color:var(--scr-ink-soft)}
.scr-line.scr-disc{color:var(--scr-good);font-weight:600}
.scr-line b{color:var(--scr-ink)}
.scr-div{height:1px;background:var(--scr-line);margin:8px 0}
.scr-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:6px}
.scr-total span{font-size:14px;color:var(--scr-muted)} .scr-total b{font-size:26px;color:var(--scr-ink)}
.scr-bus-note{margin-top:12px;background:#F1F7FD;border:1px solid #D3E6F6;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#204767}
.scr-mini{font-size:12px;color:var(--scr-muted);margin-top:8px}
.scr-consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--scr-ink-soft);margin-top:14px;cursor:pointer;line-height:1.4}
.scr-consent input{margin:2px 0 0;width:16px;height:16px;flex:0 0 auto;accent-color:var(--scr-brand)}
.scr-success{margin-top:12px;background:#E9F7F0;border:1px solid #BFE6D2;color:#127a4e;border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:600}

.scr-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(120px);background:#16233B;color:#fff;padding:14px 22px;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.3);z-index:99999;transition:.35s;max-width:90vw}
.scr-toast.show{transform:translateX(-50%) translateY(0)}
.scr-toast b{color:#8fd0a8}
