:root{
  --brand: #0E1E46;
  --brand-2: #2374AB;
  --bg: #F4F6FA;
  --ok: #2E7D32;
  --err: #C62828;
  --text: #111827;
  --muted: #6B7280;
  --card: #ffffff;
  --shadow: 0 10px 25px rgba(0,0,0,0.06);
  --radius: 16px;
}
*{box-sizing:border-box}
.clm-container{ color:var(--text); background:var(--bg); font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;}
.clm-container .container{ width:min(1200px,92%); margin-inline:auto;}
.site-header{position:sticky;top:0;z-index:50;background:var(--brand);color:#fff;box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px}
.branding{display:flex;align-items:center;gap:12px}
.clm-logo{width:42px;height:42px;border-radius:10px;background:#fff2;object-fit:contain}
h1{font-size:22px;margin:0;line-height:1.2}
.subtitle{margin:2px 0 0;opacity:.85;font-size:14px}
.intro{padding:20px 0}
.intro p{color:var(--muted)}
.clm-video-wrap{padding:14px 0 0}
.clm-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;box-shadow:var(--shadow);background:#000}
.clm-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.categories{padding:14px 0 48px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(1,minmax(0,1fr))}
@media (min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1200px){.grid{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;text-align:left;border:2px solid transparent;display:grid;gap:6px;cursor:pointer}
.card:hover{transform:translateY(-2px);border-color:#00000012}
.card:focus{outline:3px solid #000}
.card-icon{font-size:28px}
.card-title{font-weight:700;font-size:18px}
.card-desc{color:var(--muted);margin:0;font-size:14px}
.card-accent{border-color:#2374AB33;background:#ffffff}
/* Hover/active = λευκά γράμματα */
.card:hover,
.card:focus,
.card:active{ background: var(--brand-2); color:#fff; }
.card:hover .card-title,
.card:hover .card-desc,
.card:focus .card-title,
.card:focus .card-desc,
.card:active .card-title,
.card:active .card-desc{ color:#fff; }
.site-footer{background:#fff;border-top:1px solid #e5e7eb}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:14px}
.footer-links a{color:var(--brand);text-decoration:none;margin-left:16px}
.footer-links a:hover{text-decoration:underline}
.back-to-top{font-weight:600}
.modal[aria-hidden="true"]{display:none}
.modal{position:fixed;inset:0;z-index:100}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.modal-dialog{position:relative;margin:5vh auto;background:#fff;width:min(900px,94%);border-radius:20px;box-shadow:var(--shadow);padding:18px;max-height:90vh;overflow:auto}
.modal-close{position:absolute;right:12px;top:12px;font-size:20px;border:none;background:transparent;cursor:pointer}
.modal-subtitle{color:var(--muted);margin-top:-6px}
.form-row{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:720px){.form-row{grid-template-columns:1fr 1fr}}
.form-field{display:grid;gap:6px;margin-top:12px}
.form-field input[type="text"],.form-field input[type="email"],.form-field input[type="tel"],.form-field input[type="file"],.form-field textarea{width:100%;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font:inherit}
.form-field textarea{resize:vertical}
.checkbox-field{margin-top:16px}
.help{color:var(--muted);font-size:12px}
.error{color:var(--err);font-size:12px;min-height:1em}
.map-wrap{margin-top:10px;display:grid;gap:8px}
.map{width:100%;height:260px;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}
.coords{display:flex;gap:10px}
.coords input{width:100%;background:#f9fafb;border:1px dashed #e5e7eb}
.photo-preview{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
.photo-preview img{height:80px;border-radius:8px;border:1px solid #e5e7eb}
.form-actions{margin-top:14px;display:flex;gap:10px;justify-content:flex-end}
.alert{margin-top:12px;padding:12px;border-radius:10px;display:grid;gap:4px}
.alert.ok{background:#E8F5E9;color:var(--ok);border:1px solid #C8E6C9}
.alert.err{background:#FFEBEE;color:var(--err);border:1px solid #FFCDD2}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.address-required-star{color:var(--err)}
