.status-dot.open{background:#23865a;box-shadow:0 0 0 5px rgba(35,134,90,.16)}.map-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.map-links a{font-size:.85rem;font-weight:700;text-underline-offset:4px}.hours-now{font-size:1.05rem;color:var(--navy)!important}.special-note{background:#fff6d9;border-left:3px solid var(--yellow);padding:10px 12px}.weekly-hours{margin:18px 0}.weekly-hours div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px;border-bottom:1px solid var(--line)}.weekly-hours .today{background:#fff8df}.weekly-hours dd{margin:0;text-align:right;font-weight:700}.public-alert{width:min(var(--max),calc(100% - 32px));margin:18px auto 0;padding:14px 18px;background:#eef6f1;border-left:4px solid #23865a}.public-alert.error{background:#fff0f0;border-color:#a22b2b}.contact-section{background:#fff;border-block:1px solid var(--line)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px}.contact-form label{display:grid;gap:7px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;min-height:48px;border:1px solid #8f9bae;padding:11px;font:inherit}.contact-form .full{grid-column:1/-1}.contact-form .check{display:flex;align-items:flex-start}.contact-form input[type=checkbox]{width:22px;min-height:22px}.honeypot{position:absolute;left:-9999px}.qr-pair{display:flex;gap:16px;justify-content:center;border-top:1px solid var(--line);padding-top:20px;margin-top:15px}.qr-pair figure{margin:0;text-align:center}.qr-pair img{width:120px;height:120px}.qr-pair figcaption{font-size:.72rem;font-weight:700}@media(max-width:600px){.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}}@media(max-width:480px){.weekly-hours div{grid-template-columns:1fr}.weekly-hours dd{text-align:left}}

/* Mobile-first QR landing actions */
.action-icon{display:inline-grid;place-items:center;width:30px;height:30px;color:var(--yellow)}
.action-icon svg,.button>svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-contact-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 16px}
.hero-contact{min-height:78px;padding:9px 5px;border:1px solid rgba(6,30,74,.28);background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;text-decoration:none;font-size:.7rem;font-weight:800;line-height:1.15;transition:transform .22s var(--ease),border-color .22s,background .22s,box-shadow .22s}
.hero-contact:hover{transform:translateY(-3px);border-color:var(--navy);background:#fff;box-shadow:0 9px 24px rgba(6,30,74,.1)}
.hero-contact .action-icon{width:27px;height:27px;color:var(--navy)}
.hero-contact--whatsapp .action-icon{color:#187b4f}
.hero-contact--viber .action-icon{color:#665cac}
.hero-actions .button{gap:8px}
.hero-actions .button>svg{width:22px;height:22px;color:var(--yellow)}
.action-grid .action-icon{font-size:inherit;color:var(--yellow)}
.action-grid .action-icon svg{width:30px;height:30px}
.mobile-sticky .action-icon{width:23px;height:23px;color:var(--navy)}
.mobile-sticky .mobile-label{font-size:.68rem}
body[data-animation="normal"] .hero-contact{animation:charge-in .55s var(--ease) both}
body[data-animation="normal"] .hero-contact:nth-child(2){animation-delay:.07s}
body[data-animation="normal"] .hero-contact:nth-child(3){animation-delay:.14s}
body[data-animation="normal"] .hero-contact:nth-child(4){animation-delay:.21s}
body[data-animation="normal"] .hero-contact:nth-child(5){animation-delay:.28s}
body[data-animation="normal"] .circuit i:nth-child(2){animation:circuit-flow 3.4s var(--ease) infinite}
body[data-animation="none"] .current-line,body[data-animation="none"] .circuit i{animation:none}
@keyframes charge-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes circuit-flow{0%,100%{transform:scaleX(.25);transform-origin:left;opacity:.35}50%{transform:scaleX(1);opacity:1}}

@media(max-width:620px){
  .site-header{height:60px}
  .brand{font-size:.9rem}
  .brand img{width:27px;height:38px}
  .header-call{min-height:44px;display:inline-flex;align-items:center;padding:9px 14px}
  .hero{padding:24px 16px 34px;display:block}
  .hero-copy{text-align:center}
  .hero .eyebrow{font-size:.68rem;margin-bottom:8px}
  .hero h1{font-size:clamp(3rem,16vw,3.8rem);line-height:.9}
  .hero-category{font-size:1rem;border-top-width:3px;padding-top:7px;margin:12px auto}
  .tagline{font-size:1.12rem;line-height:1.35;margin:15px auto 12px}
  .intro{font-size:.91rem;line-height:1.45;margin:0 auto}
  .status-card{margin:15px 0 14px;padding:8px 10px;text-align:left;justify-content:center}
  .status-card strong{font-size:.86rem;line-height:1.25}
  .status-card small{font-size:.75rem}
  .hero-contact-actions{margin:13px 0 12px;gap:6px}
  .hero-contact{min-height:70px;padding:7px 2px;border-radius:6px;font-size:.61rem}
  .hero-contact .action-icon{width:25px;height:25px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:5px}
  .hero-actions .button{width:100%;min-height:46px}
  .hero-actions .text-link{font-size:.82rem;padding:7px}
  .hero-visual,.scroll-cue{display:none}
  .quick-actions{padding-top:55px}
  .section-heading{margin-bottom:28px}
  .section-heading h2,.location h2,.digital-card h2{font-size:clamp(1.85rem,10vw,2.7rem)}
  .action-grid a{min-height:126px;padding:15px}
  .action-grid .action-icon{width:28px;height:28px}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-card{min-height:185px;padding:20px}
  .category-card h3{font-size:.94rem;line-height:1.3}
  .category-icon{width:66px;height:66px;margin-bottom:15px}
  .mobile-sticky a{display:flex;flex-direction:column;justify-content:center;align-items:center}
}

@media(max-width:350px){
  .hero-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-contact{min-height:66px}
  .category-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.hero-contact,.circuit i{animation:none!important}}

/* 1.2 — πειθαρχημένη, συμπαγής δημόσια σύνθεση */
.action-icon svg,.button>svg{fill:currentColor;stroke:none}
.hero-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px;gap:10px;margin-top:24px}
.hero-contact{appearance:none;font:800 .72rem/1.15 Arial,Helvetica,sans-serif;color:var(--navy);cursor:pointer;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(6,30,74,.055)}
.hero-contact .action-icon{width:29px;height:29px}
.hero-contact--website .action-icon,.hero-contact--directions .action-icon{color:var(--navy)}
.hero-contact--email{width:100%}
.categories .section-shell{max-width:1100px}
.category-grid{gap:12px;border:0;background:transparent}
.category-card{min-height:278px;padding:20px;border:1px solid rgba(6,30,74,.2);border-radius:8px;background:#fff;justify-content:space-between;overflow:hidden}
.category-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 14px 32px rgba(6,30,74,.08)}
.category-media{display:block;position:relative;width:100%;height:174px;margin:0 auto 8px;overflow:hidden}
.category-art{display:block;position:absolute;left:50%;top:50%;width:var(--category-image-scale,92%);height:var(--category-image-scale,92%);max-width:100%;max-height:100%;transform:translate(-50%,-50%);object-fit:contain;object-position:var(--category-image-x,50%) var(--category-image-y,50%);mix-blend-mode:multiply}
.category-card h3{font-size:1rem;line-height:1.35;max-width:none;min-height:2.7em}
.category-number{z-index:2;background:var(--navy);color:#fff;padding:3px 7px;border-radius:99px;top:14px;right:14px}
.location{width:min(var(--max),calc(100% - 48px));margin:48px auto 88px;min-height:620px;border:1px solid var(--navy);border-radius:10px;overflow:hidden}
.location-copy{padding:clamp(44px,6vw,76px)}
.location-copy>p{margin-top:24px}
.map-placeholder{min-height:100%}
.map-pin{display:grid;place-items:center;width:72px;height:72px;color:var(--yellow)}
.map-pin svg{width:100%;height:100%;fill:currentColor}
.digital-card{max-width:980px;grid-template-columns:1fr auto;gap:48px;border-top:3px solid var(--yellow);border-bottom:1px solid var(--line);padding:62px 48px;margin-block:18px 88px;background:#fff}
.card-details{max-width:680px}
.card-intro{color:var(--muted);max-width:610px;margin:20px 0 28px}
.card-actions form{margin:0}
.utility-qr{margin:0;align-self:center;text-align:center;padding:18px;background:var(--paper);border:1px solid var(--line)}
.utility-qr img{display:block;width:122px;height:122px}
.utility-qr figcaption{font-size:.7rem;font-weight:800;margin-top:8px}
footer{padding:30px max(24px,calc((100% - var(--max))/2)) calc(30px + env(safe-area-inset-bottom))}
.footer-compact{display:flex;align-items:center;gap:28px;justify-content:space-between}
.footer-compact>div{display:flex;align-items:baseline;gap:14px}
.footer-compact span,.footer-compact p{color:#c8d0df;font-size:.82rem;margin:0}
.footer-compact nav{display:flex;gap:20px;margin-left:auto}
.footer-compact nav a{font-size:.84rem;text-underline-offset:4px}
.mobile-sticky{transition:transform .28s var(--ease),opacity .28s var(--ease)}
body.hero-in-view .mobile-sticky{transform:translateY(120%);opacity:0;pointer-events:none}

@media(max-width:620px){
  .hero{padding:25px 16px 36px}
  .hero-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin-top:20px}
  .hero-contact{min-height:74px;font-size:.67rem}
  .hero-contact .action-icon{width:27px;height:27px}
  .section-shell{padding:62px 0}
  .categories .section-heading{text-align:left}
  .category-grid{gap:8px}
  .category-card{min-height:218px;padding:14px}
  .category-media{height:132px;margin-bottom:7px}
  .category-card h3{font-size:.78rem;min-height:3.9em}
  .category-number{font-size:.61rem;top:9px;right:9px}
  .location{width:calc(100% - 24px);margin:18px auto 62px;border-radius:8px}
  .location-copy{padding:48px 22px}
  .map-placeholder{min-height:390px}
  .digital-card{width:calc(100% - 24px);grid-template-columns:1fr;gap:28px;padding:45px 22px;margin-bottom:62px}
  .utility-qr{justify-self:start;display:flex;align-items:center;gap:14px;padding:12px}
  .utility-qr img{width:88px;height:88px}
  .footer-compact{align-items:flex-start;flex-wrap:wrap;gap:16px}
  .footer-compact>div{display:grid;gap:2px}
  .footer-compact nav{order:3;width:100%;margin-left:0}
}

@media(max-width:350px){
  .hero-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-grid{grid-template-columns:1fr}
  .category-card{min-height:238px}
  .category-media{height:150px}
}
