/* ============================================================
   ENSY — Design system (Flatsome child)
   Concept: "Aer calculat, liniste nordica"
   Type: Schibsted Grotesk (display, norvegian) · IBM Plex Sans (body) · IBM Plex Mono (date)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ensy-teal:#0FA383;          /* semnatura */
  --ensy-teal-deep:#0B7A62;
  --ensy-ink:#0E2A33;           /* text / footer (teal-navy) */
  --ensy-ink-soft:#43585F;
  --ensy-air:#CFE9E4;           /* accent aer pal */
  --ensy-sand:#EFEAE0;          /* panou cald */
  --ensy-mist:#F4F7F6;          /* off-white rece */
  --ensy-line:#E2E8E7;
  --ensy-white:#ffffff;
  --ensy-warm:#D24B3E;          /* accent cald (benzile schimbatorului) - folosit cu zgarcenie */
  --ensy-display:'Schibsted Grotesk',-apple-system,Segoe UI,sans-serif;
  --ensy-body:'IBM Plex Sans',-apple-system,Segoe UI,sans-serif;
  --ensy-mono:'IBM Plex Mono',ui-monospace,monospace;
}

/* ---- Global type overrides (Flatsome) ---- */
body, .ensy-home{ font-family:var(--ensy-body); color:var(--ensy-ink); }
.ensy-home{ background:#fff; }
.ensy-home h1,.ensy-home h2,.ensy-home h3,.ensy-home .display{
  font-family:var(--ensy-display); color:var(--ensy-ink); letter-spacing:-.02em; line-height:1.05;
}
.ensy-home p{ color:var(--ensy-ink-soft); }

/* utilitar container */
.ensy-wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }

/* ============ HERO ============ */
.ensy-hero{ background:linear-gradient(180deg,var(--ensy-mist) 0%,#fff 100%); padding:72px 0 40px; overflow:hidden; position:relative; }
.ensy-hero__grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:stretch; }
.ensy-eyebrow{ font-family:var(--ensy-mono); font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ensy-teal-deep); display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; }
.ensy-eyebrow::before{ content:""; width:34px; height:2px; background:var(--ensy-teal); display:inline-block; }
.ensy-hero h1{ font-size:clamp(40px,5vw,68px); font-weight:800; margin:0 0 20px; }
.ensy-hero h1 .accent{ color:var(--ensy-teal); }
.ensy-hero__lead{ font-size:19px; line-height:1.6; max-width:30em; margin:0 0 30px; }
.ensy-hero__media{ position:relative; min-height:560px; }
.ensy-hero__media img{ width:100%; height:100%; object-fit:cover; object-position:62% 50%; display:block; border-radius:14px; box-shadow:0 24px 56px rgba(14,42,51,.16); }
.ensy-hero__copy{ display:flex; flex-direction:column; justify-content:center; }
.ensy-hero__badge{ position:absolute; top:18px; left:18px; background:#fff; border:1px solid var(--ensy-line); border-radius:8px; padding:10px 14px; font-family:var(--ensy-mono); font-size:12px; color:var(--ensy-ink); box-shadow:0 8px 24px rgba(14,42,51,.10); }
.ensy-hero__badge b{ color:var(--ensy-teal-deep); }

/* ============ BUTOANE ============ */
.ensy-btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--ensy-body); font-weight:600; font-size:15px;
  padding:15px 26px; border-radius:4px; text-decoration:none; transition:.18s ease; border:1px solid transparent; cursor:pointer; }
.ensy-btn--primary{ background:var(--ensy-teal); color:#fff; }
.ensy-btn--primary:hover{ background:var(--ensy-teal-deep); transform:translateY(-1px); color:#fff; }
.ensy-btn--ghost{ background:transparent; color:var(--ensy-ink); border-color:var(--ensy-line); }
.ensy-btn--ghost:hover{ border-color:var(--ensy-teal); color:var(--ensy-teal-deep); }
.ensy-btn__arrow{ transition:transform .18s ease; }
.ensy-btn:hover .ensy-btn__arrow{ transform:translateX(3px); }
/* CTA pereche: aceeasi latime (a celui mai lat buton), aceeasi inaltime, text centrat; stilul primar/ghost ramane */
.ensy-cta-row{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:14px; width:max-content; max-width:100%; }
.ensy-cta-row > .ensy-btn{ justify-content:center; text-align:center; min-height:56px; box-sizing:border-box; }
@media (max-width:560px){ .ensy-cta-row{ grid-auto-flow:row; width:100%; } }

/* ============ TRUST STRIP (date) ============ */
.ensy-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--ensy-line); border:1px solid var(--ensy-line); border-radius:8px; overflow:hidden; margin-top:54px; }
.ensy-stat{ background:#fff; padding:26px 22px; }
.ensy-stat__num{ font-family:var(--ensy-display); font-weight:800; font-size:27px; color:var(--ensy-ink); white-space:nowrap; }
.ensy-stat__num small{ color:var(--ensy-teal); font-size:.6em; }
.ensy-stat__label{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ensy-ink-soft); margin-top:6px; }

/* ============ SECTIUNI ============ */
.ensy-section{ padding:84px 0; background:#fff; }
.ensy-section--mist{ background:var(--ensy-mist); }
.ensy-section__head{ max-width:46em; margin:0 0 44px; }
.ensy-section__head h2{ font-size:clamp(28px,3.4vw,44px); font-weight:700; margin:0 0 14px; }
.ensy-section__head p{ font-size:18px; line-height:1.6; }
.ensy-kicker{ font-family:var(--ensy-mono); font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ensy-teal-deep); margin-bottom:16px; display:block; }

/* ---- carduri game de produs ---- */
.ensy-lines{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ensy-linecard{ position:relative; border:1px solid var(--ensy-line); border-radius:12px; padding:34px; background:#fff; transition:.2s ease; display:flex; flex-direction:column; min-height:300px; text-decoration:none; }
.ensy-linecard:hover{ border-color:var(--ensy-teal); box-shadow:0 18px 40px rgba(14,42,51,.10); transform:translateY(-3px); }
.ensy-linecard__tag{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ensy-teal-deep); }
.ensy-linecard h3{ font-size:30px; font-weight:700; margin:10px 0 10px; }
.ensy-linecard p{ font-size:15px; line-height:1.6; margin:0 0 18px; }
.ensy-linecard__img{ margin-top:auto; text-align:right; }
.ensy-linecard__img img{ max-height:150px; width:auto; }
.ensy-linecard__more{ font-weight:600; color:var(--ensy-teal-deep); display:inline-flex; gap:8px; align-items:center; }

/* ---- value props ---- */
.ensy-values{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.ensy-value__n{ font-family:var(--ensy-mono); font-size:13px; color:var(--ensy-teal); letter-spacing:.1em; }
.ensy-value h3{ font-size:21px; font-weight:600; margin:12px 0 8px; }
.ensy-value p{ font-size:15px; line-height:1.6; }
.ensy-value__rule{ width:40px; height:3px; background:var(--ensy-teal); margin:0 0 18px; }

/* ---- distributor strip ---- */
.ensy-dist{ background:var(--ensy-ink); color:#fff; border-radius:16px; padding:54px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px; align-items:center; }
.ensy-dist h2{ color:#fff; font-size:34px; font-weight:700; margin:0 0 12px; }
.ensy-dist p{ color:#B9CBCF; font-size:17px; line-height:1.6; margin:0; }
.ensy-dist__cta{ text-align:right; }

/* ============ LIFESTYLE BAND ============ */
.ensy-life{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:stretch; background:var(--ensy-ink); }
.ensy-life__media{ min-height:440px; }
.ensy-life__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ensy-life__panel{ padding:64px clamp(28px,5vw,80px); display:flex; flex-direction:column; justify-content:center; color:#fff; }
.ensy-life__panel .ensy-kicker{ color:var(--ensy-air); }
.ensy-life__panel h2{ font-family:var(--ensy-display); color:#fff; font-size:clamp(26px,3vw,40px); font-weight:700; margin:0 0 16px; line-height:1.1; }
.ensy-life__panel .ensy-btn{ margin-top:28px; align-self:flex-start; }
.ensy-life__panel p{ color:#C7D6DA; font-size:17px; line-height:1.65; max-width:34em; }
@media (max-width:880px){ .ensy-life{ grid-template-columns:minmax(0,1fr); } .ensy-life__media{ min-height:280px; } }

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .ensy-hero__grid{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .ensy-hero__media{ min-height:0; }
  .ensy-hero__media img{ height:auto; aspect-ratio:16/10; }
  .ensy-lines,.ensy-values{ grid-template-columns:minmax(0,1fr); }
  .ensy-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ensy-dist{ grid-template-columns:minmax(0,1fr); padding:36px; }
  .ensy-dist__cta{ text-align:left; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none!important; animation:none!important; } }
:focus-visible{ outline:3px solid var(--ensy-teal); outline-offset:2px; }

/* ============ HEADER ============ */
body.ensy-body{ display:flex; flex-direction:column; min-height:100vh; }
.ensy-body > .ensy-footer{ margin-top:auto; }
.ensy-header{ position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--ensy-line); }
.ensy-header__inner{ display:flex; align-items:center; gap:28px; height:84px; }
.ensy-header__logo img{ height:50px; width:auto; display:block; }
.ensy-nav{ flex:1; }
.ensy-nav__list{ display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.ensy-nav__item{ margin:0; } /* Flatsome: li{margin-bottom:.6em} ridica linkurile cu ~5px fata de centrul header-ului (logo, limba, CTA) */
.ensy-nav__item > a{ font-family:var(--ensy-body); font-weight:500; font-size:15px; color:var(--ensy-ink); text-decoration:none; padding:10px 13px; border-radius:6px; display:inline-block; transition:.15s; white-space:nowrap; }
.ensy-nav__item > a:hover{ color:var(--ensy-teal-deep); background:var(--ensy-mist); }
.ensy-header__tools{ display:flex; align-items:center; gap:18px; }
.ensy-cta-mini{ display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; height:42px; font-family:var(--ensy-body); font-weight:600; font-size:14px; line-height:1; color:#fff; background:var(--ensy-teal); padding:0 18px; border-radius:6px; text-decoration:none; white-space:nowrap; transition:.15s; }
.ensy-cta-mini:hover{ background:var(--ensy-teal-deep); color:#fff; }
/* limba (Polylang) - dropdown */
.ensy-lang{ position:relative; outline:none; display:flex; align-items:center; }
/* Flatsome pune button{margin:0 1em 1em; min-height:2.5em; line-height:2.4em}: butonul iesea mai inalt (~47px) si mai sus decat CTA-ul. Aceeasi inaltime (42px, ca burgerul) pentru limba si CTA. */
.ensy-lang__btn{ display:inline-flex; align-items:center; gap:8px; box-sizing:border-box; height:42px; min-height:0; margin:0; background:#fff; border:1px solid var(--ensy-line); border-radius:6px; padding:0 11px; font-family:var(--ensy-body); font-size:13px; font-weight:600; line-height:1; color:var(--ensy-ink); cursor:pointer; transition:.15s; }
.ensy-lang__btn:hover{ border-color:var(--ensy-teal); }
.ensy-lang__btn img{ width:20px!important; height:auto!important; display:block; border-radius:2px; }
.ensy-lang__btn svg{ color:var(--ensy-ink-soft); transition:transform .18s; }
.ensy-lang:hover .ensy-lang__btn svg, .ensy-lang:focus-within .ensy-lang__btn svg{ transform:rotate(180deg); }
.ensy-lang__menu{ position:absolute; top:calc(100% + 8px); right:0; min-width:170px; background:#fff; border:1px solid var(--ensy-line); border-radius:10px; box-shadow:0 18px 44px rgba(14,42,51,.16); padding:6px; margin:0; list-style:none; opacity:0; visibility:hidden; transform:translateY(6px); transition:.16s ease; z-index:120; }
.ensy-lang__code{ display:none; }
.ensy-lang:hover .ensy-lang__menu, .ensy-lang:focus-within .ensy-lang__menu, .ensy-lang.is-open .ensy-lang__menu{ opacity:1; visibility:visible; transform:translateY(0); }
.ensy-lang.is-open .ensy-lang__btn svg{ transform:rotate(180deg); }
.ensy-lang__menu li{ margin:0; padding:0; list-style:none; }
.ensy-lang__menu a{ display:flex!important; align-items:center; gap:10px; padding:9px 12px; border-radius:6px; text-decoration:none; color:var(--ensy-ink); font-size:14px; transition:.12s; }
.ensy-lang__menu a:hover{ background:var(--ensy-mist); color:var(--ensy-teal-deep); }
.ensy-lang__menu img{ width:22px!important; height:auto!important; display:block; border-radius:2px; }
/* mega-menu */
.has-mega{ position:relative; }
.ensy-mega{ position:absolute; top:calc(100% + 8px); left:0; width:760px; background:#fff; border:1px solid var(--ensy-line); border-radius:12px; box-shadow:0 24px 60px rgba(14,42,51,.16); padding:26px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:26px; opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s ease; }
.ensy-mega__col--docs{ border-left:1px solid var(--ensy-line); padding-left:26px; }
.ensy-mega__col--docs a b{ font-size:16px; }
.has-mega:hover .ensy-mega, .has-mega:focus-within .ensy-mega{ opacity:1; visibility:visible; transform:translateY(0); }
.ensy-mega__h{ font-family:var(--ensy-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ensy-ink-soft); display:block; margin-bottom:12px; }
.ensy-mega__col a{ display:block; text-decoration:none; padding:8px 0; }
.ensy-mega__col a b{ display:block; font-family:var(--ensy-display); font-weight:600; font-size:17px; color:var(--ensy-ink); }
.ensy-mega__col a small{ color:var(--ensy-ink-soft); font-size:13px; }
.ensy-mega__col a:hover b{ color:var(--ensy-teal-deep); }
.ensy-mega__feat{ background:var(--ensy-mist); border-radius:8px; padding:18px; }
.ensy-mega__feat p{ font-size:13px; line-height:1.5; margin:0 0 12px; }
.ensy-mega__link{ font-weight:600; color:var(--ensy-teal-deep); text-decoration:none; font-size:14px; }
/* dropdown simplu de navigatie */
/* sageata submeniului: SVG centrat vertical pe text (glifa ▾ de 9px statea nealiniata si abia se vedea) */
.ensy-nav__item.has-dropdown > a{ display:inline-flex; align-items:center; gap:7px; }
.ensy-caret{ display:block; flex:none; width:13px; height:8px; color:var(--ensy-ink); transition:transform .18s; }
.has-dropdown{ position:relative; }
.ensy-dropdown{ position:absolute; top:calc(100% + 6px); left:0; min-width:230px; background:#fff; border:1px solid var(--ensy-line); border-radius:10px; box-shadow:0 18px 44px rgba(14,42,51,.14); padding:8px; margin:0; list-style:none; opacity:0; visibility:hidden; transform:translateY(6px); transition:.16s ease; z-index:115; }
.has-dropdown:hover .ensy-dropdown, .has-dropdown:focus-within .ensy-dropdown, .has-dropdown.is-open .ensy-dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.has-dropdown.is-open .ensy-caret{ transform:rotate(180deg); }
.ensy-dropdown li{ margin:0; }
.ensy-dropdown a{ display:block; padding:10px 14px; border-radius:6px; font-size:14.5px; font-weight:500; color:var(--ensy-ink); text-decoration:none; transition:.12s; }
.ensy-dropdown a:hover{ background:var(--ensy-mist); color:var(--ensy-teal-deep); }

/* ===== HAMBURGER + MENIU MOBIL ===== */
.ensy-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; box-sizing:border-box; margin:0; width:44px; height:42px; min-height:0; background:#fff; border:1px solid var(--ensy-line); border-radius:9px; cursor:pointer; padding:0 11px; }
.ensy-burger span{ height:2px; width:100%; background:var(--ensy-ink); border-radius:2px; transition:.22s ease; }
.ensy-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.ensy-burger.is-open span:nth-child(2){ opacity:0; }
.ensy-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.ensy-mobile{ position:fixed; inset:0; background:#fff; z-index:200; display:flex; flex-direction:column; }
.ensy-mobile__bar{ display:flex; align-items:center; justify-content:space-between; height:84px; flex:0 0 auto; padding:0 22px; border-bottom:1px solid var(--ensy-line); }
.ensy-mobile__logo img{ height:46px; width:auto; display:block; }
.ensy-mobile__close{ width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--ensy-line); border-radius:9px; color:var(--ensy-ink); cursor:pointer; flex:0 0 auto; }
/* Flatsome pune button{padding:0 1.2em} care strivea X-ul la ~5px */
.ensy-mobile__close{ padding:0!important; margin:0!important; min-height:0!important; line-height:1!important; }
.ensy-mobile__close svg{ flex:0 0 22px; width:22px; height:22px; }
.ensy-mobile__nav{ flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:14px 22px 50px; max-width:560px; margin:0 auto; width:100%; box-sizing:border-box; display:flex; flex-direction:column; }
.ensy-mobile__top{ font-family:var(--ensy-body); font-size:19px; font-weight:700; color:var(--ensy-ink); text-decoration:none; padding:15px 0; border-bottom:1px solid var(--ensy-line); }
.ensy-mobile__h{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ensy-ink-soft); padding:20px 0 4px; }
.ensy-mobile__sub{ display:flex; flex-direction:column; padding-bottom:12px; border-bottom:1px solid var(--ensy-line); }
.ensy-mobile__sub a{ font-size:16.5px; color:var(--ensy-ink); text-decoration:none; padding:10px 0 10px 16px; }
.ensy-mobile__sub a:active{ color:var(--ensy-teal-deep); }
.ensy-mobile__cta{ margin:26px 0 18px; justify-content:center; }
.ensy-mobile__langs{ display:flex; flex-wrap:wrap; gap:8px 16px; padding-top:6px; }
.ensy-mobile__langs a{ font-family:var(--ensy-mono); font-size:13px; color:var(--ensy-ink-soft); text-decoration:none; }
.ensy-mobile__langs a.is-current{ color:var(--ensy-teal-deep); font-weight:700; }
body.ensy-noscroll{ overflow:hidden; }
@media (min-width:1200px){ .ensy-mobile{ display:none !important; } }
@media (max-width:1199px){
  .ensy-nav{ display:none; }
  .ensy-header__tools{ margin-left:auto; }
  .ensy-header__tools{ gap:10px; }
  .ensy-header__tools .ensy-cta-mini{ display:none; }
  /* limba ramane in header, langa burger: steag + cod scurt (EN, DE...) in loc de nume */
  .ensy-lang__name{ display:none; }
  .ensy-lang__code{ display:inline; letter-spacing:.04em; }
  .ensy-lang__btn{ padding:0 10px; gap:7px; }
  .ensy-burger{ display:flex; }
}

/* ============ FOOTER ============ */
.ensy-footer{ position:relative; background:var(--ensy-ink); color:#C7D6DA; padding:78px 0 30px; margin-top:0; overflow:hidden; }
.ensy-footer__airflow{ position:absolute; top:0; left:0; width:100%; height:48px; pointer-events:none; }
.ensy-footer__grid{ display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:48px; padding-bottom:42px; border-bottom:1px solid rgba(255,255,255,.10); }
.ensy-footer__logo{ height:64px; width:auto; display:block; margin-bottom:18px; opacity:.95; }
.ensy-footer__tag{ color:#9DB4BA; font-size:14px; line-height:1.6; max-width:30em; margin:0 0 22px; }
.ensy-footer__contact{ font-style:normal; display:flex; flex-direction:column; gap:2px; font-size:14px; line-height:1.55; color:#9DB4BA; }
.ensy-footer__contact strong{ color:#E8F0F1; font-weight:600; }
.ensy-footer__contact a{ color:var(--ensy-air); text-decoration:none; margin-top:6px; width:max-content; }
.ensy-footer__contact a:hover{ color:#fff; text-decoration:underline; }
.ensy-footer__h{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#7E979E; display:block; margin-bottom:16px; }
.ensy-footer__col a{ display:block; color:#C7D6DA; text-decoration:none; font-size:14.5px; padding:6px 0; transition:.15s ease; }
.ensy-footer__col a:hover{ color:var(--ensy-teal); transform:translateX(3px); }
.ensy-footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; color:#7E979E; flex-wrap:wrap; gap:16px; }
.ensy-footer__langs{ display:flex; flex-wrap:wrap; align-items:center; list-style:none; margin:0; padding:0; }
.ensy-footer__langs li{ display:flex; align-items:center; }
.ensy-footer__langs li:not(:last-child)::after{ content:""; width:1px; height:11px; background:rgba(255,255,255,.18); margin:0 13px; }
.ensy-footer__langs a{ color:#9DB4BA; text-decoration:none; font-size:13px; transition:.15s; }
.ensy-footer__langs a:hover{ color:var(--ensy-teal); }
.ensy-footer__langs a.is-current{ color:#fff; font-weight:600; }
@media (max-width:980px){ .ensy-footer__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px 28px; } .ensy-footer__brand{ grid-column:1 / -1; } }
@media (max-width:680px){
  .ensy-footer{ padding:42px 0 26px; }
  .ensy-footer__airflow{ height:32px; }
  .ensy-footer__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px 18px; padding-bottom:26px; }
  .ensy-footer__tag{ margin:0 0 16px; }
  .ensy-footer__logo{ height:52px; margin-bottom:14px; }
  .ensy-footer__col a{ padding:5px 0; font-size:14px; }
  .ensy-footer__bottom{ flex-direction:column; align-items:flex-start; padding-top:20px; }
}
@media (max-width:400px){ .ensy-footer__grid{ grid-template-columns:minmax(0,1fr); } }

/* ============ PAGINA PRODUS ============ */
.ensy-product{ padding-bottom:64px; }
.ensy-crumbs{ font-family:var(--ensy-mono); font-size:12px; color:var(--ensy-ink-soft); padding:22px 0; display:flex; gap:8px; align-items:center; }
.ensy-crumbs a{ color:var(--ensy-ink-soft); text-decoration:none; }
.ensy-crumbs a:hover{ color:var(--ensy-teal-deep); }
.ensy-crumbs em{ color:var(--ensy-ink); font-style:normal; }
.ensy-product__head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; padding:14px 0 56px; }
.ensy-product__media{ background:var(--ensy-mist); border:1px solid var(--ensy-line); border-radius:14px; padding:32px; text-align:center; }
.ensy-product__media img{ max-width:100%; height:auto; }
.ensy-product__intro h1{ font-size:clamp(30px,4vw,48px); font-weight:800; margin:8px 0 16px; }
.ensy-product__lead{ font-size:17px; line-height:1.6; margin:0 0 26px; }
.ensy-product__body{ }

/* --- WPBakery tabs restyle (Ensy) --- */
.ensy-product .vc_tta.vc_general .vc_tta-panel-title>a,
.ensy-product .vc_tta-tabs .vc_tta-tab>a{ font-family:var(--ensy-body)!important; font-weight:600!important; color:var(--ensy-ink-soft)!important; }
.ensy-product .vc_tta-tabs-list{ border:0!important; }
.ensy-product .vc_tta-tab{ border:0!important; }
.ensy-product .vc_tta.vc_general .vc_tta-tab>a{ background:transparent!important; border:0!important; border-bottom:2px solid transparent!important; border-radius:0!important; padding:14px 18px!important; }
.ensy-product .vc_tta.vc_general .vc_tta-tab.vc_active>a{ color:var(--ensy-teal-deep)!important; border-bottom-color:var(--ensy-teal)!important; background:transparent!important; }
.ensy-product .vc_tta-panels{ border:1px solid var(--ensy-line)!important; border-radius:12px!important; background:#fff!important; }
.ensy-product .vc_tta-panel-body{ background:#fff!important; }

/* --- tabel specificatii (era albastru #7cb5ec) -> teal --- */
.ensy-product table{ font-family:var(--ensy-body); width:100%; border-collapse:collapse; }
.ensy-product table td, .ensy-product table th{ border:0; border-bottom:1px solid var(--ensy-line); padding:11px 12px; font-size:14.5px; color:var(--ensy-ink); }
.ensy-product table tr[style*="7cb5ec"], .ensy-product table td[style*="7cb5ec"], .ensy-product table th[bgcolor]{ background:var(--ensy-mist)!important; }
.ensy-product table td[style*="background"], .ensy-product table tr[bgcolor]{ background:var(--ensy-mist)!important; }
.ensy-product table strong, .ensy-product table b{ color:var(--ensy-ink); }
.ensy-product h2, .ensy-product h3, .ensy-product h4{ font-family:var(--ensy-display); color:var(--ensy-ink); }
/* numere/unitati ton tehnic */
.ensy-product .chartContainer{ font-family:var(--ensy-mono); }
/* desenele din Supply/Extract (din tab-ul Dimensions, ensy-core/inc/dimension-drawings.php): pe ecran nu apar
   (sunt deja in Dimensions); butoanele de print din calculator.php le arata inline (display:block) doar pe durata printului */
.ensy-product .chartContainer img.print{ display:none; max-width:100%; height:auto; margin:0 0 18px; border:1px solid var(--ensy-line); border-radius:12px; padding:10px; background:#fff; box-sizing:border-box; }
@media (max-width:900px){ .ensy-product__head{ grid-template-columns:minmax(0,1fr); gap:28px; } }

/* ============ PAGINA CONTINUT ============ */
.ensy-page{ background:#fff; padding-bottom:72px; }
.ensy-page__hero{ background:var(--ensy-mist); border-bottom:1px solid var(--ensy-line); padding:54px 0 46px; margin-bottom:48px; }
.ensy-page__hero h1{ font-size:clamp(30px,4vw,52px); font-weight:800; margin:8px 0 0; color:var(--ensy-ink); }
.ensy-page__lead{ max-width:46em; margin:20px 0 0; font-size:18px; line-height:1.65; color:var(--ensy-ink-soft); }

/* feature cards (pagini-sectiune cu putine articole) */
.ensy-features{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-bottom:20px; }
.ensy-feature{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--ensy-line); border-radius:16px; overflow:hidden; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ensy-feature:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(14,42,51,.12); border-color:var(--ensy-air); }
.ensy-feature__media{ aspect-ratio:16/10; overflow:hidden; background:var(--ensy-mist); }
.ensy-feature__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.ensy-feature:hover .ensy-feature__media img{ transform:scale(1.04); }
.ensy-feature__body{ padding:26px 28px 30px; display:flex; flex-direction:column; gap:10px; }
.ensy-feature__body h3{ font-family:var(--ensy-display); font-size:23px; font-weight:700; color:var(--ensy-ink); margin:2px 0 0; line-height:1.2; }
.ensy-feature__ex{ color:var(--ensy-ink-soft); font-size:15.5px; line-height:1.6; margin:0; }
.ensy-feature .ensy-pcard__more{ color:var(--ensy-teal-deep); font-weight:600; margin-top:6px; }
.ensy-feature:hover .ensy-pcard__more{ color:var(--ensy-teal); }
@media (max-width:760px){ .ensy-features{ grid-template-columns:minmax(0,1fr); } }

/* pagina-articol: coloana de lectura centrata + tipografie */
.ensy-page__hero--article{ padding:46px 0 38px; }
.ensy-page__hero--article .ensy-crumbs{ margin-bottom:14px; }
.ensy-page__hero--article h1{ font-size:clamp(28px,3.4vw,44px); max-width:18em; }
.ensy-page__content--article{ max-width:720px; margin:0 auto; }
.ensy-page__content--article > p:first-of-type{ font-size:20px; line-height:1.6; color:var(--ensy-ink); }
.ensy-page__content--article h2,.ensy-page__content--article h3,.ensy-page__content--article strong:first-child{ }
.ensy-page__content--article p{ font-size:17px; line-height:1.8; }
.ensy-page__content--article h2{ font-size:26px; margin-top:44px; padding-top:6px; }
.ensy-page__content--article h3{ font-size:20px; }

/* subsol articol: navigare frati + CTA */
.ensy-article-foot{ max-width:920px; margin:60px auto 0; padding-top:48px; border-top:1px solid var(--ensy-line); display:block; }
.ensy-article-foot__next{ margin-bottom:40px; }
.ensy-article-foot__next .ensy-kicker{ display:block; margin-bottom:18px; }
.ensy-article-cta{ display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--ensy-ink); color:#fff; border-radius:18px; padding:38px 44px; flex-wrap:wrap; }
.ensy-article-cta h2{ font-family:var(--ensy-display); color:#fff; font-size:26px; font-weight:700; margin:0 0 8px; }
.ensy-article-cta p{ color:#C7D6DA; margin:0; max-width:42em; font-size:15.5px; line-height:1.6; }
.ensy-article-cta .ensy-btn{ flex-shrink:0; }
@media (max-width:680px){ .ensy-article-cta{ flex-direction:column; align-items:flex-start; padding:30px 26px; } }

/* ===== PAGINA DESPRE NOI ===== */
.ensy-about-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:-24px 0 44px; }
.ensy-about-stats .ensy-stat{ background:#fff; border:1px solid var(--ensy-line); border-radius:14px; padding:28px 26px; }
.ensy-about-stats .ensy-stat__num{ font-family:var(--ensy-display); font-size:clamp(30px,4vw,44px); font-weight:800; color:var(--ensy-teal-deep); line-height:1; }
.ensy-about-stats .ensy-stat__label{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ensy-ink-soft); margin-top:10px; }
.ensy-page__content--about{ max-width:760px; margin:0 auto; }
.ensy-page__content--about > p:first-of-type{ font-size:20px; line-height:1.6; color:var(--ensy-ink); }

/* carduri pagina (service etc.) - imagini la dimensiune uniforma (cover) */
.ensy-page__children .ensy-pcard__img{ display:block; padding:0; aspect-ratio:4/5; position:relative; overflow:hidden; }
.ensy-page__children .ensy-pcard__img img{ position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; display:block; }
/* imaginea din articol - mai mica, centrata, rotunjita */
.ensy-page__content--article .wpb_single_image,.ensy-page__content--article .vc_single_image-wrapper,.ensy-page__content--article .vc_figure{ max-width:420px; margin:8px auto 28px; display:block; text-align:center; }
.ensy-page__content--article img{ max-width:420px; max-height:300px; width:auto; height:auto; object-fit:contain; border-radius:12px; }
@media (max-width:680px){ .ensy-about-stats{ grid-template-columns:minmax(0,1fr); gap:14px; } }

/* ===== DISTRIBUITORI (carduri) ===== */
.ensy-dist-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); gap:18px; }
.ensy-distcard{ background:#fff; border:1px solid var(--ensy-line); border-radius:14px; padding:24px 24px 22px; transition:.16s ease; }
.ensy-distcard:hover{ border-color:var(--ensy-air); box-shadow:0 10px 30px rgba(14,42,51,.07); }
.ensy-distcard h3{ font-family:var(--ensy-display); font-size:18px; font-weight:700; color:var(--ensy-ink); margin:0 0 10px; line-height:1.25; }
.ensy-distcard__addr{ color:var(--ensy-ink-soft); font-size:14.5px; line-height:1.6; margin:0 0 14px; }
.ensy-distcard__links{ display:flex; flex-direction:column; gap:6px; padding-top:14px; border-top:1px solid var(--ensy-line); }
.ensy-distcard__links a{ color:var(--ensy-teal-deep); font-size:14px; font-weight:600; text-decoration:none; word-break:break-word; }
.ensy-distcard__links a:hover{ color:var(--ensy-teal); text-decoration:underline; }

/* ===== CONTACT ===== */
.ensy-contact-wrap{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:44px; align-items:stretch; }
.ensy-contact-media{ border-radius:18px; overflow:hidden; min-height:440px; background:var(--ensy-mist); position:relative; }
.ensy-contact-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ensy-contact-info{ display:flex; flex-direction:column; }
.ensy-contact-info .ensy-kicker{ display:block; margin-bottom:16px; }
.ensy-contact-info .ensy-contact{ flex:1; align-content:start; }
@media (max-width:880px){ .ensy-contact-wrap{ grid-template-columns:minmax(0,1fr); gap:28px; } .ensy-contact-media{ position:relative; min-height:0; aspect-ratio:16/9; } }
.ensy-contact{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:16px; }

/* downloads banner + about imgs */
.ensy-dl-banner{ border-radius:18px; overflow:hidden; margin-bottom:40px; aspect-ratio:21/7; }
.ensy-dl-banner img{ width:100%; height:100%; object-fit:cover; display:block; }
.ensy-about-imgs{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; max-width:760px; margin:40px auto 0; }
.ensy-about-imgs img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; display:block; }
/* downloads: ascund logo-ul folder din continut (banner-ul svc-docs e singura imagine), centrez tabelul */
.ensy-page__content--downloads{ max-width:none; }
.ensy-page__content--downloads .wpb_single_image,.ensy-page__content--downloads .vc_single_image-wrapper,.ensy-page__content--downloads .vc_figure{ display:none !important; }
.ensy-page__content--downloads table{ margin-top:0; }
@media (max-width:680px){ .ensy-about-imgs{ grid-template-columns:minmax(0,1fr); } }
.ensy-contact__card{ background:#fff; border:1px solid var(--ensy-line); border-radius:16px; padding:30px 30px 32px; }
.ensy-contact__card--mail{ background:var(--ensy-ink); border-color:var(--ensy-ink); }
.ensy-contact__label{ font-family:var(--ensy-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ensy-teal-deep); display:block; margin-bottom:14px; }
.ensy-contact__card--mail .ensy-contact__label{ color:var(--ensy-air); }
.ensy-contact__card p{ color:var(--ensy-ink); font-size:16px; line-height:1.7; margin:0; }
.ensy-contact__card--mail a{ color:#fff; font-size:19px; font-weight:600; text-decoration:none; word-break:break-word; }
.ensy-contact__card--mail a:hover{ color:var(--ensy-air); }
/* cu 3 carduri, ultimul umple randul in loc sa lase gol pe jumatate */
.ensy-contact__card:nth-child(3):last-child{ grid-column:1/-1; }
.ensy-contact__card--local{ background:var(--ensy-mist); border-color:var(--ensy-air); }
.ensy-contact__name{ display:block; font-family:var(--ensy-display); font-size:18px; font-weight:700; color:var(--ensy-ink); margin:0 0 6px; }
.ensy-contact__links{ display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.ensy-contact__links a{ color:var(--ensy-teal-deep); font-weight:600; font-size:15.5px; text-decoration:none; word-break:break-word; }
.ensy-contact__links a:hover{ color:var(--ensy-ink); text-decoration:underline; }

/* ---- harta sediu (Google Maps embed) ---- */
.ensy-map{ position:relative; margin:56px 0 12px; }
.ensy-map__frame{
  height:480px; border-radius:20px; overflow:hidden;
  border:1px solid var(--ensy-line); background:var(--ensy-mist);
  box-shadow:0 20px 44px rgba(14,42,51,.09);
}
.ensy-map__frame iframe{
  display:block; width:100%; height:100%; border:0;
  filter:grayscale(.4) contrast(1.04); transition:filter .35s ease;
}
.ensy-map__frame:hover iframe{ filter:none; }
.ensy-map__card{
  position:absolute; top:34px; left:34px; width:330px; max-width:calc(100% - 68px);
  background:#fff; border:1px solid var(--ensy-line); border-radius:18px;
  padding:28px 28px 30px; box-shadow:0 18px 40px rgba(14,42,51,.14);
}
.ensy-contact-cta{ margin:28px 0 8px; }
.ensy-map__card h3{ font-family:var(--ensy-display); font-size:24px; font-weight:700; margin:0 0 10px; }
.ensy-map__card p{ color:var(--ensy-ink); font-size:16px; line-height:1.65; margin:0 0 14px; }
.ensy-map__coords{
  font-family:var(--ensy-mono) !important; font-size:13px !important;
  color:var(--ensy-teal-deep) !important; letter-spacing:.02em;
  padding-top:12px; border-top:1px solid var(--ensy-line);
}
.ensy-map__note{ font-size:14.5px !important; color:var(--ensy-ink-soft) !important; }
.ensy-map__card .ensy-btn{ width:100%; justify-content:center; }
@media (max-width:880px){
  .ensy-map{ margin:36px 0 8px; }
  .ensy-map__frame{ height:320px; border-radius:16px 16px 0 0; }
  .ensy-map__card{ position:static; width:auto; max-width:none; border-radius:0 0 16px 16px; border-top:0; box-shadow:none; }
}

.ensy-page__content{ max-width:860px; }
.ensy-page__content, .ensy-page__content p, .ensy-page__content li, .ensy-page__content td, .ensy-page__content span, .ensy-page__content div{ color:var(--ensy-ink) !important; }
.ensy-page__content p{ font-size:16.5px; line-height:1.75; margin:0 0 18px; }
.ensy-page__content h1,.ensy-page__content h2,.ensy-page__content h3,.ensy-page__content h4{ font-family:var(--ensy-display); color:var(--ensy-ink) !important; font-weight:700; margin:34px 0 14px; line-height:1.2; }
.ensy-page__content h2{ font-size:28px; } .ensy-page__content h3{ font-size:22px; }
.ensy-page__content a{ color:var(--ensy-teal-deep); text-decoration:underline; }
.ensy-page__content a:hover{ color:var(--ensy-teal); }
.ensy-page__content img{ max-width:100%; height:auto; border-radius:8px; }
.ensy-page__content ul,.ensy-page__content ol{ padding-left:1.2em; margin:0 0 18px; }
.ensy-page__content li{ margin:6px 0; line-height:1.6; }
.ensy-page__content table{ width:100%; border-collapse:collapse; margin:18px 0; }
.ensy-page__content table td,.ensy-page__content table th{ border-bottom:1px solid var(--ensy-line); padding:10px 12px; text-align:left; }
/* neutralizeaza fundaluri inchise mostenite din continut */
.ensy-page__content [style*="background"]{ background-color:transparent !important; }

/* ============ ARHIVA PRODUSE (grila) ============ */
.ensy-archive{ background:#fff; padding:0 0 80px; }
.ensy-archive__hero{ background:var(--ensy-mist); border-bottom:1px solid var(--ensy-line); padding:54px 0; margin-bottom:48px; }
.ensy-archive__hero h1{ font-size:clamp(30px,4vw,52px); font-weight:800; margin:8px 0 10px; }
.ensy-archive__hero p{ font-size:17px; max-width:46em; }
.ensy-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ensy-pcard{ border:1px solid var(--ensy-line); border-radius:12px; overflow:hidden; background:#fff; text-decoration:none; display:flex; flex-direction:column; transition:.2s ease; }
.ensy-pcard:hover{ border-color:var(--ensy-teal); box-shadow:0 16px 36px rgba(14,42,51,.10); transform:translateY(-3px); }
.ensy-pcard__img{ aspect-ratio:4/3; background:var(--ensy-mist); display:flex; align-items:center; justify-content:center; padding:18px; }
.ensy-pcard__img img{ max-width:100%; max-height:100%; object-fit:contain; }
.ensy-pcard__body{ padding:20px 22px; display:flex; flex-direction:column; gap:6px; flex:1; }
.ensy-pcard__tag{ font-family:var(--ensy-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ensy-teal-deep); }
.ensy-pcard__body h3{ font-family:var(--ensy-display); font-size:19px; font-weight:600; color:var(--ensy-ink); margin:0; }
.ensy-pcard__more{ margin-top:auto; font-weight:600; color:var(--ensy-teal-deep); font-size:14px; }
.ensy-archive__group{ font-family:var(--ensy-display); font-size:24px; font-weight:700; color:var(--ensy-ink); margin:46px 0 20px; padding-bottom:10px; border-bottom:2px solid var(--ensy-teal); display:inline-block; scroll-margin-top:100px; }
.ensy-archive__n{ font-family:var(--ensy-mono); font-size:14px; font-weight:500; color:var(--ensy-ink-soft); }
.ensy-archive__grouphead{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin:46px 0 20px; }
.ensy-archive__grouphead .ensy-archive__group{ margin:0; }
.ensy-archive__sub{ font-family:var(--ensy-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ensy-teal-deep); background:var(--ensy-mist); padding:5px 10px; border-radius:999px; }
.ensy-archive__sub.is-prev{ color:#9A6B17; background:#FBF1DD; }
.ensy-product__line{ display:inline-flex; align-items:center; gap:9px; margin:0 0 18px; padding:7px 14px; border-radius:999px; background:var(--ensy-mist); }
.ensy-product__line strong{ font-family:var(--ensy-body); font-size:14px; font-weight:700; color:var(--ensy-teal-deep); }
.ensy-product__line span{ font-family:var(--ensy-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ensy-ink-soft); }
.ensy-product__line.is-prev{ background:#FBF1DD; }
.ensy-product__line.is-prev strong{ color:#9A6B17; }
.ensy-product__line.is-prev span{ color:#B5853A; }

/* ============ PRODUCT TABS (WPBakery vc_tta restyling, scoped) ============ */
.ensy-product .single-product-tabs{ margin-top:8px; }
/* tab navigation */
.ensy-product .vc_tta-tabs-list{ display:flex!important; flex-wrap:wrap; gap:2px; list-style:none!important; margin:0 0 4px!important; padding:0!important; border:none!important; border-bottom:1px solid var(--ensy-line)!important; overflow-x:auto; }
.ensy-product .vc_tta-tab{ margin:0!important; border:none!important; background:none!important; }
.ensy-product .vc_tta-tab > a{ display:block; border:none!important; background:none!important; padding:14px 20px!important; font-family:var(--ensy-body)!important; font-weight:600!important; font-size:15px!important; color:var(--ensy-ink-soft)!important; border-radius:0!important; border-bottom:2px solid transparent!important; white-space:nowrap; transition:.15s ease; }
.ensy-product .vc_tta-tab > a:hover{ color:var(--ensy-ink)!important; background:var(--ensy-mist)!important; }
.ensy-product .vc_tta-tab.vc_active > a{ color:var(--ensy-teal-deep)!important; border-bottom-color:var(--ensy-teal)!important; background:none!important; }
/* panel body */
.ensy-product .vc_tta-panels,.ensy-product .vc_tta-panel,.ensy-product .vc_tta-panel-body{ border:none!important; background:none!important; box-shadow:none!important; }
.ensy-product .vc_tta-panel-body{ padding:30px 0 10px!important; }

/* ---- tabele (specificatii + documente) ---- */
.ensy-product__body table{ width:100%!important; border-collapse:collapse!important; border:1px solid var(--ensy-line)!important; border-radius:12px; overflow:hidden; font-size:14.5px; box-shadow:0 1px 2px rgba(14,42,51,.04); }
.ensy-product__body table td,.ensy-product__body table th{ padding:12px 18px!important; border:none!important; border-bottom:1px solid var(--ensy-line)!important; text-align:left; vertical-align:middle; color:var(--ensy-ink); font-family:var(--ensy-body); }
.ensy-product__body table tr:last-child td{ border-bottom:none!important; }
.ensy-product__body table th{ background:var(--ensy-ink)!important; color:#fff!important; font-weight:700; font-size:13px; letter-spacing:.02em; }
/* randurile-grup albastre (inline bg) -> teal-mist cu eticheta bold */
.ensy-product__body table tr[style]{ background:var(--ensy-mist)!important; }
.ensy-product__body table tr[style] td{ color:var(--ensy-teal-deep)!important; font-weight:700; border-bottom-color:var(--ensy-air)!important; }
.ensy-product__body table tr:not([style]):hover td{ background:#FAFCFC; }
.ensy-product__body table td img{ width:22px; height:auto; }
.ensy-product__body table a{ color:var(--ensy-teal-deep); text-decoration:none; font-weight:600; }
.ensy-product__body table a:hover{ text-decoration:underline; }

/* ---- formular calculator (Airflow/Pressure) ---- */
.ensy-product .vc_tta-panel-body input[type="text"],.ensy-product .vc_tta-panel-body input:not([type]){ border:1px solid var(--ensy-line)!important; border-radius:8px!important; padding:12px 14px!important; font-size:15px!important; font-family:var(--ensy-body)!important; width:100%; max-width:320px; background:#fff!important; transition:.15s ease; box-shadow:none!important; }
.ensy-product .vc_tta-panel-body input[type="text"]:focus,.ensy-product .vc_tta-panel-body input:not([type]):focus{ outline:none!important; border-color:var(--ensy-teal)!important; box-shadow:0 0 0 3px rgba(15,163,131,.12)!important; }

/* ---- desene tehnice / dimensiuni ---- */
.ensy-product .vc_tta-panel-body img{ max-width:100%; height:auto; }
.ensy-product .vc_single_image-wrapper img,.ensy-product .vc_tta-panel-body .wpb_single_image img{ border:1px solid var(--ensy-line); border-radius:12px; padding:10px; background:#fff; }

/* ---- container grafic Highcharts ---- */
.ensy-product [id^="container"]{ background:#fff!important; border:1px solid var(--ensy-line)!important; border-radius:14px!important; padding:14px!important; margin-top:22px!important; box-shadow:0 4px 16px rgba(14,42,51,.05); }
@media (max-width:600px){ .ensy-product .vc_tta-tab > a{ padding:12px 14px!important; font-size:14px!important; } }

/* bara de filtre pe categorii */
.ensy-filterbar{ display:flex; flex-wrap:wrap; gap:10px; margin:38px 0 8px; padding-bottom:22px; border-bottom:1px solid var(--ensy-line); }
.ensy-filter{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--ensy-line); border-radius:999px; padding:10px 18px; font-family:var(--ensy-body); font-size:15px; font-weight:600; color:var(--ensy-ink); cursor:pointer; transition:.16s ease; }
.ensy-filter:hover{ border-color:var(--ensy-teal); color:var(--ensy-teal-deep); }
.ensy-filter__count{ font-family:var(--ensy-mono); font-style:normal; font-size:12px; font-weight:600; line-height:1; padding:3px 7px; border-radius:999px; background:var(--ensy-mist); color:var(--ensy-ink-soft); transition:.16s ease; }
.ensy-filter.is-active{ background:var(--ensy-teal); border-color:var(--ensy-teal); color:#fff; }
.ensy-filter.is-active .ensy-filter__count{ background:rgba(255,255,255,.22); color:#fff; }
.ensy-catsection[hidden]{ display:none; }
@media (max-width:640px){ .ensy-filter{ padding:9px 14px; font-size:14px; } }

/* ---- bloc documentatie pe categorie (arhiva produse) ---- */
.ensy-docsblock{ margin:40px 0 8px; padding:28px 30px 30px; background:var(--ensy-mist); border:1px solid var(--ensy-line); border-radius:18px; scroll-margin-top:100px; }
.ensy-docsblock__head{ margin-bottom:20px; }
.ensy-docsblock__head .ensy-kicker{ display:block; margin-bottom:8px; }
.ensy-docsblock__head h3{ font-family:var(--ensy-display); font-size:22px; font-weight:700; color:var(--ensy-ink); margin:0; }
.ensy-doclist{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); gap:14px; }
.ensy-doccard{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--ensy-line); border-radius:14px; padding:16px 18px; text-decoration:none; transition:.16s ease; }
.ensy-doccard:hover{ border-color:var(--ensy-teal); transform:translateY(-1px); box-shadow:0 12px 26px rgba(14,42,51,.08); }
.ensy-doccard__icon{ flex-shrink:0; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:11px; background:var(--ensy-air); color:var(--ensy-teal-deep); }
.ensy-doccard__body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.ensy-doccard__body strong{ font-family:var(--ensy-display); font-weight:600; font-size:16px; color:var(--ensy-ink); line-height:1.25; }
.ensy-doccard__body em{ font-style:normal; font-size:13px; font-weight:600; color:var(--ensy-teal-deep); }
@media (max-width:640px){ .ensy-docsblock{ padding:22px 18px 24px; } }

@media (max-width:980px){ .ensy-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .ensy-grid{ grid-template-columns:minmax(0,1fr); } }

/* ============ BLOG ============ */
.ensy-card__date{ color:var(--ensy-ink-soft); text-transform:none; letter-spacing:.04em; }
.ensy-card__date::before{ content:"·"; margin:0 7px; color:var(--ensy-line); }
.ensy-article__date{ font-family:var(--ensy-mono); font-size:13px; letter-spacing:.06em; color:var(--ensy-ink-soft); margin:14px 0 0; }

/* --- index: primul articol ca bloc mare, pe toata latimea --- */
.ensy-page--blog .ensy-features{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.ensy-page--blog .ensy-feature--lead{ grid-column:1 / -1; flex-direction:row; align-items:stretch; }
.ensy-page--blog .ensy-feature--lead .ensy-feature__media{ flex:0 0 50%; aspect-ratio:auto; min-height:330px; }
.ensy-page--blog .ensy-feature--lead .ensy-feature__body{ padding:44px clamp(28px,4vw,56px); justify-content:center; gap:14px; }
.ensy-page--blog .ensy-feature--lead .ensy-feature__body h3{ font-size:clamp(26px,2.6vw,36px); }
.ensy-page--blog .ensy-feature--lead .ensy-feature__ex{ font-size:17px; line-height:1.7; }
@media (max-width:860px){
  .ensy-page--blog .ensy-features{ grid-template-columns:minmax(0,1fr); }
  .ensy-page--blog .ensy-feature--lead{ flex-direction:column; }
  .ensy-page--blog .ensy-feature--lead .ensy-feature__media{ min-height:0; aspect-ratio:16/10; }
}

/* --- articol: latime completa + rail cu cuprins --- */
.ensy-page--blogpost .ensy-page__hero--article h1{ max-width:24em; }
.ensy-post__cover{ margin:0 0 46px; border-radius:18px; overflow:hidden; aspect-ratio:21/8; }
.ensy-post__cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.ensy-post{ display:grid; grid-template-columns:272px minmax(0,1fr); gap:clamp(32px,4.5vw,68px); align-items:start; }
.ensy-post__rail{ position:sticky; top:104px; }
.ensy-post__rail .ensy-kicker{ margin-bottom:12px; }
.ensy-post__toc{ list-style:none; margin:0 0 30px; padding:0; counter-reset:toc; border-left:2px solid var(--ensy-line); }
.ensy-post__toc li{ margin:0; padding:0; counter-increment:toc; }
.ensy-post__toc a{ display:block; margin-left:-2px; padding:9px 0 9px 16px; border-left:2px solid transparent; font-size:14.5px; line-height:1.45; color:var(--ensy-ink-soft); text-decoration:none; transition:.15s ease; }
.ensy-post__toc a::before{ content:counter(toc,decimal-leading-zero); font-family:var(--ensy-mono); font-size:11px; color:var(--ensy-teal); margin-right:9px; }
.ensy-post__toc a:hover{ color:var(--ensy-teal-deep); border-left-color:var(--ensy-teal); }
.ensy-post__rail-cta{ border-top:1px solid var(--ensy-line); padding-top:22px; }
.ensy-post__rail-cta p{ font-size:14.5px; line-height:1.6; color:var(--ensy-ink-soft); margin:0 0 16px; }
.ensy-post__body{ max-width:none; }
.ensy-post__body > p:first-of-type{ font-size:21px; line-height:1.6; }
.ensy-post__body p{ font-size:17.5px; line-height:1.8; margin:0 0 20px; }
.ensy-post__body h2{ font-size:clamp(24px,2.4vw,30px); margin:52px 0 16px; scroll-margin-top:110px; }
.ensy-post__body h3{ font-size:20px; margin:34px 0 10px; }
.ensy-post__body ul,.ensy-post__body ol{ font-size:17px; margin:0 0 22px; padding-left:20px; }
.ensy-post__body li{ margin:0 0 9px; line-height:1.7; }
.ensy-post__body table{ margin:26px 0 32px; font-size:15.5px; }
.ensy-post__body th{ font-family:var(--ensy-mono); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ensy-teal-deep)!important; padding:0 14px 11px 0; }
.ensy-post__body td{ padding:13px 14px 13px 0; vertical-align:top; line-height:1.55; }
.ensy-post__body td:first-child{ font-weight:600; }
.ensy-post__body blockquote{ margin:34px 0; padding:2px 0 2px 26px; border-left:3px solid var(--ensy-teal); }
.ensy-post__body blockquote p{ font-family:var(--ensy-display); font-size:21px; line-height:1.45; margin:0; }
.ensy-page--blogpost .ensy-article-foot{ max-width:none; }
@media (max-width:1040px){
  .ensy-post{ grid-template-columns:minmax(0,1fr); gap:0; }
  .ensy-post__rail{ position:static; margin-bottom:40px; }
  .ensy-post__cover{ aspect-ratio:16/7; margin-bottom:34px; }
}

/* ============ RESPONSIVE — FEEDBACK LANSARE (29.09.2026) ============ */
/* cuvinte lungi (DE/SV/NB/UA) nu mai ies din coloana: se rup, iar pe telefon se despart in silabe (lang vine din <html>) */
h1,h2,h3,h4{ overflow-wrap:break-word; }
/* silabe doar pentru cuvintele lungi (compusele DE/NB/SV/UA), nu pentru cele care incap intregi */
@media (max-width:600px){ h1,h2,h3,h4,.ensy-eyebrow{ -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:14 6 6; -webkit-hyphenate-limit-before:6; -webkit-hyphenate-limit-after:6; } }
/* etichetele statisticilor nu depasesc celula la nicio latime si nu se rup in mijlocul cuvantului */
/* de la 1200px: 4 coloane dupa continut, fara silabe (cel mai lung set, DE, cere 560px din 565 cu padding 18px);
   981-1199px: hero-ul are doua coloane inguste, statisticile trec pe 2x2; sub 1200px silabe doar pentru cuvinte >=14 litere */
@media (min-width:1200px){ .ensy-stats{ grid-template-columns:repeat(4,auto); } .ensy-stat{ padding-left:18px; padding-right:18px; } }
@media (min-width:981px) and (max-width:1199px){ .ensy-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1199px){ .ensy-stat__label{ -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:14 6 6; -webkit-hyphenate-limit-before:6; -webkit-hyphenate-limit-after:6; } }
@media (max-width:480px){
  .ensy-hero h1{ font-size:clamp(30px,9vw,40px); }
  /* etichetele statisticilor (WAERMERUECKGEWINNUNG, ZADOKUMENTOVANO) depaseau celula de ~90px la 320px */
  .ensy-stat{ padding:20px 14px; }
  .ensy-stat__label{ letter-spacing:.03em; overflow-wrap:anywhere; -webkit-hyphens:auto; hyphens:auto; }
}

/* tabele de continut (blog, downloads) pe telefon: se deruleaza in interiorul lor, pagina nu se lateste */
@media (max-width:680px){
  .ensy-page__content table{ display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* specificatii produs: compacte; daca tot nu incap (320px), panoul se deruleaza in loc sa taie coloana de valori */
@media (max-width:767px){
  .ensy-product .vc_tta-panel-body{ overflow-x:auto!important; -webkit-overflow-scrolling:touch; }
  .ensy-product__body table{ font-size:12.5px; }
  .ensy-product__body table td,.ensy-product__body table th{ padding:8px 6px!important; width:auto!important; overflow-wrap:break-word; -webkit-hyphens:auto; hyphens:auto; }
  .ensy-product__body table col{ width:auto!important; }
}

/* telefon (<=480px): tabelele de produs cu 4 coloane (specificatii, documentatie; nu si calculatoarele) devin randuri stivuite,
   citibile fara derulare orizontala; celulele cu doar &nbsp; sunt golite in inc/product-tables.php */
@media (max-width:480px){
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)),.ensy-product__body table:has(td:nth-child(4)):not(:has(input)) tbody{ display:block; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)) tr{ display:flex; flex-wrap:wrap; align-items:baseline; column-gap:10px; padding:9px 12px; border-bottom:1px solid var(--ensy-line); }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)) tr:last-child{ border-bottom:none; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)) tr:not(:has(td:not(:empty))){ display:none; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)) td{ display:block; padding:2px 0!important; border:none!important; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)) td:empty{ display:none; }
  /* specificatii: eticheta pe rand propriu, valoarea aliniata la dreapta */
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)):not(:has(a)) td:first-child{ flex:0 0 100%; font-weight:700; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)):not(:has(a)) td:last-child{ margin-left:auto; text-align:right; font-weight:600; }
  /* documentatie: icon + link pe primul rand, model si limba dedesubt */
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)):has(a) td:nth-child(2){ flex:1 1 calc(100% - 40px); min-width:0; }
  .ensy-product__body table:has(td:nth-child(4)):not(:has(input)):has(a) td:nth-child(3),.ensy-product__body table:has(td:nth-child(4)):not(:has(input)):has(a) td:nth-child(4){ font-size:12px; color:var(--ensy-ink-soft); }
}

/* telefon (<768px): WPBakery trece tab-urile in acordeon; toate cele 7 titluri raman vizibile ca randuri apasabile (+/-) */
@media (max-width:767px){
  .ensy-product .vc_tta-panel{ margin:0 0 8px!important; }
  .ensy-product .vc_tta-panel-heading{ border:1px solid var(--ensy-line)!important; border-radius:10px!important; background:#fff!important; }
  .ensy-product .vc_tta-panel-title{ margin:0!important; }
  .ensy-product .vc_tta-panel-title > a{ display:flex!important; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px!important; font-family:var(--ensy-body)!important; font-weight:600!important; font-size:16px!important; line-height:1.3!important; color:var(--ensy-ink)!important; text-decoration:none!important; }
  .ensy-product .vc_tta-panel-title > a::after{ content:"+"; flex:0 0 auto; font-size:22px; line-height:1; color:var(--ensy-teal-deep); }
  .ensy-product .vc_tta-panel.vc_active .vc_tta-panel-heading{ border-color:var(--ensy-teal)!important; background:var(--ensy-mist)!important; }
  .ensy-product .vc_tta-panel.vc_active .vc_tta-panel-title > a{ color:var(--ensy-teal-deep)!important; }
  .ensy-product .vc_tta-panel.vc_active .vc_tta-panel-title > a::after{ content:"\2212"; }
  .ensy-product .vc_tta-panel-body{ padding:18px 2px 8px!important; }
}

/* ritm vertical pe telefon: sectiunile nu mai pastreaza spatierile de desktop */
@media (max-width:680px){
  .ensy-hero{ padding:40px 0 28px; }
  .ensy-section{ padding:56px 0; }
  .ensy-page__hero,.ensy-archive__hero{ padding:36px 0 30px; margin-bottom:32px; }
  .ensy-product__head{ padding:6px 0 36px; gap:28px; }
  .ensy-stats{ margin-top:36px; }
  .ensy-linecard{ padding:24px; min-height:0; }
  .ensy-linecard h3{ font-size:26px; }
  .ensy-linecard__img{ text-align:center; margin-top:18px; }
}
@media (max-width:400px){ .ensy-wrap{ padding:0 18px; } }
/* banda de distribuitori la 320-400px: titlul UA ("дистриб'ютора") nu mai incapea intreg in caseta de ~212px */
@media (max-width:400px){ .ensy-dist{ padding:28px 20px; } .ensy-dist h2{ font-size:26px; } }

/* ============ FORMULAR CONTACT (Contact Form 7, campurile si regulile site-ului vechi) ============ */
.ensy-contact-form{ margin:40px 0 8px; padding:34px; background:#fff; border:1px solid var(--ensy-line); border-radius:16px; box-shadow:0 4px 16px rgba(14,42,51,.05); }
.ensy-contact-form .row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:0; }
.ensy-contact-form .row > div{ min-width:0; padding:0; width:auto; max-width:none; }
.ensy-contact-form .clearfix{ clear:both; }
.ensy-contact-form p{ margin:0 0 14px; font-size:14px; line-height:1.6; color:var(--ensy-ink-soft); }
.ensy-contact-form .wpcf7-form-control-wrap{ display:block; margin:0 0 14px; }
.ensy-contact-form input[type="text"],.ensy-contact-form input[type="email"],.ensy-contact-form textarea{ display:block; width:100%; box-sizing:border-box; margin:0; padding:13px 14px; border:1px solid var(--ensy-line); border-radius:8px; background:#fff; box-shadow:none; font-family:var(--ensy-body); font-size:15px; line-height:1.4; color:var(--ensy-ink); height:auto; min-height:0; }
.ensy-contact-form textarea{ height:170px; resize:vertical; }
.ensy-contact-form input[type="text"]:focus,.ensy-contact-form input[type="email"]:focus,.ensy-contact-form textarea:focus{ outline:none; border-color:var(--ensy-teal); box-shadow:0 0 0 3px rgba(15,163,131,.12); }
.ensy-contact-form ::placeholder{ color:#7E979E; opacity:1; }
.ensy-contact-form .wpcf7-form-control-wrap[data-name^="acceptance"]{ display:inline-block; margin:0 8px 0 0; vertical-align:-3px; }
.ensy-contact-form .wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.ensy-contact-form .wpcf7-acceptance label{ display:inline-flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--ensy-ink); cursor:pointer; }
.ensy-contact-form .wpcf7-acceptance input[type="checkbox"]{ width:18px; height:18px; margin:2px 0 0; flex:0 0 18px; accent-color:var(--ensy-teal); }
.ensy-contact-form a{ color:var(--ensy-teal-deep); font-weight:600; }
.ensy-contact-form input[type="submit"].wpcf7-submit{ display:block; min-height:56px; margin:18px 0 0; padding:15px 26px; border:1px solid transparent; border-radius:4px; background:var(--ensy-teal); color:#fff; font-family:var(--ensy-body); font-size:15px; font-weight:600; text-transform:none; letter-spacing:0; line-height:1.4; cursor:pointer; transition:.18s ease; }
.ensy-contact-form input[type="submit"].wpcf7-submit:hover{ background:var(--ensy-teal-deep); }
.ensy-contact-form input[type="submit"].wpcf7-submit:disabled{ opacity:.55; cursor:not-allowed; }
.ensy-contact-form .wpcf7-spinner{ margin:0 12px; vertical-align:middle; }
.ensy-contact-form .wpcf7-not-valid{ border-color:#C0392B!important; }
.ensy-contact-form .wpcf7 .wpcf7-not-valid-tip{ display:block; position:static; margin:6px 0 0; padding:0; background:none; border:0; box-shadow:none; font-size:13px; line-height:1.4; color:#C0392B; } /* Flatsome ii dadea fundal gri */
.ensy-contact-form .wpcf7 .wpcf7-not-valid-tip::before,.ensy-contact-form .wpcf7 .wpcf7-not-valid-tip::after{ display:none; }
.ensy-contact-form .wpcf7 form .wpcf7-response-output{ margin:18px 0 0; padding:12px 14px; border:1px solid #E0A100; border-radius:8px; font-size:14.5px; color:var(--ensy-ink); }
.ensy-contact-form .wpcf7 form.sent .wpcf7-response-output{ border-color:var(--ensy-teal); background:var(--ensy-mist); }
.ensy-contact-form .wpcf7 form.failed .wpcf7-response-output,.ensy-contact-form .wpcf7 form.spam .wpcf7-response-output,.ensy-contact-form .wpcf7 form.aborted .wpcf7-response-output{ border-color:#C0392B; }
@media (max-width:600px){
  .ensy-contact-form{ margin-top:28px; padding:22px 18px; }
  .ensy-contact-form .row{ grid-template-columns:minmax(0,1fr); }
  .ensy-contact-form input[type="submit"].wpcf7-submit{ width:100%; }
}
