/* ============================================================
   EDEN GLOBAL STYLESHEET
   Loaded on every page: base, global header (navbar) and footer.
   Page-specific section CSS lives in assets/pages/page-<ID>.css
   ============================================================ */

:root{
  --eden-green:#AFB288;
  --riffle:#404427;
  --pear:#AFB288;
  --snow:#F4F3F2;
  --ink:#3C3C3B;
  --green:#404427;
  --light:#F4F3F2;
  --text:#3C3C3B;
}

html,body{
  margin:0;
  padding:0;
  overflow-x:hidden;
  font-family:'Noto Sans',sans-serif;
}

body.nav-open{overflow:hidden}

/* full-width content area on pages using the global header */
body.ehf-header .ast-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.ehf-header .site-content,
body.ehf-header #content{padding:0 !important;margin:0 !important}

/* ============ HEADER / NAVBAR ============ */
.e-con.eden-header{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  max-width:none;
  z-index:999;
  padding:clamp(12px, 2vw, 20px) clamp(16px, 5vw, 60px);
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.65) 45%,
    rgba(0,0,0,.25) 80%,
    rgba(0,0,0,0) 100%
  );
}
.e-con.eden-header > .elementor-widget{width:auto;max-width:none}

.eden-logo{display:flex;align-items:center}
.eden-logo img{height:clamp(28px, 4vw, 42px);max-width:100%;object-fit:contain;width:auto}

/* header CTA button */
.eden-btn-w{width:auto}
.eden-btn-w .elementor-button{
  border:1.5px solid #fff !important;
  padding:clamp(8px, 1.5vw, 10px) clamp(14px, 2vw, 20px) !important;
  font-family:'Fahkwang',serif !important;
  letter-spacing:2px !important;
  font-size:clamp(10px, 1.2vw, 12px) !important;
  font-weight:400 !important;
  line-height:1.65 !important;
  color:#fff !important;
  text-decoration:none;
  transition:.35s cubic-bezier(.2,.8,.2,1);
  position:relative;
  overflow:hidden;
  background:transparent !important;
  background-color:transparent !important;
  border-radius:0 !important;
  box-shadow:none;
  white-space:nowrap;
}
.eden-btn-w .elementor-button::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform:translateX(-120%);
  transition:.6s ease;
}
.eden-btn-w .elementor-button:hover::after{transform:translateX(120%)}
.eden-btn-w .elementor-button:hover{
  background:var(--eden-green) !important;
  background-color:var(--eden-green) !important;
  border-color:var(--eden-green) !important;
  box-shadow:0 10px 30px rgba(175,178,136,.55);
  transform:translateY(-2px);
  color:#fff !important;
}

/* ----- navigation menu (HFE widget), desktop ----- */
.eden-nav-w{width:auto}
.eden-nav-w .hfe-nav-menu__toggle{
  display:none;
  color:#fff;
  cursor:pointer;
  border:none;
  background:transparent;
}
.eden-nav-w ul.hfe-nav-menu{
  display:flex;
  flex-wrap:nowrap;
  gap:clamp(14px, 2vw, 28px);
  list-style:none;
  margin:0;
  padding:0;
  background:transparent;
}
.eden-nav-w ul.hfe-nav-menu > li.menu-item{
  position:relative;
  margin:0 !important;
  white-space:nowrap;
}
.eden-nav-w .hfe-nav-menu a.hfe-menu-item{
  padding:6px 0 !important;
  font-family:'Fahkwang',serif !important;
  font-size:clamp(11px, 1.2vw, 13px) !important;
  letter-spacing:2px !important;
  text-transform:uppercase;
  color:#fff !important;
  background:transparent !important;
  background-color:transparent !important;
  text-decoration:none;
  height:auto !important;
  line-height:normal !important;
  transition:.25s ease;
}
/* small submenu arrow like the original "▾" */
.eden-nav-w .hfe-menu-toggle,
.eden-nav-w .sub-arrow,
.eden-nav-w .sub-arrow i,
.eden-nav-w .hfe-menu-toggle i{
  color:#fff;
  font-size:10px !important;
  line-height:1 !important;
  width:auto !important;
  height:auto !important;
  padding:0 0 0 6px !important;
  margin:0 !important;
  background:transparent;
}
.eden-nav-w .sub-arrow svg{width:10px !important;height:10px !important;fill:#fff !important}

@media (min-width:1025px){
  .eden-nav-w ul.hfe-nav-menu li ul.sub-menu{
    position:absolute;
    top:100%;
    left:0;
    padding:16px 20px !important;
    min-width:220px;
    border-radius:12px !important;
    z-index:9999;
    list-style:none;
    margin:0;
    background:rgba(20, 20, 20, 0.55) !important;
    background-color:rgba(20, 20, 20, 0.55) !important;
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    border:1px solid rgba(255,255,255,0.18) !important;
    box-shadow:0 20px 40px rgba(0,0,0,.45) !important;
  }
}
/* nothing inside the panel carries its own background */
.eden-nav-w .sub-menu li,
.eden-nav-w .sub-menu li.menu-item,
.eden-nav-w .sub-menu .hfe-has-submenu-container{
  background:transparent !important;
  background-color:transparent !important;
  margin:0 !important;
  border:none !important;
}
.eden-nav-w ul.hfe-nav-menu .sub-menu a.hfe-sub-menu-item{
  display:inline-block;
  color:#fff !important;
  padding:8px 0 !important;
  font-family:'Fahkwang',serif !important;
  font-size:14px !important;
  letter-spacing:2px !important;
  text-transform:uppercase;
  transition:.25s ease;
  position:relative;
  background:transparent !important;
  background-color:transparent !important;
}
.eden-nav-w .sub-menu a.hfe-sub-menu-item::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0%;
  height:2px;
  background:var(--eden-green);
  transition:width .3s ease;
}
.eden-nav-w .sub-menu a.hfe-sub-menu-item:hover{
  transform:translateY(-3px);
  color:var(--eden-green) !important;
}
.eden-nav-w .sub-menu a.hfe-sub-menu-item:hover::after{width:100%}

/* ----- navigation menu, mobile / tablet (slide-in glass panel) ----- */
@media (max-width:1024px){
  .eden-btn-w{display:none}

  .eden-nav-w .hfe-nav-menu__toggle{
    display:flex;
    align-items:center;
    margin-left:auto;
    position:relative;
    z-index:1002;
  }
  .eden-nav-w .hfe-nav-menu-icon,
  .eden-nav-w .hfe-nav-menu-icon i,
  .eden-nav-w .hfe-nav-menu-icon svg{
    color:#fff;
    fill:#fff;
    font-size:22px !important;
    line-height:1;
    width:22px;
    height:22px;
  }

  .eden-nav-w nav.hfe-dropdown{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    background:rgba(10,10,10,.65) !important;
    background-color:rgba(10,10,10,.65) !important;
    backdrop-filter:blur(26px);
    -webkit-backdrop-filter:blur(26px);
    transform:translateX(100%);
    transition:.5s cubic-bezier(.2,.8,.2,1);
    display:block !important;
    visibility:hidden;
    z-index:1001;
    overflow-y:auto;
  }
  .eden-nav-w nav.hfe-dropdown.menu-is-active{
    transform:translateX(0);
    visibility:visible;
  }
  .eden-nav-w nav.hfe-dropdown ul.hfe-nav-menu{
    display:flex;
    flex-direction:column;
    padding:90px 30px 40px;
    gap:16px;
    margin:0;
    width:100%;
    background:transparent !important;
  }
  .eden-nav-w nav.hfe-dropdown a.hfe-menu-item,
  .eden-nav-w nav.hfe-dropdown ul.hfe-nav-menu > li > a{
    color:#fff !important;
    font-size:16px !important;
    letter-spacing:2px;
    background:transparent !important;
    background-color:transparent !important;
  }
  /* submenu collapsed by default; expanded only when its <li> is
     .eden-sub-open (our own JS toggle). Override HFE's collapse which
     uses visibility:hidden / height:0 / opacity:0. */
  .eden-nav-w nav.hfe-dropdown .sub-menu{
    position:static !important;
    display:block !important;
    padding:0 !important;
    margin:6px 0 4px !important;
    width:100%;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden !important;
    height:auto !important;
    background:rgba(255,255,255,.08) !important;
    background-color:rgba(255,255,255,.08) !important;
    border-radius:8px !important;
    backdrop-filter:blur(14px);
    border:none !important;
    box-shadow:none !important;
    transition:max-height .4s ease, opacity .3s ease, padding .3s ease;
  }
  /* expanded when OUR class is on the <li> — or when HFE's own script
     managed to toggle its state instead (belt & braces: either state
     shows the items, so the submenu can never reserve space while its
     links stay invisible) */
  .eden-nav-w nav.hfe-dropdown li.eden-sub-open > .sub-menu,
  .eden-nav-w nav.hfe-dropdown li.eden-sub-open > .hfe-has-submenu-container + .sub-menu,
  .eden-nav-w nav.hfe-dropdown .sub-menu.sub-menu-open,
  .eden-nav-w nav.hfe-dropdown .sub-menu.sub-menu-active,
  .eden-nav-w nav.hfe-dropdown li.sub-menu-active > .sub-menu{
    max-height:640px;
    opacity:1;
    visibility:visible !important;
    padding:6px 0 6px 15px !important;
  }
  /* rotate the arrow when open */
  .eden-nav-w nav.hfe-dropdown li.eden-sub-open > .hfe-has-submenu-container .sub-arrow,
  .eden-nav-w nav.hfe-dropdown li.eden-sub-open > a .sub-arrow{
    transform:rotate(180deg);
  }
  .eden-nav-w nav.hfe-dropdown .sub-menu li{
    visibility:inherit !important;
  }
  .eden-nav-w nav.hfe-dropdown .sub-menu a.hfe-sub-menu-item,
  .eden-nav-w nav.hfe-dropdown .sub-menu li a{
    color:#fff !important;
    padding:8px 0 !important;
    font-size:14px !important;
    letter-spacing:1.5px;
    display:inline-block;
    visibility:inherit !important;
    background:transparent !important;
    background-color:transparent !important;
  }
}

/* ============ FOOTER (original design CSS) ============ */
.eden-footer{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(255,255,255,.65), transparent 60%),
    linear-gradient(180deg, #f6f8ee 0%, #eef2d6 100%);
  padding:120px 0 60px;
  font-family:'Noto Sans',sans-serif;
  overflow:hidden;
}
.eden-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.25), transparent 40%, rgba(255,255,255,.15));
  pointer-events:none;
}
.eden-footer::after{
  content:"EDEN";
  position:absolute;
  inset:auto 0 -40px 0;
  font-family:'Fahkwang',serif;
  font-size:28vw;
  color:#000;
  opacity:.035;
  text-align:center;
  pointer-events:none;
  user-select:none;
}
.eden-footer-wrap{
  max-width:1400px;
  margin:auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1.2fr;
  gap:60px;
  align-items:start;
  position:relative;
  z-index:2;
}
.footer-left h4{
  font-family:'Fahkwang',serif;
  font-size:18px;
  margin-bottom:12px;
  color:var(--text);
}
.footer-left p{margin:6px 0;color:#555;font-size:14px;line-height:1.6}
.footer-newsletter{margin-top:20px}
.footer-newsletter label{font-size:12px;color:#777;display:block;margin-bottom:6px}
.footer-newsletter input{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.15);
  outline:none;
  margin-bottom:10px;
  font-size:14px;
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(6px);
  transition:.25s ease;
}
.footer-newsletter input:focus{
  border-color:var(--green);
  box-shadow:0 0 0 3px rgba(64,68,39,.12);
}
.footer-newsletter button{
  background:var(--green);
  border:none;
  padding:12px 22px;
  color:#fff;
  font-size:13px;
  cursor:pointer;
  transition:.3s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 10px 20px rgba(64,68,39,.25);
}
.footer-newsletter button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(64,68,39,.35);
}
.footer-center{text-align:center}
.footer-logo{width:124px;margin:0 auto 12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.2))}
.footer-center h3{
  font-family:'Fahkwang',serif;
  letter-spacing:6px;
  font-size:34px;
  margin-bottom:6px;
  color:var(--green);
}
.footer-center span{
  display:block;
  font-size:12px;
  letter-spacing:4px;
  color:#999;
  margin-bottom:16px;
}
.footer-center p{font-size:14px;color:#666;line-height:1.7}
.footer-right{text-align:right}
.footer-hours p{font-size:14px;color:#555;margin:4px 0}
@media(max-width:768px){
  .eden-footer-wrap{grid-template-columns:1fr;gap:40px;text-align:center}
  .footer-right{text-align:center}
}

/* ---- footer: Elementor adaptations ---- */
.e-con.eden-footer{max-width:none;width:100% !important}
.footer-logo img{width:100%;height:auto;max-width:124px}

/* Beat Elementor flex vars on footer template (post 1087) */
.elementor-1087 .e-con.eden-footer-wrap,
.e-con.eden-footer-wrap{
  --display:grid !important;
  display:grid !important;
  grid-template-columns:1.2fr 1fr 1.2fr !important;
  gap:60px !important;
  align-items:start !important;
  max-width:1400px;
  margin:0 auto;
  padding:0 40px;
  width:100%;
}

.elementor-1087 .e-con.footer-left,
.elementor-1087 .e-con.footer-center,
.e-con.footer-left,
.e-con.footer-center{
  --display:block !important;
  display:block !important;
  width:100%;
}

.elementor-1087 .e-con.footer-right,
.e-con.footer-right{
  --display:flex !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  text-align:right !important;
  width:100%;
}

.footer-hours,
.footer-hours p{
  width:100%;
  text-align:right;
  margin:4px 0;
}

.elementor-1087 .footer-socials-w.elementor-widget-social-icons,
.footer-socials-w.elementor-widget-social-icons{
  width:100% !important;
  text-align:right !important;
}

.footer-socials-w .elementor-social-icons-wrapper{
  margin-top:16px;
  display:flex !important;
  gap:14px;
  justify-content:flex-end !important;
  width:100%;
}

.footer-left h4.elementor-heading-title{
  font-family:'Fahkwang',serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  color:var(--text) !important;
  margin-bottom:12px !important;
}
.footer-center h3.elementor-heading-title{
  font-family:'Fahkwang',serif !important;
  font-size:34px !important;
  font-weight:600 !important;
  letter-spacing:6px !important;
  color:var(--green) !important;
  margin-bottom:6px !important;
}

.footer-socials-w .elementor-grid-item{margin:0}
.footer-socials-w a.elementor-social-icon{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(64,68,39,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green);
  text-decoration:none;
  transition:.3s cubic-bezier(.2,.8,.2,1);
  background-color:rgba(255,255,255,.5) !important;
  backdrop-filter:blur(6px);
  font-size:16px;
  padding:0;
}
.footer-socials-w a.elementor-social-icon i{color:#404427}
.footer-socials-w a.elementor-social-icon svg{fill:#404427;width:1em;height:1em}
.footer-socials-w a.elementor-social-icon:hover{
  background-color:var(--green) !important;
  transform:translateY(-4px) scale(1.05);
  box-shadow:0 14px 30px rgba(64,68,39,.35);
}
.footer-socials-w a.elementor-social-icon:hover i{color:#fff}
.footer-socials-w a.elementor-social-icon:hover svg{fill:#fff}
@media (max-width:768px){
  .elementor-1087 .e-con.eden-footer-wrap,
  .e-con.eden-footer-wrap{
    grid-template-columns:1fr !important;
    gap:40px !important;
    text-align:center !important;
  }
  .elementor-1087 .e-con.footer-right,
  .e-con.footer-right{
    align-items:center !important;
    text-align:center !important;
  }
  .footer-hours,
  .footer-hours p{text-align:center}
  .footer-socials-w .elementor-social-icons-wrapper{justify-content:center !important}
}

/* Header visibility on live frontend */
.e-con.eden-header{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
}
.eden-nav-w,
.eden-nav-w .hfe-nav-menu{
  visibility:visible !important;
}
