
/* ── NAV ── */
nav{
  position:fixed; top:0; right:0; left:0; z-index:200;
  background:rgba(255,255,255,0.97); border-bottom:1px solid #e5e0d8;
  height:72px; display:flex; align-items:center; padding:0 24px;
  backdrop-filter:blur(6px); direction:ltr;
}
.nav-inner{
  width:100%; max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  position:relative; height:100%;
}
.nav-logo{ display:flex; align-items:center; text-decoration:none; height:50px; }
.nav-logo svg{ height:54px; width:auto; }
.nav-lang{ display:flex; gap:2px; position:absolute; right:52px; }
.nav-lang button{
  background:none; border:none; cursor:pointer; font-size:13px; font-weight:500;
  letter-spacing:0.06em; padding:5px 12px; color:var(--text-muted);
  border-radius:4px; transition:all 0.15s; font-family:var(--font-body);
}
.nav-lang button.active{ background:var(--teal-btn); color:white; }

/* Hamburger — shown on both desktop and mobile */
.hamburger{
  display:flex; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer;
  padding:6px; position:absolute; right:0; z-index:300;
}
.hamburger span{
  display:block; width:24px; height:2px;
  background:var(--teal); border-radius:2px; transition:all 0.3s;
}
.hamburger.open span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }

/* Mobile menu — sits below the nav bar, never overlaps it */
.mobile-menu{
  display:none; visibility:hidden; position:fixed; top:72px; right:0; left:0;
  background:white; border-bottom:1px solid var(--border);
  flex-direction:column; z-index:199;
  box-shadow:0 8px 24px rgba(0,0,0,0.1);
}
.mobile-menu.open{ display:flex; visibility:visible; }
.mobile-lang-row{
  display:none; padding:14px 24px;
  border-bottom:1px solid var(--border);
  background:var(--cream-bg); gap:8px;
}
.mob-lang-btn{
  flex:1; padding:10px; border:1px solid var(--border);
  background:white; font-family:var(--font-body);
  font-size:15px; font-weight:500; cursor:pointer;
  color:var(--text-muted); transition:all 0.15s; border-radius:6px;
}
.mob-lang-btn.active{ background:var(--teal-btn); color:white; border-color:var(--teal-btn); }
.mobile-menu a{
  padding:16px 24px; font-size:16px; font-weight:500;
  color:var(--text-h); text-decoration:none;
  border-bottom:1px solid var(--border); font-family:var(--font-body);
}
[lang="he"] .mobile-menu a{ text-align:right; }
[lang="en"] .mobile-menu a{ text-align:left; }
.mobile-menu a:last-child{ border-bottom:none; }
.mobile-menu a:hover{ background:var(--cream-bg); }

/* ── FOOTER ── */
footer{
  background:var(--cream-bg); border-top:1px solid var(--border);
  padding:20px 48px; text-align:center;
}
.footer-inner{ max-width:960px; margin:0 auto; }
.footer-main-row{
  display:flex; align-items:flex-start; justify-content:center;
  gap:48px; padding:12px 0;
}
.footer-col{ display:flex; flex-direction:column; align-items:center; gap:0; }
.footer-col-label{
  font-size:13px; color:var(--text-muted); font-weight:300;
  margin-bottom:10px; white-space:nowrap; height:20px;
  display:flex; align-items:center;
}
.footer-col-content{ display:flex; align-items:center; min-height:60px; }
.footer-logos{ display:flex; align-items:center; gap:36px; flex-wrap:nowrap; }
.footer-logo-item{ display:flex; align-items:center; }
.footer-logo-item svg{ height:48px; width:auto; }
.footer-logo-item.logo-jafi svg{ height:28px; }
.footer-logo-item.logo-reform svg{ height:100px; }

/* EUPJ logo — sized to match others, dark bg removed */
.footer-logo-item.logo-eupj img{
  height:52px; width:auto;
  mix-blend-mode:multiply;   /* removes dark/white background */
  background:transparent;
}

.footer-divider-v{
  width:1px; background:var(--border); flex-shrink:0;
  margin-top:34px; align-self:stretch;
}
.social-icons{ display:flex; gap:10px; align-items:center; }
.social-icon{
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; transition:opacity 0.2s;
}
.social-icon:hover{ opacity:0.85; }
.social-icon svg{ width:18px; height:18px; }
.social-fb{ background:#1877f2; }
.social-ig{ background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%); }
.social-li{ background:#0a66c2; }
.footer-copy{ font-size:13px; color:#aaa; margin-top:12px; border-top:1px solid var(--border); padding-top:12px; font-weight:300; }

/* Disabled payment-method button (e.g. Revolut while no URL is configured).
   Selectors are doubled up for specificity over the per-event hover rules. */
.pay-btn.pay-btn-disabled,
.pay-btn[aria-disabled="true"]{
  opacity:0.4;
  cursor:not-allowed;
  filter:grayscale(0.4);
}
.pay-btn.pay-btn-disabled:hover,
.pay-btn[aria-disabled="true"]:hover{
  transform:none;
}

@media (max-width:768px){
  .nav-lang{ display:none; }
  .mobile-lang-row{ display:flex; }

  /* Stack mobile nav: logo centered on top, hamburger right-aligned below */
  nav{ height:auto; padding:10px 0; }
  .nav-inner{ flex-direction:column; align-items:stretch; gap:6px; padding:0 24px; }
  .nav-logo{ align-self:center; margin:0; }
  .hamburger{ position:static; align-self:flex-end; }
  .mobile-menu{ top:104px; }
  /* Push page content down to clear the now-taller mobile nav */
  .hero, .event-hero{ margin-top:104px; }
  .contact{ scroll-margin-top:104px; }

  .footer-main-row{ flex-direction:column; align-items:center; gap:24px; }
  .footer-divider-v{ display:none; }
  .footer-logos{ gap:20px; flex-wrap:wrap; justify-content:center; }
  .footer-col-content{ height:auto; }
  footer{ padding:20px 24px; }
}
