/* ==========================================================================
   Vembutaja BASE — laetakse KÕIGIL lehtedel. Sisaldab menüü (.nav) stiile,
   IDENTSED avalehe home.css omadega, et alamleht näeks välja täpselt sama.
   Ainult fondipere on !important-iga sunnitud (et teema oma fonti peale ei suru).
   Border-radius / värvid jäävad ilma !important-ita, et Elementor/teema
   mõjutaks mõlemat lehte ühtemoodi -> ühtne tulemus.
   ========================================================================== */
:root{
  --yellow:#FFD60A; --yellow-soft:#FFE76B; --yellow-deep:#F4B400;
  --ink:#1A1130; --ink-soft:#2C1F4E; --cream:#FFF9EC;
  --pink:#FF4E8E; --teal:#0FB5A8; --blue:#3D7BFF;
}

/* Sunni ainult fondipere (parandab "õhema fondi" alamlehel) */
.nav, .nav *{ box-sizing:border-box; font-family:'Nunito',system-ui,sans-serif !important; }

.nav{
  position:sticky; top:0; z-index:9999;
  background:var(--yellow);
  border-bottom:3px solid var(--ink);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; max-width:1240px; margin:0 auto;
}
.nav .logo{ display:flex; align-items:center; gap:12px; color:var(--ink); position:relative; z-index:2; text-decoration:none; }
.nav .logo img{
  height:80px; width:auto; max-width:none; display:block;
  margin:-14px 0;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));
}
.nav .logo-text{ font-size:1.6rem; color:var(--ink); text-transform:uppercase; letter-spacing:-.01em; font-weight:700; }

.nav .nav-links{ gap:6px !important; align-items:center !important; flex-wrap:nowrap !important; list-style:none !important; margin:0 !important; padding:0 !important; }
/* Desktop: menüü nähtav ainult laiadel ekraanidel */
@media (min-width:981px){ .nav .nav-links{ display:flex !important; } }
.nav .nav-links li{ list-style:none; margin:0; padding:0; }
.nav .nav-links a{
  display:inline-block;
  padding:10px 14px; border-radius:10px; font-weight:500 !important; font-size:15px !important;
  color:var(--ink); text-decoration:none; transition:all .2s; background:transparent;
}
.nav .nav-links a:hover{ --vb-lbg:#1A1130; --vb-lcol:#FFD60A; }
.nav .nav-links .nav-cta,
.nav .nav-cta{
  background:var(--ink); color:var(--yellow);
  padding:12px 20px; border-radius:999px;
  box-shadow:4px 4px 0 rgba(0,0,0,.15); font-weight:700 !important;
}
.nav .nav-cta:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 rgba(0,0,0,.2); }

.burger{ display:none; background:none; border:none; cursor:pointer; }

@media (max-width:980px){
  /* Menüü kinni vaikimisi */
  .nav .nav-links{ display:none !important; }

  /* Avatud: TÄISEKRAAN, keriv */
  .nav.vb-open .nav-links{
    display:flex !important;
    position:fixed !important; inset:0 !important;
    flex-direction:column !important; align-items:center !important; justify-content:flex-start !important;
    gap:2px !important; flex-wrap:nowrap !important;
    background:var(--yellow) !important;
    padding:100px 24px 48px !important; text-align:center !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch;
    z-index:9990 !important;
  }
  .nav .nav-links a{ padding:13px 10px !important; text-align:center !important; font-size:18px !important; }
  .nav .nav-links .nav-cta{ margin-top:18px !important; }

  .burger{
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
    width:50px; height:50px; background:var(--ink);
    border:3px solid var(--ink); border-radius:50%; cursor:pointer; position:relative; z-index:10000;
  }
  .burger span, .burger::before, .burger::after{
    content:""; display:block; width:22px; height:3px; background:var(--yellow); border-radius:2px;
  }

  /* Accordion: alammenüü vaikimisi kinni, avaneb noole/lingi vajutusel sealsamas all */
  .nav .nav-links li{ width:100%; }
  .nav .nav-links .sub-menu{
    display:none !important; position:static !important;
    width:100% !important; min-width:0 !important;
    background:transparent !important; border:none !important; border-radius:0 !important;
    box-shadow:none !important; padding:0 !important; margin:0 0 6px !important; z-index:auto !important;
  }
  .nav .nav-links li.vb-sub-open > .sub-menu{ display:block !important; }
  .nav .nav-links .sub-menu li{ display:block !important; text-align:center !important; }
  .nav .nav-links .sub-menu a{ font-size:15px !important; padding:9px 10px !important; opacity:.8; }
  /* Nool vanema kirje juures, pöördub avades */
  .nav .nav-links .menu-item-has-children > a::after{
    content:" \25BE" !important; display:inline-block; font-size:1.05em; margin-left:6px;
    transition:transform .2s; opacity:.85; vertical-align:1px;
  }
  .nav .nav-links li.vb-sub-open > a::after{ transform:rotate(180deg); }

  /* Mobiilis hoverit pole vaja (puutel jääks kinni) */
  .nav .nav-links a:hover{ --vb-lbg:transparent !important; --vb-lcol:#1A1130 !important; }
  .nav .nav-cta:hover{ transform:none !important; }

  /* Logo nähtav ka avatud täisekraan-menüü peal */
  .nav .logo{ position:relative !important; z-index:10000 !important; }
  .nav .logo img{ height:64px; margin:-8px 0; }
}


/* ===== Rippmenüü (alammenüüd WP menüüst) ===== */
/* Töölaua rippmenüü — AINULT laiadel ekraanidel (min-width:981px).
   Mobiilis on alammenüü voos sees (vt @media max-width:980px eespool). */
@media (min-width:981px){
  .nav, .nav .nav-inner, .nav .nav-links{ overflow:visible !important; }
  .nav .nav-links > li,
  .nav .nav-links li{ position:relative !important; }
  .nav .nav-links .sub-menu{
    position:absolute !important; top:100% !important; left:0 !important; right:auto !important;
    display:none !important; min-width:220px; margin:0 !important; padding:8px !important;
    list-style:none !important; background:var(--yellow) !important;
    border:3px solid var(--ink) !important; border-radius:10px !important;
    box-shadow:4px 4px 0 rgba(0,0,0,.15) !important; z-index:100000 !important;
    flex-direction:column !important; align-items:stretch !important; gap:2px !important;
  }
  .nav .nav-links li:hover > .sub-menu,
  .nav .nav-links li:focus-within > .sub-menu{ display:flex !important; }
  .nav .nav-links .sub-menu li{ display:block !important; width:100% !important; }
  .nav .nav-links .sub-menu a{ width:100% !important; border-radius:8px !important; white-space:nowrap !important; }
  .nav .nav-links .sub-menu a:hover{ --vb-lbg:#1A1130; --vb-lcol:#FFD60A; }
  .nav .nav-links .menu-item-has-children > a::after{ content:" \25BE"; font-size:1.4em; line-height:1; vertical-align:-2px; margin-left:2px; opacity:.75; }
}

/* Sildid lausestiili: ainult esitäht suur (nt ESILEHT -> Esileht) */
.nav .nav-links a::first-letter{ text-transform:uppercase !important; }

/* ===== Footer (sama avalehel ja alamlehtedel; teema-kindel) ===== */
.vb-footer{ background:#1A1130 !important; color:#fff; padding:80px 0 40px !important; margin:0 !important;
  font-family:'Nunito',system-ui,sans-serif !important;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.vb-footer *{ box-sizing:border-box; -webkit-font-smoothing:antialiased !important; -moz-osx-font-smoothing:grayscale !important; }
.vb-footer .wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }
.vb-footer .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; margin:0 0 48px !important; }
.vb-footer .foot-brand{ font-family:'Bowlby One','Nunito',sans-serif !important; font-weight:400 !important; font-size:24px !important; color:var(--yellow) !important; margin:0 0 12px !important; text-transform:uppercase; line-height:1.1 !important; }
.vb-footer p{ font-family:'Nunito',system-ui,sans-serif !important; color:rgba(255,255,255,.7) !important; font-size:15px !important; line-height:1.8 !important; font-weight:400 !important; margin:0 !important; }
.vb-footer li{ font-family:'Nunito',system-ui,sans-serif !important; color:rgba(255,255,255,.7) !important; font-size:15px !important; line-height:1.8 !important; font-weight:400 !important; margin:0 !important; }
.vb-footer h4{ font-family:'Bowlby One','Nunito',sans-serif !important; font-weight:400 !important; color:var(--yellow) !important; margin-bottom:14px; font-size:14px !important; text-transform:uppercase; letter-spacing:.02em; line-height:1.3 !important; }
.vb-footer ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.vb-footer a{ color:rgba(255,255,255,.7) !important; text-decoration:none !important; font-size:15px !important; font-family:'Nunito',system-ui,sans-serif !important; font-weight:400 !important; }
.vb-footer li a:hover{ color:var(--yellow) !important; }
.vb-footer .foot-contact li{ display:flex; align-items:center; gap:10px; }
.vb-footer .foot-contact a{ color:rgba(255,255,255,.7) !important; transition:color .2s; }
.vb-footer .foot-contact a:hover{ color:var(--yellow) !important; }
.vb-footer .foot-contact .ic{ width:20px !important; height:20px !important; flex-shrink:0; color:var(--yellow) !important; }
.vb-footer .foot-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:28px 0 0 0 !important; margin:0 !important; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.vb-footer .foot-bottom span{ font-size:14px !important; color:rgba(255,255,255,.5) !important; font-family:'Nunito',system-ui,sans-serif !important; font-weight:400 !important; margin:0 !important; padding:0 !important; line-height:1.6 !important; }
.vb-footer img{ max-width:100% !important; height:auto; }
@media (max-width:980px){ .vb-footer .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px){ .vb-footer .foot-grid{ grid-template-columns:1fr; } }


/* Footer sotsiaalmeedia ikoonid */
.vb-footer .foot-social{ display:flex; gap:12px; margin-top:20px; }
.vb-footer .foot-social a{ display:inline-flex !important; align-items:center; justify-content:center; width:40px !important; height:40px !important; border-radius:50% !important; background:rgba(255,255,255,.1) !important; color:#fff !important; transition:all .2s !important; }
.vb-footer .foot-social a:hover{ background:var(--yellow) !important; color:#1A1130 !important; transform:translateY(-2px); }
.vb-footer .foot-social svg{ width:20px !important; height:20px !important; display:block; }
