/* =========================
   Βασικά / Reset
   ========================= */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; background:#fff; overflow-x: hidden; }
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #111;
}

/* Καθαρό λευκό σε όλα τα layers */
.page, .container, .grid-3, .grid-2, .card, .card.app, .iframe-wrap { background:#fff; }

/* Κοινό container */
.container { width:100%; max-width:1200px; margin-inline:auto; padding-inline:16px; }

/* Header / Logo */
.site-header { background:#fff; }
.header-inner{ display:flex; justify-content:center; align-items:center; padding:16px 0; }
.logo{ max-width:520px; width:90%; height:auto; display:block; }

/* Navigation */
.site-nav{ position:sticky; top:0; z-index:1000; background:#fff; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.nav-inner{ position:relative; display:flex; align-items:center; min-height:52px; padding-block:6px; }
.nav-toggle{ margin-left:auto; font-size:30px; line-height:1; background:none; border:none; cursor:pointer; padding:6px 10px; }

/* Mobile menu */
.menu{
  list-style:none; margin:0; padding:0; display:none; flex-direction:column; gap:12px;
  position:absolute; right:10px; top:100%; width:min(78vw, 340px); max-height:70vh; overflow:auto;
  background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.1); padding:10px 12px; z-index:1100;
}
.menu.open{ display:flex; }
.menu li{ border-bottom:1px solid #f3f3f3; } .menu li:last-child{ border-bottom:0; }
.menu a{ display:block; text-decoration:none; color:#111; font-size:18px; padding:10px 2px; }

/* Desktop menu */
@media (min-width: 992px){
  .site-header .header-inner{ padding:24px 0 18px; }
  .site-nav{ margin-bottom:22px; }
  .nav-toggle{ display:none; }
  .menu{
    position:static; width:auto; max-height:none; overflow:visible;
    display:flex !important; flex-direction:row; justify-content:center; align-items:center;
    gap:28px; border:0; border-radius:0; box-shadow:none; padding:0;
  }
  .menu li{ border:0; }
  .menu a{ font-size:19px; padding:10px 4px; white-space:nowrap; }
}

/* Hero & Footer */
.hero img, .site-footer img{ width:100%; height:auto; display:block; }

/* Grid helpers */
.grid-3, .grid-2{ display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:992px){
  .grid-3{ grid-template-columns:repeat(3, 1fr); }
  .grid-2{ grid-template-columns:repeat(2, 1fr); }
}
@media (min-width:768px) and (max-width:991.98px){
  .grid-3, .grid-2{ gap:16px; }
}

/* Cards / Blocks */
.card{
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 6px rgba(0,0,0,0.08);
  padding:0;
  overflow:hidden;
}
.block-img, .block-video{ display:block; width:100%; height:auto; }
.block-video{ max-width:100%; }

/* Κάθετα banners – να μη κόβονται */
img.contain-vert{
  width:100%;
  height:auto;          /* το πραγματικό ύψος θα χρησιμοποιηθεί ως «στόχος» */
  object-fit:contain;
  background:#fff;
}

/* Εφαρμογές (iframes) */
.card.app{ background:#fff; border-radius:10px; box-shadow:0 0 6px rgba(0,0,0,0.08); overflow:hidden; }
.iframe-wrap{ width:100%; height:auto; overflow:hidden; background:#fff; }
.app-embed{
  width:100%; height:auto; border:none; display:block; background:#fff;
  overflow:hidden; -ms-overflow-style:none; scrollbar-width:none;
}
.app-embed::-webkit-scrollbar{ display:none; }

/* Spacers */
.spacer{ height:24px; }
@media (min-width:768px) and (max-width:991.98px){ .spacer{ height:18px; } }
@media (max-width:767.98px){ .spacer{ height:16px; } }
