/* ─── eFruit v4 · Layout — MOBILE FIRST ─────────────────────────────────
   Base = mobile. Breakpoints: 480 / 640 / 768 / 1024 / 1280
   ──────────────────────────────────────────────────────────────────────── */
.ef-page{min-height:100vh;display:flex;flex-direction:column}
.ef-main{flex:1;padding-bottom:var(--ef-bottombar-h);padding-top:0}
.ef-main.is-home{padding-top:0;padding-bottom:0}

/* 404 */
.ef-404-wrap{max-width:800px;margin:0 auto;padding:0 16px}
@media(min-width:1024px){.ef-main{padding-bottom:0}.ef-main.is-home{padding-bottom:0}}

/* ════════════════════════════════════════════════════════════════════
   3-COLUMN LAYOUT — 20% / 60% / 20% su desktop, singola su mobile
   Max-width 1400px → sidebar 280px, corpo ~840px
   ════════════════════════════════════════════════════════════════════ */
.ef-layout{max-width:var(--ef-max-w);margin:0 auto;padding:0 14px;display:flex;flex-direction:column;gap:14px;min-height:0}
.ef-layout__left{display:none}
.ef-layout__center{min-width:0;flex:1}
.ef-layout__right{display:none}

@media(min-width:1024px){
  .ef-layout{display:grid;grid-template-columns:var(--ef-sidebar-w) minmax(0,1fr) var(--ef-cart-w);gap:20px;padding:0 20px}
  .ef-layout__left{display:block;position:sticky;top:15px;align-self:start;height:fit-content;overflow:visible}
  .ef-layout__right{display:block !important;position:sticky !important;top:15px !important;overflow-y:auto !important;align-self:start !important}
  /* No right sidebar: collapse to 0 so center gets full space */
  .ef-layout.no-right{grid-template-columns:var(--ef-sidebar-w) minmax(0,1fr)}
  .ef-layout.ef-page-1200{max-width:1200px;margin:0 auto}
  .ef-layout.no-left{grid-template-columns:minmax(0,1fr) var(--ef-cart-w)}
  .ef-layout.no-sidebars{grid-template-columns:minmax(0,1fr);max-width:760px}
  .ef-layout.no-sidebars .ef-layout__left,
  .ef-layout.no-sidebars .ef-layout__right{display:none !important}
  .ef-layout.no-sidebars .ef-layout__center{grid-column:1}
}
.admin-bar .ef-layout__left,.admin-bar .ef-layout__right{top:50px !important}
/* Account pages: sidebar fiato uguale a /shop — offset header sticky */
.woocommerce-account .ef-layout__left{max-height:calc(100vh - 120px)}
.admin-bar.woocommerce-account .ef-layout__left{top:146px;max-height:calc(100vh - 172px)}

/* ── Account pages: 2-col grid (left + center), no phantom right col ── */
/* Account: 2-col grid SOLO su desktop */
@media(min-width:1024px){
  .woocommerce-account .ef-layout{
    display: grid !important;
    grid-template-columns: var(--ef-sidebar-w) minmax(0,1fr) !important;
    grid-template-rows: auto 1fr;
    align-items: start;
    max-width: calc(var(--ef-max-w) - var(--ef-cart-w) - 20px) !important;
    padding: 0 20px;
    gap: 0 20px;
  }
  /* Header block: col 2, riga 1 — parte grande destra */
  .woocommerce-account .ef-layout > .ef-header-block {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: sticky;
    top: 0;
    z-index: 300;
    border-radius: 0 !important;
    margin: 0 !important;
    order: unset;
  }
  /* Sidebar: col 1, span 2 righe */
  .woocommerce-account .ef-layout > .ef-layout__left {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    position: sticky;
    top: 14px;
    align-self: start;
    order: unset;
  }
  /* Center: col 2, riga 2 */
  .woocommerce-account .ef-layout > .ef-layout__center {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0;
    order: unset;
  }
}
.woocommerce-account .ef-layout__right{ display:none !important; }
@media(max-width:782px){.admin-bar .ef-layout__left,.admin-bar .ef-layout__right{top:166px}}

/* Sidebar widget blocks */
.ef-sidebar-block{background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs);padding:0;margin:12px 0;max-height:calc(100vh - 140px);display:flex;flex-direction:column;overflow:hidden}
.ef-sidebar-block__title{font-size:.82rem;font-weight:700;color:#fff;background:var(--ef-orange);padding:0 14px;height:46px;display:flex;align-items:center;gap:6px;flex-shrink:0}
.ef-sidebar-block__title svg{stroke:#fff!important}
.ef-sidebar-block__scroll{flex:1;overflow-y:auto;padding:0}
.ef-sidebar-block__foot{padding:10px 14px 14px;flex-shrink:0}
.ef-sidebar-block__empty{font-size:.8125rem;font-weight:300;color:var(--ef-400);text-align:center;padding:16px 0}

/* Old .ef-wrap kept for backwards compat but mapped to center width */
.ef-wrap{max-width:var(--ef-max-w);margin:0 auto;padding:0 14px}

/* ════════════════════════════════════════════════════════════════════
   TOPBAR — HOME: pill gialla flottante (sola)
   ════════════════════════════════════════════════════════════════════ */
.ef-topbar-wrap{
  position:fixed;
  top:52px;
  left:0;right:0;
  z-index:300;
  padding:0 14px;
  pointer-events:none;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.ef-topbar-wrap .ef-topbar{pointer-events:all}
.admin-bar .ef-topbar-wrap{top:42px}
@media(max-width:782px){.admin-bar .ef-topbar-wrap{top:56px}}

.ef-topbar{
  max-width:800px !important;
  width:100%;
  margin:0 auto !important;
  background:#ffffff !important;
  border-radius:50px !important;
  height:60px;
  display:flex;
  align-items:center;
  padding:6px 8px 6px 8px !important;
  gap:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.10);
  box-sizing:border-box;
}

/* ── Topbar colori per contesto ─────────────────────────────────── */
/* Home B2C → bianca (default sopra) */
/* Shop/pagine B2C → arancio */
body:not(.home) .ef-topbar { background: var(--ef-orange) !important; }
body:not(.home) .ef-topbar .ef-topbar__addr-lbl,
body:not(.home) .ef-topbar .ef-topbar__addr-val,
body:not(.home) .ef-topbar .ef-topbar__access { color: #fff !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr-pin { color: rgba(255,255,255,.8) !important; }

/* Home B2B → nera */
body.is-b2b.home .ef-topbar { background: #000 !important; }
body.is-b2b.home .ef-topbar .ef-topbar__addr-lbl,
body.is-b2b.home .ef-topbar .ef-topbar__addr-val,
body.is-b2b.home .ef-topbar .ef-topbar__access { color: #fff !important; }

/* Shop/pagine B2B → gialla */
body.is-b2b:not(.home) .ef-topbar { background: #FCD537 !important; }
body.is-b2b:not(.home) .ef-header-top { background: #FCD537 !important; }
body.is-b2b:not(.home) .ef-topbar .ef-topbar__addr-lbl,
body.is-b2b:not(.home) .ef-topbar .ef-topbar__addr-val,
body.is-b2b:not(.home) .ef-topbar .ef-topbar__access { color: #000 !important; }
body.is-b2b:not(.home) .ef-topbar .ef-topbar__addr-pin { color: #000 !important; }

/* Testi topbar su sfondo bianco (home B2C) → scuri */
.home:not(.is-b2b) .ef-topbar .ef-topbar__addr-lbl { color: var(--ef-600, #555) !important; }
.home:not(.is-b2b) .ef-topbar .ef-topbar__addr-val { color: var(--ef-black, #111) !important; }
.home:not(.is-b2b) .ef-topbar .ef-topbar__access   { color: var(--ef-black, #111) !important; }
.home:not(.is-b2b) .ef-topbar .ef-topbar__addr-pin { color: var(--ef-orange) !important; }

/* ════════════════════════════════════════════════════════════════════
   HEADER BLOCK — NON-HOME: sticky dentro colonna centro
   Giallo + searchbar in un unico container, ombra, radius solo basso
   ════════════════════════════════════════════════════════════════════ */
/* ef-header-block — ora gestito nel blocco "inline LinkedIn-style" */

/* ef-header-top e ef-header-search ora gestiti nel blocco inline */

/* ════════════════════════════════════════════════════════════════════
   TOPBAR INNER — elementi condivisi (addr, lang, user)
   ════════════════════════════════════════════════════════════════════ */
.ef-topbar__addr{
  display:flex;align-items:center;gap:8px;
  flex:1;min-width:0;
  background:rgba(255,255,255,.1);border:none;cursor:pointer;
  padding:6px 10px;border-radius:8px;
  text-align:left;font-family:var(--ef-font);
  transition:background .18s ease;
}
.ef-topbar__addr:hover{background:rgba(255,255,255,.2)}
/* Home B2C: sfondo bianco → addr leggero grigio sempre visibile */
.home:not(.is-b2b) .ef-topbar__addr{background:rgba(0,0,0,.05)}
.home:not(.is-b2b) .ef-topbar__addr:hover{background:rgba(0,0,0,.1)}
/* Home B2B: sfondo nero → addr bianco leggero */
.home.is-b2b .ef-topbar__addr{background:rgba(255,255,255,.08)}
.home.is-b2b .ef-topbar__addr:hover{background:rgba(255,255,255,.15)}
.ef-topbar__addr-pin{color:var(--ef-orange, #FA4F26);flex-shrink:0}
.ef-topbar__addr-text{display:flex;flex-direction:column;min-width:0}
.ef-topbar__addr-lbl{font-size:.75rem;font-weight:300;color:#fff;line-height:1.2;white-space:nowrap}
.ef-topbar__addr-val{font-size:.9375rem;font-weight:700;color:#fff;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}
@media(max-width:480px){.ef-topbar__addr-val{font-size:.85rem}}

.ef-topbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ef-topbar__lang{
  background:none;border:1.5px solid rgba(0,0,0,.2);border-radius:8px;
  padding:6px 10px;font-size:.875rem;font-weight:500;color:var(--ef-black, #111);
  font-family:var(--ef-font);cursor:pointer;
  transition:border-color .18s ease;white-space:nowrap;
}
.ef-topbar__lang:hover{border-color:var(--ef-black)}
.ef-topbar__access{font-size:.9375rem;font-weight:700;color:var(--ef-black, #111);text-decoration:none;padding:5px 6px;transition:color .18s ease}
.ef-topbar__access:hover{color:var(--ef-orange)}
.ef-topbar__register{font-size:.9375rem;font-weight:400;color:var(--ef-700, #444);text-decoration:none;padding:5px 6px;transition:color .18s ease}
.ef-topbar__register:hover{color:var(--ef-black)}
.ef-topbar__user{
  display:flex;align-items:center;gap:5px;background:rgba(0,0,0,.08);
  border:1.5px solid rgba(0,0,0,.12);border-radius:8px;padding:6px 12px;
  font-size:.875rem;font-weight:600;color:var(--ef-black, #111);
  font-family:var(--ef-font);cursor:pointer;transition:background .18s ease;white-space:nowrap;
}
.ef-topbar__user:hover{background:rgba(0,0,0,.14)}
@media(max-width:400px){
  .ef-topbar__register{display:none}
}

/* ════════════════════════════════════════════════════════════════════
   USER DROPDOWN — tendina dal pulsante nome utente
   ════════════════════════════════════════════════════════════════════ */
.ef-usermenu{position:relative}
.ef-usermenu__dd{
  display:none;position:absolute;top:calc(100% + 6px);right:0;
  min-width:200px;background:#fff;border-radius:var(--r);
  box-shadow:0 6px 24px rgba(0,0,0,.14);border:1px solid var(--ef-200);
  z-index:9000;overflow:hidden;
  animation:efFadeDown .15s ease both;
}
.ef-usermenu.is-open .ef-usermenu__dd{display:block}
.ef-usermenu__item{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;font-size:.875rem;font-weight:500;
  color:var(--ef-700);text-decoration:none;
  transition:background var(--ease),color var(--ease);
  cursor:pointer;border:none;background:none;width:100%;
  font-family:var(--ef-font);
}
.ef-usermenu__item:hover{background:var(--ef-100);color:var(--ef-orange)}
.ef-usermenu__item--danger{color:var(--ef-orange)}
.ef-usermenu__item--danger:hover{background:#fff3f0}
.ef-usermenu__sep{height:1px;background:var(--ef-200);margin:4px 0}
@keyframes efFadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* ════════════════════════════════════════════════════════════════════
   SEARCHBAR INNER — elementi del campo ricerca (dentro header-search)
   ════════════════════════════════════════════════════════════════════ */
.ef-searchbar__logo{
  width:40px;height:40px;border-radius:50%;background:var(--ef-orange);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;text-decoration:none;overflow:hidden;border:none;outline:none;box-shadow:none;
}
.ef-searchbar__logo img{width:40px;height:40px;object-fit:contain;display:block;border-radius:0}
.ef-searchbar__form{
  flex:1;position:relative;display:flex;align-items:center;
  border:1.5px solid var(--ef-300);border-radius:var(--r-sm);
  background:#fff;transition:border-color var(--ease);overflow:hidden;
}
.ef-searchbar__form:focus-within{border-color:var(--ef-orange)}
.ef-searchbar__input{
  flex:1;border:none;outline:none;padding:10px;
  font-size:.9375rem;font-weight:300;color:var(--ef-black);
  background:transparent;font-family:var(--ef-font);
}
.ef-searchbar__input::placeholder{color:var(--ef-400)}
.ef-searchbar__filter{
  background:none;border:none;cursor:pointer;padding:8px 10px;
  color:var(--ef-500);display:flex;align-items:center;
  transition:color var(--ease);flex-shrink:0;border-left:1px solid var(--ef-200);
}
.ef-searchbar__filter:hover{color:var(--ef-orange)}
.ef-searchbar__submit{
  background:var(--ef-orange);color:#fff;border:none;border-radius:50px;
  padding:0 22px;font-weight:700;font-size:.875rem;cursor:pointer;
  white-space:nowrap;font-family:var(--ef-font);flex-shrink:0;
  transition:background var(--ease);height:44px;display:flex;align-items:center;
}
.ef-searchbar__submit:hover{background:var(--ef-orange-d)}

/* Autocomplete */
.ef-autocomplete{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:#fff;border:1px solid var(--ef-200);
  border-radius:var(--r-sm);box-shadow:var(--sh);z-index:20000;display:none;
}
.ef-autocomplete.is-open{display:block}
.ef-ac-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:.875rem;font-weight:300;border-bottom:1px solid rgba(0,0,0,.06);transition:background var(--ease)}
.ef-ac-item:last-child{border-bottom:none}
.ef-ac-item:hover{background:var(--ef-orange-l)}
.ef-ac-item__type{font-size:.75rem;font-weight:600;color:var(--ef-400);margin-left:auto}

/* ════════════════════════════════════════════════════════════════════
   CATNAV — card con ombra, dentro il corpo centrale, scroll orizzontale
   ════════════════════════════════════════════════════════════════════ */
.ef-catnav-card{
  background:#fff;
  border-radius:var(--r);
  box-shadow:var(--sh-xs);
  margin-bottom:14px;
  overflow:hidden;
  padding:6px;
}
.ef-catnav{
  display:flex;align-items:center;
  height:68px;
  overflow:hidden;
  position:relative;
}
.ef-catnav__arr{
  background:#fff;border:none;cursor:pointer;
  padding:0 8px;height:100%;
  color:var(--ef-500);display:flex;align-items:center;flex-shrink:0;
  transition:color var(--ease);position:relative;z-index:3;
}
.ef-catnav__arr:hover{color:var(--ef-orange)}
.ef-catnav__track{flex:1;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;cursor:grab;position:relative}
.ef-catnav__track *{-webkit-user-drag:none;user-drag:none}
.ef-catnav__track::-webkit-scrollbar{display:none}
/* Fade edges — wide gradual fade */
.ef-catnav::before,.ef-catnav::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;transition:opacity .3s}
.ef-catnav::before{left:30px;background:linear-gradient(to right,#fff,transparent)}
.ef-catnav::after{right:30px;background:linear-gradient(to left,#fff,transparent)}
.ef-catnav.no-fade-left::before{opacity:0}
.ef-catnav.no-fade-right::after{opacity:0}
.ef-catnav__inner{display:flex;align-items:center;gap:6px;padding:8px 0;min-width:max-content}
.ef-catnav__item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:8px 16px;border-radius:var(--r);
  cursor:pointer;white-space:nowrap;min-width:78px;min-height:68px;
  border:1.5px solid var(--ef-200);
  text-decoration:none;color:var(--ef-700);
  transition:all var(--ease);background:#fff;
  font-family:var(--ef-font);
}
.ef-catnav__item:hover{background:#FFF3EF;border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-catnav__item.is-on{background:var(--ef-orange);color:#fff;border-color:var(--ef-orange)}
.ef-catnav__item--tutto{justify-content:center;align-items:center}
.ef-catnav__item--tutto .ef-catnav__label{font-weight:700;font-size:.85rem}
.ef-catnav__icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center}
.ef-catnav-png{width:28px;height:28px;object-fit:contain;transition:filter var(--ease)}
.ef-catnav__item.is-on .ef-catnav-png{filter:brightness(0) invert(1)}
.ef-catnav__label{font-size:.75rem;font-weight:500;line-height:1.2;text-align:center}

/* ════════════════════════════════════════════════════════════════════
   BOTTOM BAR — app-like, mobile only: Home / Cerca / Carrello €
   ════════════════════════════════════════════════════════════════════ */
.ef-bottombar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--ef-200);display:flex;height:var(--ef-bottombar-h);padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0)}
@media(min-width:1024px){.ef-bottombar{display:none}}
.ef-bottombar__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:none;background:none;cursor:pointer;font-family:var(--ef-font);font-size:.75rem;font-weight:500;color:var(--ef-500);transition:color var(--ease);position:relative;text-decoration:none}
.ef-bottombar__btn:hover,.ef-bottombar__btn.is-on{color:var(--ef-orange)}
.ef-bottombar__btn.is-on .i svg{stroke:var(--ef-orange)}
.ef-bottombar__cart{flex:1.3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border:none;background:none;cursor:pointer;font-family:var(--ef-font);font-size:.75rem;font-weight:500;color:var(--ef-500);position:relative;text-decoration:none;transition:color var(--ease)}
.ef-bottombar__cart:hover,.ef-bottombar__cart.is-on{color:var(--ef-orange)}
.ef-bottombar__cart-icon{position:relative;display:flex;align-items:center}
.ef-bottombar__badge{position:absolute;top:2px;right:4px;background:var(--ef-orange);color:#fff;min-width:16px;height:16px;border-radius:8px;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.ef-bottombar__total{font-size:.75rem;font-weight:700;color:var(--ef-orange)}

/* ════════════════════════════════════════════════════════════════════
   CART DRAWER — slide-up sheet (mobile, dal bottom bar)
   ════════════════════════════════════════════════════════════════════ */
.ef-cart-drawer{position:fixed;inset:0;z-index:8500;display:none;align-items:flex-end;justify-content:center}
.ef-cart-drawer.is-open{display:flex}
.ef-cart-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.ef-cart-drawer__sheet{position:relative;z-index:1;background:#fff;border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;animation:efSlideUp .25s cubic-bezier(.34,1.1,.64,1) both}
.ef-cart-drawer__head{padding:16px 18px 12px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ef-cart-drawer__title{font-size:1.0625rem;font-weight:600;display:flex;align-items:center;gap:8px}
.ef-cart-drawer__close{background:none;border:none;cursor:pointer;color:var(--ef-400);padding:4px;border-radius:6px;display:flex;transition:color var(--ease)}
.ef-cart-drawer__close:hover{color:var(--ef-black)}
.ef-cart-drawer__body{flex:1;overflow-y:auto;padding:14px 22px 14px 18px}
.ef-cart-drawer__foot{padding:14px 18px;border-top:1px solid var(--ef-100);flex-shrink:0;position:relative;z-index:1;box-shadow:0 -20px 20px -5px rgba(255,255,255,.9)}
.ef-cart-drawer__checkout{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ef-orange);color:#fff;border:none;border-radius:var(--r-sm);padding:13px;font-weight:600;font-size:.9375rem;cursor:pointer;font-family:var(--ef-font);width:100%;transition:background var(--ease);text-decoration:none}
.ef-cart-drawer__checkout:hover{background:var(--ef-orange-d)}

/* ════════════════════════════════════════════════════════════════════
   FILTER SHEET — slide-up (mobile, dal pulsante filtri)
   ════════════════════════════════════════════════════════════════════ */
.ef-filter-sheet{position:fixed;inset:0;z-index:8500;display:none;align-items:flex-end;justify-content:center}
.ef-filter-sheet.is-open{display:flex}
.ef-filter-sheet__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.ef-filter-sheet__panel{position:relative;z-index:1;background:#fff;border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;animation:efSlideUp .25s cubic-bezier(.34,1.1,.64,1) both}
.ef-filter-sheet__head{padding:16px 18px 12px;border-bottom:none;display:flex;align-items:center;justify-content:space-between;background:var(--ef-orange);border-radius:15px 15px 0 0;color:#fff}
.ef-filter-sheet__close{color:#fff!important}
.ef-filter-sheet__title{font-size:1.0625rem;font-weight:600}
.ef-filter-sheet__close{background:none;border:none;cursor:pointer;color:var(--ef-400);padding:4px;border-radius:6px;display:flex}
.ef-filter-sheet__body{flex:1;overflow-y:auto;padding:10px 16px}
.ef-filter-sheet__foot{padding:12px 16px;border-top:1px solid var(--ef-100);display:flex;gap:8px;flex-shrink:0}
.ef-filter-sheet__apply{flex:1;background:var(--ef-orange);color:#fff;border:none;border-radius:var(--r-sm);padding:12px;font-weight:600;font-size:.9375rem;cursor:pointer;font-family:var(--ef-font)}
.ef-filter-sheet__reset{background:var(--ef-100);color:var(--ef-700);border:none;border-radius:var(--r-sm);padding:12px 18px;font-weight:500;font-size:.875rem;cursor:pointer;font-family:var(--ef-font)}

/* Quick Filters — popup search bar */
.ef-qf__section{margin-bottom:16px}
.ef-qf__title{font-size:.8125rem;font-weight:600;color:var(--ef-black);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ef-qf__toggles{display:flex;flex-wrap:wrap;gap:6px}
.ef-qf__toggle{cursor:pointer;display:inline-flex}
.ef-qf__toggle input{display:none}
.ef-qf__pill{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:16px;border:1.5px solid var(--ef-200);font-size:.74rem;font-weight:500;color:var(--ef-600);background:#fff;transition:all var(--ease);user-select:none;white-space:nowrap}
.ef-qf__pill:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-qf__toggle input:checked+.ef-qf__pill{background:var(--ef-orange);color:#fff;border-color:var(--ef-orange);font-weight:600}

/* FILTER SIDEBAR */
.ef-filter{background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs);overflow:hidden}
.ef-filter__head{background:var(--ef-orange);padding:13px 16px;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:space-between}
.ef-filter__reset{font-size:.75rem;font-weight:500;color:var(--ef-700);cursor:pointer;background:none;border:none;font-family:var(--ef-font);text-decoration:underline}
.ef-filter__section{border-top:1px solid var(--ef-100)}
.ef-filter__sec-btn{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;font-size:.875rem;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:var(--ef-font);color:var(--ef-black)}
.ef-filter__sec-btn .i{transition:transform var(--ease)}
.ef-filter__section.is-closed .ef-filter__sec-btn .i{transform:rotate(-90deg)}
.ef-filter__section.is-closed .ef-filter__sec-body{display:none}
.ef-filter__sec-body{padding:4px 16px 14px}
.ef-filter__list{display:flex;flex-direction:column;gap:6px}
.ef-filter__row{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:300;cursor:pointer;color:var(--ef-700)}
.ef-filter__row input[type=checkbox]{accent-color:var(--ef-orange);width:15px;height:15px}
.ef-filter__row-count{color:var(--ef-400);margin-left:auto;font-size:.875rem}
.ef-filter__more{font-size:.875rem;color:var(--ef-orange);font-weight:600;cursor:pointer;margin-top:8px;background:none;border:none;font-family:var(--ef-font);display:flex;align-items:center;gap:4px;padding:0}
.ef-price-range{padding:4px 0 8px}
.ef-price-range__inputs{display:flex;align-items:center;gap:6px;margin-bottom:14px}
.ef-price-range__field{flex:1;display:flex;flex-direction:column;gap:3px}
.ef-price-range__label{font-size:.75rem;font-weight:500;color:var(--ef-500)}
.ef-price-range__input-wrap{display:flex;align-items:center;border:1.5px solid var(--ef-200);border-radius:var(--r-sm);padding:6px 8px;background:#fff;transition:border-color var(--ease)}
.ef-price-range__input-wrap:focus-within{border-color:var(--ef-orange)}
.ef-price-range__euro{font-size:.875rem;font-weight:500;color:var(--ef-500);margin-right:2px}
.ef-price-range__input{border:none;outline:none;width:100%;font-family:var(--ef-font);font-size:.875rem;font-weight:500;color:var(--ef-black);background:transparent}
.ef-price-range__input::-webkit-inner-spin-button,.ef-price-range__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ef-price-range__input{-moz-appearance:textfield}
.ef-price-range__dash{color:var(--ef-300);font-weight:300;margin-top:16px}
.ef-price-range__slider{position:relative;height:24px;margin-top:2px}
.ef-price-range__track{position:absolute;top:10px;left:0;right:0;height:4px;border-radius:2px;background:var(--ef-200)}
.ef-price-range__fill{position:absolute;top:10px;height:4px;border-radius:2px;background:var(--ef-orange)}
.ef-price-range__thumb{position:absolute;top:0;left:0;width:100%;height:24px;-webkit-appearance:none;appearance:none;background:none;pointer-events:none;margin:0}
.ef-price-range__thumb::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ef-orange);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:pointer;pointer-events:all;position:relative;z-index:1}
.ef-price-range__thumb::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ef-orange);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:pointer;pointer-events:all}

/* CART PANEL */
.ef-cart-panel{background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs);overflow:hidden}
.ef-cart-panel__head{background:var(--ef-orange);color:#fff;padding:13px 16px;font-weight:600;font-size:1rem}
.ef-cart-panel__body{padding:14px 16px;min-height:80px;max-height:calc(100vh - 320px);overflow-y:auto}
.ef-cart-panel__empty{text-align:center;padding:20px 0;color:var(--ef-400);font-size:.875rem;font-weight:300}
.ef-cart-items{display:flex;flex-direction:column;gap:14px}
.ef-ci-vendor{display:flex;flex-direction:column;gap:6px}
.ef-ci-vendor__name{font-size:.75rem;font-weight:600;color:var(--ef-500);display:flex;align-items:center;gap:5px;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.06);text-decoration:none;transition:color var(--ease)}
a.ef-ci-vendor__name:hover{color:var(--ef-orange)}
.ef-ci{display:flex;gap:8px;align-items:center;padding:4px 0}
.ef-ci__info{flex:1;min-width:0;display:flex;align-items:baseline}
.ef-ci__name{font-size:.82rem;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:inherit;flex:1;min-width:0}
a.ef-ci__name:hover{color:var(--ef-orange)}
.ef-ci__meta{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ef-ci__qty{font-size:.78rem;font-weight:600;color:var(--ef-orange);margin-right:4px;flex-shrink:0}
.ef-ci__price{font-weight:700;font-size:.82rem;color:var(--ef-orange);flex-shrink:0;text-align:right;min-width:70px}
.ef-ci__rm{background:none;border:none;cursor:pointer;color:var(--ef-300);display:flex;padding:2px;transition:color var(--ease)}
.ef-ci__rm:hover{color:var(--ef-red)}
.ef-cart-panel__foot{padding:0 16px 16px}
.ef-cart-panel__total{display:flex;justify-content:space-between;font-weight:700;font-size:1rem;padding:12px 0;border-top:1px solid rgba(0,0,0,.06);margin-top:4px}
.ef-cart-panel__total span:last-child{color:var(--ef-orange)}
.ef-cart-panel__cta{display:block;background:var(--ef-orange);color:#fff;text-align:center;border-radius:var(--r-sm);padding:12px;font-weight:600;font-size:.9375rem;transition:background var(--ease)}
.ef-cart-panel__cta:hover{background:var(--ef-orange-d)}

/* ════════════════════════════════════════════════════════════════════
   BREADCRUMB
   ════════════════════════════════════════════════════════════════════ */
.ef-breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 0;margin-bottom:10px;font-size:.875rem}
.ef-breadcrumb__link{color:var(--ef-500);text-decoration:none;font-weight:400;transition:color var(--ease)}
.ef-breadcrumb__link:hover{color:var(--ef-orange)}
.ef-breadcrumb__sep{color:var(--ef-300);display:flex;align-items:center}
.ef-breadcrumb__current{color:var(--ef-black);font-weight:600}

/* ════════════════════════════════════════════════════════════════════
   CATEGORY COVER BANNER
   ════════════════════════════════════════════════════════════════════ */
.ef-cat-cover{position:relative;border-radius:var(--r);overflow:hidden;min-height:120px;margin-bottom:14px;background-size:cover;background-position:center}
@media(min-width:640px){.ef-cat-cover{min-height:140px}}
.ef-cat-cover__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.15) 100%)}
.ef-cat-cover__body{position:relative;z-index:1;padding:20px 24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.ef-cat-cover__label{font-size:.75rem;font-weight:400;opacity:.8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.ef-cat-cover__title{font-family:var(--ef-font-heading);font-size:1.375rem;font-weight:700;margin:0 0 8px;line-height:1.2}
@media(min-width:640px){.ef-cat-cover__title{font-size:1.625rem}}
.ef-cat-cover__stats{display:flex;gap:10px;flex-wrap:wrap}
.ef-cat-cover__stat{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);padding:4px 10px;border-radius:20px;font-size:.8125rem;font-weight:400}
.ef-cat-cover__stat strong{font-weight:700}

/* ════════════════════════════════════════════════════════════════════
   SIDEBAR — Sottocategorie dinamiche
   ════════════════════════════════════════════════════════════════════ */
.ef-subcat-list{list-style:none;padding:0;margin:0 0 4px;display:flex;flex-direction:column;gap:2px}
.ef-subcat-list__item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--r-sm);font-size:.875rem;font-weight:400;color:var(--ef-700);text-decoration:none;transition:background var(--ease),color var(--ease)}
.ef-subcat-list__item:hover{background:var(--ef-100);color:var(--ef-orange)}
.ef-subcat-list__item.is-on{background:var(--ef-orange-l,#fff0eb);color:var(--ef-orange);font-weight:600}
.ef-subcat-list__count{font-size:.75rem;font-weight:300;color:var(--ef-400);background:var(--ef-100);padding:1px 7px;border-radius:10px}
.ef-subcat-list__item.is-on .ef-subcat-list__count{background:var(--ef-orange);color:#fff}
.ef-sitemap__macro{display:block;font-weight:600;font-size:.9375rem;color:var(--ef-black);text-decoration:none;padding:8px 12px;background:var(--ef-200,#e5e5e5);border-radius:var(--r-sm) var(--r-sm) 0 0;transition:background var(--ease),color var(--ease)}
.ef-sitemap__macro:hover{background:var(--ef-orange);color:#fff}
.ef-sitemap__link-count{font-size:.75rem;font-weight:300;color:var(--ef-400);margin-left:4px}
.ef-sidebar-block__sep{height:1px;background:var(--ef-200);margin:12px 0}

/* PRODUCT GRID */
/* PRODUCT GRID — 1 col narrow → 2 col mobile/tablet → 3 col desktop */
.ef-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:1024px){.ef-grid{grid-template-columns:repeat(3,1fr);gap:14px}}

/* PRODUCT CARD */
.ef-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-xs);display:flex;flex-direction:column;transition:box-shadow var(--ease),transform var(--ease)}
.ef-card:hover{box-shadow:var(--sh);transform:translateY(-2px)}

/* Image — 4:3 ratio */
.ef-card__img-wrap{position:relative;overflow:hidden;background:var(--ef-100)}
.ef-card__img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .3s ease}
.ef-card__img--empty{background:var(--ef-100);display:flex;align-items:center;justify-content:center;color:var(--ef-300)}
.ef-card:hover .ef-card__img{transform:scale(1.04)}

/* Flag top-left */
.ef-card__flag{position:absolute;top:8px;left:8px;color:#fff;font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:var(--r-xs);text-transform:uppercase;letter-spacing:.02em}
.ef-card__flag--new{background:var(--ef-green)}
.ef-card__flag--sale{background:var(--ef-orange)}

/* Wishlist top-right */
.ef-card__wish{position:absolute;top:8px;right:8px;background:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.1);color:var(--ef-400);transition:color var(--ease)}
.ef-card__wish:hover,.ef-card__wish.is-on{color:var(--ef-orange)}

/* Certification badges bottom-left on image */
.ef-card__badges{position:absolute;bottom:8px;left:8px;display:flex;gap:4px;flex-wrap:wrap}
.ef-card__badge{font-size:.65rem;font-weight:600;padding:3px 8px;border-radius:10px;letter-spacing:.03em;text-transform:uppercase}
.ef-card__badge--cert{background:#dcfce7;color:#15803d}
.ef-card__chars{display:flex;gap:4px;overflow:hidden;margin:4px 0;flex-wrap:nowrap;position:relative;-webkit-mask-image:linear-gradient(to right,#000 80%,transparent 100%);mask-image:linear-gradient(to right,#000 80%,transparent 100%)}
.ef-card__char{font-size:.65rem;font-weight:500;padding:2px 7px;border-radius:10px;border:1px solid #1D9E75;color:#1D9E75;white-space:nowrap;flex-shrink:0}

/* Body */
.ef-card__body{padding:11px 13px 9px;flex:1;display:flex;flex-direction:column;gap:0}
.ef-card__name{font-family:var(--ef-font-heading);font-weight:600;font-size:1rem;line-height:1.3;color:var(--ef-black);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-bottom:4px}
.ef-card__name:hover{color:var(--ef-orange)}

/* Vendor */
.ef-card__vendor{margin-bottom:4px}
.ef-card__vendor-link,.ef-card__vendor span{color:var(--ef-500);text-decoration:none;display:flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:300;transition:color var(--ease)}
.ef-card__vendor-link:hover{color:var(--ef-orange)}

/* Rating + origin row */
.ef-card__meta-row{display:flex;align-items:center;gap:5px;margin-bottom:4px}
.ef-card__rating{display:flex;align-items:center;gap:1px;font-size:.8125rem;color:var(--ef-black)}
.ef-card__rating strong{font-weight:600;font-size:.8125rem;margin-right:3px}
.ef-card__rating span{font-weight:300;color:var(--ef-500);font-size:.700rem;margin-left:2px}
.ef-card__rating .i{color:var(--ef-yellow-d)}
.ef-card__origin{margin-left:auto;font-size:.72rem;font-weight:500;color:var(--ef-500);text-align:right;line-height:1.4;max-width:55%;min-width:0}
.ef-card__origin-label{display:block;font-size:.63rem;font-weight:400;color:var(--ef-400);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1px}
.ef-card__origin-val{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* Price block */
.ef-card__price-block{display:flex;align-items:baseline;gap:6px;margin:5px 0 2px}
.ef-card__price{font-weight:700;font-size:1.1rem;color:var(--ef-orange)}
.ef-card__price-old{font-size:.9375rem;font-weight:300;color:var(--ef-400);text-decoration:line-through}
.ef-card__unit-price{font-size:.75rem;font-weight:300;color:var(--ef-500);margin-bottom:3px}

/* Leghe + availability row */
.ef-card__info-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:5px}
.ef-card__leghe{display:flex;align-items:center;gap:3px;font-size:.75rem;font-weight:500;color:var(--ef-yellow-d)}
.ef-card__leghe .i{color:var(--ef-yellow-d)}
.ef-card__avail{font-size:.75rem;font-weight:500}

/* Add row */
.ef-card__add-row{display:flex;align-items:stretch;border-top:1px solid var(--ef-100);margin-top:0}
.ef-card__qty-btn{background:none;border:none;padding:8px 12px;cursor:pointer;color:var(--ef-700);font-size:1.1rem;transition:color var(--ease);display:flex;align-items:center}
.ef-card__qty-btn:hover{color:var(--ef-orange)}
.ef-card__qty-val{font-weight:600;font-size:1rem;min-width:24px;text-align:center;display:flex;align-items:center;justify-content:center}
.ef-card__add{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--ef-orange);color:#fff;border:none;border-left:1px solid rgba(255,255,255,.2);padding:0 12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:background var(--ease);font-family:var(--ef-font);min-height:42px}
.ef-card__add:hover{background:var(--ef-orange-d)}
.ef-card__add:disabled{background:var(--ef-300);cursor:not-allowed}

/* SHOP TOOLBAR */
.ef-shop-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border-radius:var(--r);padding:10px 14px;box-shadow:var(--sh-xs);margin-bottom:14px}
.ef-shop-toolbar__count{font-size:.875rem;font-weight:300;color:var(--ef-500);flex:1}
.ef-shop-toolbar__count p{margin:0;padding:0;line-height:1}
.ef-shop-toolbar .woocommerce-ordering{margin:0}
.woocommerce-result-count{margin:0;padding:0}
.ef-shop-toolbar .woocommerce-ordering select{padding:6px 32px 6px 10px;border:1.5px solid var(--ef-300);border-radius:var(--r-sm);font-size:.8rem;font-family:var(--ef-font);outline:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;-webkit-appearance:none}

/* LOAD MORE */
.ef-loadmore{text-align:center;padding:24px 0 8px}
.ef-loadmore__btn{background:#fff;color:var(--ef-orange);border:1.5px solid var(--ef-orange);border-radius:var(--r-sm);padding:12px 32px;font-size:.9375rem;font-weight:600;cursor:pointer;font-family:var(--ef-font);transition:background var(--ease),color var(--ease)}
.ef-loadmore__btn:hover{background:var(--ef-orange);color:#fff}
.ef-loadmore__btn:disabled{opacity:.5;cursor:wait}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.woocommerce-ordering .orderby{padding:8px 32px 8px 12px;border:1.5px solid var(--ef-200);border-radius:var(--r-sm);font-size:.875rem;font-family:var(--ef-font);outline:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;-webkit-appearance:none;transition:border-color var(--ease)}
.woocommerce-ordering select:focus{border-color:var(--ef-orange)}

/* PROMO BANNER */
.ef-promo{border-radius:var(--r);overflow:hidden;position:relative;min-height:160px;display:flex;align-items:flex-end}
@media(min-width:640px){.ef-promo{min-height:200px}}
.ef-promo__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ef-promo__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 100%)}
.ef-promo__body{position:relative;padding:20px;z-index:1;color:#fff}
.ef-promo__eye{font-size:.75rem;font-weight:300;opacity:.85;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}
.ef-promo__title{font-size:1.1rem;font-weight:700;line-height:1.25;margin-bottom:12px}
@media(min-width:640px){.ef-promo__title{font-size:1.375rem}}
.ef-promo__btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ef-black);padding:8px 18px;border-radius:var(--r-sm);font-weight:600;font-size:.875rem;text-decoration:none;transition:background var(--ease)}
.ef-promo__btn:hover{background:var(--ef-yellow)}

/* SECTION HEAD — titolo + link "vedi tutto" */
.ef-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.ef-sec-head__title{font-family:var(--ef-font-heading);font-size:1.25rem;font-weight:700;color:var(--ef-black)}
.ef-sec-head__link{font-size:.875rem;font-weight:500;color:var(--ef-orange);display:flex;align-items:center;gap:4px;text-decoration:none;white-space:nowrap;transition:opacity var(--ease)}
.ef-sec-head__link:hover{opacity:.75}

/* CATEGORY BANNER GRID — 2 colonne uguali */
.ef-catgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:480px){.ef-catgrid{grid-template-columns:repeat(3,1fr)}}
.ef-catgrid__item{position:relative;border-radius:var(--r);overflow:hidden;min-height:160px;display:flex;align-items:flex-end;text-decoration:none;color:#fff}
.ef-catgrid__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ef-catgrid__item:hover .ef-catgrid__bg{transform:scale(1.04)}
.ef-catgrid__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.05) 60%)}
.ef-catgrid__body{position:relative;z-index:1;padding:16px 18px;width:100%}
.ef-catgrid__eye{font-size:.75rem;font-weight:400;opacity:.85;margin-bottom:3px}
.ef-catgrid__title{font-size:1.125rem;font-weight:700;line-height:1.25}
@media(min-width:640px){.ef-catgrid__item{min-height:190px}.ef-catgrid__title{font-size:1.25rem}}

/* ════════════════════════════════════════════════════════════════════
   VENDOR CARD — card venditore per home e listing
   ════════════════════════════════════════════════════════════════════ */
.ef-vcard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-xs);display:flex;flex-direction:column;transition:box-shadow var(--ease);text-decoration:none;color:inherit}
.ef-vcard:hover{box-shadow:var(--sh)}
.ef-vcard__cover{position:relative;height:100px;overflow:hidden;background:var(--ef-100)}
.ef-vcard__cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ef-vcard:hover .ef-vcard__cover img{transform:scale(1.03)}
.ef-vcard__logo{position:absolute;bottom:-22px;left:14px;width:48px;height:48px;border-radius:50%;border:3px solid #fff;background:#fff;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center}
.ef-vcard__logo img{width:100%;height:100%;object-fit:cover}
.ef-vcard__logo-fallback{width:100%;height:100%;background:var(--ef-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9375rem;border-radius:50%}
.ef-vcard__body{padding:28px 14px 14px;flex:1;display:flex;flex-direction:column;gap:4px}
.ef-vcard__name{font-family:var(--ef-font-heading);font-weight:700;font-size:1rem;color:var(--ef-black);display:flex;align-items:center;gap:6px}
.ef-vcard__verified{color:var(--ef-green);display:flex;flex-shrink:0}
.ef-vcard__cat{font-size:.75rem;font-weight:300;color:var(--ef-500)}
.ef-vcard__bio{font-size:.8125rem;font-weight:300;color:var(--ef-600);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ef-vcard__foot{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--ef-100);font-size:.75rem;color:var(--ef-500)}
.ef-vcard__stat{display:flex;align-items:center;gap:3px}
.ef-vcard__stat strong{font-weight:600;color:var(--ef-black)}

/* STORE INFO SIDEBAR */
/* ══════════════════════════════════════════════════════════════════════
   VENDOR SHOP — layout & cover
   ════════════════════════════════════════════════════════════════════ */

/* Admin bar */
/* Vendor shop card */

/* Sidebar widget — yellow header */
.ef-sinfo{background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs);overflow:visible}
.ef-sinfo__block{border-top:1px solid var(--ef-100)}
.ef-sinfo__block:first-child{border-top:none}
.ef-sinfo__head{background:var(--ef-orange);color:#fff;padding:10px 14px;font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:8px}
.ef-sinfo__head svg{stroke:#fff !important;flex-shrink:0}
.ef-sinfo__edit{background:none;border:none;cursor:pointer;color:var(--ef-700);padding:3px;display:flex;border-radius:4px;transition:color var(--ease),background var(--ease)}
.ef-sinfo__edit:hover{color:var(--ef-orange);background:rgba(0,0,0,.06)}
.ef-sinfo__body{padding:12px 14px}
.ef-sinfo__addr{display:flex;gap:7px;align-items:flex-start;font-size:.8125rem;font-weight:300;color:var(--ef-700);line-height:1.5;margin-bottom:6px;background:rgba(0,0,0,.05);border-radius:10px;transition:background .18s;padding:6px 10px;cursor:pointer;text-decoration:none}
.ef-sinfo__addr:hover{background:rgba(0,0,0,.09)}
.ef-sinfo__bio{font-size:.8125rem;font-weight:300;color:var(--ef-700);line-height:1.6;margin-top:4px}
.ef-sinfo__note{font-size:.8125rem;color:var(--ef-600,#555);line-height:1.55;margin-top:10px;padding-top:10px;border-top:1px solid var(--ef-100)}
.ef-sinfo__note strong{font-weight:600;display:block}

/* Hours table */
.ef-hours{display:flex;flex-direction:column;gap:3px;font-size:.8125rem}
.ef-hours__row{display:grid;grid-template-columns:90px 1fr;gap:4px;padding:2px 0}
.ef-hours__day{font-weight:600;color:var(--ef-800,#333)}
.ef-hours__time{font-weight:300;color:var(--ef-700)}
.ef-hours__closed{color:var(--ef-400);font-weight:300}

/* Delivery list */
.ef-delivery-list{display:flex;flex-direction:column;gap:8px;overflow:hidden}
.ef-delivery-row{display:flex;align-items:center;gap:7px;font-size:.8125rem}
.ef-delivery-zone{background:var(--ef-orange);color:#fff;font-weight:700;font-size:.75rem;padding:2px 7px;border-radius:var(--r-xs);flex-shrink:0;letter-spacing:.02em}
.ef-delivery-zone.zip{background:var(--ef-orange-l,#fff3ef);color:var(--ef-orange)}
.ef-delivery-icon{color:var(--ef-500);display:flex;flex-shrink:0}
.ef-delivery-label{font-weight:300;color:var(--ef-700);flex:1}
.ef-delivery-free{color:var(--ef-green);font-weight:700}

/* Cover wrap */
.ef-vshop-card{background:#fff5f2;border-radius:var(--r);box-shadow:var(--sh-xs);overflow:visible;margin-bottom:14px}
.ef-vendor-cover-wrap{position:relative}
.ef-vendor-cover{width:100%;aspect-ratio:16/9;max-height:300px;object-fit:cover;display:block;border-radius:var(--r) var(--r) 0 0}

.ef-vendor-cover-empty{aspect-ratio:16/9;max-height:300px;background:linear-gradient(135deg,#ffecd2,#fcb69f);display:flex;align-items:center;justify-content:center;border-radius:var(--r) var(--r) 0 0}


/* Slug badge top-left */
.ef-vcover-slug{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;font-size:.75rem;font-weight:600;padding:4px 9px;border-radius:var(--r-sm);display:flex;align-items:center;gap:4px;letter-spacing:.01em}

/* Camera button top-right */
.ef-vcover-cam{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease)}
.ef-vcover-cam:hover{background:rgba(0,0,0,.65)}
.ef-vcover-cam.ef-uploading{opacity:.5;pointer-events:none}

/* Bar sotto cover: followers | logo centrato | share — sovrapposta alla cover */
.ef-vendor-bar{display:none}

/* Followers badge — dentro la cover, bottom:10px */
.ef-vfollowers{position:absolute;bottom:10px;left:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;border-radius:var(--r-sm);padding:5px 10px;display:flex;align-items:center;gap:5px;font-size:.75rem;z-index:3}
.ef-vfollowers__count{font-weight:700;font-size:.9375rem;color:#fff}
.ef-vfollowers__label{font-weight:300;opacity:.85}
.ef-vfollowers__wave{background:none;border:none;cursor:pointer;font-size:1.0625rem;padding:0 0 0 3px;line-height:1}

/* Share button — dentro la cover, bottom:10px */
.ef-vshare{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease);z-index:3}
.ef-vshare:hover{background:rgba(0,0,0,.65)}

/* Logo ring — centrato, sporge sotto la cover */
.ef-vendor-logo-ring{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);width:72px;height:72px;border-radius:50%;border:3px solid #fff;overflow:hidden;background:#fff;box-shadow:var(--sh);z-index:4}
.ef-vendor-logo-ring img{width:100%;height:100%;object-fit:cover;display:block}
.ef-vendor-logo-init{width:100%;height:100%;background:var(--ef-orange);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.05em}
.ef-vlogo-cam{position:absolute;bottom:-35px;left:calc(50% + 18px);background:var(--ef-black);color:#fff;border:2px solid #fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ease);z-index:5}
.ef-vlogo-cam:hover{background:var(--ef-orange)}
.ef-vlogo-cam.ef-uploading{opacity:.5;pointer-events:none}

/* Vendor name + verified */
.ef-vendor-meta{padding:34px 16px 4px;text-align:center}
.ef-vendor-meta__name{font-family:var(--ef-font-heading);font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.ef-vendor-meta__verified{width:20px;height:20px;background:var(--ef-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ef-vendor-meta__cat{font-size:.8125rem;font-weight:300;color:var(--ef-500);margin-top:3px}
.ef-vname-pencil{opacity:.5;transition:opacity var(--ease)}
.ef-vname-pencil:hover{opacity:1}

/* Toolbar prodotti */
.ef-vendor-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-radius:var(--r-sm);margin:4px 0 12px;box-shadow:var(--sh-xs)}
.ef-vendor-toolbar__count{font-size:.8125rem;font-weight:500;color:var(--ef-700);white-space:nowrap}
.ef-vendor-toolbar__search{flex:1;min-width:120px;border:1.5px solid var(--ef-200);border-radius:20px;padding:7px 14px;font-size:.8125rem;font-family:var(--ef-font);color:var(--ef-800);background:#fff;outline:none;transition:border-color var(--ease)}
.ef-vendor-toolbar__search:focus{border-color:var(--ef-orange)}
.ef-vendor-toolbar__search::placeholder{color:var(--ef-400);font-weight:300}

/* Search results page */
.ef-search-bar{margin-bottom:16px}
.ef-search-bar__form{display:flex;align-items:center;background:#fff;border-radius:28px;padding:4px 4px 4px 16px;box-shadow:var(--sh-xs);gap:0}
.ef-search-bar__icon{color:var(--ef-400);display:flex;flex-shrink:0;margin-right:8px}
.ef-search-bar__icon svg{width:18px;height:18px}
.ef-search-bar__input{flex:1;border:none;outline:none;font-size:.9rem;font-family:var(--ef-font);color:var(--ef-black);padding:10px 0;background:transparent;min-width:0}
.ef-search-bar__input::placeholder{color:var(--ef-400);font-weight:300}
.ef-search-bar__btn{background:var(--ef-orange);color:#fff;border:none;border-radius:24px;padding:10px 20px;font-weight:600;font-size:.85rem;cursor:pointer;font-family:var(--ef-font);flex-shrink:0;transition:background .2s}
.ef-search-bar__btn:hover{background:var(--ef-orange-d)}
.ef-search-head{margin-bottom:14px}
.ef-search-head__title{font-size:1rem;font-weight:600;color:var(--ef-black)}
.ef-search-section{margin-bottom:20px}
.ef-search-section__title{font-size:.85rem;font-weight:600;color:var(--ef-700);display:flex;align-items:center;gap:6px;margin-bottom:10px}
.ef-search-section__title svg{width:14px;height:14px}
.ef-search-vendors{display:flex;gap:10px;flex-wrap:wrap}
.ef-search-vendor{display:flex;align-items:center;gap:10px;background:#fff;border-radius:var(--r);padding:10px 14px;box-shadow:var(--sh-xs);text-decoration:none;transition:box-shadow .2s;min-width:200px;flex:1;max-width:280px}
.ef-search-vendor:hover{box-shadow:var(--sh-sm)}
.ef-search-vendor__logo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.ef-search-vendor__logo--init{background:var(--ef-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}
.ef-search-vendor__info{display:flex;flex-direction:column;min-width:0}
.ef-search-vendor__name{font-size:.85rem;font-weight:600;color:var(--ef-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ef-search-vendor__cat{font-size:.72rem;color:var(--ef-500)}
.ef-search-cats{display:flex;gap:8px;flex-wrap:wrap}
.ef-search-cat{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--ef-200);border-radius:20px;padding:6px 14px;font-size:.82rem;font-weight:500;color:var(--ef-700);text-decoration:none;transition:all .2s}
.ef-search-cat:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-search-cat__count{font-size:.7rem;font-weight:600;color:var(--ef-500);background:var(--ef-100);padding:2px 6px;border-radius:8px}
.ef-search-empty{display:flex;flex-direction:column;align-items:center;padding:60px 24px;text-align:center;gap:8px;color:var(--ef-500)}
.ef-search-empty__title{font-size:1.1rem;font-weight:600;color:var(--ef-black)}
.ef-search-empty__sub{font-size:.85rem;font-weight:300;color:var(--ef-500);max-width:360px}
.ef-search-empty__suggestions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.ef-search-empty__chip{background:var(--ef-orange-l);color:var(--ef-orange);border-radius:16px;padding:7px 16px;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .2s}
.ef-search-empty__chip:hover{background:#fde0d0}

/* Cart panel + owner tip */
.ef-cart-panel{background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs);overflow:hidden}
.ef-cart-panel__head{background:var(--ef-orange,#FA4F26);color:#fff;padding:11px 14px;font-weight:600;font-size:.9375rem}
.ef-cart-panel__body{padding:12px 14px;min-height:60px;font-size:.875rem;color:var(--ef-500);font-weight:300}
.ef-vowner-tip{background:var(--ef-yellow-l,#fffae6);border:1.5px solid var(--ef-yellow);border-radius:var(--r);padding:12px 14px;font-size:.8125rem;font-weight:300;color:var(--ef-700);margin-top:10px;line-height:1.55}
.ef-vowner-tip a{color:var(--ef-orange);font-weight:600;text-decoration:none}
.ef-vowner-tip a:hover{text-decoration:underline}

/* Vendor shop: stessa griglia standard, nessun override sul layout */
/* La sidebar SX ha il vendor info, il center ha cover+prodotti, DX ha il carrello */
/* Su mobile la sidebar SX va sotto il contenuto per mostrare info vendor */
@media(max-width:1023px){
  .ef-vshop .ef-layout__left{display:block;order:2;position:static;max-height:none;overflow:visible}
  .ef-vshop .ef-layout__center{order:1}
  .ef-vshop .ef-layout{display:flex;flex-direction:column;gap:0;padding:0 14px}
}
@media(max-width:639px){
  .ef-vshop .ef-layout{padding:0 10px}
  .ef-vshop .ef-sinfo{border-radius:var(--r-sm)}
}





/* ════════════════════════════════════════════════════════════════════
   HERO — home fullscreen arancione (come home.PNG)
   ════════════════════════════════════════════════════════════════════ */
.ef-hero{background:var(--ef-orange);min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:80px 20px 100px;text-align:center;color:#fff}
.ef-hero__body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:860px;width:100%}
.ef-hero__logotype{margin-bottom:8px}
.ef-hero__logotype img{height:48px;width:auto}
@media(min-width:640px){.ef-hero__logotype img{height:58px}}
.ef-hero__headline{font-family:var(--ef-font-heading);font-size:1.25rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,.85);white-space:nowrap}
@media(min-width:640px){.ef-hero__headline{font-size:1.4rem}}
.ef-hero__sub{font-size:1.0625rem;font-weight:300;color:rgba(255,255,255,.85);max-width:440px}
/* search card */
.ef-hero__card{background:#fff;border-radius:var(--r);padding:18px 20px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.ef-hero__card-label{font-size:.8125rem;font-weight:600;color:var(--ef-black);text-align:left}
.ef-hero__card-row{display:flex;align-items:center;gap:8px;position:relative}
.ef-hero__card-input{flex:1;border:1.5px solid var(--ef-200);border-radius:var(--r-sm);padding:11px 14px;font-size:.9375rem;font-family:var(--ef-font);color:var(--ef-black);outline:none;transition:border-color var(--ease)}
.ef-hero__card-input:focus{border-color:var(--ef-orange)}
.ef-hero__card-filter{background:none;border:1.5px solid var(--ef-200);border-radius:var(--r-sm);width:40px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ef-500);flex-shrink:0;transition:border-color var(--ease),color var(--ease)}
.ef-hero__card-filter:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-hero__card-btn{background:var(--ef-orange);color:#fff;border:none;border-radius:var(--r-sm);padding:11px 18px;font-weight:600;font-size:.9375rem;cursor:pointer;font-family:var(--ef-font);display:flex;align-items:center;gap:6px;flex-shrink:0;transition:background var(--ease)}
.ef-hero__card-btn:hover{background:var(--ef-orange-d)}

/* Smart Search */
.ef-smart-search{position:relative;z-index:10;width:100%;margin-left:auto;margin-right:auto;}
/* Max-width 760px solo sulla home hero */
.home .ef-smart-search{max-width:760px !important;}
.ef-smart-search--header{width:100%}
.ef-smart-search__bar{display:flex;align-items:center;background:#fff;border-radius:50px;padding:0 4px 0 16px;box-shadow:0 4px 24px rgba(0,0,0,.15);gap:6px;min-height:54px}
/* ── Hero search bar: max-width 600px, centered ── */
.ef-hero .ef-smart-search { max-width: 600px; margin: 0 auto; width: 100%; }
.ef-hero .ef-smart-search__bar { border-radius: 50px; }
/* ── Home searchbar: max-width 600px centered ── */
.home .ef-smart-search__bar { margin: 0 auto; }

.ef-smart-search__icon{color:var(--ef-400);display:flex;flex-shrink:0;margin-right:8px}
.ef-smart-search__icon svg{width:18px;height:18px}
.ef-smart-search__input{flex:1;border:none;outline:none;font-size:.95rem;font-family:var(--ef-font);color:var(--ef-black);padding:10px 0;background:transparent;min-width:0}
.ef-smart-search__input::placeholder{color:var(--ef-400);font-weight:300}
.ef-smart-search__ai-pill{display:flex;align-items:center;gap:5px;background:none;border:1.5px solid var(--ef-200);border-radius:24px;padding:0 14px;height:40px;cursor:pointer;color:var(--ef-700);font-size:.82rem;font-weight:600;font-family:var(--ef-font);transition:all .2s;flex-shrink:0;white-space:nowrap;margin-left:1px}
.ef-smart-search__ai-pill svg{width:14px;height:14px;color:var(--ef-orange)}
.ef-smart-search__ai-pill:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-smart-search__ai-pill.is-on{background:var(--ef-orange);color:#fff;border-color:var(--ef-orange)}
.ef-smart-search__ai-pill.is-on svg,.ef-smart-search__ai-pill.is-on polygon{stroke:#fff!important}
.ef-smart-search__submit{background:var(--ef-orange);color:#fff;border:none;border-radius:24px;padding:0 20px;height:40px;font-weight:600;font-size:.85rem;cursor:pointer;font-family:var(--ef-font);flex-shrink:0;transition:background .2s;white-space:nowrap;margin-right:5px}
.ef-smart-search__submit:hover{background:var(--ef-orange-d)}

/* Hero top nav */
.ef-hero__topnav{position:fixed;top:0;left:0;right:0;height:52px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;z-index:400;pointer-events:none;background:transparent}
.ef-hero__topnav a,.ef-hero__topnav button{pointer-events:all}
.admin-bar .ef-hero__topnav{top:42px}
@media(max-width:782px){.admin-bar .ef-hero__topnav{top:56px}}
.ef-hero__topnav-left{display:flex;gap:16px}
.ef-hero__topnav-left a,.ef-hero__topnav-right a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.8rem;font-weight:500;transition:color .2s;letter-spacing:.01em}
.ef-hero__topnav-left a:hover,.ef-hero__topnav-right a:hover{color:#fff}

/* B2C/B2B Toggle */
/* B2C/B2B toggle (Apple segmented control) */
.ef-hero__mode-toggle{display:inline-flex;background:rgba(0,0,0,.2);border-radius:50px;padding:3px;position:relative;cursor:pointer;user-select:none;backdrop-filter:blur(8px);height:38px;align-items:center;border:1px solid rgba(255,255,255,.2)}
.ef-hero__mode-slider{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:#fff;border-radius:50px;transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ef-hero__mode-toggle.is-b2b .ef-hero__mode-slider{transform:translateX(100%)}
.ef-hero__mode-btn{position:relative;z-index:1;padding:0 22px;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.7);transition:color .25s;background:none;border:none;cursor:pointer;font-family:var(--ef-font);min-width:52px;text-align:center;height:100%;letter-spacing:.02em}
.ef-hero__mode-btn.is-on{color:var(--ef-orange);font-weight:700}

/* Hero dynamic tags */
margin-top:0.margin-top:0emargin-top:0fmargin-top:0-margin-top:0hmargin-top:0emargin-top:0rmargin-top:0omargin-top:0_margin-top:0_margin-top:0tmargin-top:0amargin-top:0gmargin-top:0smargin-top:0{margin-top:0dmargin-top:0imargin-top:0smargin-top:0pmargin-top:0lmargin-top:0amargin-top:0ymargin-top:0:margin-top:0fmargin-top:0lmargin-top:0emargin-top:0xmargin-top:0;margin-top:0gmargin-top:0amargin-top:0pmargin-top:0:margin-top:08margin-top:0pmargin-top:0xmargin-top:0;margin-top:0fmargin-top:0lmargin-top:0emargin-top:0xmargin-top:0-margin-top:0wmargin-top:0rmargin-top:0amargin-top:0pmargin-top:0:margin-top:0wmargin-top:0rmargin-top:0amargin-top:0pmargin-top:0 margin-top:0!margin-top:0imargin-top:0mmargin-top:0pmargin-top:0omargin-top:0rmargin-top:0tmargin-top:0amargin-top:0nmargin-top:0tmargin-top:0;margin-top:0jmargin-top:0umargin-top:0smargin-top:0tmargin-top:0imargin-top:0fmargin-top:0ymargin-top:0-margin-top:0cmargin-top:0omargin-top:0nmargin-top:0tmargin-top:0emargin-top:0nmargin-top:0tmargin-top:0:margin-top:0cmargin-top:0emargin-top:0nmargin-top:0tmargin-top:0emargin-top:0rmargin-top:0 margin-top:0!margin-top:0imargin-top:0mmargin-top:0pmargin-top:0omargin-top:0rmargin-top:0tmargin-top:0amargin-top:0nmargin-top:0tmargin-top:0;margin-top:0mmargin-top:0amargin-top:0rmargin-top:0gmargin-top:0imargin-top:0nmargin-top:0-margin-top:0tmargin-top:0omargin-top:0pmargin-top:0:margin-top:01margin-top:06margin-top:0pmargin-top:0xmargin-top:0}margin-top:0

.ef-hero__tag:hover{background:rgba(255,255,255,.3)}

/* Hero footer */
.ef-hero__footer{position:absolute;bottom:0;left:0;right:0;font-size:.8rem;color:rgba(255,255,255,.8);z-index:2}
.ef-hero__footer a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s}
.ef-hero__footer a:hover{color:#fff}
.ef-hero__footer-top{padding:10px 24px;border-bottom:1px solid rgba(255,255,255,.15);text-align:center;font-size:.75rem}
.ef-hero__footer-top span{color:#fff}
.ef-hero__footer-bottom{display:flex;justify-content:space-between;padding:8px 24px}
.ef-hero__footer-left,.ef-hero__footer-right{display:flex;gap:18px}
@media(max-width:600px){.ef-hero__footer-bottom{flex-direction:column;gap:8px;text-align:center}.ef-hero__footer-left,.ef-hero__footer-right{justify-content:center}}

/* Dropdown */
.ef-smart-search__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.15);overflow:hidden;z-index:20;text-align:left;width:100%;min-width:100%;box-sizing:border-box}
.ef-smart-search__results{position:relative;max-height:280px;overflow-y:auto;padding:8px 0;width:100%}
.ef-smart-search__results::-webkit-scrollbar{width:6px}
.ef-smart-search__results::-webkit-scrollbar-thumb{background:var(--ef-200);border-radius:3px}
.ef-smart-search__results::-webkit-scrollbar-thumb:hover{background:var(--ef-300)}
.ef-ssr{display:flex;align-items:center;gap:12px;padding:10px 18px;cursor:pointer;transition:background .15s;text-decoration:none}
.ef-ssr:hover{background:var(--ef-100)}
.ef-ssr__img{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--ef-100);opacity:0;transition:opacity .2s;animation:efPulse 1.2s ease infinite}
.ef-ssr__img.is-loaded{opacity:1;animation:none}
.ef-ssr__img--empty{width:40px;height:40px;border-radius:8px;flex-shrink:0;background:var(--ef-100);display:flex;align-items:center;justify-content:center;color:var(--ef-300)}
.ef-ssr__img--empty svg{width:18px;height:18px}
.ef-ssr__img--round{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--ef-100);opacity:0;transition:opacity .2s;animation:efPulse 1.2s ease infinite}
.ef-ssr__img--round.is-loaded{opacity:1;animation:none}
@keyframes efPulse{0%,100%{background:var(--ef-100)}50%{background:var(--ef-200)}}
.ef-ssr__initials{width:40px;height:40px;border-radius:50%;background:var(--ef-orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}
.ef-ssr__cat-icon{width:40px;height:40px;border-radius:10px;background:var(--ef-orange-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ef-ssr__cat-icon img{width:26px;height:26px;object-fit:contain}
.ef-ssr__info{flex:1;min-width:0}
.ef-ssr__name{font-size:.85rem;font-weight:500;color:var(--ef-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ef-ssr__meta{font-size:.72rem;color:var(--ef-500)}
.ef-ssr__price{font-size:.85rem;font-weight:600;color:var(--ef-orange);flex-shrink:0}
.ef-ssr__type{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--ef-400);padding:2px 6px;border:1px solid var(--ef-200);border-radius:6px;flex-shrink:0}
.ef-ssr--cat .ef-ssr__icon,.ef-ssr--vendor .ef-ssr__icon{width:40px;height:40px;border-radius:8px;background:var(--ef-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ef-500)}

/* ── Search empty state ──────────────────────────────────────── */
.ef-ssr--empty{padding:18px 20px;cursor:default;align-items:flex-start;gap:14px}
.ef-ssr--empty:hover{background:transparent}
.ef-ssr-empty__icon{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:var(--ef-100);color:var(--ef-400);
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.ef-ssr-empty__body{flex:1;display:flex;flex-direction:column;gap:8px}
.ef-ssr-empty__title{font-size:.84rem;color:var(--ef-700);line-height:1.4}
.ef-ssr-empty__title strong{color:var(--ef-black)}
.ef-ssr-empty__hint{font-size:.75rem;color:var(--ef-400)}
.ef-ssr-empty__actions{display:flex;flex-wrap:wrap;gap:8px}
.ef-ssr-empty__btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;border-radius:20px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.78rem;font-weight:600;color:var(--ef-700);
  cursor:pointer;text-decoration:none;transition:all .15s;font-family:var(--ef-font);
}
.ef-ssr-empty__btn:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-ssr-empty__btn--ai{border-color:rgba(250,79,38,.3);color:var(--ef-orange);background:rgba(250,79,38,.05)}
.ef-ssr-empty__btn--ai:hover{background:rgba(250,79,38,.12)}

/* AI Panel — removed, replaced by fullscreen */

/* BazarAI Popup */
.ef-ai-fs{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);padding:0 16px;opacity:0;animation:efAiFadeIn .25s ease forwards}
@keyframes efAiFadeIn{to{opacity:1}}
.ef-ai-fs__panel{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:1400px;height:calc(100vh - 48px);max-height:860px;display:flex;flex-direction:column;box-shadow:0 -8px 48px rgba(0,0,0,.2);overflow:hidden;transform:translateY(100%);animation:efAiSlideUp .35s cubic-bezier(.22,1,.36,1) forwards;animation-delay:.05s}
@keyframes efAiSlideUp{to{transform:translateY(0)}}
.ef-ai-fs__head{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:2px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#7C3AED,#EF4444);background-origin:border-box;background-clip:padding-box,border-box;flex-shrink:0}
.ef-ai-fs__brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:1rem;font-weight:700;background:linear-gradient(135deg,#7C3AED,#EF4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ef-ai-fs__brand-inner{display:flex;align-items:center;gap:8px}
.ef-ai-fs__brand svg{width:20px;height:20px}
.ef-ai-fs__brand-sub{font-weight:400;color:var(--ef-500);font-size:.78rem}
.ef-ai-fs__close{display:flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--ef-200);border-radius:20px;padding:7px 16px;font-size:.82rem;font-weight:500;color:var(--ef-500);cursor:pointer;font-family:var(--ef-font);transition:all .2s}
.ef-ai-fs__close:hover{border-color:#7C3AED;color:#7C3AED}
.ef-ai-fs__close svg{width:14px;height:14px}

/* STATE 1: Welcome */
.ef-ai-fs__welcome{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}
.ef-ai-fs__welcome-center{width:100%;max-width:640px;text-align:center}
.ef-ai-fs__title{font-size:1.6rem;font-weight:700;color:var(--ef-black);margin-bottom:28px}
.ef-ai-fs__searchbar{position:relative;background:var(--ef-100);border-radius:20px;padding:0}
.ef-ai-fs__searchbar-input{width:100%;border:none;background:transparent;padding:18px 20px 58px;font-size:1rem;font-family:var(--ef-font);color:var(--ef-black);outline:none;position:relative;z-index:1}
.ef-ai-fs__searchbar-input::placeholder{color:var(--ef-400);font-weight:300}
.ef-ai-fs__searchbar-actions{position:absolute;bottom:10px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;z-index:1}
.ef-ai-fs__upload-wrap{position:relative}
.ef-ai-fs__searchbar-upload{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;cursor:pointer;color:#fff;background:linear-gradient(135deg,#7C3AED,#EF4444);border:none;transition:all .2s}
.ef-ai-fs__searchbar-upload:hover{opacity:.88;background:linear-gradient(135deg,#7C3AED,#EF4444)}
.ef-ai-fs__searchbar-upload svg{width:20px;height:20px;stroke-width:2.5}
.ef-ai-fs__upload-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);overflow:hidden;min-width:260px;z-index:10}
.ef-ai-fs__upload-opt{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:.85rem;color:var(--ef-700);cursor:pointer;transition:background .15s;font-family:var(--ef-font)}
.ef-ai-fs__upload-opt:hover{background:var(--ef-100)}
.ef-ai-fs__upload-opt svg{width:18px;height:18px;color:#7C3AED;flex-shrink:0}
.ef-ai-fs__searchbar-send{background:linear-gradient(135deg,#7C3AED,#EF4444);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s;z-index:1}
.ef-ai-fs__searchbar-send:hover{opacity:.85}
.ef-ai-fs__searchbar-send svg{width:16px;height:16px}
.ef-ai-fs__searchbar-glow{position:absolute;inset:-3px;border-radius:23px;pointer-events:none;border:3px solid transparent;background:linear-gradient(var(--ef-100),var(--ef-100)) padding-box,conic-gradient(from var(--glow-angle,0deg),#7C3AED,#EF4444,#fff,rgba(255,255,255,.3),#7C3AED) border-box;animation:efGlow 2.5s linear infinite}
@keyframes efGlow{to{--glow-angle:360deg}}
@property --glow-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.ef-ai-fs__preview{display:flex;align-items:center;gap:8px;margin:10px auto 0;width:fit-content}
.ef-ai-fs__preview img{width:48px;height:48px;border-radius:8px;object-fit:cover}
.ef-ai-fs__preview button{background:var(--ef-200);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ef-500)}
.ef-ai-fs__suggestions{display:flex;flex-direction:column;gap:0;margin-top:20px;text-align:left}
.ef-ai-fs__suggestion{display:flex;align-items:center;gap:8px;background:none;border:none;padding:12px 4px;font-size:.88rem;color:var(--ef-600);cursor:pointer;font-family:var(--ef-font);transition:color .2s;border-bottom:1px solid var(--ef-100)}
.ef-ai-fs__suggestion:last-child{border-bottom:none}
.ef-ai-fs__suggestion:hover{background:linear-gradient(135deg,#7C3AED,#EF4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ef-ai-fs__suggestion svg{width:16px;height:16px;color:#7C3AED;flex-shrink:0}
/* Sparkles icons: gradient fill instead of stroke in AI contexts */
.ef-ai-fs__suggestion .i svg,
.ef-ai-fs__results-empty .i svg,
.ef-ai-fs__msg-avatar svg{fill:url(#efBzGrd);stroke:none}

/* STATE 2: Conversation */
.ef-ai-fs__conv{display:flex;flex:1;overflow:hidden}
.ef-ai-fs__chat{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--ef-200);min-width:0}
.ef-ai-fs__messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}
.ef-ai-fs__msg{display:flex;gap:10px;max-width:90%}
.ef-ai-fs__msg--bot{align-self:flex-start}
.ef-ai-fs__msg--user{align-self:flex-end;flex-direction:row-reverse}
.ef-ai-fs__msg-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem}
.ef-ai-fs__msg--bot .ef-ai-fs__msg-avatar{background:linear-gradient(135deg,rgba(106,76,147,.15),rgba(239,68,68,.1));color:#7C3AED}
.ef-ai-fs__msg--user .ef-ai-fs__msg-avatar{background:var(--ef-200);color:var(--ef-700)}
.ef-ai-fs__msg-body{font-size:.88rem;line-height:1.6;color:var(--ef-700)}
.ef-ai-fs__msg--bot .ef-ai-fs__msg-body{background:var(--ef-100);border-radius:4px 16px 16px 16px;padding:14px 18px}
.ef-ai-fs__msg--user .ef-ai-fs__msg-body{background:linear-gradient(135deg,#7C3AED,#EF4444);color:#fff;border-radius:16px 4px 16px 16px;padding:14px 18px}
.ef-ai-fs__msg-body p{margin:0 0 6px}
.ef-ai-fs__msg-body p:last-child{margin:0}
.ef-ai-fs__loading{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ef-500)}
.ef-ai-fs__loading::before{content:'';width:16px;height:16px;border:2px solid var(--ef-200);border-top-color:#7C3AED;border-radius:50%;animation:efSpin .8s linear infinite}
@keyframes efSpin{to{transform:rotate(360deg)}}
.ef-ai-fs__input-row{display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--ef-200);flex-shrink:0}
.ef-ai-fs__input{flex:1;border:1.5px solid var(--ef-200);border-radius:24px;padding:10px 18px;font-size:.9rem;font-family:var(--ef-font);outline:none;transition:border-color .2s}
.ef-ai-fs__input:focus{border-color:#7C3AED}
.ef-ai-fs__send{background:linear-gradient(135deg,#7C3AED,#EF4444);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .2s}
.ef-ai-fs__send:hover{opacity:.85}
.ef-ai-fs__send svg{width:18px;height:18px}

/* Right: Results */
.ef-ai-fs__results{width:480px;flex-shrink:0;overflow-y:auto;padding:24px;background:#fafafa}
.ef-ai-fs__results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--ef-300);text-align:center}
.ef-ai-fs__results-empty svg{width:48px;height:48px}
.ef-ai-fs__results-empty p{font-size:.85rem;color:var(--ef-400)}
.ef-ai-fs__results-grid{display:flex;flex-direction:column;gap:10px}
.ef-ai-fs__rcard{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.06);text-decoration:none;transition:box-shadow .2s}
.ef-ai-fs__rcard:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}
.ef-ai-fs__rcard-img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--ef-100)}
.ef-ai-fs__rcard-info{flex:1;min-width:0}
.ef-ai-fs__rcard-name{font-size:.85rem;font-weight:600;color:var(--ef-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ef-ai-fs__rcard-meta{font-size:.72rem;color:var(--ef-500);margin-top:2px}
.ef-ai-fs__rcard-note{font-size:.72rem;color:var(--ef-orange);margin-top:2px;font-style:italic}
.ef-ai-fs__rcard-price{font-size:.9rem;font-weight:700;color:var(--ef-orange);flex-shrink:0}
.ef-ai-fs__rcard-type{font-size:.62rem;font-weight:600;text-transform:uppercase;color:var(--ef-400);border:1px solid var(--ef-200);border-radius:6px;padding:2px 6px;flex-shrink:0}

@media(max-width:768px){
  .ef-ai-fs{padding:10px 0 0}
  .ef-ai-fs__panel{height:calc(100vh - 20px);max-height:none;border-radius:16px 16px 0 0;max-width:100%}
  .ef-ai-fs__body{flex-direction:column}
  .ef-ai-fs__chat{border-right:none;border-bottom:1px solid var(--ef-200)}
  .ef-ai-fs__results{width:100%;max-height:40vh}
}

/* Chips sotto la barra */
/* scroll button */
.ef-hero__scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:rgba(255,255,255,.8);font-size:.75rem;font-weight:500;font-family:var(--ef-font);transition:color var(--ease)}
.ef-hero__scroll:hover{color:#fff}
.ef-hero__scroll-ring{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}

/* ════════════════════════════════════════════════════════════════════
   FOOTER — centrato, stessa larghezza del corpo centrale
   4 colonne + strip gialla con border-radius + legal bar
   ════════════════════════════════════════════════════════════════════ */
.ef-footer{margin-top:48px}
.ef-footer__inner{max-width:var(--ef-max-w);margin:0 auto;padding:0 24px;background:#fff;border-radius:35px 35px 0 0;box-shadow:0 -6px 24px rgba(0,0,0,.08)}
@media(min-width:1024px){.ef-footer__inner{padding:0 32px}}

/* 4 colonne link */
.ef-footer__cols{padding:40px 0 32px;display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:480px){.ef-footer__cols{grid-template-columns:repeat(2,1fr);gap:28px 20px}}
@media(min-width:640px){.ef-footer__cols{grid-template-columns:repeat(4,1fr)}}
.ef-footer__col-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ef-black);margin-bottom:12px}
.ef-footer__col-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.ef-footer__col-list a{font-size:.875rem;font-weight:300;color:var(--ef-500);text-decoration:none;transition:color var(--ease)}
.ef-footer__col-list a:hover{color:var(--ef-orange)}
.ef-footer__phone{color:var(--ef-orange);font-weight:600;font-size:.9375rem}
.ef-footer__hours{font-size:.8125rem;font-weight:300;color:var(--ef-500);line-height:1.7}
.ef-footer__addr{font-size:.8125rem;font-weight:300;color:var(--ef-500);line-height:1.7;margin-top:4px}
.ef-footer__app-btn{display:inline-block;background:var(--ef-200);color:var(--ef-black);border-radius:var(--r-sm);padding:7px 14px;font-size:.8125rem;font-weight:600;margin-bottom:8px;text-decoration:none;transition:background var(--ease)}
.ef-footer__app-btn:hover{background:var(--ef-300)}
.ef-footer__app-links{display:flex;flex-direction:column;gap:5px}
.ef-footer__app-links a{font-size:.875rem;font-weight:300;color:var(--ef-500);text-decoration:none;transition:color var(--ease)}
.ef-footer__app-links a:hover{color:var(--ef-orange)}

/* Strip arancio — 4 colonne, responsive grid */
.ef-footer__strip {
  background: var(--ef-orange);
  border-radius: 14px;
  padding: 36px 40px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: start;
  gap: 40px;
}
.ef-footer__strip-left { flex-shrink: 0; }
.ef-footer__strip-left a { display: block; }
.ef-footer__logo { height: 64px !important; width: auto !important; min-width: 80px; min-height: 64px; display: block; object-fit: contain; flex-shrink: 0; }
.ef-footer__strip-center { min-width: 0; }
.ef-footer__strip-center p { font-size: 1rem; font-weight: 400; color: var(--ef-black); line-height: 1.55; margin: 0 0 10px; }
.ef-br-desktop { display: block; }
@media(max-width:767px) { .ef-br-desktop { display: none; } }
.ef-footer__strip-center strong { display: block; font-weight: 700; font-size: .9375rem; margin-bottom: 10px; }
.ef-footer__social { display: flex; gap: 8px; align-items: center; }
.ef-footer__social a { width: 32px; height: 32px; border-radius: 8px; background: rgba(0,0,0,.12); display: flex; align-items: center; justify-content: center; color: var(--ef-black); text-decoration: none; transition: background var(--ease); }
.ef-footer__social a:hover { background: rgba(0,0,0,.22); }
.ef-footer__strip-right { flex-shrink: 0; min-width: 0; }
.ef-footer__pay { display: grid; grid-template-columns: repeat(4, auto); gap: 6px 8px; align-items: center; justify-items: start; }
.ef-footer__pay-title { font-size: 16px; font-weight: 600; color: var(--ef-black); margin-bottom: 6px; }
.ef-pay-icon { flex-shrink: 0; border-radius: 4px; height: 27px; width: auto; max-height: 27px; max-width: 52px; object-fit: contain; }
.ef-pay-icon--easy{display:inline-flex;align-items:center;justify-content:center;background:#1d3557;border-radius:4px;padding:0 8px;height:27px;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}

/* Tablet ≤1100px: stack vertical */
@media (max-width: 1100px) {
  .ef-footer__strip {
    grid-template-columns: 1fr 1fr;
    gap: 24px 32px;
  }
}
@media (max-width: 900px) {
  .ef-footer__strip {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
    justify-items: center;
  }
  .ef-footer__social { justify-content: center; }
  .ef-footer__pay { justify-content: center; }
}

/* Footer ≤767px: handled in mobile.css */

/* Legal bar */
.ef-footer__legal{padding:16px 8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.ef-footer__legal-links{display:flex;flex-wrap:wrap;gap:6px 16px;flex:1;align-items:center}
.ef-footer__legal-links a{font-size:.75rem;font-weight:300;color:var(--ef-500);text-decoration:none;transition:color var(--ease)}
.ef-footer__legal-links a:hover{color:var(--ef-black)}
.ef-footer__legal-help{font-size:16px;font-weight:700;color:var(--ef-black);margin-left:auto;text-decoration:none;cursor:pointer;transition:color var(--ease)}
.ef-footer__legal-help:hover{color:var(--ef-orange)}

/* ════════════════════════════════════════════════════════════════════
   SITEMAP MODAL — popup mappa del sito
   ════════════════════════════════════════════════════════════════════ */
.ef-sitemap-overlay{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;padding:20px}
.ef-sitemap-overlay.is-open{display:flex}
.ef-sitemap-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}
.ef-sitemap-modal{position:relative;z-index:1;background:#fff;border-radius:18px;width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.18);animation:efSlideUp .25s cubic-bezier(.34,1.1,.64,1) both;overflow:hidden}
.ef-sitemap__head{padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ef-sitemap__title{font-family:var(--ef-font-heading);font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--ef-black)}
.ef-sitemap__close{background:none;border:none;cursor:pointer;color:var(--ef-400);padding:6px;border-radius:8px;display:flex;transition:color var(--ease),background var(--ease)}
.ef-sitemap__close:hover{color:var(--ef-black);background:var(--ef-100)}
.ef-sitemap__body{flex:1;overflow-y:auto;padding:20px 32px 28px 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:var(--ef-100)}
.ef-sitemap__body::-webkit-scrollbar-thumb{background:var(--ef-300)}
.ef-sitemap__body::-webkit-scrollbar-thumb:hover{background:var(--ef-400)}
@media(min-width:640px){.ef-sitemap__body{grid-template-columns:repeat(3,1fr)}}
.ef-sitemap__section{min-width:0;border-radius:var(--r-sm);box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column}
.ef-sitemap__sec-title{font-size:.9375rem;font-weight:600;color:var(--ef-black);margin-bottom:6px}
.ef-sitemap__links{display:flex;flex-direction:column;gap:4px;background:#fff;padding:8px 12px;border-radius:0 0 var(--r-sm) var(--r-sm);flex:1}
.ef-sitemap__links a{font-size:.8125rem;font-weight:400;color:var(--ef-600);text-decoration:none;padding:3px 0;transition:color var(--ease)}
.ef-sitemap__links a:hover{color:var(--ef-orange)}
.ef-sitemap__group-title{grid-column:1/-1;font-family:var(--ef-font-heading);font-size:1.375rem;font-weight:700;color:var(--ef-black);padding:16px 0 8px;margin-top:4px}
.ef-sitemap__group-title:first-child{margin-top:0;padding-top:0}

/* ════════════════════════════════════════════════════════════════════
   HELP MODAL — popup aiuto dal footer
   ════════════════════════════════════════════════════════════════════ */
.ef-help-overlay{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;padding:20px}
.ef-help-overlay.is-open{display:flex}
.ef-help-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}
.ef-help-modal{position:relative;z-index:1;background:#fff;border-radius:18px;width:100%;max-width:580px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.18);animation:efSlideUp .25s cubic-bezier(.34,1.1,.64,1) both;overflow:hidden}
.ef-help__head{padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ef-help__title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--ef-black)}
.ef-help__close{background:none;border:none;cursor:pointer;color:var(--ef-400);padding:6px;border-radius:8px;display:flex;transition:color var(--ease),background var(--ease)}
.ef-help__close:hover{color:var(--ef-black);background:var(--ef-100)}
.ef-help__body{flex:1;overflow-y:auto;padding:16px 20px 24px;display:flex;flex-direction:column;gap:10px}
.ef-help__body::-webkit-scrollbar-thumb{background:var(--ef-300)}
.ef-help__body::-webkit-scrollbar-thumb:hover{background:var(--ef-400)}
.ef-help__box{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--ef-200);border-radius:12px;text-decoration:none;color:inherit;transition:border-color var(--ease),background var(--ease)}
.ef-help__box:hover{border-color:var(--ef-orange);background:#FFF3EF}
.ef-help__box-icon{width:40px;height:40px;border-radius:10px;background:var(--ef-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ef-orange);transition:background var(--ease),color var(--ease)}
.ef-help__box:hover .ef-help__box-icon{background:var(--ef-orange);color:#fff}
.ef-help__box-text{flex:1;min-width:0}
.ef-help__box-title{font-size:.88rem;font-weight:700;color:var(--ef-black);margin-bottom:2px}
.ef-help__box-desc{font-size:.78rem;font-weight:300;color:var(--ef-500);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ── Sidebar cart: bottone outline "Visualizza carrello" ─────────── */
.ef-cart-panel__cta--outline {
    display: block;
    background: transparent;
    color: var(--ef-orange);
    border: 1.5px solid var(--ef-orange);
    text-align: center;
    border-radius: var(--r-sm);
    padding: 11px;
    font-weight: 600;
    font-size: .9375rem;
    transition: background var(--ease), color var(--ease);
    margin-bottom: 8px;
    text-decoration: none;
}
.ef-cart-panel__cta--outline:hover {
    background: var(--ef-orange);
    color: #fff;
}

/* ── Cart panel body fades ──────────────────────────────────────── */
.ef-cart-panel__body-wrap {
    position: relative;
    max-height: calc(100vh - 280px);
    overflow-y: auto;
    overflow-x: hidden;
}
.ef-cart-panel__body-wrap::before,
.ef-cart-panel__body-wrap::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    height: 60px;
    pointer-events: none;
    z-index: 2;
    transition: opacity .2s;
}
.ef-cart-panel__body-wrap::before {
    top: 0;
    background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,.8) 30%, rgba(255,255,255,.3) 70%, transparent 100%);
    opacity: 0;
}
.ef-cart-panel__body-wrap::after {
    bottom: 0;
    height: 60px;
    background: linear-gradient(to top, #fff 0%, rgba(255,255,255,.85) 25%, rgba(255,255,255,.5) 55%, rgba(255,255,255,.1) 85%, transparent 100%);
    opacity: 0;
}
.ef-cart-panel__body-wrap.scrolled::before { opacity: 1; }
.ef-cart-panel__body-wrap.has-more::after  { opacity: 1; }

/* ── Sidebar filtri fades ───────────────────────────────────────── */
.ef-sidebar-block {
    position: relative;
}
.ef-sidebar-block__scroll {
    position: relative;
}
.ef-sidebar-block__scroll::before,
.ef-sidebar-block__scroll::after {
    content: '';
    position: sticky;
    left: 0; right: 0;
    width: 100%;
    pointer-events: none;
    z-index: 2;
    transition: opacity .2s;
    display: block;
}
.ef-sidebar-block__scroll::before {
    top: -15px;
    height: 50px;
    margin-bottom: -50px;
    background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,.8) 30%, rgba(255,255,255,.3) 70%, transparent 100%);
    opacity: 0;
}
.ef-sidebar-block__scroll::after {
    bottom: 0;
    height: 70px;
    margin-top: -70px;
    background: linear-gradient(to top, #fff 0%, rgba(255,255,255,.85) 25%, rgba(255,255,255,.5) 55%, rgba(255,255,255,.1) 85%, transparent 100%);
    opacity: 0;
}
.ef-sidebar-block.ef-sb--scrolled .ef-sidebar-block__scroll::before  { opacity: 1; }
.ef-sidebar-block.ef-sb--has-more .ef-sidebar-block__scroll::after   { opacity: 1; }

/* ── Search results bottom fade ─────────────────────────────────── */
.ef-smart-search__results-wrap {
    position: relative;
}
.ef-smart-search__results-wrap::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 56px;
    background: linear-gradient(to top, #fff 0%, rgba(255,255,255,.85) 25%, rgba(255,255,255,.5) 55%, rgba(255,255,255,.1) 85%, transparent 100%);
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity .2s;
}
.ef-smart-search__results-wrap.has-more::after { opacity: 1; }

/* ── Vendor card wrapper + matitina ─────────────────────────────── */
.ef-vcard-wrap {
    position: relative;
}
.ef-vcard-edit {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 30px; height: 30px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    color: var(--ef-black);
    z-index: 5;
    transition: background .15s, transform .15s;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
.ef-vcard-edit:hover {
    background: #fff;
    transform: scale(1.08);
}

/* ── Card aggiungi prodotto ──────────────────────────────────────── */
.ef-vcard-add {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #aaa;
    border-radius: var(--r);
    min-height: 420px;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .2s, background .2s;
    color: var(--ef-400);
}
.ef-vcard-add:hover {
    border-color: var(--ef-orange);
    background: #fff8f5;
    color: var(--ef-orange);
}
.ef-vcard-add__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.ef-vcard-add__inner span {
    font-size: 1rem;
    font-weight: 600;
}

/* ── Vendor open/closed badge ───────────────────────────────────── */
.ef-vshop__status {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: .75rem; font-weight: 600;
    padding: 3px 10px; border-radius: 20px;
    margin-top: 4px;
}
.ef-vshop__status.is-open  { background: #dcfce7; color: #16a34a; }
.ef-vshop__status.is-closed { background: #fee2e2; color: #dc2626; }
.ef-vshop__status-dot {
    width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}
.ef-vshop__status.is-open  .ef-vshop__status-dot { background: #16a34a; }
.ef-vshop__status.is-closed .ef-vshop__status-dot { background: #dc2626; }

/* ── Sinfo meta row ─────────────────────────────────────────────── */
.ef-sinfo__meta-row {
    display: flex; align-items: center; gap: 7px;
    font-size: .8125rem; color: var(--ef-600);
}

/* ── Mzone nuovo stile ──────────────────────────────────────────── */
.ef-mzone {
    border: 1px solid var(--ef-100);
    border-radius: var(--r);
    padding: 12px;
    margin-bottom: 10px;
    background: var(--ef-50, #fafafa);
}
.ef-mzone__head {
    display: flex; align-items: center; justify-content: space-between;
}
.ef-mzone__num {
    font-size: .72rem; font-weight: 700; color: var(--ef-400);
    text-transform: uppercase; letter-spacing: .05em;
}
.ef-mzone__del {
    background: none; border: none; cursor: pointer; padding: 2px;
    color: var(--ef-300); transition: color .15s;
}
.ef-mzone__del:hover { color: #dc2626; }

/* ── Toggle switch ──────────────────────────────────────────────── */
.ef-toggle { position: relative; display: inline-block; width: 42px; height: 24px; flex-shrink: 0; }
.ef-toggle input { opacity: 0; width: 0; height: 0; }
.ef-toggle__slider {
    position: absolute; cursor: pointer; inset: 0;
    background: #e0d0cc; border-radius: 24px;
    transition: background .2s;
}
.ef-toggle__slider:before {
    content: ''; position: absolute;
    width: 18px; height: 18px; border-radius: 50%;
    background: #fff; left: 3px; bottom: 3px;
    transition: transform .2s;
}
.ef-toggle input:checked + .ef-toggle__slider { background: var(--ef-orange); }
.ef-toggle input:checked + .ef-toggle__slider:before { transform: translateX(18px); }

/* ── Addr pin geoloc ────────────────────────────────────────────── */
.ef-topbar__addr-pin { cursor:pointer; transition:transform .2s; }
.ef-topbar__addr-pin:hover { transform:scale(1.2); }
.ef-topbar__addr-pin svg { width:18px !important; height:18px !important; }



@media(min-width:768px) and (max-width:1023px) {
  .ef-hero { padding: 80px 32px 100px; }
  .ef-hero__logotype img { height: 44px; }
  .ef-searchbar { max-width: 640px; }
  .ef-topbar { padding: 0 24px; }
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE — mobile/tablet
   ══════════════════════════════════════════════════════════════════ */

/* ── Mobile ≤767px ─────────────────────────────────────────────── */
@media(max-width:767px) {
  /* Hero home */
  .ef-hero { padding: 90px 16px 60px; }
  .ef-hero__logotype img { height: 36px; }
  .ef-hero__headline { font-size: 1rem; white-space: normal; }
  .ef-hero__tags { overflow-x: auto; scrollbar-width: none; }
  .ef-hero__tags::-webkit-scrollbar { display: none; }

  /* Topbar pill */
  .ef-topbar-wrap { padding: 0 10px; }
  .ef-topbar { height: 56px; padding: 0 10px; gap: 6px; max-width: 100% !important; }
  .ef-topbar__addr-val { font-size: .8rem; }
  .ef-topbar__lang { display: none; }

  /* Header block non-home */
  .ef-header-block { padding: 6px 10px; top: 72px; }

  /* Layout: nasconde sidebar */
  .ef-layout__left,
  .ef-layout__right { display: none !important; }

  /* Griglia prodotti */
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }

  /* Catnav */
  .ef-catnav { padding: 0 10px; }

  /* Smart search home */
  .ef-smart-search { padding: 0; }
}

/* ── Tablet 768-1023px ─────────────────────────────────────────── */
@media(min-width:768px) and (max-width:1023px) {
  .ef-hero { padding: 100px 24px 80px; }
  .ef-hero__logotype img { height: 44px; }
  .ef-topbar { padding: 0 24px; }
  .ef-layout__left,
  .ef-layout__right { display: none !important; }
  .ef-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* ── Topbar addr/user UI B2C ────────────────────────────────────── */
.ef-topbar__addr {
  background: rgba(0,0,0,.05);
  border-radius: 10px;
  transition: background .18s;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  border: none;
  text-align: left;
}
.ef-topbar__addr:hover { background: #f0f0f0; }
.home:not(.is-b2b) .ef-topbar__addr:hover { background: rgba(0,0,0,.06); }
body:not(.home) .ef-topbar__addr:hover { background: rgba(255,255,255,.15); }

/* addr-pin centrato con testo */
.ef-topbar__addr-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ef-orange);
  flex-shrink: 0;
}
.home:not(.is-b2b) .ef-topbar__addr-pin { color: var(--ef-orange); }
body:not(.home) .ef-topbar__addr-pin { color: rgba(255,255,255,.9); }

.ef-topbar__addr-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
}
.ef-topbar__addr-lbl {
  font-size: .7rem;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
.ef-topbar__addr-val {
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* user button */
.ef-topbar__user-btn {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 6px 12px;
  transition: background .18s;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: .875rem;
  font-weight: 600;
  color: var(--ef-black);
  border: none;
  white-space: nowrap;
}
.ef-topbar__user-btn:hover { background: #ebebeb; }
body:not(.home) .ef-topbar__user-btn { background: rgba(255,255,255,.15); color: #fff; }
body:not(.home) .ef-topbar__user-btn:hover { background: rgba(255,255,255,.25); }
body.is-b2b .ef-topbar__user-btn { background: rgba(255,255,255,.1); color: #fff; }
body.is-b2b:not(.home) .ef-topbar__user-btn { background: rgba(0,0,0,.1); color: #000; }

@media(max-width:600px) {
  .ef-hero__footer-top { text-align: center; }
  .ef-footer__legal { flex-direction: column; align-items: center; text-align: center; gap: 12px; }
  .ef-footer__legal-links { flex-wrap: wrap; justify-content: center; }
  /* footer strip: handled in mobile.css */
}

/* ── Hero footer link neri su B2B (sfondo giallo) ──────────────── */
body.is-b2b .ef-hero__footer-bottom a,
body.is-b2b .ef-hero__footer-left a,
body.is-b2b .ef-hero__footer-right a {
  color: rgba(0,0,0,.65) !important;
}
body.is-b2b .ef-hero__footer-bottom a:hover,
body.is-b2b .ef-hero__footer-left a:hover,
body.is-b2b .ef-hero__footer-right a:hover {
  color: #000 !important;
}

/* ── Lang trigger button ────────────────────────────────────────── */
.ef-lang-trigger {
  height: 41px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,.75);
  font-size: .78rem;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background .15s, color .15s;
}
.ef-lang-trigger:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
body.is-b2b .ef-lang-trigger { color: rgba(0,0,0,.6); }
body.is-b2b .ef-lang-trigger:hover { background: rgba(0,0,0,.08); color: #000; }

/* ── Lang grid popup ────────────────────────────────────────────── */
.ef-modal--lang .ef-modal__body { padding: 16px 20px 20px; }
.ef-lang-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.ef-lang-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1.5px solid transparent;
  background: var(--ef-50, #fafafa);
  cursor: pointer;
  transition: border-color .15s, background .15s;
  text-align: left;
  width: 100%;
}
.ef-lang-option:hover {
  background: var(--ef-100, #f5f5f5);
  border-color: var(--ef-200, #e8e8e8);
}
.ef-lang-option.is-active {
  border-color: var(--ef-orange);
  background: var(--ef-orange-l, #fff3ef);
}
.ef-lang-option__flag { font-size: 1.5rem; flex-shrink: 0; line-height: 1; }
.ef-lang-option__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ef-lang-option__label { font-size: .88rem; font-weight: 600; color: var(--ef-black); }
.ef-lang-option__region { font-size: .72rem; color: var(--ef-400, #888); margin-top: 1px; }
.ef-lang-option__check { color: var(--ef-orange); flex-shrink: 0; margin-left: auto; }

/* ── B2B hero footer: testi neri sul giallo ─────────────────────── */
body.is-b2b .ef-hero__footer { color: rgba(0,0,0,.6); }
body.is-b2b .ef-hero__footer a { color: rgba(0,0,0,.6); }
body.is-b2b .ef-hero__footer a:hover { color: #000; }
body.is-b2b .ef-hero__footer-top { border-color: rgba(0,0,0,.15); }
body.is-b2b .ef-hero__footer-top span { color: #000; cursor: pointer; font-weight: 600; }
body.is-b2b .ef-hero__footer-top span:hover { color: rgba(0,0,0,.7); }

/* B2C hero footer Italia link → popup trigger */
.ef-hero__footer-top span { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

/* ── B2C/B2B switch nella searchbar non-home ────────────────────── */
.ef-shop-mode-switch {
  display: flex;
  align-items: center;
  gap: 2px;
  background: rgba(255,255,255,.15);
  border-radius: 8px;
  padding: 3px;
  flex-shrink: 0;
}
.ef-shop-mode-btn {
  padding: 5px 14px;
  border-radius: 6px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  color: rgba(255,255,255,.7);
  transition: all .2s;
  background: transparent;
}
.ef-shop-mode-btn.is-on {
  background: #fff;
  color: var(--ef-orange);
}
.ef-shop-mode-btn--b2b.is-on {
  background: #FCD537;
  color: #000;
}
/* Su header B2C bianco (home non arancio) */
.home .ef-shop-mode-switch { display: none; }

/* ── Topbar right — colori B2B ──────────────────────────────────── */

/* Home B2B → topbar nera → right elementi bianchi */
body.is-b2b.home .ef-topbar__right .ef-topbar__lang {
  border-color: rgba(255,255,255,.25) !important;
  color: #fff !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__lang:hover {
  border-color: rgba(255,255,255,.6) !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__access {
  color: #fff !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__access:hover {
  color: #FCD537 !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__register {
  color: rgba(255,255,255,.7) !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__register:hover {
  color: #fff !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__user {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
body.is-b2b.home .ef-topbar__right .ef-topbar__user:hover {
  background: rgba(255,255,255,.2) !important;
}

/* Pagine B2B non-home → topbar gialla → right elementi neri */
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__lang {
  border-color: rgba(0,0,0,.2) !important;
  color: #000 !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__lang:hover {
  border-color: #000 !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__access {
  color: #000 !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__access:hover {
  color: rgba(0,0,0,.6) !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__register {
  color: rgba(0,0,0,.6) !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__register:hover {
  color: #000 !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__user {
  background: rgba(0,0,0,.08) !important;
  border-color: rgba(0,0,0,.15) !important;
  color: #000 !important;
}
body.is-b2b:not(.home) .ef-topbar__right .ef-topbar__user:hover {
  background: rgba(0,0,0,.15) !important;
}

/* B2C pagine non-home → topbar arancio → right bianchi */
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__lang {
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__lang:hover {
  border-color: rgba(255,255,255,.7) !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__access {
  color: #fff !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__access:hover {
  color: rgba(255,255,255,.75) !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__register {
  color: rgba(255,255,255,.8) !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__register:hover {
  color: #fff !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__user {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.25) !important;
  color: #fff !important;
}
body:not(.is-b2b):not(.home) .ef-topbar__right .ef-topbar__user:hover {
  background: rgba(255,255,255,.25) !important;
}

/* ── B2B shop page: nascondi topbar WP pill (usa header custom) ─── */
body.is-b2b-shop .admin-bar .ef-b2b-header { top: 32px; }
@media(max-width:782px) { body.is-b2b-shop .admin-bar .ef-b2b-header { top: 46px; } }

/* ── /shop B2C: forza addr testi bianchi su arancio ─────────────── */
.woocommerce-shop .ef-topbar .ef-topbar__addr-lbl,
.woocommerce-shop .ef-topbar .ef-topbar__addr-val { color: #fff !important; }
.woocommerce-shop .ef-topbar .ef-topbar__addr-pin { color: rgba(255,255,255,.85) !important; }
.woocommerce-shop .ef-topbar .ef-topbar__access   { color: #fff !important; }
.woocommerce-shop .ef-topbar .ef-topbar__register { color: rgba(255,255,255,.8) !important; }
.woocommerce-shop .ef-topbar .ef-topbar__user {
    background: rgba(255,255,255,.15) !important;
    border-color: rgba(255,255,255,.25) !important;
    color: #fff !important;
}
/* addr hover su arancio */
.woocommerce-shop .ef-topbar .ef-topbar__addr:hover { background: rgba(255,255,255,.12) !important; }

/* ── FORCE addr bianco su tutte le pagine non-home B2C ─────────── */
body:not(.home):not(.is-b2b) .ef-topbar * { color: #fff !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr { color: #fff !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr-pin { color: rgba(255,255,255,.85) !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr-lbl { color: rgba(255,255,255,.75) !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr-val { color: #fff !important; font-weight: 700; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__user { 
  background: rgba(255,255,255,.15) !important; 
  border-color: rgba(255,255,255,.25) !important;
  color: #fff !important;
}
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__lang {
  border-color: rgba(255,255,255,.3) !important;
  color: #fff !important;
}
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__access { color: #fff !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__register { color: rgba(255,255,255,.85) !important; }
/* Exception: icona/immagine dentro topbar non deve essere bianca */
body:not(.home):not(.is-b2b) .ef-topbar img { filter: brightness(10); }
body:not(.home):not(.is-b2b) .ef-topbar svg { stroke: #fff; }
/* Addr hover */
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr:hover { background: rgba(255,255,255,.12) !important; }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__user:hover { background: rgba(255,255,255,.25) !important; }

/* ── B2B shop: body padding zero, header custom sticky ─────────── */
body.is-b2b-shop {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.is-b2b-shop #ef-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.is-b2b-shop .ef-b2b-header {
  position: sticky;
  top: 0;
  z-index: 500;
}
body.is-b2b-shop.admin-bar .ef-b2b-header {
  top: 32px;
}
@media(max-width:782px) {
  body.is-b2b-shop.admin-bar .ef-b2b-header { top: 46px; }
}
/* Nascondi il pill topbar WP sul B2B shop */
body.is-b2b-shop .ef-topbar-wrap,

/* ── Logo searchbar ────────────────────────────────────────────────── */

/* ── BazarAI pill su topbar arancio (riga 1): bianca senza !important ── */
body:not(.home):not(.is-b2b) .ef-header-top .ef-smart-search__ai-pill {
  border-color: rgba(255,255,255,.4);
  color: #fff;
}
body:not(.home):not(.is-b2b) .ef-header-top .ef-smart-search__ai-pill svg { color: #fff; }
body:not(.home):not(.is-b2b) .ef-header-top .ef-smart-search__ai-pill:hover {
  border-color: #fff;
  background: rgba(255,255,255,.15);
  color: #fff;
}
body.is-b2b:not(.home) .ef-smart-search__ai-pill {
  border-color: rgba(0,0,0,.2) !important;
  color: #000 !important;
}
body.is-b2b:not(.home) .ef-smart-search__ai-pill svg { color: #000 !important; }
body.is-b2b:not(.home) .ef-smart-search__ai-pill:hover {
  border-color: #000 !important;
  color: #000 !important;
}
/* Rimuovi stile vecchio pill header */
.ef-searchbar__ai-pill--header { display: none; }

/* ── AI pill nel header ──────────────────────────────────────────── */
.ef-header-ai-pill {
  display: inline-flex !important;
  height: 44px;
  padding: 0 16px;
  font-size: .82rem;
  font-weight: 600;
  border-radius: 50px;
}
body.is-b2b-shop .ef-header-ai-pill { border-color: rgba(255,255,255,.25) !important; color: rgba(255,255,255,.85) !important; background: transparent !important; }
body.is-b2b-shop .ef-header-ai-pill:hover { border-color: #FCD537 !important; color: #FCD537 !important; }
/* Logo B2B shop */
body.is-b2b-shop .ef-searchbar__logo { background: #FCD537 !important; border:none !important; box-shadow:none !important; }

/* ══ Footer B2B — stessa struttura B2C, colori giallo/nero ═════════ */
.ef-footer--b2b .ef-footer__inner { background: #111 !important; }
.ef-footer--b2b .ef-footer__col-title { color: #FCD537 !important; }
.ef-footer--b2b .ef-footer__col-list a { color: rgba(255,255,255,.55) !important; }
.ef-footer--b2b .ef-footer__col-list a:hover { color: #FCD537 !important; }
.ef-footer--b2b .ef-footer__hours,
.ef-footer--b2b .ef-footer__addr,
.ef-footer--b2b .ef-footer__phone { color: rgba(255,255,255,.55) !important; }
.ef-footer--b2b .ef-footer__phone { color: #FCD537 !important; }
.ef-footer--b2b .ef-footer__app-btn { background: #222 !important; color: #FCD537 !important; }
.ef-footer--b2b .ef-footer__app-btn:hover { background: #333 !important; }
.ef-footer--b2b .ef-footer__app-links a { color: rgba(255,255,255,.55) !important; }
.ef-footer--b2b .ef-footer__app-links a:hover { color: #FCD537 !important; }

/* Strip B2B → gialla */
.ef-footer--b2b .ef-footer__strip { background: #FCD537 !important; }
.ef-footer--b2b .ef-footer__strip * { color: #000 !important; }
.ef-footer--b2b .ef-footer__strip-center strong { color: #000 !important; }
.ef-footer--b2b .ef-footer__strip a { color: #000 !important; }

/* Icone social B2B → giallo */
.ef-footer--b2b .ef-footer__social a { background: rgba(255,255,255,.08) !important; color: rgba(255,255,255,.6) !important; }
.ef-footer--b2b .ef-footer__social a:hover { background: #FCD537 !important; color: #000 !important; }

/* Legal bar B2B */
.ef-footer--b2b .ef-footer__legal { background: #000 !important; }
.ef-footer--b2b .ef-footer__legal-links a,
.ef-footer--b2b .ef-footer__legal-help { color: rgba(255,255,255,.45) !important; }
.ef-footer--b2b .ef-footer__legal-links a:hover { color: #FCD537 !important; }
.ef-footer--b2b .ef-footer__legal-text { color: rgba(255,255,255,.3) !important; }

/* Pay icons B2B: leggera trasparenza */
.ef-footer--b2b .ef-pay-icon { opacity: .7; filter: grayscale(0.3); }

body.is-b2b:not(.home) .ef-searchbar__logo { background: #FCD537 !important; }

/* ── Header search actions (BazarAI + Cerca) ────────────────────── */
.ef-header-search__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
/* AI pill nell'header: stile identico alla home */
.ef-header-ai-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 16px;
  font-size: .82rem;
  font-weight: 600;
  border-radius: 50px;
  border: 1.5px solid var(--ef-200);
  background: #fff;
  color: var(--ef-700);
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--ef-font);
  transition: border-color .2s, color .2s;
  flex-shrink: 0;
}
.ef-header-ai-pill svg { width: 14px; height: 14px; color: var(--ef-orange); }
.ef-header-ai-pill:hover { border-color: var(--ef-orange); color: var(--ef-orange); }
/* Submit: pill arancio come home */
.ef-header-search__actions .ef-searchbar__submit {
  height: 44px;
  border-radius: 50px;
  padding: 0 22px;
  font-size: .875rem;
}
/* B2B overrides */
body.is-b2b-shop .ef-header-ai-pill { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.2) !important; color: rgba(255,255,255,.8) !important; }
body.is-b2b-shop .ef-header-ai-pill svg { color: #FCD537 !important; }
body.is-b2b-shop .ef-header-ai-pill:hover { border-color: #FCD537 !important; color: #FCD537 !important; }
body.is-b2b-shop .ef-header-search__actions .ef-searchbar__submit { background: #FCD537 !important; color: #000 !important; }

/* ── Footer strip B2C: testi bianchi su arancio ────────────────── */
/* Strip B2C: testi bianchi, logo normale */
.ef-footer__strip-center p,
.ef-footer__strip-center strong { color: #fff !important; }
.ef-footer__strip-center a { color: rgba(255,255,255,.8) !important; }
/* Icone social B2C strip → bianche */
.ef-footer__strip .ef-footer__social a { color: rgba(255,255,255,.8) !important; border-color: rgba(255,255,255,.3) !important; }
.ef-footer__strip .ef-footer__social a:hover { background: rgba(255,255,255,.2) !important; color: #fff !important; }
/* Logo nel strip: non invertire */
.ef-footer__strip-left img { filter: none !important; }

/* Strip B2B: tutto nero su giallo */
.ef-footer--b2b .ef-footer__strip-center p,
.ef-footer--b2b .ef-footer__strip-center strong,
.ef-footer--b2b .ef-footer__strip-center a { color: #000 !important; }
.ef-footer--b2b .ef-footer__strip .ef-footer__social a { color: rgba(0,0,0,.7) !important; border-color: rgba(0,0,0,.2) !important; }
.ef-footer--b2b .ef-footer__strip .ef-footer__social a:hover { background: rgba(0,0,0,.1) !important; }

/* ── Footer payment B2C: testi bianchi sulla strip arancio ────── */
.ef-footer__strip .ef-footer__pay-title,
.ef-footer__strip .ef-footer__pay-icons { color: #fff !important; }
.ef-footer--b2b .ef-footer__strip .ef-footer__pay-title { color: #000 !important; }

/* Logo nell'header search */
.ef-smart-search__logo { flex-shrink: 0; display: flex; align-items: center; margin-right: 4px; }
.ef-smart-search__logo img { border-radius: 50%; display: block; }

/* ── Sinfo heads: testi e matitina bianchi ───────────────────────── */
.ef-sinfo__head { color: #fff !important; }
.ef-sinfo__edit { color: rgba(255,255,255,.85) !important; background: rgba(255,255,255,.12) !important; border-radius: 6px; }
.ef-sinfo__edit:hover { color: #fff !important; background: rgba(255,255,255,.22) !important; }
.ef-sinfo__edit svg { stroke: #fff !important; }

/* ── topbar addr background always visible ──────────────────────── */
.ef-topbar .ef-topbar__addr { background: rgba(0,0,0,.05); }
body:not(.home):not(.is-b2b) .ef-topbar .ef-topbar__addr { background: rgba(255,255,255,.1); }
/* ── Smart search header — inline LinkedIn-style ─────────────────── */
/* La search è DENTRO la topbar arancio — una sola barra, zero righe extra */
.ef-header-block {
  position: sticky;
  top: 0;
  z-index: 300;
  overflow: visible;
  border-radius: 20px !important;
}
/* Il border-radius 0 0 20px 20px viene applicato solo alla searchbar (ultima riga)
   per non clippare il dropdown che deve uscire verso il basso */
.ef-smart-search--header {
  border-radius: 0 0 20px 20px;
}
.ef-header-top {
  border-radius: 0;
}
.admin-bar .ef-header-block { top: 32px; }
@media(max-width:782px) { .admin-bar .ef-header-block { top: 46px; } }

/* ── Riga 1: topbar arancio (addr + right, niente search) ── */
.ef-header-top {
  background: var(--ef-orange, #FA4F26);
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  gap: 10px;
}

/* ── Riga 2: searchbar bianca sotto la topbar ── */
.ef-smart-search--header {
  background: #fff;
  border-top: 1px solid var(--ef-100);
  padding: 8px 14px;
  position: relative;  /* anchor for autocomplete dropdown */
}
/* Autocomplete nel header search: position under the bar */
.ef-smart-search--header .ef-autocomplete {
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 20000;
}
/* Smart dropdown (rich) nel header */
.ef-smart-search--header .ef-smart-search__dropdown {
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  width: 100%;
  min-width: 100%;
  z-index: 20000;
  position: absolute;
}
.ef-smart-search--header .ef-smart-search__bar {
  display: flex;
  align-items: center;
  background: var(--ef-50, #f8f8f8);
  border: 1.5px solid var(--ef-200);
  border-radius: 24px;
  padding: 0 4px 0 10px;
  height: 42px;
  gap: 8px;
  transition: border-color .18s, box-shadow .18s;
  position: relative;
}
.ef-smart-search--header .ef-smart-search__bar:focus-within {
  border-color: var(--ef-orange);
  box-shadow: 0 0 0 3px rgba(250,79,38,.1);
  background: #fff;
}
.ef-smart-search--header .ef-smart-search__bar:focus-within .ef-smart-search__submit {
  background: var(--ef-orange); color: #fff;
}
.ef-smart-search--header .ef-smart-search__icon { flex-shrink: 0; display: flex; color: var(--ef-400); }
.ef-smart-search--header .ef-smart-search__icon svg { stroke: var(--ef-400); }
.ef-smart-search--header .ef-smart-search__input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--ef-font);
  font-size: .875rem;
  color: var(--ef-black);
  padding: 0;
}
.ef-smart-search--header .ef-smart-search__input::placeholder { color: var(--ef-400); }
/* Logo fav nella searchbar */
.ef-searchbar__fav { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.ef-searchbar__fav img { width: 40px; height: 40px; object-fit: contain; display: block; }
/* BazarAI pill */
.ef-smart-search--header .ef-smart-search__ai-pill {
  display: none;
  height: 34px;
  padding: 0 12px;
  border-radius: 20px;
  border: 1.5px solid var(--ef-300);
  background: transparent;
  color: var(--ef-700);
  font-size: .78rem;
  font-weight: 600;
  font-family: var(--ef-font);
  cursor: pointer;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  white-space: nowrap;
  transition: all .18s;
}
@media(min-width:640px) {
  .ef-smart-search--header .ef-smart-search__ai-pill { display: flex; }
}
.ef-smart-search--header .ef-smart-search__ai-pill:hover {
  border-color: var(--ef-orange);
  color: var(--ef-orange);
}
.ef-smart-search--header .ef-smart-search__ai-pill svg {
  width: 12px; height: 12px;
  color: var(--ef-orange);
}
/* Cerca: arancio pieno, pill grande — identico all'immagine di riferimento */
.ef-smart-search--header .ef-smart-search__submit {
  height: 34px !important;
  border-radius: 20px !important;
  padding: 0 20px !important;
  background: var(--ef-orange) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  font-family: var(--ef-font) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .15s !important;
  white-space: nowrap !important;
}
.ef-smart-search--header .ef-smart-search__submit:hover { background: var(--ef-orange-d,#d43d18) !important; }
.ef-header-search-inline .ef-smart-search__submit:hover { background: rgba(255,255,255,.3); }

/* Dropdown autocomplete */
.ef-header-search-inline .ef-smart-search__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 5000;
}

/* Addr: versione compatta per header inline */
.ef-header-top .ef-topbar__addr {
  flex-shrink: 0;
}

/* B2B inline search */
body.is-b2b-shop .ef-header-top { background: #111; }
body.is-b2b-shop .ef-header-search-inline .ef-smart-search__bar { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); }
body.is-b2b-shop .ef-header-search-inline .ef-smart-search__bar:focus-within { background: #fff; border-color: #FCD537; }
body.is-b2b-shop .ef-header-search-inline .ef-smart-search__bar:focus-within .ef-smart-search__submit { background: #FCD537; color: #000; }
body.is-b2b-shop .ef-header-search-inline .ef-smart-search__submit { background: rgba(252,213,55,.15); color: #FCD537; }
body.is-b2b-shop .ef-header-search-inline .ef-smart-search__ai-pill { border-color: rgba(252,213,55,.3); color: #FCD537; }

/* scroll padding per anchor links sotto header sticky */
body:not(.home) .ef-main { scroll-padding-top: 110px; }

/* ════════════════════════════════════════════════════════════════════
   STORIES STRIP — vendor shop
   ════════════════════════════════════════════════════════════════════ */
.ef-stories-wrap{margin:4px 0 12px}

/* Header sezione */
.ef-stories-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ef-stories-header__left{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--ef-black)}
.ef-stories-header__left svg{color:var(--ef-orange)}
.ef-stories-header__count{background:var(--ef-orange);color:#fff;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:10px;line-height:1.6}
.ef-stories-header__add{display:flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;color:var(--ef-orange);background:rgba(250,79,38,.07);border:1.5px solid rgba(250,79,38,.2);border-radius:16px;padding:4px 11px;cursor:pointer;transition:all .15s;font-family:var(--ef-font)}
.ef-stories-header__add:hover{background:var(--ef-orange);color:#fff}

.ef-stories-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;-ms-overflow-style:none}
.ef-stories-strip::-webkit-scrollbar{display:none}

/* Story item */
.ef-story{flex-shrink:0;cursor:pointer;width:68px;position:relative;user-select:none}
@media(min-width:480px){.ef-story{width:72px}}

/* Ring con gradiente */
.ef-story__ring{width:100%;aspect-ratio:9/16;border-radius:10px;padding:2.5px;background:linear-gradient(135deg,#FA4F26 0%,#FCD537 100%);transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 8px rgba(250,79,38,.2)}
.ef-story__ring:hover{transform:scale(1.04);box-shadow:0 4px 16px rgba(250,79,38,.3)}
.ef-story__ring.is-seen{background:var(--ef-200);box-shadow:none}
.ef-story__ring--add{background:none;border:2px dashed var(--ef-300);box-shadow:none}
.ef-story__ring--add:hover{border-color:var(--ef-orange)}

.ef-story__thumb{width:100%;height:100%;object-fit:cover;border-radius:7.5px;display:block;background:var(--ef-100)}
.ef-story__thumb--empty{background:var(--ef-100);display:flex;align-items:center;justify-content:center;color:var(--ef-300);border-radius:7.5px}
.ef-story__thumb--add{background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--ef-400);font-size:.63rem;font-weight:600;text-align:center;padding:8px;border-radius:7.5px}

/* Play overlay su video */
.ef-story__play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);border-radius:7.5px;pointer-events:none}
.ef-story__play-overlay svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}

/* Demo badge */
.ef-story__demo-badge{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.6);color:#FCD537;font-size:.55rem;font-weight:700;padding:1px 5px;border-radius:4px;letter-spacing:.05em;pointer-events:none}

/* Delete btn */
.ef-story__del{position:absolute;top:-5px;right:-5px;width:18px;height:18px;border-radius:50%;background:#dc2626;color:#fff;border:2px solid #fff;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.ef-story:hover .ef-story__del{display:flex}

/* Empty state add */
.ef-story--add-full .ef-story__ring--add{background:rgba(250,79,38,.04)}

/* Story viewer modal */
.ef-story-viewer{z-index:20000;background:rgba(0,0,0,.9);padding:0;backdrop-filter:blur(3px)}
.ef-story-viewer__card{width:100%;max-width:360px;height:92vh;max-height:700px;background:#0a0a0a;border-radius:18px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 20px 80px rgba(0,0,0,.6)}
@media(max-width:420px){.ef-story-viewer__card{max-width:100%;height:100vh;border-radius:0}}

.ef-story-viewer__progress{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;gap:3px;padding:10px 10px 0}
.ef-story-viewer__bar{flex:1;height:2.5px;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}
.ef-story-viewer__bar-fill{height:100%;width:0;background:#fff;transition:width linear;border-radius:2px}

.ef-story-viewer__head{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;gap:9px;padding:26px 14px 14px;background:linear-gradient(to bottom,rgba(0,0,0,.65) 0%,transparent 100%)}
.ef-story-viewer__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.75);flex-shrink:0}
.ef-story-viewer__avatar--init{background:var(--ef-orange);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.75);flex-shrink:0}
.ef-story-viewer__vendor{font-size:.84rem;font-weight:700;color:#fff;flex:1;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.ef-story-viewer__time{font-size:.72rem;color:rgba(255,255,255,.65)}
.ef-story-viewer__close{background:rgba(255,255,255,.15);border:none;cursor:pointer;color:#fff;padding:6px;display:flex;border-radius:50%;backdrop-filter:blur(4px);transition:background .15s}
.ef-story-viewer__close:hover{background:rgba(255,255,255,.3)}

.ef-story-viewer__media{flex:1;position:relative;overflow:hidden;background:#0a0a0a}
.ef-story-viewer__media::before{content:"";position:absolute;inset:0;background-image:var(--story-bg);background-size:cover;background-position:center;filter:blur(28px) brightness(.55);transform:scale(1.2);z-index:0}
.ef-story-viewer__media img,.ef-story-viewer__media video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;z-index:1}
.ef-story-viewer__prev,.ef-story-viewer__next{position:absolute;top:0;bottom:0;width:40%;z-index:3;cursor:pointer}
.ef-story-viewer__prev{left:0}
.ef-story-viewer__next{right:0}

.ef-story-viewer__foot{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:16px 14px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%)}
.ef-story-viewer__caption{color:rgba(255,255,255,.92);font-size:.875rem;margin:0 0 10px;line-height:1.45;font-weight:300;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.ef-story-viewer__cta{display:inline-flex;align-items:center;gap:7px;background:var(--ef-orange);color:#fff;border-radius:20px;padding:9px 16px;font-size:.82rem;font-weight:700;text-decoration:none;box-shadow:0 4px 16px rgba(250,79,38,.4);transition:transform .15s,box-shadow .15s}
.ef-story-viewer__cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(250,79,38,.5)}
.ef-story-viewer__cta strong{font-size:.88rem;margin-left:2px}

/* ════════════════════════════════════════════════════════════════════
   REELS STRIP — shop archive
   ════════════════════════════════════════════════════════════════════ */
.ef-reels-wrap{margin:0 0 16px}
.ef-reels-head{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--ef-black);margin-bottom:10px}
.ef-reels-head svg{color:var(--ef-orange);flex-shrink:0}
.ef-reels-head__sub{font-weight:300;color:var(--ef-500);font-size:.78rem;margin-left:4px;flex:1}

/* Bottoni nav strip */
.ef-reels-head__nav{display:flex;gap:5px;margin-left:auto}
.ef-reels-nav-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ef-200);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ef-600);transition:all .15s;flex-shrink:0}
.ef-reels-nav-btn:hover{border-color:var(--ef-orange);color:var(--ef-orange);background:rgba(250,79,38,.05)}

/* Scroll wrap con fade laterale */
.ef-reels-scroll-wrap{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.07)}
.ef-reels-scroll-wrap.no-fade-left::before{opacity:0!important}
.ef-reels-scroll-wrap.no-fade-right::after{opacity:0!important}
.ef-reels-scroll-wrap::before{
  content:'';position:absolute;top:0;left:0;bottom:8px;width:30px;
  background:linear-gradient(to left,transparent,var(--ef-bg,#f5f5f5));
  pointer-events:none;z-index:2;
}
.ef-reels-scroll-wrap::after{
  content:'';position:absolute;top:0;right:0;bottom:8px;width:80px;
  background:linear-gradient(to right,transparent,var(--ef-bg,#f5f5f5));
  pointer-events:none;z-index:2;
}
.ef-reels-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none;scroll-behavior:smooth}
.ef-reels-strip::-webkit-scrollbar{display:none}

/* Reel card */
.ef-reel{flex-shrink:0;width:110px;border-radius:12px;overflow:hidden;background:#111;position:relative;box-shadow:var(--sh-xs);transition:transform .18s,box-shadow .18s;cursor:pointer}
.ef-reel:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.ef-reel__media{width:100%;aspect-ratio:9/16;position:relative;overflow:hidden;background:#1a1a1a}
.ef-reel__media::before{content:"";position:absolute;inset:0;background-image:var(--reel-bg);background-size:cover;background-position:center;filter:blur(18px) brightness(.7);transform:scale(1.15);z-index:0}.ef-reel__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:opacity .25s;z-index:1}
.ef-reel__thumb--empty{width:100%;height:100%;background:linear-gradient(135deg,#222,#333);position:relative;z-index:1}
.ef-reel__video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;0}

/* Gradient in cima (delicato, visibilità badge/play) */
.ef-reel__grad-top{position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,transparent 100%);pointer-events:none;z-index:1}

/* Badge VIDEO */
.ef-reel__type-badge{
  position:absolute;top:6px;left:6px;z-index:2;
  background:rgba(0,0,0,.55);color:#fff;
  font-size:.55rem;font-weight:700;letter-spacing:.08em;
  padding:2px 6px;border-radius:4px;
  display:flex;align-items:center;gap:3px;
  backdrop-filter:blur(3px);
}

.ef-reel__play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.9;transition:opacity .18s;pointer-events:none;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.ef-reel:hover .ef-reel__play-icon{opacity:1}
.ef-reel.is-playing .ef-reel__play-icon{opacity:0}
.ef-reel.is-playing .ef-reel__thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;transition:opacity .25s}

.ef-reel__foot{padding:8px 8px 10px;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.4) 60%,transparent 100%);position:absolute;bottom:0;left:0;right:0;z-index:2}
.ef-reel__vendor{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;color:rgba(255,255,255,.95);text-decoration:none;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ef-reel__vendor-dot{width:6px;height:6px;border-radius:50%;background:var(--ef-orange);flex-shrink:0}
.ef-reel__caption{font-size:.66rem;color:rgba(255,255,255,.8);margin:0 0 6px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ef-reel__buy-btn{display:flex;align-items:center;gap:4px;font-size:.66rem;font-weight:700;color:#fff;background:var(--ef-orange);border-radius:10px;padding:4px 8px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ef-reel__buy-btn strong{font-size:.72rem;margin-left:2px;flex-shrink:0}

/* ════════════════════════════════════════════════════════════════════
   REEL VIEWER — fullscreen vertical popup
   ════════════════════════════════════════════════════════════════════ */
.ef-reel-viewer{
  position:fixed;inset:0;z-index:20001;
  background:rgba(0,0,0,.95);
  display:none;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.ef-reel-viewer.is-open{display:flex}

/* Bottone chiudi — alto sinistra */
.ef-reel-viewer__close{
  position:fixed;top:16px;left:16px;z-index:20;
  background:rgba(255,255,255,.15);border:none;cursor:pointer;
  color:#fff;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);transition:background .15s;
}
.ef-reel-viewer__close:hover{background:rgba(255,255,255,.3)}

/* Wrap verticale centrale: peek + card + prodotto */
.ef-rv-wrap{
  display:flex;flex-direction:column;align-items:center;
  gap:0;
  width:auto;
  max-height:100vh;
  overflow:hidden;
}

/* PEEK: fetta del reel precedente visibile in alto */
.ef-rv-peek{
  position:relative;
  width:100%;
  height:72px;
  border-radius:14px 14px 0 0;
  overflow:hidden;
  cursor:pointer;
  flex-shrink:0;
  opacity:0;
  transition:opacity .25s;
}
.ef-rv-peek.is-visible{opacity:1}
.ef-rv-peek img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;filter:brightness(.55);
}
.ef-rv-peek__grad{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,.1) 100%);
  pointer-events:none;
}
.ef-rv-peek__hint{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  color:rgba(255,255,255,.7);display:flex;align-items:center;gap:5px;
  font-size:.72rem;font-weight:600;
}
@media(max-width:639px){
  .ef-rv-peek{height:56px}
}

/* Card principale */
.ef-reel-viewer__card{
  position:relative;
  flex-shrink:0;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
}
@media(min-width:640px){
  .ef-reel-viewer__card{border-radius:0}
}

/* Media 9:16 */
.ef-reel-viewer__media{
  position:relative;
  width:calc((100vh - 72px - 70px) * 9/16);
  max-width:min(100vw, 400px);
  height:calc(100vh - 72px - 70px);
  max-height:620px;
  background:#000;
  overflow:hidden;
}
@media(max-width:639px){
  .ef-reel-viewer__media{
    width:100vw;
    height:calc(100svh - 56px - 82px);
    max-height:none;
    max-width:none;
  }
}
.ef-reel-viewer__media img,
.ef-reel-viewer__media video{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}

/* Gradients */
.ef-rv-grad-bottom{
  position:absolute;bottom:0;left:0;right:0;height:60%;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.35) 50%,transparent 100%);
  pointer-events:none;z-index:2;
}
.ef-rv-grad-top{
  position:absolute;top:0;left:0;right:0;height:20%;
  background:linear-gradient(to bottom,rgba(0,0,0,.45) 0%,transparent 100%);
  pointer-events:none;z-index:2;
}

/* Tap zone next (bassa metà — scorra avanti) */
.ef-reel-viewer__tap-next{position:absolute;bottom:0;left:0;right:0;height:45%;z-index:3;cursor:pointer}

/* Frecce nav — colonna destra sovrapposta al video */
.ef-reel-viewer__nav{
  background:rgba(255,255,255,.18);border:none;cursor:pointer;
  color:#fff;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;backdrop-filter:blur(4px);flex-shrink:0;
}
.ef-reel-viewer__nav:hover{background:rgba(255,255,255,.35)}
.ef-reel-viewer__nav--up{}
.ef-reel-viewer__nav--down{}

/* Overlay basso-sinistra: vendor + caption + shop link */
.ef-rv-overlay-left{
  position:absolute;bottom:14px;left:0;
  width:calc(100% - 56px);
  padding:0 14px;
  z-index:4;
  display:flex;flex-direction:column;gap:5px;
}

/* Overlay basso-destra: frecce + dots impilate */
.ef-rv-overlay-right{
  position:absolute;bottom:10px;right:10px;
  z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.ef-rv-vendor{display:flex;align-items:center;gap:9px}
.ef-rv-vendor__avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--ef-orange);color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:.82rem;font-weight:700;
}
.ef-rv-vendor__name{
  display:flex;align-items:center;gap:4px;
  color:#fff;font-size:.84rem;font-weight:700;
  text-decoration:none;flex:1;min-width:0;
}
.ef-rv-vendor__name:hover{color:rgba(255,255,255,.8)}
.ef-rv-caption{
  color:rgba(255,255,255,.8);font-size:.84rem;
  line-height:1.5;font-weight:300;margin:0;flex-shrink:0;
}
/* Prodotto — card separata sotto il video, fuori dall'overlay */
.ef-rv-product{
  width:calc((100vh - 72px - 70px) * 9/16);
  max-width:min(100vw, 400px);
  background:#1a1a1a;
  flex-shrink:0;
  border-top:1px solid rgba(255,255,255,.08);
}
@media(max-width:639px){
  .ef-rv-product{width:100vw;max-width:none}
}
.ef-rv-product__inner{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px 14px;
}
.ef-rv-product__info{flex:1;min-width:0}
.ef-rv-product__label{
  display:flex;align-items:center;gap:4px;
  font-size:.62rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:rgba(255,255,255,.45);margin-bottom:2px;
}
.ef-rv-product__name{color:#fff;font-size:.82rem;font-weight:700;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ef-rv-product__price{color:var(--ef-orange);font-size:.9rem;font-weight:700}
.ef-rv-product__btn{
  display:flex;align-items:center;gap:4px;flex-shrink:0;
  background:var(--ef-orange);color:#fff;border-radius:10px;
  padding:8px 12px;font-size:.78rem;font-weight:700;
  text-decoration:none;white-space:nowrap;
  transition:background .15s;
}
.ef-rv-product__btn:hover{background:var(--ef-orange-d,#d43d18)}

.ef-rv-shop-link{
  display:inline-flex;align-items:center;gap:5px;
  color:rgba(255,255,255,.5);font-size:.72rem;font-weight:500;
  text-decoration:none;transition:color .15s;margin-top:3px;
}
.ef-rv-shop-link:hover{color:rgba(255,255,255,.85)}

/* Dots paginazione — colonna verticale */
.ef-rv-dots{display:flex;flex-direction:column;gap:4px}
.ef-rv-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:all .15s;flex-shrink:0}
.ef-rv-dot.is-active{background:#fff;transform:scale(1.3)}
.ef-rv-dot:hover{background:rgba(255,255,255,.6)}

/* Reel strip: puntatore corretto */
.ef-reel{cursor:pointer}
.ef-reel__demo-badge{
  position:absolute;top:6px;left:6px;
  background:rgba(0,0,0,.6);color:#FCD537;
  font-size:.55rem;font-weight:700;padding:2px 6px;
  border-radius:4px;letter-spacing:.05em;z-index:2;pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════════
   CONTENUTI TAB — griglia storie/reels per owner
   ════════════════════════════════════════════════════════════════════ */
.ef-content-section{background:#fff;border-radius:var(--r);padding:16px;box-shadow:var(--sh-xs)}
.ef-content-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.ef-content-section__title{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;color:var(--ef-black)}
.ef-content-section__title svg{color:var(--ef-orange)}
.ef-content-section__badge{background:var(--ef-100);color:var(--ef-500);font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:10px}
.ef-content-section__sub{font-size:.78rem;color:var(--ef-500);margin:0 0 14px;line-height:1.45}
.ef-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}
.ef-content-grid--reels{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}
.ef-content-item{border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:var(--ef-100)}
.ef-content-item--story .ef-content-item__thumb{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block;border-radius:var(--r-sm)}
.ef-content-item--reel .ef-content-item__thumb{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:center;display:block;border-radius:var(--r-sm)}
.ef-content-item__thumb--empty{width:100%;aspect-ratio:9/16;background:var(--ef-200);display:block}
.ef-content-item__thumb--dark{background:#1a1a1a}
.ef-content-item__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.85;pointer-events:none}
.ef-content-item__badge{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.6);color:#FCD537;font-size:.55rem;font-weight:700;padding:2px 5px;border-radius:3px}
.ef-content-item__foot{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:6px;display:flex;align-items:flex-end;justify-content:space-between;gap:4px}
.ef-content-item__cap{font-size:.6rem;color:rgba(255,255,255,.85);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px)}
.ef-content-item__del{background:rgba(220,38,38,.8);border:none;color:#fff;cursor:pointer;border-radius:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.ef-content-item__del:hover{background:#dc2626}
.ef-content-item--add{border:2px dashed var(--ef-300);background:transparent;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;min-height:120px}
.ef-content-item--add:hover{border-color:var(--ef-orange);background:rgba(250,79,38,.04)}
.ef-content-item__add-inner{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ef-400);font-size:.68rem;font-weight:600}
.ef-content-item--add:hover .ef-content-item__add-inner{color:var(--ef-orange)}
.ef-content-item:hover{opacity:.92}
.ef-content-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;text-align:center}
.ef-content-empty p{font-size:.82rem;color:var(--ef-500);line-height:1.5;margin:0}

/* ════════════════════════════════════════════════════════════════════
   MODAL MERCATO — lingua / paese / valuta
   ════════════════════════════════════════════════════════════════════ */
.ef-modal--lang .ef-modal__body { padding: 4px 20px 20px; }

/* Sezione */
.ef-market-section { display: flex; flex-direction: column; gap: 10px; }
.ef-market-section__head {
  display: flex; align-items: center; gap: 7px;
  font-size: .78rem; font-weight: 700; color: var(--ef-black);
  text-transform: uppercase; letter-spacing: .06em;
}
.ef-market-section__head svg { color: var(--ef-orange); flex-shrink: 0; }
.ef-market-section__current {
  margin-left: auto; font-size: .75rem; font-weight: 600;
  color: var(--ef-orange); text-transform: none; letter-spacing: 0;
  background: rgba(250,79,38,.08); padding: 2px 9px; border-radius: 10px;
}
.ef-market-section__note {
  font-size: .75rem; color: var(--ef-400); line-height: 1.45;
  background: var(--ef-50,#fafafa); border-radius: 8px;
  padding: 8px 12px; border: 1px solid var(--ef-200);
}

/* Griglia lingua — 2 colonne */
.ef-lang-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
}
.ef-lang-option {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 10px;
  border: 1.5px solid transparent;
  background: var(--ef-50, #fafafa);
  cursor: pointer; transition: all .15s; text-align: left; width: 100%;
  font-family: var(--ef-font);
}
.ef-lang-option:hover { background: var(--ef-100); border-color: var(--ef-200); }
.ef-lang-option.is-active { border-color: var(--ef-orange); background: rgba(250,79,38,.06); }
.ef-lang-option.is-disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
.ef-lang-option__flag--code {
  font-size: .68rem; font-weight: 800; letter-spacing: .02em;
  background: var(--ef-200); color: var(--ef-700);
  width: 30px; height: 30px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-family: var(--ef-font);
}
.ef-lang-option.is-active .ef-lang-option__flag--code {
  background: var(--ef-orange); color: #fff;
}
.ef-lang-option__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ef-lang-option__label { font-size: .84rem; font-weight: 600; color: var(--ef-black); }
.ef-lang-option__region { font-size: .72rem; color: var(--ef-400); margin-top: 1px; }
.ef-lang-option__check { color: var(--ef-orange); flex-shrink: 0; margin-left: auto; }
.ef-coming-soon { color: var(--ef-300) !important; font-style: italic; }

/* Griglia valute — 3 colonne */
.ef-currency-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}
.ef-currency-option {
  display: flex; align-items: center; gap: 9px;
  padding: 10px 12px; border-radius: 10px;
  border: 1.5px solid transparent;
  background: var(--ef-50, #fafafa);
  cursor: pointer; transition: all .15s; text-align: left; width: 100%;
  font-family: var(--ef-font);
}
.ef-currency-option:hover { background: var(--ef-100); border-color: var(--ef-200); }
.ef-currency-option.is-active { border-color: var(--ef-orange); background: rgba(250,79,38,.06); }
.ef-currency-option__symbol {
  font-size: 1.1rem; font-weight: 700; color: var(--ef-700);
  width: 30px; height: 30px; background: var(--ef-100);
  border-radius: 7px; display: flex; align-items: center;
  justify-content: center; flex-shrink: 0;
}
.ef-currency-option.is-active .ef-currency-option__symbol {
  background: var(--ef-orange); color: #fff;
}
.ef-currency-option__info { display: flex; flex-direction: column; min-width: 0; }
.ef-currency-option__code { font-size: .82rem; font-weight: 700; color: var(--ef-black); }
.ef-currency-option__label { font-size: .68rem; color: var(--ef-400); }

/* ── Country picker modal ────────────────────────────────────── */
.ef-country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:480px){.ef-country-grid{grid-template-columns:repeat(3,1fr)}}
.ef-country-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:10px 6px 8px;border-radius:10px;
  border:1.5px solid var(--ef-200);background:#fff;
  cursor:pointer;transition:all .15s;position:relative;min-height:70px;
}
.ef-country-btn:hover:not(:disabled){border-color:var(--ef-orange);background:rgba(250,79,38,.04)}
.ef-country-btn.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.07)}
.ef-country-btn.is-coming{opacity:.45;cursor:not-allowed}
.ef-country-btn__flag{font-size:1.6rem;line-height:1;display:block}
.ef-country-btn__name{font-size:.72rem;font-weight:700;color:var(--ef-black);text-align:center;line-height:1.2}
.ef-country-btn__note{font-size:.62rem;color:var(--ef-400);font-style:italic}
.ef-country-btn__check{position:absolute;top:5px;right:5px;color:var(--ef-orange)}

/* Currency override strip */
.ef-country-cur-override{border-top:1px solid var(--ef-100);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.ef-country-cur-lbl{font-size:.75rem;font-weight:600;color:var(--ef-black,#111);display:flex;align-items:center;gap:5px}
.ef-country-cur-lbl svg{color:var(--ef-orange);flex-shrink:0}
.ef-country-cur-pills{display:flex;gap:6px;flex-wrap:wrap}
.ef-cur-pill{
  padding:4px 12px;border-radius:20px;border:1.5px solid var(--ef-200);
  background:#fff;font-size:.75rem;font-weight:600;color:var(--ef-700);
  cursor:pointer;transition:all .15s;
}
.ef-cur-pill:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-cur-pill.is-active{border-color:var(--ef-orange);background:var(--ef-orange);color:#fff}
.ef-country-cur-note{font-size:.68rem;color:var(--ef-400);font-style:italic}

.ef-country-cur-override--bg{background:var(--ef-50,#f7f7f7);border-radius:10px;padding:12px;margin-top:4px}
.ef-country-cur-override--bg .ef-country-cur-lbl{color:var(--ef-700)}
/* Lang trigger globe button */
.ef-lang-trigger{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;
  color:rgba(255,255,255,.8);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  border-radius:20px;padding:5px 10px;cursor:pointer;transition:all .15s}
.ef-lang-trigger:hover{background:rgba(255,255,255,.22);color:#fff}
.ef-lang-trigger svg{flex-shrink:0;opacity:.9}

/* ── Score banner (vendor dashboard) ──────────────────────── */
.ef-score-banner{background:#fff;border-radius:14px;border:1.5px solid var(--ef-200);overflow:hidden}
.ef-score-banner__head{padding:16px 18px 12px;border-bottom:1px solid var(--ef-100)}
.ef-score-banner__title{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:600;color:var(--ef-black);margin-bottom:10px}
.ef-score-banner__bar-wrap{margin-bottom:8px}
.ef-score-banner__bar{height:8px;background:var(--ef-100);border-radius:4px;overflow:hidden}
.ef-score-banner__fill{height:100%;border-radius:4px;transition:width .4s ease}
.ef-score-banner__hint{font-size:.74rem;color:var(--ef-500);font-weight:400}
.ef-score-banner__nudges{display:flex;flex-direction:column;gap:0}
.ef-score-banner__nudges .ef-nudge{border-radius:0;border:none;border-top:1px solid var(--ef-100);border-bottom:1px solid rgba(0,0,0,.06);margin:0}
.ef-score-banner__nudges .ef-nudge:last-child{border-bottom:none}
/* Nudge link CTA variants */
.ef-nudge__cta{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:opacity .15s;border:none;cursor:pointer}
.ef-nudge__cta:hover{opacity:.85}
.ef-nudge__cta--orange{background:rgba(250,79,38,.12);color:var(--ef-orange)}
.ef-nudge__cta--amber{background:rgba(245,158,11,.12);color:#b45309}
.ef-nudge__cta--blue{background:rgba(29,53,87,.1);color:#1d3557}
.ef-nudge__icon--blue{background:rgba(29,53,87,.1);color:#1d3557}

/* ── Sponsorizza tab ─────────────────────────────────────────── */
/* ── Sponsor panel ──────────────────────────────────────────────── */
.ef-sponsor-panel{display:flex;flex-direction:column;gap:22px;padding:20px !important;background:#fff;border-radius:var(--r);box-shadow:var(--sh-xs)}
.ef-sponsor-panel__head{display:flex;flex-direction:column;gap:8px}
.ef-sponsor-panel__title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--ef-black)}
.ef-sponsor-panel__title svg{color:var(--ef-orange);flex-shrink:0}
.ef-sponsor-panel__sub{font-size:.84rem;font-weight:300;color:var(--ef-500);line-height:1.55;margin:0}

/* Mode switch Rapido / Completo */
/* Sponsor panel top row — title + mode toggle */
.ef-sponsor-panel__toprow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,.06);
}

/* Sponsor step bar */
.ef-sponsor-steps{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:10px 0 4px;
}
.ef-sponsor-step{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 12px;border-radius:20px;border:1.5px solid var(--ef-200);
  background:#fff;font-size:.78rem;font-weight:600;
  color:var(--ef-500);cursor:pointer;font-family:var(--ef-font);transition:all .18s;
}
.ef-sponsor-step.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.07);color:var(--ef-orange)}
.ef-sponsor-step.is-done{border-color:var(--ef-200);background:var(--ef-50);color:var(--ef-400)}
.ef-sponsor-step__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:17px;height:17px;border-radius:50%;font-size:.68rem;font-weight:800;
  background:var(--ef-200);color:var(--ef-500);
}
.ef-sponsor-step.is-active .ef-sponsor-step__num{background:var(--ef-orange);color:#fff}
.ef-sponsor-step-sep{color:var(--ef-300);font-size:.8rem;line-height:1;user-select:none}

/* Sponsor panes */
.ef-sponsor-pane{display:none;flex-direction:column;gap:20px;padding-top:16px}
.ef-sponsor-pane.is-active{display:flex}

/* Step nav (prev/next) */
.ef-sponsor-step-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:4px;gap:10px;
}
.ef-sponsor-step-prev{
  background:none;border:1.5px solid var(--ef-200);border-radius:8px;
  padding:8px 16px;font-size:.82rem;font-weight:600;color:var(--ef-500);
  cursor:pointer;font-family:var(--ef-font);transition:all .15s;
}
.ef-sponsor-step-prev:hover{border-color:var(--ef-400);color:var(--ef-700)}
.ef-sponsor-step-next{
  background:var(--ef-orange);border:none;border-radius:8px;
  padding:9px 18px;font-size:.82rem;font-weight:700;color:#fff;
  cursor:pointer;font-family:var(--ef-font);transition:background .15s;
}
.ef-sponsor-step-next:hover{background:#e03d12}

/* Multi-product grid */
.ef-sponsor-prods-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;
  max-height:320px;overflow-y:auto;padding-right:2px;
}
.ef-sponsor-prod-card{
  display:flex;flex-direction:column;gap:0;
  border:1.5px solid var(--ef-200);border-radius:10px;
  background:#fff;cursor:pointer;transition:all .15s;
  position:relative;overflow:hidden;
}
.ef-sponsor-prod-card:hover{border-color:var(--ef-orange)}
.ef-sponsor-prod-card:has(.ef-sp-prod-cb:checked){border-color:var(--ef-orange);background:rgba(250,79,38,.04)}
.ef-sponsor-prod-card__img{width:100%;aspect-ratio:1;object-fit:cover}
.ef-sponsor-prod-card__img--empty{
  width:100%;aspect-ratio:1;
  background:var(--ef-50);display:flex;align-items:center;justify-content:center;
  color:var(--ef-300);
}
.ef-sponsor-prod-card__body{padding:8px 10px 10px}
.ef-sponsor-prod-card__name{font-size:.74rem;font-weight:600;color:var(--ef-black);line-height:1.3;margin-bottom:3px}
.ef-sponsor-prod-card__price{font-size:.72rem;color:var(--ef-orange);font-weight:700}
.ef-sponsor-prod-card__check{
  position:absolute;top:6px;right:6px;
  width:20px;height:20px;border-radius:50%;
  background:rgba(250,79,38,.12);border:1.5px solid rgba(250,79,38,.3);
  display:flex;align-items:center;justify-content:center;
  color:var(--ef-orange);opacity:0;transition:opacity .15s;
}
.ef-sponsor-prod-card:has(.ef-sp-prod-cb:checked) .ef-sponsor-prod-card__check{
  opacity:1;background:var(--ef-orange);border-color:var(--ef-orange);color:#fff;
}
.ef-sponsor-prods-count{font-size:.75rem;font-weight:600;color:var(--ef-orange)}

/* Confirm post-submit */
.ef-sponsor-confirm{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:28px 20px;border-radius:16px;
  background:linear-gradient(135deg,rgba(250,79,38,.05),rgba(250,79,38,.02));
  border:1.5px solid rgba(250,79,38,.18);text-align:center;
}
.ef-sponsor-confirm__icon{
  width:56px;height:56px;border-radius:50%;
  background:rgba(250,79,38,.10);
  display:flex;align-items:center;justify-content:center;
  color:var(--ef-orange);
}
.ef-sponsor-confirm__body strong{display:block;font-size:1rem;font-weight:700;color:var(--ef-black);margin-bottom:4px}
.ef-sponsor-confirm__body p{font-size:.84rem;color:var(--ef-500);line-height:1.5;margin:0}
.ef-sponsor-confirm__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.84rem;font-weight:700;color:var(--ef-orange);text-decoration:none;
}
.ef-sponsor-confirm__link:hover{text-decoration:underline}
.ef-sponsor-confirm__new{
  background:none;border:none;font-size:.78rem;color:var(--ef-400);
  cursor:pointer;font-family:var(--ef-font);text-decoration:underline;
}

/* Form container */
.ef-sponsor-form{display:flex;flex-direction:column;gap:22px}
.ef-sponsor-form__section{display:flex;flex-direction:column;gap:10px}
.ef-sponsor-form__label{font-size:.78rem;font-weight:700;color:var(--ef-700);text-transform:uppercase;letter-spacing:.06em}
.ef-sponsor-form__label-row{display:flex;align-items:center;justify-content:space-between}
.ef-sponsor-budget-display{font-size:1.1rem;font-weight:800;color:var(--ef-orange)}

/* Goal grid */
.ef-sponsor-goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:500px){.ef-sponsor-goal-grid{grid-template-columns:1fr}}
.ef-sponsor-goal{
  display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  padding:14px 14px 12px;border-radius:12px;
  border:1.5px solid var(--ef-200);background:#fff;
  cursor:pointer;text-align:left;transition:all .15s;
}
.ef-sponsor-goal svg{color:var(--ef-400);transition:color .15s}
.ef-sponsor-goal span{font-size:.84rem;font-weight:700;color:var(--ef-black)}
.ef-sponsor-goal small{font-size:.72rem;font-weight:300;color:var(--ef-400);line-height:1.35}
.ef-sponsor-goal:hover{border-color:var(--ef-orange);background:rgba(250,79,38,.03)}
.ef-sponsor-goal.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.06)}
.ef-sponsor-goal.is-active svg,.ef-sponsor-goal.is-active span{color:var(--ef-orange)}
/* Completo: goal-f — stesso identico stile di goal */
.ef-sponsor-goal-f{
  display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  padding:14px 14px 12px;border-radius:12px;
  border:1.5px solid var(--ef-200);background:#fff;
  cursor:pointer;text-align:left;transition:all .15s;
}
.ef-sponsor-goal-f svg{color:var(--ef-400);transition:color .15s}
.ef-sponsor-goal-f span{font-size:.84rem;font-weight:700;color:var(--ef-black)}
.ef-sponsor-goal-f small{font-size:.72rem;font-weight:300;color:var(--ef-400);line-height:1.35}
.ef-sponsor-goal-f:hover{border-color:var(--ef-orange);background:rgba(250,79,38,.03)}
.ef-sponsor-goal-f.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.06)}
.ef-sponsor-goal-f.is-active svg,.ef-sponsor-goal-f.is-active span{color:var(--ef-orange)}

/* Budget slider */
.ef-sponsor-slider-wrap{display:flex;flex-direction:column;gap:6px}
.ef-sponsor-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer;
  background:linear-gradient(to right,var(--ef-orange) 0%,var(--ef-orange) 8.16%,var(--ef-200) 8.16%,var(--ef-200) 100%);
}
.ef-sponsor-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:#fff;border:2.5px solid var(--ef-orange);
  box-shadow:0 2px 6px rgba(250,79,38,.28);cursor:pointer;transition:transform .12s;
}
.ef-sponsor-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.ef-sponsor-slider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:#fff;border:2.5px solid var(--ef-orange);
  box-shadow:0 2px 6px rgba(250,79,38,.28);cursor:pointer;
}
.ef-sponsor-slider-labels{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--ef-400)}
.ef-sponsor-slider-hint{font-size:.72rem;color:var(--ef-500);font-weight:500;text-align:center}

/* Budget presets */
.ef-sponsor-budget-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ef-sponsor-preset{
  padding:10px 6px;border-radius:10px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.75rem;font-weight:700;color:var(--ef-700);
  cursor:pointer;transition:all .15s;line-height:1.3;text-align:center;
  font-family:var(--ef-font);
}
.ef-sponsor-preset small{font-size:.68rem;font-weight:400;color:var(--ef-400);display:block}
.ef-sponsor-preset:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-sponsor-preset.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.08);color:var(--ef-orange)}
.ef-sponsor-preset.is-active small{color:var(--ef-orange)}
/* Completo: preset-f — stesso stile */
.ef-sponsor-preset-f{
  padding:10px 6px;border-radius:10px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.75rem;font-weight:700;color:var(--ef-700);
  cursor:pointer;transition:all .15s;line-height:1.3;text-align:center;
  font-family:var(--ef-font);
}
.ef-sponsor-preset-f small{font-size:.68rem;font-weight:400;color:var(--ef-400);display:block}
.ef-sponsor-preset-f:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-sponsor-preset-f.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.08);color:var(--ef-orange)}
.ef-sponsor-preset-f.is-active small{color:var(--ef-orange)}

/* Durata pills */
.ef-sponsor-duration-grid{display:flex;flex-wrap:wrap;gap:8px}
.ef-sponsor-dur-btn{
  padding:8px 18px;border-radius:20px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.82rem;font-weight:600;color:var(--ef-700);
  cursor:pointer;transition:all .15s;font-family:var(--ef-font);
}
.ef-sponsor-dur-btn:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-sponsor-dur-btn.is-active{border-color:var(--ef-orange);background:var(--ef-orange);color:#fff}
/* Completo: dur-btn-f — stesso stile */
.ef-sponsor-dur-btn-f{
  padding:8px 18px;border-radius:20px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.82rem;font-weight:600;color:var(--ef-700);
  cursor:pointer;transition:all .15s;font-family:var(--ef-font);
}
.ef-sponsor-dur-btn-f:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-sponsor-dur-btn-f.is-active{border-color:var(--ef-orange);background:var(--ef-orange);color:#fff}

/* Completo: target / audience / time */
.ef-sponsor-target-grid,.ef-sponsor-audience-grid,.ef-sponsor-time-grid{display:flex;flex-wrap:wrap;gap:8px}
.ef-sponsor-target,.ef-sponsor-audience,.ef-sponsor-time{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:20px;
  border:1.5px solid var(--ef-200);background:#fff;
  font-size:.8rem;font-weight:600;color:var(--ef-700);
  cursor:pointer;transition:all .15s;font-family:var(--ef-font);
}
.ef-sponsor-target svg{color:var(--ef-400)}
.ef-sponsor-target:hover,.ef-sponsor-audience:hover,.ef-sponsor-time:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-sponsor-target.is-active,.ef-sponsor-audience.is-active,.ef-sponsor-time.is-active{
  border-color:var(--ef-orange);background:rgba(250,79,38,.08);color:var(--ef-orange);
}
.ef-sponsor-target.is-active svg{color:var(--ef-orange)}

/* Riepilogo live — 3 KPI affiancati */
.ef-sponsor-summary{background:var(--ef-50,#f8f8f8);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
/* details/summary toggle */
details.ef-sponsor-summary { padding: 0; gap: 0; }
details.ef-sponsor-summary > summary.ef-sponsor-summary__toggle {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px; cursor: pointer; list-style: none;
  font-size: .8rem; font-weight: 700; color: var(--ef-black);
  user-select: none;
}
details.ef-sponsor-summary > summary.ef-sponsor-summary__toggle::-webkit-details-marker { display: none; }
details.ef-sponsor-summary > summary.ef-sponsor-summary__toggle svg { transition: transform .2s; flex-shrink: 0; stroke: var(--ef-400); }
details.ef-sponsor-summary[open] > summary.ef-sponsor-summary__toggle svg { transform: rotate(180deg); }
details.ef-sponsor-summary .ef-sponsor-summary__main,
details.ef-sponsor-summary .ef-sponsor-summary__note { padding: 0 18px; }
details.ef-sponsor-summary .ef-sponsor-summary__note { padding-bottom: 14px; }
.ef-sponsor-summary__main{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ef-sponsor-summary__kpi{text-align:center}
.ef-sponsor-summary__kpi-val{font-size:1.1rem;font-weight:800;color:var(--ef-black)}
.ef-sponsor-summary__kpi-lbl{font-size:.72rem;color:var(--ef-400);margin-top:2px}
.ef-sponsor-summary__note{
  display:flex;align-items:center;gap:6px;
  font-size:.72rem;color:var(--ef-400);line-height:1.45;
  padding-top:8px;border-top:1px solid var(--ef-100);
}
.ef-sponsor-summary__note svg{flex-shrink:0}

/* CTA principale — arancio eFruit */
.ef-sponsor-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:14px 24px;border-radius:12px;border:none;
  background:var(--ef-orange);color:#fff;
  font-size:.95rem;font-weight:700;font-family:var(--ef-font);
  cursor:pointer;transition:background .18s;
}
.ef-sponsor-cta:hover{background:#e03d12}
.ef-sponsor-cta svg{flex-shrink:0}

/* BazarAI strip */
.ef-sponsor-ai-strip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(106,76,147,.08),rgba(239,68,68,.06));
  border:1.5px solid rgba(106,76,147,.2);
}
.ef-sponsor-ai-strip__left{display:flex;align-items:center;gap:9px;flex:1;min-width:0;font-size:.8rem;color:var(--ef-700);line-height:1.4}
.ef-sponsor-ai-strip__icon{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(135deg,#7C3AED,#EF4444);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.ef-sponsor-ai-strip__btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:20px;border:none;flex-shrink:0;
  background:linear-gradient(135deg,#7C3AED,#EF4444);color:#fff;
  font-size:.78rem;font-weight:700;font-family:var(--ef-font);
  cursor:pointer;transition:opacity .15s;white-space:nowrap;
}
.ef-sponsor-ai-strip__btn:hover{opacity:.85}

/* BazarAI panel inline */
.ef-sponsor-ai-panel{
  border-radius:14px;border:1.5px solid rgba(250,79,38,.2);
  background:#fff;overflow:hidden;
  box-shadow:0 2px 12px rgba(250,79,38,.08);
}
.ef-sponsor-ai-panel__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:linear-gradient(135deg,var(--ef-orange),#e03d12);
  color:#fff;
}
.ef-sponsor-ai-panel__title{display:flex;align-items:center;gap:7px;font-size:.84rem;font-weight:700}
.ef-sponsor-ai-panel__close{
  width:26px;height:26px;border-radius:6px;border:none;
  background:rgba(255,255,255,.2);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.ef-sponsor-ai-panel__close:hover{background:rgba(255,255,255,.35)}
.ef-sponsor-ai-panel__msgs{
  padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px;
  max-height:220px;overflow-y:auto;
}
.ef-sponsor-ai-msg{display:flex}
.ef-sponsor-ai-msg--ai{justify-content:flex-start}
.ef-sponsor-ai-msg--user{justify-content:flex-end}
.ef-sponsor-ai-msg__bubble{
  max-width:84%;padding:9px 13px;border-radius:12px;
  font-size:.82rem;line-height:1.5;
}
.ef-sponsor-ai-msg--ai .ef-sponsor-ai-msg__bubble{background:var(--ef-50,#f8f8f8);color:var(--ef-700);border-radius:4px 12px 12px 12px}
.ef-sponsor-ai-msg--user .ef-sponsor-ai-msg__bubble{background:var(--ef-orange);color:#fff;border-radius:12px 4px 12px 12px}
.ef-sponsor-ai-msg--loading .ef-sponsor-ai-msg__bubble{color:var(--ef-400);font-style:italic}
.ef-sponsor-ai-panel__input-row{
  display:flex;gap:8px;padding:8px 14px 12px;
  border-top:1px solid var(--ef-100);
}
.ef-sponsor-ai-panel__inp{
  flex:1;border:1.5px solid var(--ef-200);border-radius:20px;
  padding:8px 14px;font-size:.82rem;font-family:var(--ef-font);outline:none;
  transition:border-color .15s;
}
.ef-sponsor-ai-panel__inp:focus{border-color:var(--ef-orange)}
.ef-sponsor-ai-panel__send{
  width:36px;height:36px;border-radius:50%;border:none;
  background:var(--ef-orange);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .15s;
}
.ef-sponsor-ai-panel__send:hover{background:#e03d12}
.ef-sponsor-ai-panel__apply{padding:0 14px 12px}
.ef-sponsor-ai-panel__apply-btn{
  width:100%;padding:10px;border-radius:10px;border:none;
  background:rgba(250,79,38,.08);color:var(--ef-orange);
  font-size:.82rem;font-weight:700;font-family:var(--ef-font);
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;
  transition:background .15s;
}
.ef-sponsor-ai-panel__apply-btn:hover{background:rgba(250,79,38,.15)}
.ef-sponsor-legal{font-size:.72rem;color:var(--ef-400);line-height:1.5;text-align:center;margin:0}

/* Stories nel tab prodotti */
#ef-stories-wrap.ef-content-section--stories{margin:4px 0 12px}

/* ── Dashboard: Inserzioni sponsorizzate ────────────────────────── */
.ef-vdc--ads .ef-vdc__head{padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06);align-items:center}
.ef-vd-ads__cta{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.78rem;font-weight:700;color:var(--ef-orange);
  text-decoration:none;padding:5px 12px;border-radius:16px;
  border:1.5px solid rgba(250,79,38,.3);transition:all .15s;
}
.ef-vd-ads__cta:hover{background:rgba(250,79,38,.06);border-color:var(--ef-orange)}

/* Filtri */
.ef-vd-ads__filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 0}
.ef-vd-ads__filter{
  padding:5px 14px;border-radius:16px;border:1.5px solid var(--ef-200);
  background:#fff;font-size:.78rem;font-weight:600;color:var(--ef-500);
  cursor:pointer;transition:all .15s;font-family:var(--ef-font);
}
.ef-vd-ads__filter:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-vd-ads__filter.is-active{border-color:var(--ef-orange);background:rgba(250,79,38,.08);color:var(--ef-orange)}

/* Tabella */
.ef-vd-ads__table-wrap{overflow-x:auto;margin-top:12px;border-radius:10px;border:1px solid var(--ef-100)}
.ef-vd-ads__table{width:100%;border-collapse:collapse;font-size:.82rem}
.ef-vd-ads__table thead th{
  padding:10px 14px;text-align:left;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--ef-400);background:var(--ef-50,#f8f8f8);
  border-bottom:1px solid rgba(0,0,0,.06);white-space:nowrap;
}
.ef-vd-ads__table thead th:first-child{border-radius:10px 0 0 0}
.ef-vd-ads__table thead th:last-child{border-radius:0 10px 0 0}
.ef-vd-ads__row{border-bottom:1px solid rgba(0,0,0,.06);transition:background .12s}
.ef-vd-ads__row:last-child{border-bottom:none}
.ef-vd-ads__row:hover{background:rgba(250,79,38,.025)}
.ef-vd-ads__row td{padding:12px 14px;vertical-align:middle}

/* Cell principale campagna */
.ef-vd-ads__cell-main{display:flex;align-items:center;gap:10px;min-width:180px}
.ef-vd-ads__goal-icon{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  background:rgba(250,79,38,.10);color:var(--ef-orange);
  display:flex;align-items:center;justify-content:center;
}
.ef-vd-ads__goal-name{font-weight:700;color:var(--ef-black);font-size:.82rem}
.ef-vd-ads__dates{font-size:.72rem;color:var(--ef-400);margin-top:2px}
.ef-badge-demo{
  display:inline-block;font-size:.62rem;font-weight:700;
  background:#fee;color:#c1121f;border-radius:4px;
  padding:0 5px;margin-left:4px;vertical-align:middle;
}

/* Progress bar spesa */
.ef-vd-ads__progress-wrap{
  height:3px;background:var(--ef-100);border-radius:2px;
  margin-top:6px;width:120px;overflow:hidden;
}
.ef-vd-ads__progress-bar{height:100%;background:var(--ef-orange);border-radius:2px;transition:width .4s}

/* Metriche */
.ef-vd-ads__metric{font-weight:700;color:var(--ef-black);white-space:nowrap}
.ef-vd-ads__metric-lbl{font-size:.7rem;color:var(--ef-400);margin-top:2px;white-space:nowrap}

/* Status badge */
.ef-vd-ads__status{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;white-space:nowrap}
.ef-vd-ads__status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* Actions */
.ef-vd-ads__cell-acts{white-space:nowrap}
.ef-vd-ads__act{
  width:28px;height:28px;border-radius:7px;border:1.5px solid var(--ef-200);
  background:#fff;color:var(--ef-500);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s;margin-left:4px;
}
.ef-vd-ads__act:hover{border-color:var(--ef-orange);color:var(--ef-orange)}
.ef-vd-ads__act--del:hover{border-color:#c1121f;color:#c1121f}

/* Note footer */
.ef-vd-ads__note{
  display:flex;align-items:center;gap:6px;
  font-size:.72rem;color:var(--ef-400);line-height:1.45;
  margin:10px 0 0;
}
.ef-vd-ads__note svg{flex-shrink:0;color:var(--ef-300)}

/* JS filtri tabella */
.ef-vd-ads__row[hidden]{display:none}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE OVERHAUL — app-quality, no overlap, no zoom on iOS
   ══════════════════════════════════════════════════════════════════ */

/* ── iOS input zoom fix — font-size ≥ 16px prevents zoom ── */
input, textarea, select {
  font-size: max(16px, 1em) !important;
}
/* keep visual size small via transform where needed */
.ef-smart-search__input { font-size: 16px !important; }
.ef-mf__inp, .ef-mf__sel { font-size: 16px !important; }
.woocommerce input, .woocommerce textarea, .woocommerce select { font-size: 16px !important; }

/* ── Safe area (iPhone notch/home bar) ── */
.ef-main { padding-bottom: env(safe-area-inset-bottom); }
.ef-bottombar { padding-bottom: env(safe-area-inset-bottom); }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* ══ MOBILE ≤ 479px ════════════════════════════════════════════════ */
@media (max-width: 479px) {

  /* Global */
  html { overflow-x: hidden; }
  body { overflow-x: hidden; min-width: 320px; }

  /* Topbar home pill */
  .ef-topbar-wrap { padding: 8px; }
  .ef-topbar {
    height: 52px;
    border-radius: 14px;
    padding: 0 10px;
    gap: 6px;
    max-width: 100% !important;
  }
  .ef-topbar__addr-val {
    font-size: .78rem;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ef-topbar__lang { display: none; }
  .ef-topbar__user { font-size: .78rem; }
  .ef-topbar__user-name { display: none; }

  /* Header block non-home */
  .ef-header-block { border-radius: 0 !important; }
  .ef-header-top { height: 48px; padding: 0 12px; }
  .ef-smart-search--header { padding: 6px 10px; }
  .ef-smart-search--header .ef-smart-search__bar { height: 38px; }
  .ef-smart-search--header .ef-smart-search__submit { padding: 0 12px; font-size: .78rem; height: 32px; }
  .ef-smart-search--header .ef-smart-search__ai-pill { padding: 0 10px; height: 32px; font-size: .75rem; }
  .ef-searchbar__fav img { width: 32px; height: 32px; }

  /* Hero home */
  .ef-hero { padding: 80px 14px 60px; }
  .ef-hero__logotype img { height: 32px; }
  .ef-hero__headline { font-size: .95rem; white-space: normal; line-height: 1.4; }
  .ef-hero__sub { font-size: .78rem; }
  .ef-hero__tags { gap: 6px; }
  .ef-hero__tag { font-size: .72rem; padding: 5px 10px; }

  /* Smart search bar (home) */
  .ef-smart-search__bar {
    padding: 0 4px 0 12px;
    min-height: 48px;
    gap: 4px;
  }
  .ef-smart-search__ai-pill { padding: 0 10px; height: 36px; font-size: .78rem; }
  .ef-smart-search__submit { padding: 0 14px; height: 36px; font-size: .8rem; }

  /* Grid prodotti: 2 colonne compatte */
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
  .ef-card { border-radius: 10px; }
  .ef-card__img-wrap { aspect-ratio: 1; }
  .ef-card__name { font-size: .82rem; white-space: normal; line-height: 1.3; }
  .ef-card__price { font-size: .88rem; }
  .ef-card__add-btn { height: 36px; font-size: .8rem; }
  .ef-card__chars { flex-wrap: wrap; }
  .ef-card__char { font-size: .62rem; padding: 2px 6px; }

  /* Catnav */
  .ef-catnav { padding: 0 8px; gap: 6px; }
  .ef-catnav__item { font-size: .72rem; padding: 6px 10px; }

  /* Bottom bar */
  .ef-bottombar { height: 60px; }
  .ef-bottombar__btn { font-size: .62rem; gap: 2px; }
  .ef-bottombar__btn svg { width: 20px; height: 20px; }

  /* Footer */
  .ef-footer { margin-top: 24px; }
  .ef-footer__inner { padding: 24px 14px; }
  .ef-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .ef-footer__col-title { font-size: .78rem; }

  /* Cart drawer mobile */
  .ef-cart-drawer__sheet { max-height: 90vh; border-radius: 20px 20px 0 0; }

  /* Vendor shop mobile */
  .ef-vshop-card { padding: 14px; }
  .ef-vendor-cover { aspect-ratio:16/9; height:auto; }
  .ef-vendor-cover-empty { height: 140px; }
  .ef-vendor-meta { padding: 0 14px 10px; }
  .ef-vshop-actions__follow, .ef-vshop-actions__rating { font-size: .8rem; height: 34px; }
  .ef-vtabs__nav { overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
  .ef-vtabs__nav::-webkit-scrollbar { display: none; }
  .ef-vtabs__btn { padding: 8px 12px; font-size: .75rem; }

  /* Sponsor form mobile */
  .ef-sponsor-goal-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ef-sponsor-goal { padding: 10px 10px 8px; }
  .ef-sponsor-budget-presets { grid-template-columns: repeat(2, 1fr); }
  .ef-sponsor-summary__main { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .ef-sponsor-summary__kpi-val { font-size: .9rem; }

  /* Cart/Checkout */
  .efc-steps { display:flex; flex-wrap:nowrap; overflow-x:auto; align-items:center; gap:4px; font-size:.75rem; padding:8px 12px; white-space:nowrap; scrollbar-width:none }
  .efc-main, .efc-summary { padding: 0 12px; }

  /* Single product */
  .ef-single__gallery { grid-template-columns: 1fr; }
  .ef-single__thumb { width: 56px; height: 56px; }
  .ef-ptabs__nav { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
}

/* ══ MOBILE 480–767px ═══════════════════════════════════════════════ */
@media (min-width: 480px) and (max-width: 767px) {
  body { overflow-x: hidden; }
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
  .ef-topbar__lang { display: none; }
  .ef-topbar__user-name { max-width: 80px; overflow: hidden; text-overflow: ellipsis; }
  .ef-smart-search__bar { min-height: 50px; }
  .ef-card__name { font-size: .85rem; }
  .efc-steps { display:flex; flex-wrap:nowrap; overflow-x:auto; align-items:center; gap:4px; font-size:.75rem; padding:8px 12px; white-space:nowrap; scrollbar-width:none }
}

/* ══ TABLET 768–1023px ══════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .ef-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px; }
  .ef-layout__left, .ef-layout__right { display: none !important; }
  .ef-card__name { font-size: .88rem; }
  .ef-catnav { padding: 0 16px; }
  .ef-bottombar { display: flex; }
}

/* ── Overflow hidden on all pages for horizontal scroll prevention ── */
@media (max-width: 1023px) {
  html, body { overflow-x: hidden; max-width: 100%; }
  .ef-layout__center { min-width: 0; }
  img, video, iframe { max-width: 100%; height: auto; }
  table { max-width: 100%; overflow-x: auto; display: block; }
}

/* ── Vendor sinfo head justify fix ── */


/* ── WooCommerce result count margin fix ── */
.woocommerce .woocommerce-result-count { margin: 0 !important; }

/* ── Sponsorizza tab blink ── */
@keyframes efTabBlink {
  0%,100% { color: var(--ef-400); }
  50%      { color: var(--ef-orange); text-shadow: 0 0 8px rgba(250,79,38,.5); }
}
.ef-vtabs__btn[data-vtab="sponsorizza"]:not(.is-on) {
  animation: efTabBlink 1.8s ease-in-out infinite;
}

  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 8100;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
/* Mobile: sopra la bottom bar */
@media (max-width: 1023px) {
    bottom: calc(var(--ef-bottombar-h, 60px) + 12px + env(safe-area-inset-bottom, 0px));
  }
}
/* Trigger button */
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FA4F26, #d93d15);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(250,79,38,.45);
  transition: transform .2s, box-shadow .2s;
  position: relative;
}
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(250,79,38,.35);
  animation: efBlobPulse 2s ease-in-out infinite;
}
@keyframes efBlobPulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.15); opacity: .5; }
}

/* Panel */
  width: 320px;
  max-height: 480px;
  background: linear-gradient(160deg, #0a0014, #0d0018);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 48px rgba(0,0,0,.55), 0 0 0 1px rgba(106,76,147,.25);
  display: flex;
  flex-direction: column;
  animation: efPanelUp .25s cubic-bezier(.22,1,.36,1);
}
@keyframes efPanelUp { from { opacity:0; transform:translateY(12px) scale(.97) } to { opacity:1; transform:none } }

/* Head */
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(106,76,147,.15);
  flex-shrink: 0;
}
/* Dot con canvas 2D blob */
  width: 32px; height: 32px; border-radius: 50%;
  flex-shrink: 0; position: relative;
  overflow: hidden;
}
  width: 28px; height: 28px; border-radius: 8px;
  background: rgba(255,255,255,.08); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.5); transition: background .15s, color .15s;
}

  height: 80px; width: 100%; flex-shrink: 0;
  display: block;
  background: linear-gradient(to bottom, rgba(106,76,147,.18), rgba(239,68,68,.06));
}

/* Messages */
  flex: 1; overflow-y: auto; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 8px;
  scrollbar-width: none; min-height: 100px; max-height: 200px;
}
  max-width: 85%; padding: 9px 13px;
  font-size: .8rem; line-height: 1.5;
  animation: efPanelUp .2s ease;
}
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(106,76,147,.2);
  color: rgba(255,255,255,.8);
  border-radius: 4px 12px 12px 12px;
}
  background: linear-gradient(135deg, #7C3AED, #EF4444);
  color: #fff;
  border-radius: 12px 4px 12px 12px;
}
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.3);
  font-style: italic;
  border-radius: 4px 12px 12px 12px;
}

/* Input row */
  display: flex; gap: 8px; padding: 10px 14px 14px;
  border-top: 1px solid rgba(106,76,147,.15);
  flex-shrink: 0; align-items: center;
}
  flex: 1; background: rgba(255,255,255,.07);
  border: 1px solid rgba(106,76,147,.2);
  border-radius: 20px; padding: 8px 14px;
  font-size: .8rem; color: #fff;
  font-family: var(--ef-font); outline: none;
  transition: border-color .15s;
}
  width: 41px; height: 41px; border-radius: 50%;
  background: linear-gradient(135deg, #7C3AED, #EF4444); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: opacity .15s;
}

/* Su desktop: sempre visibile (non solo mobile) */
@media (max-width: 479px) {
}


/* ── Search mode toggle (Ricerca / BazarAI) ── */
.ef-search-mode-toggle {
  display: flex;
  background: rgba(255,255,255,.15);
  border-radius: 20px;
  padding: 3px;
  gap: 2px;
  flex-shrink: 0;
}
.ef-search-mode-btn {
  display: flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 16px; border: none;
  font-size: .78rem; font-weight: 600; font-family: var(--ef-font);
  cursor: pointer; transition: all .18s; white-space: nowrap;
  background: transparent; color: rgba(255,255,255,.7);
}
.ef-search-mode-btn.is-active {
  background: #fff;
  color: var(--ef-orange);
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
/* dentro la topbar arancio */
.ef-header-top .ef-search-mode-toggle {
  background: rgba(255,255,255,.15);
}
.ef-header-top .ef-search-mode-btn { color: rgba(255,255,255,.8); }
.ef-header-top .ef-search-mode-btn.is-active { color: var(--ef-orange); }

/* quando BazarAI è attivo, nascondi la search bar e mostra pill AI */
.ef-searchbar--ai-mode .ef-smart-search__bar { display: none; }
.ef-searchbar--ai-mode .ef-smart-search__ai-mode-bar { display: flex; }
.ef-smart-search__ai-mode-bar {
  display: none;
  align-items: center;
  gap: 10px;
  background: rgba(250,79,38,.08);
  border: 1.5px solid var(--ef-orange);
  border-radius: 24px;
  padding: 0 16px;
  min-height: 54px;
  font-size: .9rem;
  color: var(--ef-orange);
  font-weight: 600;
  cursor: pointer;
}

/* ── Story owner overlay (hover) ── */
.ef-content-item--owner { position: relative; }
.ef-story-owner-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.45);
  border-radius: inherit;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  opacity: 0; transition: opacity .18s;
  z-index: 2;
}
.ef-content-item--owner:hover .ef-story-owner-overlay { opacity: 1; }
.ef-story-owner-btn {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.9);
  border: none; cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: var(--ef-black); transition: background .15s;
}
.ef-story-owner-btn:hover { background: #fff; }
.ef-story-owner-btn--del { color: var(--ef-red); }
.ef-story-owner-btn--del:hover { background: var(--ef-red-l); }

/* ── Search mode toggle hero positioning ── */
.ef-hero .ef-search-mode-toggle {
  background: rgba(0,0,0,.18);
  align-self: center;
}
.ef-hero .ef-search-mode-btn { color: rgba(255,255,255,.75); }
.ef-hero .ef-search-mode-btn.is-active { background: #fff; color: var(--ef-orange); }

/* ══ FIX BATCH 2 ════════════════════════════════════════════════════ */

/* ── Sinfo head: icona+titolo a sinistra, edit a destra ── */
.ef-sinfo__head { justify-content: space-between; }
.ef-sinfo__head-left { display: flex; align-items: center; gap: 8px; }
.ef-sinfo__edit { margin-left: auto; flex-shrink: 0; }

/* ── Header search toggle styling ── */
.ef-search-mode-toggle--header {
  display: flex;
  background: var(--ef-100);
  border-radius: 20px;
  padding: 3px;
  gap: 2px;
  flex-shrink: 0;
}
.ef-search-mode-toggle--header .ef-search-mode-btn {
  color: var(--ef-500);
  background: transparent;
  font-size: .8rem;
  padding: 5px 12px;
  height: 34px;
}
.ef-search-mode-toggle--header .ef-search-mode-btn.is-active {
  background: var(--ef-orange);
  color: #fff;
  box-shadow: 0 1px 4px rgba(250,79,38,.3);
}
@media (max-width: 479px) {
  .ef-search-mode-toggle--header .ef-search-mode-btn span.i { display: none; }
  .ef-search-mode-toggle--header .ef-search-mode-btn { padding: 5px 10px; font-size: .75rem; }
}

/* ── Hero home: logo visibile su mobile ── */
.ef-hero__logotype { display: flex; justify-content: center; margin-bottom: 12px; }
.ef-hero__logotype img { max-height: 40px; width: auto; }
@media (max-width: 479px) {
  .ef-hero__logotype img { max-height: 34px; }
}

/* ── Hero footer: selects su mobile, links su desktop ── */
.ef-hero__footer-selects { display: none; gap: 8px; align-items: center; }
.ef-hero__footer-sel {
  appearance: none; -webkit-appearance: none;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.9);
  border-radius: 20px;
  padding: 5px 28px 5px 12px;
  font-size: .75rem;
  font-family: var(--ef-font);
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.7)' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  transition: background .15s, border-color .15s;
}
.ef-hero__footer-sel:hover { background-color: rgba(255,255,255,.2); border-color: rgba(255,255,255,.4); }
.ef-hero__footer-sel option { background: #222; color: #fff; }

/* Sub-branding LANGA Galaxy */
.ef-hero__footer-brand {
  text-align: center;
  font-size: .7rem;
  color: rgba(255,255,255,.5);
  padding: 6px 0 10px;
}
.ef-hero__footer-brand a {
  color: rgba(255,255,255,.65);
  text-decoration: none;
  font-weight: 500;
  transition: color .15s;
}
.ef-hero__footer-brand a:hover { color: #fff; }
/* B2B: sfondo giallo → testo nero */
body.is-b2b .ef-hero__footer-brand { color: rgba(0,0,0,.5); }
body.is-b2b .ef-hero__footer-brand a { color: rgba(0,0,0,.65); }
body.is-b2b .ef-hero__footer-brand a:hover { color: #000; }
@media (max-width: 500px) {
  /* Links stay visible — no select grouping */
  .ef-hero__footer-selects { display: none !important; }
  .ef-hero__footer-links { display: flex !important; }
  .ef-hero__footer-bottom { flex-direction: column; align-items: center; gap: 8px; padding: 12px 12px 36px 12px; }
}
@media (min-width: 501px) and (max-width: 900px) {
  .ef-hero__footer-bottom { flex-wrap: wrap; gap: 8px; justify-content: center; padding: 12px 12px 36px 12px; }
  .ef-hero__footer-left, .ef-hero__footer-right { gap: 10px; }
  .ef-hero__footer-left a, .ef-hero__footer-right a { font-size: .72rem; }
}

/* ── Cart badge on bottombar: position fix ── */
.ef-bottombar__badge {
  position: absolute;
  top: 2px;
  right: -25px;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  font-size: .7rem;
  font-weight: 700;
  background: var(--ef-orange);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  pointer-events: none;
  border: 2px solid #fff;
}

/* ── Storie: scroll orizzontale stile Facebook con frecce ── */
.ef-content-section--stories { position: relative; }
.ef-content-section--stories .ef-content-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 8px;
  padding-bottom: 4px;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.ef-content-section--stories .ef-content-grid::-webkit-scrollbar { display: none; }
.ef-content-section--stories .ef-content-item--story,
.ef-content-section--stories .ef-content-item--add {
  flex: 0 0 110px;
  width: 110px;
}
.ef-content-section--stories .ef-content-item--story .ef-content-item__thumb,
.ef-content-section--stories .ef-content-item--story .ef-content-item__thumb--empty {
  width: 110px;
  aspect-ratio: 9 / 16;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}
.ef-content-section--stories .ef-content-item--add {
  aspect-ratio: 9 / 16;
  border-radius: 10px;
}
/* Frecce storie */
.ef-stories-arr {
  position: absolute;
  top: 40%;
  width: 28px; height: 28px; border-radius: 50%;
  background: #fff; border: 1px solid var(--ef-200);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 10; color: var(--ef-700);
  transition: background .15s, color .15s, border-color .15s;
}
.ef-stories-arr:hover { background: var(--ef-orange); color: #fff; border-color: var(--ef-orange); }
.ef-stories-arr--l { left: 4px; top: 50%; }
.ef-stories-arr--r { right: 4px; top: 50%; }
.ef-stories-arr[hidden] { display: none !important; }
@media (max-width: 479px) {
  .ef-content-section--stories .ef-content-item--story,
  .ef-content-section--stories .ef-content-item--add { flex: 0 0 80px; width: 80px; }
  .ef-content-section--stories .ef-content-item--story .ef-content-item__thumb,
  .ef-content-section--stories .ef-content-item--story .ef-content-item__thumb--empty { width: 80px; }
  .ef-stories-arr { display: none; }
}

/* ── Prod notice: fisso sopra tutti gli step (Completo) ── */
.ef-prod-notice--sticky {
  position: sticky;
  top: 0;
  z-index: 10;
  margin: 0 0 12px;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  flex-shrink: 0;
}
/* Mostralo quando modal è in modalità Completo */
.ef-modal[data-prod-mode="full"] .ef-prod-notice--sticky { display: flex !important; }
.ef-modal[data-prod-mode="quick"] .ef-prod-notice--sticky { display: none !important; }

/* ── Topbar home: overflow-x wrap invece di accavallare ── */
.ef-topbar {
  flex-wrap: wrap;
  row-gap: 4px;
  height: auto;
  min-height: 52px;
  padding-top: 6px;
  padding-bottom: 6px;
}
@media (min-width: 1024px) {
  .ef-topbar { flex-wrap: nowrap; height: 52px; padding-top: 0; padding-bottom: 0; }
}

/* ══ HOME HEADER — topnav + pill in linea ══════════════════════════
   Layout target:
   [Chi siamo  Come funziona]  [──── pill ────]  [B2C / B2B]
   Quando non ci stanno:
   [Chi siamo  Come funziona]  [B2C / B2B]   ← riga sopra
                [──── pill ────]             ← riga sotto
   ══════════════════════════════════════════════════════════════════ */

/* La pill non è più sotto il topnav — entrambi stanno in ef-topbar-wrap */
.ef-topbar-wrap {
  position: fixed !important;
  top: 8px !important;
  left: 0; right: 0;
  z-index: 400;
  padding: 0 14px;
  pointer-events: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.ef-topbar-wrap > * { pointer-events: all; }

/* Contenitore interno: flessibile, max-width pill */
.ef-topbar-wrap .ef-topbar {
  /* Già definito sopra con max-width:800px, border-radius:50px ecc */
}

/* Il topnav home diventa un flex row dentro al wrap come riga sopra la pill */
/* ═══════════════════════════════════════════════════════════════════
   HOME TOPNAV — 3 stati responsive
   Desktop: links [LEFT] · pill [CENTER] · toggle [RIGHT] — stessa riga
   Narrow:  links+toggle salgono SOPRA la pill (con rounded container)
   Mobile:  icone compatte sopra la pill
   ═══════════════════════════════════════════════════════════════════ */

/* ── Base topnav container ── */
.ef-hero__topnav {
  position: fixed !important;
  top: 8px !important;
  left: 50% !important; right: auto !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 28px) !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
  z-index: 401 !important;
  pointer-events: none !important;
  background: transparent !important;
}
.ef-hero__topnav > * { pointer-events: all; }
.ef-hero__topnav a, .ef-hero__topnav button { pointer-events: all; }

/* ── Desktop: pill stays in topbar-wrap, topnav row is just links+toggle ── */
/* topbar-wrap sits below the topnav row */
/* >1230px: padding-top 10px */
.ef-hero__topnav { padding-top: 10px !important; }
@media (max-width: 1230px) {
  .ef-hero__topnav { max-width: 800px !important; padding-top: 0px !important; }
  .home .ef-topbar-wrap {
    top: calc(8px + 42px + 6px) !important;
  }
  .admin-bar .home .ef-topbar-wrap {
    top: calc(32px + 8px + 42px + 6px) !important;
  }
}
@media (max-width: 1023px) {
  .ef-hero__topnav { padding-top: 0 !important; }
}
.admin-bar .home .ef-topbar-wrap { top: calc(32px + 8px + 42px + 8px) !important; }

.ef-hero__topnav-left {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 8px 14px;
}
.ef-hero__topnav-left a {
  font-size: .78rem; color: rgba(255,255,255,.85);
  text-decoration: none; font-weight: 500; transition: color .15s;
  white-space: nowrap;
}
.ef-hero__topnav-left a:hover { color: #fff; }

/* ── Narrow: when they don't fit inline → links+toggle go ABOVE the pill ── */
/* Breakpoint: when viewport < ~680px the three elements would collide */
@media (max-width: 680px) {
  .ef-hero__topnav {
    top: 8px !important;
    flex-direction: row !important;
    align-items: center !important;
    height: 42px !important;
    overflow: visible !important;
  }

  .ef-hero__topnav-left {
    padding: 0 14px;
    gap: 12px;
    flex: 1;
  }
  .ef-hero__topnav-left a { font-size: .74rem; }

  .ef-hero__topnav-right { padding-right: 4px; }
  .ef-hero__mode-toggle {
    height: 34px !important;
  }
}

/* ── Mobile ≤ 480px: icons instead of text links ── */
@media (max-width: 480px) {
  .ef-hero__topnav { max-width: calc(100% - 20px) !important; width: calc(100% - 20px) !important; }

  /* Hide text links, show icon links */
  .ef-hero__topnav-left a.ef-tnav-text { display: none !important; }
  .ef-hero__topnav-left a.ef-tnav-icon { display: flex !important; }
  .ef-hero__topnav-left { gap: 6px; padding: 0 10px; }
  .ef-hero__mode-toggle { height: 32px !important; }
  .ef-hero__mode-btn { padding: 0 14px !important; font-size: .76rem !important; }
}

/* ── Admin bar offsets ── */
.admin-bar .ef-hero__topnav { top: calc(32px + 8px) !important; }
@media (max-width: 782px) {
  .admin-bar .ef-hero__topnav { top: calc(46px + 8px) !important; }
  .admin-bar .home .ef-topbar-wrap { top: calc(46px + 8px + 42px + 6px) !important; }
}
/* ── Toggle inline DENTRO la searchbar ── */
.ef-search-mode-toggle--inline {
  display: flex;
  background: rgba(0,0,0,.08);
  border-radius: 20px;
  padding: 3px;
  gap: 2px;
  flex-shrink: 0;
  margin-right: 4px;
}
.ef-search-mode-toggle--inline .ef-search-mode-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 14px;
  height: 36px;
  border-radius: 18px;
  border: none;
  font-size: .82rem;
  font-weight: 600;
  font-family: var(--ef-font);
  cursor: pointer;
  transition: all .18s;
  white-space: nowrap;
  background: transparent;
  color: var(--ef-700);
}
.ef-search-mode-toggle--inline .ef-search-mode-btn.is-active {
  background: var(--ef-orange);
  color: #fff;
  box-shadow: 0 1px 4px rgba(250,79,38,.3);
}
@media (max-width: 767px) {
  .ef-smart-search__bar { padding-right: 0; }
}
@media (max-width: 479px) {
  .ef-search-mode-toggle--inline .ef-search-mode-btn { padding: 0 10px; font-size: .75rem; }
  .ef-search-mode-toggle--inline .ef-search-mode-btn .i { display: none; }
}

/* ── Hero search-mode-toggle background ── */
.ef-hero .ef-search-mode-toggle { background: rgba(0,0,0,.08); }

/* ── Rimuovi toggle standalone (ora è inline) ── */
.ef-search-mode-toggle:not(.ef-search-mode-toggle--inline):not(.ef-search-mode-toggle--header) {
  display: none !important;
}

/* ── topbar__lang: sempre visibile sulla HOME (pill flottante) ── */
.home .ef-topbar__lang { display: flex !important; height: 41px; align-items: center; }

/* ── Topbar pill: border-radius segue i bordi del contenitore ── */
.ef-topbar__addr { border-radius: 50px 10px 10px 50px; }
.ef-topbar__user { border-radius: 10px 50px 50px 10px; }
button#ef-usermenu-trigger { height: 41px; }

/* ── breadcrumb: padding-top per non finire sotto l'header sticky ── */
@media (max-width: 1023px) {
  .ef-breadcrumb {
    padding-top: 12px;
    scroll-margin-top: 120px;
  }
}

/* ── Topnav: Chi siamo/B2C-B2B negli angoli SEMPRE (come pill è centrata) ── */
/* Su desktop: fixed, left/right sui bordi */
.ef-hero__topnav {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

/* Quando la pill + topnav non ci stanno più in riga (sotto ~600px):
   la pill scende sotto il topnav → topbar-wrap top aumenta */
@media (max-width: 599px) {
  .ef-topbar-wrap { top: 48px; }
  .admin-bar .ef-topbar-wrap { top: calc(46px + 48px); }
}
@media (min-width: 600px) {
  /* La pill è nello stesso strato ma il topnav rimane sovrapposto negli angoli */
  .ef-topbar-wrap { top: 40px; }
}

/* Tablet: un po' più di altezza sul topnav */
@media (min-width: 480px) and (max-width: 900px) {
  .ef-hero__topnav { height: 44px !important; }
  .ef-topbar-wrap { top: 44px; }
  .admin-bar .ef-topbar-wrap { top: calc(32px + 44px); }
}
@media (max-width: 479px) {
}

/* ── Footer selects: trasparenti, 150px ── */
.ef-hero__footer-sel {
  background: transparent !important;
  border-color: transparent !important;
  width: 150px;
}

/* ── Filtri avanzati button in sidebar ── */
.ef-sidebar-adv-filter { padding: 4px 0 8px; }
.ef-sidebar-adv-filter .ef-cart-panel__cta--outline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: var(--r-sm);
  cursor: pointer;
  font-family: var(--ef-font);
  border: 1.5px solid var(--ef-orange);
  color: var(--ef-orange);
  background: transparent;
  transition: background .15s, color .15s;
}
.ef-sidebar-adv-filter .ef-cart-panel__cta--outline:hover {
  background: var(--ef-orange);
  color: #fff;
}

/* ── Footer strip 4th col: LANGA Galaxy branding ── */
.ef-footer__strip-brand {
  flex: 1;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ef-footer__strip-brand-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.6);
  font-weight: 500;
}
.ef-footer__strip-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: opacity .15s;
}
.ef-footer__strip-brand-link:hover { opacity: .8; }
.ef-footer__strip-brand-desc {
  font-size: .75rem;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
  max-width: 200px;
}
@media (max-width: 767px) {
  .ef-footer__strip-brand { width: 100%; }
}

/* ══ BazarAI — colori BAZAR network (viola→rosso) ══════════════════ */
  background: linear-gradient(135deg, #7C3AED, #EF4444) !important;
  box-shadow: 0 4px 20px rgba(106,76,147,.45) !important;
}
  background: none !important;
  box-shadow: none !important;
}
  background: linear-gradient(135deg, #7C3AED, #EF4444) !important;
}
  background: linear-gradient(135deg, #7C3AED, #EF4444) !important;
}

/* ── BazarAI banner helper — usato in più punti ── */
.ef-bazar-banner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 10px 12px;
  background: linear-gradient(135deg, rgba(106,76,147,.08), rgba(239,68,68,.06));
  border: 1px solid rgba(106,76,147,.2);
  border-radius: 10px; margin: 10px 0;
}
.ef-bazar-banner__left { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 auto; }
.ef-bazar-banner__icon {
  width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0;
  background: linear-gradient(135deg, #7C3AED, #EF4444);
  display: flex; align-items: center; justify-content: center;
}
.ef-bazar-banner__icon svg { width: 13px; height: 13px; }
.ef-bazar-banner__text { font-size: .78rem; color: var(--ef-700); line-height: 1.4; }
.ef-bazar-banner__text strong { color: var(--ef-black); }
.ef-bazar-banner__btn {
  flex-shrink: 0; white-space: nowrap;
  padding: 5px 12px; border-radius: 20px; border: none; cursor: pointer;
  font-size: .75rem; font-weight: 600; font-family: var(--ef-font);
  background: linear-gradient(135deg, #7C3AED, #EF4444);
  color: #fff; transition: opacity .15s;
}
.ef-bazar-banner__btn:hover { opacity: .85; }

/* ══ FIX BATCH — icone bianche + grid prodotti ════════════════════ */

/* ── Banner BazarAI: icona sempre bianca ── */
.ef-bazar-banner__icon,
.ef-sponsor-ai-strip__icon {
  color: #fff !important;
}
.ef-bazar-banner__icon .i svg,
.ef-bazar-banner__icon svg,
.ef-sponsor-ai-strip__icon svg {
  stroke: #fff !important;
  fill: none !important;
}
/* Path filled (sparkles) */
.ef-bazar-banner__icon .i svg path,
.ef-bazar-banner__icon svg path {
  stroke: #fff !important;
}

/* ── Send button: icona bianca ── */
  stroke: #fff !important;
  fill: none !important;
}

/* ── Product grid: breakpoints precisi ──────────────────────────────
   CON sidebar (≥1024px):
     ≥1310px            → 3 col
     1080–1309px        → 2 col
     <1080px            → 1 col
   SENZA sidebar (≤1023px, solo colonna centrale):
     480–1023px         → 3 col
     <480px             → 1 col
   ─────────────────────────────────────────────────────────────────*/

/* Desktop con sidebar attiva */
@media (min-width: 1310px) {
  .ef-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 14px; }
}
@media (min-width: 1080px) and (max-width: 1309px) {
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }
}
@media (min-width: 1024px) and (max-width: 1079px) {
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
}

/* Senza sidebar (≤1023px): colonna centrale piena */
@media (min-width: 751px) and (max-width: 1023px) {
  .ef-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 10px; }
}
@media (min-width: 551px) and (max-width: 750px) {
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
}
@media (max-width: 550px) {
  .ef-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
}

/* ══ BazarAI — forza gradiente viola su TUTTI gli elementi ══════════ */
:root {
  --bazar-grad: linear-gradient(135deg, #7C3AED, #EF4444);
  --bazar-from: #7C3AED;
  --bazar-to:   #EF4444;
}
.ef-sponsor-ai-strip                      { background: linear-gradient(135deg,rgba(106,76,147,.08),rgba(239,68,68,.06)) !important; border-color: rgba(106,76,147,.2) !important; }
.ef-sponsor-ai-strip__icon,
.ef-bazar-banner__icon                    { background: var(--bazar-grad) !important; }
.ef-sponsor-ai-strip__btn,
.ef-bazar-banner__btn                     { background: var(--bazar-grad) !important; }

/* ── Search mode btn: viola quando BazarAI è attivo ── */
.ef-search-mode-btn[data-mode="ai"].is-active {
  background: var(--bazar-grad) !important;
  color: #fff !important;
}

/* ══ Delivery Modal — Matrioska Layout ════════════════════════════ */
.ef-delivery-body { padding: 0; }

/* Livello 1: Sezione principale */
.ef-dlv-section {
  border-bottom: 1px solid var(--ef-100);
}
.ef-dlv-section:last-child { border-bottom: none; }
.ef-dlv-section__title {
  display: flex; align-items: center; gap: 8px;
  font-size: .82rem; font-weight: 700; color: var(--ef-black);
  margin-bottom: 14px; letter-spacing: -.01em;
}
.ef-dlv-section__hint {
  font-size: .72rem; font-weight: 400; color: var(--ef-400);
  margin-left: 4px;
}
.ef-dlv-section__body { display: flex; flex-direction: column; gap: 12px; }

/* Toggle row */
.ef-dlv-toggle-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  background: #fff; border-radius: 10px;
  border: 1px solid var(--ef-200);
}
.ef-dlv-toggle-row--sm { padding: 14px !important; }
.ef-dlv-toggle-row__icon { color: var(--ef-orange); flex-shrink: 0; }
.ef-dlv-toggle-row__body { flex: 1; min-width: 0; }
.ef-dlv-toggle-row__title { font-size: .84rem; font-weight: 600; color: var(--ef-black); }
.ef-dlv-toggle-row__sub { font-size: .75rem; color: var(--ef-400); margin-top: 2px; }

/* Livello 2: Zona */
.ef-dlv-zones { display: flex; flex-direction: column; gap: 12px; }
.ef-mzone {
  background: #fff;
  border: 1.5px solid var(--ef-200);
  border-radius: 12px;
  overflow: hidden;
  padding: 0;
}
.ef-mzone__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: var(--ef-100);
  border-bottom: 1px solid var(--ef-200);
}
.ef-mzone__head-left { display: flex; align-items: center; gap: 8px; }
.ef-mzone__badge {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--ef-orange); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 700; flex-shrink: 0;
}
.ef-mzone__label { font-size: .82rem; font-weight: 600; color: var(--ef-black); }
.ef-mzone__del {
  width: 26px; height: 26px; border-radius: 6px;
  background: none; border: 1px solid var(--ef-200);
  color: var(--ef-400); cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.ef-mzone__del:hover { background: var(--ef-red-l); color: var(--ef-red); border-color: var(--ef-red); }
.ef-mzone__body { display: flex; flex-direction: column; gap: 5px; }

/* Livello 3: Sottosezione dentro la zona */
.ef-dlv-subsection {
  background: var(--ef-100);
  border-radius: 8px;
  padding: 12px 14px;
}
.ef-dlv-subsection__label {
  font-size: .72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: var(--ef-400); margin-bottom: 8px;
}

/* Coverage tabs */
.ef-dlv-coverage-tabs {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;
}
.ef-dlv-tab {
  padding: 5px 12px; border-radius: 20px; border: 1.5px solid var(--ef-200);
  background: #fff; font-size: .78rem; font-weight: 500;
  color: var(--ef-500); cursor: pointer; transition: all .15s; font-family: var(--ef-font);
}
.ef-dlv-tab.is-on {
  background: var(--ef-orange); border-color: var(--ef-orange); color: #fff;
}

/* Geo detail */
.ef-hidden { display: none !important; }
.ef-dlv-geo-detail.ef-hidden { display: none; }

/* Cost rows */
.ef-dlv-cost-rows {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px;
}
@media (max-width: 479px) { .ef-dlv-cost-rows { grid-template-columns: 1fr; } }

/* Aggiungi zona btn */
.ef-dlv-add-zone {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 12px;
  padding: 8px 16px; border-radius: 20px;
  border: 1.5px dashed var(--ef-300);
  background: transparent; color: var(--ef-500);
  font-size: .8rem; font-weight: 600; font-family: var(--ef-font);
  cursor: pointer; transition: border-color .15s, color .15s;
}
.ef-dlv-add-zone:hover { border-color: var(--ef-orange); color: var(--ef-orange); }

/* mf hint */
.ef-mf__hint { font-size: .72rem; color: var(--ef-400); margin-top: 4px; }

/* ══ Delivery modal — scroll + fixed footer ═══════════════════════ */
.ef-delivery-scroll {
  overflow-y: auto;
  min-height: 0;
}
.ef-delivery-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 24px;
  border-top: 1px solid var(--ef-100);
  background: #fff;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.ef-delivery-foot__minorder {
  display: flex; align-items: center; gap: 10px; flex: 1; min-width: 180px;
}
.ef-delivery-foot__lbl {
  display: flex; align-items: center; gap: 5px;
  font-size: .8rem; font-weight: 600; color: var(--ef-700);
  white-space: nowrap; flex-shrink: 0;
}
.ef-delivery-foot__inp {
  width: 110px !important; flex-shrink: 0;
}
.ef-delivery-foot__actions { display: flex; gap: 8px; }



/* ── Native multi-select with token tags ── */
.ef-multi-select {
  position: relative;
}
.ef-multi-select__native {
  position: absolute; opacity: 0; pointer-events: none;
  width: 1px; height: 1px; overflow: hidden;
}
.ef-multi-select__tags {
  display: flex; flex-wrap: wrap; gap: 5px;
  min-height: 38px; padding: 6px 8px;
  border: 1.5px solid var(--ef-200); border-radius: 8px;
  background: #fff; cursor: pointer;
  transition: border-color .15s;
  align-items: flex-start;
  align-content: flex-start;
}
.ef-multi-select__tags:focus-within,
.ef-multi-select.is-open .ef-multi-select__tags { border-color: var(--ef-orange); }
.ef-ms-tag {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--ef-orange-l); border: 1px solid rgba(250,79,38,.2);
  color: var(--ef-orange); border-radius: 6px;
  font-size: .73rem; font-weight: 600; padding: 2px 8px 2px 6px;
  white-space: nowrap; user-select: none;
}
.ef-ms-tag__rm {
  background: none; border: none; cursor: pointer;
  color: var(--ef-orange); line-height: 1; padding: 0;
  font-size: .9em; opacity: .7; transition: opacity .1s;
}
.ef-ms-tag__rm:hover { opacity: 1; }
.ef-ms-placeholder {
  font-size: .8rem; color: var(--ef-400);
  align-self: center; padding: 0 2px;
}
/* Dropdown */
.ef-ms-dropdown {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: #fff; border: 1.5px solid var(--ef-200); border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  z-index: 9999;
  display: none;
}
.ef-multi-select.is-open .ef-ms-dropdown { display: block; }
.ef-ms-option {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; cursor: pointer;
  font-size: .82rem; color: var(--ef-700);
  transition: background .1s;
}
.ef-ms-option:hover { background: var(--ef-100); }
.ef-ms-option.is-on { background: var(--ef-orange-l); color: var(--ef-orange); font-weight: 600; }
.ef-ms-option__check {
  width: 15px; height: 15px; border-radius: 4px;
  border: 1.5px solid var(--ef-300); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: all .1s;
}
.ef-ms-option__check svg { opacity: 0; transition: opacity .1s; }
.ef-ms-option.is-on .ef-ms-option__check {
  background: var(--ef-orange); border-color: var(--ef-orange); color: #fff;
}
.ef-ms-option.is-on .ef-ms-option__check svg { opacity: 1; }

/* Footer delivery layout update */
.ef-delivery-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 24px;
  border-top: 1.5px solid var(--ef-100);
  background: #fff; flex-shrink: 0; flex-wrap: wrap;
}
.ef-delivery-foot__left {
  display: flex; align-items: center; gap: 16px; flex: 1; flex-wrap: wrap;
}
.ef-delivery-foot__minorder {
  display: flex; align-items: center; gap: 8px;
}
.ef-delivery-foot__lbl {
  display: flex; align-items: center; gap: 5px;
  font-size: .78rem; font-weight: 600; color: var(--ef-700);
  white-space: nowrap; flex-shrink: 0;
}
.ef-delivery-foot__inp { width: 100px !important; flex-shrink: 0; }
.ef-delivery-foot__actions { display: flex; gap: 8px; flex-shrink: 0; }

/* ── Multi-select search ── */
.ef-ms-search-wrap {
  padding: 8px 10px 6px;
  border-bottom: 1px solid var(--ef-100);
  position: sticky; top: 0; background: #fff; z-index: 1;
}
.ef-ms-search {
  width: 100%; border: 1.5px solid var(--ef-200); border-radius: 6px;
  padding: 5px 10px; font-size: .8rem; font-family: var(--ef-font);
  outline: none; background: var(--ef-100); color: var(--ef-black);
}
.ef-ms-search:focus { border-color: var(--ef-orange); background: #fff; }
.ef-ms-opt-list { max-height: 180px; overflow-y: auto; scrollbar-width: thin; }

/* ── Time inputs (schedule modal) ── */
/* ══ Country-block delivery layout ══════════════════════════════════ */
.ef-country-block {
  background: #fff;
  border: 1.5px solid var(--ef-200);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
}
.ef-country-block__head {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  background: var(--ef-100);
  border-bottom: 1px solid var(--ef-200);
}
.ef-country-block__flag { font-size: .9rem; font-weight: 700; color: var(--ef-black); flex: 1; }
.ef-country-block__edit-cc,
.ef-country-block__del {
  width: 26px; height: 26px; border-radius: 6px;
  background: none; border: 1px solid var(--ef-200);
  color: var(--ef-400); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.ef-country-block__edit-cc:hover { background: var(--ef-100); color: var(--ef-700); }
.ef-country-block__del:hover { background: var(--ef-red-l); color: var(--ef-red); border-color: var(--ef-red); }

.ef-country-block__body { padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }

/* Inner zones */
.ef-country-zones { display: flex; flex-direction: column; gap: 8px; }
.ef-inner-zone {
  background: var(--ef-100);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--ef-200);
}
.ef-inner-zone__head {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 10px;
  background: var(--ef-200);
  border-bottom: 1px solid var(--ef-200);
}
.ef-inner-zone__num {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--ef-500); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 700; flex-shrink: 0;
}
.ef-inner-zone__label { flex: 1; font-size: .78rem; font-weight: 600; color: var(--ef-700); }
.ef-inner-zone__del {
  width: 22px; height: 22px; border-radius: 4px;
  background: none; border: none; cursor: pointer;
  color: var(--ef-400); display: flex; align-items: center; justify-content: center;
  transition: color .15s;
}
.ef-inner-zone__del:hover { color: var(--ef-red); }
.ef-inner-zone__body { padding: 10px; }

/* Aggiungi zona geografica btn */
.ef-add-inner-zone {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; border-radius: 16px;
  border: 1px dashed var(--ef-300); background: transparent;
  color: var(--ef-500); font-size: .75rem; font-weight: 600;
  font-family: var(--ef-font); cursor: pointer;
  transition: border-color .15s, color .15s;
}
.ef-add-inner-zone:hover { border-color: var(--ef-orange); color: var(--ef-orange); }

/* Country footer */
.ef-country-block__footer {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 10px !important;
  border-top: 1px solid var(--ef-200);
  margin: 0 -14px -12px;
  background: rgba(250,79,38,.03);
}
.ef-country-block__footer .ef-mf { flex: 1; min-width: 120px; }

/* Aggiungi nazione btn — full width */
.ef-add-country-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 12px;
  border-radius: 10px; border: 2px dashed var(--ef-300);
  background: transparent; color: var(--ef-500);
  font-size: .82rem; font-weight: 600; font-family: var(--ef-font);
  cursor: pointer; transition: all .15s; margin-top: 4px;
}
.ef-add-country-btn:hover { border-color: var(--ef-orange); color: var(--ef-orange); background: var(--ef-orange-l); }

/* ── Delivery modal: scroll — min-height set inline on body ── */
.ef-modal--delivery { overflow: hidden; }
.ef-country-block__body { overflow: visible; }

/* ── Delivery modal body: block layout so scroll works ── */
.ef-modal--delivery .ef-modal__body {
  display: block !important;
  overflow-y: auto !important;
  flex: 1 !important;
  min-height: 0 !important;
}

/* ── Inner zone name input ── */
.ef-inner-zone__name-inp {
  flex: 1;
  border: none;
  background: transparent;
  font-size: .8rem;
  font-weight: 600;
  font-family: var(--ef-font);
  color: var(--ef-black);
  padding: 0 6px;
  outline: none;
  min-width: 0;
}
.ef-inner-zone__name-inp::placeholder { color: var(--ef-400); font-weight: 400; }
.ef-inner-zone__name-inp:focus { color: var(--ef-orange); }

/* ══ Delivery mode toggle (Rapido / Completo) ═══════════════════════ */
.ef-dlv-mode-toggle {
  display: flex; align-items: center;
  background: var(--ef-100); border-radius: 20px;
  padding: 3px; gap: 2px; border: 1px solid var(--ef-200);
}
.ef-dlv-mode-btn {
  padding: 4px 12px; border-radius: 16px; border: none;
  font-size: .72rem; font-weight: 600; font-family: var(--ef-font);
  cursor: pointer; background: transparent; color: var(--ef-500);
  transition: all .15s;
}
.ef-dlv-mode-btn.is-on {
  background: var(--ef-orange); color: #fff;
  box-shadow: 0 1px 4px rgba(250,79,38,.3);
}
/* Quick globals bar */
.ef-dlv-quick-globals {
  border-bottom: 1px solid var(--ef-200);
  padding: 10px 16px; background: var(--ef-100);
  flex-shrink: 0;
}
.ef-dlv-quick-globals__inner {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.ef-dlv-quick-globals__minorder { flex: 1; min-width: 140px; }
.ef-dlv-quick-globals__pickup { flex: 1; min-width: 140px; border: none !important; padding: 0 !important; }

/* Quick mode: hide per-zone footer and add-zone btn */
[data-dlv-mode="quick"] .ef-country-block__footer { display: none !important; }
[data-dlv-mode="quick"] .ef-add-inner-zone { display: none !important; }
[data-dlv-mode="quick"] .ef-inner-zone + .ef-inner-zone { display: none !important; }

/* Full mode: hide global globals bar */
[data-dlv-mode="full"] .ef-dlv-quick-globals { display: none !important; }
[data-dlv-mode="full"] .ef-dlv-sub-quick { display: none !important; }
[data-dlv-mode="quick"] .ef-dlv-sub-full { display: none !important; }

/* Upgrade banner */
.ef-dlv-upgrade-banner {
  display: none;
  margin: 12px 0 0;
  background: linear-gradient(135deg, #7C3AED, #EF4444);
  color: #fff; border-radius: 10px; padding: 12px 14px;
  font-size: .8rem; align-items: center; gap: 10px;
}
.ef-dlv-upgrade-banner.is-visible { display: flex; }
.ef-dlv-upgrade-banner a {
  color: #fff; font-weight: 700; text-decoration: underline; white-space: nowrap;
}

/* ── Inner zone footer: minorder + pickup ── */
.ef-inner-zone__footer {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 10px; padding-top: 10px;
  border-top: 1px dashed var(--ef-200);
}
.ef-inner-zone__footer .ef-mf { flex: 1; min-width: 120px; }
.ef-inner-zone__footer .ef-dlv-toggle-row { flex: 1; min-width: 140px; }

/* Quick mode: zone footer hidden (uses global bar instead) */

/* Full mode: global bar hidden */
[data-dlv-mode="full"]  .ef-dlv-quick-globals  { display: none !important; }

/* Rapido: force hide zone footer with ID specificity */
#ef-vmodal-delivery
#ef-vmodal-delivery[data-dlv-mode="full"]  .ef-dlv-quick-globals  { display: none !important; }

/* Hide del button when only 1 inner zone exists */
.ef-country-zones .ef-inner-zone:only-child .ef-inner-zone__del { visibility: hidden; }

/* Quick mode: hide edit-country button */
#ef-vmodal-delivery[data-dlv-mode="quick"] .ef-country-block__edit-cc { display: none !important; }

/* ── iOS zoom fix: input font-size must be ≥16px to prevent auto-zoom ── */
@media (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  input[type="url"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* Footer mobile: handled in mobile.css */

/* ── General micro-polish ────────────────────────────────────────── */
/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Better tap targets on touch */
@media (max-width: 767px) {
  .ef-bottombar__btn, .ef-bottombar__cart { min-height: 44px; }
  .ef-acct-nav-item, .ef-vside-item { min-height: 52px; }
}

/* Prevent text size adjust on orientation change (Safari) */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Remove 300ms tap delay */
a, button, input, label, select, textarea { touch-action: manipulation; }

/* Focus visible — keyboard nav accessibility */
:focus-visible {
  outline: 2px solid #7C3AED;
  outline-offset: 2px;
}
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: none; /* handled by border-color in each component */
}

/* ── Hero tags ── */
.ef-hero__tags { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:0; row-gap:8px; }
a.ef-hero__tag {
  color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50px;
  padding: 4px 12px;
  font-size: .82rem;
  white-space: nowrap;
  text-decoration: none;
  transition: background .15s, color .15s;
  display: inline-block;
}
a.ef-hero__tag:hover {
  background: rgba(255,255,255,.22);
  color: #fff;
}

button#ef-lang-trigger { height: 41px !important; }

@media (max-width: 900px) {
  .ef-hero__footer-brand {
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    text-align: center;
  }
}

/* ── Search btn: testo su desktop, solo icona su mobile ── */
.ef-smart-search__bar .ef-search-mode-btn[data-mode="search"] .i { display: none; }
.ef-smart-search__bar .ef-search-mode-btn[data-mode="search"] { padding: 0 18px; }
@media (max-width: 767px) {
  /* Mobile: nascondi testo "Cerca", mostra solo icona con sfondo tondo */
  .ef-search-mode-btn[data-mode="search"] .ef-sbtn-text { display: none !important; }
  .ef-search-mode-btn[data-mode="search"] .i { display: flex !important; }
  .ef-search-mode-btn[data-mode="search"] {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center !important;
    margin-right: 2px;
  }
  /* BazarAI btn su mobile: testo visibile */
  .ef-search-mode-btn[data-mode="ai"] { padding: 0 10px; font-size: .75rem; }
}
@media (min-width: 768px) {
  /* Desktop: mostra testo, nascondi icona (già nascosta di default) */
  .ef-search-mode-btn[data-mode="search"] .i { display: none; }
}

@media (max-width: 767px) {
  .ef-smart-search__icon { display: none; }
}

@media (max-width: 767px) {
  .ef-header-block { padding: 0px 10px; }
}

@media (max-width: 767px) {
  /* When search btn is icon-only, hide the separate search icon */
  .ef-smart-search__icon { display: none !important; }
}
@media (min-width: 768px) {
  /* Desktop: show search icon, hide icon inside btn */
  .ef-smart-search__icon { display: flex; }
}

/* ── First-child margin-top globale ───────────────────────────────
   Ogni primo elemento dentro ef-layout__center deve avere 14px
   di spazio dall'header/searchbar sopra. Regola universale.
──────────────────────────────────────────────────────────────────── */
.ef-layout__center > *:first-child { margin-top: 14px }
.ef-layout__center > .ef-header-block:first-child { margin-top: 0 }
/* Dopo ef-header-block il secondo figlio prende 14px */
.ef-layout__center > .ef-header-block + * { margin-top: 14px }
/* ef-vdash__content già ha padding-top:14px — non duplicare */
.ef-layout__center > .ef-vdash__content:first-child,
.ef-layout__center > .ef-vdash__content { margin-top: 0 }

/* Header-block padding sotto 1024px */
@media (max-width: 1024px) {
  .ef-header-block { padding: 0 10px; }
  .woocommerce-page .ef-header-block,
  .post-type-archive-product .ef-header-block { padding: 0; }
}


/* searchbar margin-bottom */
div#ef-searchbar { margin-bottom: 14px; }

/* ef-sinfo__head: flex-start solo nella pagina singolo prodotto */
.single-product .ef-sinfo__head { justify-content: flex-start !important; }

/* Smart search bar: border-radius pill */
.ef-smart-search__bar { border-radius: 50px !important; }

/* ── Skeleton loading — pulsing grey (stile Booking/Expedia) ──── */
@keyframes ef-skeleton-pulse {
  0%,100% { opacity:1 }
  50%      { opacity:.4 }
}
.ef-skeleton {
  background:var(--ef-200);
  border-radius:4px;
  animation:ef-skeleton-pulse 1.4s ease-in-out infinite;
  display:block;
}
/* Varianti dimensionali */
.ef-skeleton--title  { height:18px; width:70%;  margin-bottom:8px }
.ef-skeleton--text   { height:12px; width:100%; margin-bottom:6px }
.ef-skeleton--text-sm{ height:10px; width:55%;  margin-bottom:0   }
.ef-skeleton--img    { aspect-ratio:1/1; width:100%; border-radius:var(--r-sm) }
.ef-skeleton--img-sq { width:100%; height:100%; border-radius:inherit }
.ef-skeleton--price  { height:20px; width:40%; margin-top:4px }
.ef-skeleton--btn    { height:38px; width:100%; border-radius:var(--r-sm); margin-top:8px }
.ef-skeleton--avatar { width:36px; height:36px; border-radius:50%; flex-shrink:0 }
.ef-skeleton--badge  { height:18px; width:30%; border-radius:20px }
.ef-skeleton--line-full { height:10px; width:100%; margin-bottom:5px }
.ef-skeleton--line-half { height:10px; width:50%; margin-bottom:0  }

/* Card skeleton — usata dai feed (shop, vendor, search) */
.ef-card--skeleton .ef-card__img-wrap { background:var(--ef-100) }
.ef-card--skeleton .ef-card__img-wrap::after {
  content:'';
  display:block;
  aspect-ratio:1/1;
  background:var(--ef-200);
  animation:ef-skeleton-pulse 1.4s ease-in-out infinite;
}
.ef-card--skeleton .ef-card__body {
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ef-card--skeleton .ef-card__body::before {
  content:'';
  display:block;
  height:12px;
  background:var(--ef-200);
  border-radius:4px;
  width:85%;
  animation:ef-skeleton-pulse 1.4s ease-in-out infinite;
}
.ef-card--skeleton .ef-card__body::after {
  content:'';
  display:block;
  height:10px;
  background:var(--ef-100);
  border-radius:4px;
  width:50%;
  animation:ef-skeleton-pulse 1.4s ease-in-out .2s infinite;
}

/* AJAX search dropdown skeleton */
.ef-smart-search__skeleton {
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ef-smart-search__skeleton-row {
  display:flex;
  align-items:center;
  gap:10px;
}
.ef-smart-search__skeleton-row .ef-skeleton--img-sq {
  width:40px; height:40px; border-radius:6px; flex-shrink:0;
}

/* Infinite scroll / loadmore skeleton strip */
.ef-grid--loading .ef-card:last-child {
  opacity:.5;
  pointer-events:none;
}

/* ── Skeleton loading — pulsing grey (Booking/Expedia style) ─────
   CRITICO: le card skeleton hanno STESSA ALTEZZA delle card reali.
   Usano la stessa classe .ef-card + .ef-card--skeleton.
   Nessun height esplicito — il layout si autogestisce.
──────────────────────────────────────────────────────────────────── */
@keyframes ef-sk-pulse { 0%,100%{opacity:1} 50%{opacity:.45} }
.ef-sk { background:var(--ef-200); border-radius:4px; display:block; animation:ef-sk-pulse 1.5s ease-in-out infinite }

/* Card skeleton: stessa struttura di .ef-card */
.ef-card--skeleton { pointer-events:none }
.ef-card--skeleton .ef-card__img-wrap {
  background:var(--ef-100);
  position:relative;
  overflow:hidden;
}
/* Simula l'immagine con aspect-ratio identico */
.ef-card--skeleton .ef-card__img-wrap::after {
  content:'';
  display:block;
  width:100%; aspect-ratio:1/1;
  background:linear-gradient(90deg,var(--ef-100) 25%,var(--ef-200) 50%,var(--ef-100) 75%);
  background-size:200% 100%;
  animation:ef-sk-pulse 1.5s ease-in-out infinite;
}
.ef-card--skeleton .ef-card__body {
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:110px; /* uguale al body reale */
}
.ef-card--skeleton .ef-card__body > * { display:none } /* nasconde contenuto reale se c'è */
/* Simula righe di testo */
.ef-card--skeleton .ef-card__body::before,
.ef-card--skeleton .ef-card__body::after {
  content:'';
  display:block;
  border-radius:4px;
  animation:ef-sk-pulse 1.5s ease-in-out infinite;
}
.ef-card--skeleton .ef-card__body::before { height:12px; width:80%; background:var(--ef-200) }
.ef-card--skeleton .ef-card__body::after  { height:10px; width:50%; background:var(--ef-100); animation-delay:.2s }

/* Varianti inline */
.ef-sk--title  { height:16px; width:70% }
.ef-sk--text   { height:11px; width:100% }
.ef-sk--sm     { height:9px;  width:55% }
.ef-sk--price  { height:20px; width:38% }
.ef-sk--btn    { height:36px; border-radius:var(--r-sm) }
.ef-sk--avatar { width:36px; height:36px; border-radius:50%; flex-shrink:0 }
.ef-sk--badge  { height:16px; width:28%; border-radius:20px }
.ef-sk--img-sq { border-radius:6px }

/* Search dropdown skeleton */
.ef-sk-drop { padding:10px 14px; display:flex; flex-direction:column; gap:9px }
.ef-sk-drop__row { display:flex; align-items:center; gap:9px }

/* Tooltip sponsorizzato: non tagliato */
.ef-sp-badge::after { white-space:nowrap; max-width:240px; white-space:normal; z-index:9999 }

/* Cart: vendor name arancio */
div#ef-cart-items .ef-ci-vendor__name { color: var(--ef-orange) }

/* Address input + GPS btn altezza 41px */
input#ef-address-input { height: 41px }
button#ef-gps-btn { height: 41px }

/* Single product: vheader stats inline + visit link */
.ef-prod-vheader__name { display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.ef-prod-vheader__name-left { display:flex; align-items:center; gap:8px; flex:1; flex-wrap:wrap; min-width:0 }
.ef-prod-vheader__stat-inline { display:inline-flex; align-items:center; gap:3px; font-size:.72rem; color:var(--ef-500) }
.ef-prod-vheader__visit-link { font-size:.75rem; font-weight:600; color:var(--ef-orange); text-decoration:none; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; flex-shrink:0 }
.ef-prod-vheader__stats { display:none } /* nasconde il vecchio blocco stats separato */

/* Prod-vheader name-left: align-items flex-start */
.ef-prod-vheader__name-left { align-items: flex-start }

/* Modal address: gap:0 + input border-radius */
div#ef-modal-address .ef-addr-row { gap: 0 }
input#ef-address-input { border-radius: 8px 0 0 8px }

/* Sidebar tips gap */
/* Mini sponsored: border-bottom su tutte le righe tranne l'ultima */
.ef-sp-mini-row ~ .ef-sp-mini-row { border-top: .5px solid var(--ef-100) }

/* Storie e Reels thumbnail: 9:16 centrato */
.ef-content-item--story .ef-content-item__thumb,
.ef-content-item--reel  .ef-content-item__thumb {
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:var(--r-sm);
}
.ef-content-item__thumb--empty {
  aspect-ratio:9/16;
  background:var(--ef-100);
  border-radius:var(--r-sm);
  display:flex;
  align-items:center;
  justify-content:center;
}



/* ── Reel progress timer ─────────────────────────────── */
.ef-reel__progress {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: rgba(255,255,255,.25);
  z-index: 5;
  overflow: hidden;
}
.ef-reel__progress-fill {
  height: 100%;
  width: 0%;
  background: var(--ef-orange);
  transition: none; /* gestito via JS per smoothness */
  transform-origin: left;
}
.ef-reel.is-playing .ef-reel__progress-fill {
  transition: width linear;
}

/* Reel mode toggle button */
.ef-reels-mode-btn {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1.5px solid var(--ef-200);
  background: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--ef-600);
  transition: all .15s;
  flex-shrink: 0;
}
.ef-reels-mode-btn:hover { border-color: var(--ef-orange); color: var(--ef-orange) }
.ef-reels-mode-btn.is-loop { background: var(--ef-orange); border-color: var(--ef-orange); color: #fff }
.ef-reels-mode-btn.is-loop:hover { background: #c2410c; border-color: #c2410c }

/* Story hover effect */
.ef-content-item--story { cursor: pointer; transition: transform .2s, box-shadow .2s }
.ef-content-item--story:hover { transform: scale(1.03); box-shadow: 0 4px 16px rgba(0,0,0,.15) }
.ef-content-item--story .ef-content-item__thumb { transition: opacity .2s }
.ef-content-item--story:hover .ef-content-item__thumb { opacity: .9 }

/* Reel: mostra progress sempre (trasparente se non in play) */
/* Progress nella strip: solo per future espansioni (ora gestita nel viewer popup) */
.ef-reel__progress { display: none }

/* Progress bar segmentata nel reel viewer popup */
#ef-rv-progress-wrap {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 6;
  display: flex;
  gap: 4px;
  padding: 10px 10px 0;
}

.efc-steps::-webkit-scrollbar { display:none }

/* ── Editorial TOC sidebar ────────────────────────────── */
.ef-toc {
  background: #fff;
  border-radius: var(--r);
  box-shadow: var(--sh-xs);
  padding: 0;
  margin: 12px 0;
  max-height: calc(100vh - 140px);
  display: none;
  flex-direction: column;
  overflow: hidden;
}
.ef-toc.is-visible {
  display: flex;
}
.ef-toc__title {
  font-size: .82rem;
  font-weight: 600;
  color: var(--ef-black);
  padding: 14px 14px 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  border-bottom: 1px solid var(--ef-100);
}
.ef-toc__links {
  flex: 1;
  overflow-y: auto;
  padding: 6px 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.ef-toc__link {
  display: block;
  font-size: .78rem;
  font-weight: 400;
  color: var(--ef-500);
  text-decoration: none;
  padding: 7px 10px;
  border-radius: var(--r-sm);
  transition: all .15s;
  line-height: 1.4;
}
.ef-toc__link:hover {
  color: var(--ef-black);
  background: var(--ef-50);
}
.ef-toc__link.is-active {
  color: var(--ef-orange);
  font-weight: 600;
  background: rgba(250,79,38,.06);
}
/* Hide TOC on mobile — content flows single column */
@media(max-width:1023px) {
  .ef-toc { display: none }
}

/* Toggle B2C/B2B nel topbar */
.ef-header__mode-btn{background:none;border:none;cursor:pointer;font-family:var(--ef-font);font-size:.78rem;font-weight:600;padding:4px 14px;border-radius:20px;transition:all .2s;color:rgba(255,255,255,.7)}
.ef-header__mode-btn.is-on{background:#fff;color:var(--ef-orange);font-weight:700}
.ef-header__mode-btn:not(.is-on){color:#fff}

/* Footer responsive: handled in mobile.css */

/* Smooth cart + sidebar transitions — no flash */
.ef-cart-panel__body{transition:opacity .15s ease}
.ef-cart-panel__body.is-loading{opacity:.4}
.ef-sidebar-block__scroll{transition:opacity .15s ease}
.ef-sidebar-block__scroll.is-loading{opacity:.4}
.ef-filter__sec-body{transition:max-height .2s ease,opacity .15s ease}

/* Contain reflow — smoother layout */
.ef-sidebar-block{contain:layout style}
.ef-cart-panel{contain:layout style}
.ef-cart-panel__body{will-change:opacity;transition:opacity .15s ease}

/* ── Skeleton anti-flash ── */
.ef-layout__left{min-height:400px}
.ef-layout__right{min-height:200px}
.ef-sidebar-block{min-height:300px;border-radius:var(--r);overflow:hidden}
.ef-cart-panel{min-height:120px;border-radius:var(--r);overflow:hidden}
.ef-filter__section{border-top:1px solid var(--ef-100);will-change:auto}
.ef-filter__sec-body{will-change:auto}
.ef-card{will-change:auto;contain:layout style paint}

/* ── Content-visibility: defer rendering off-screen ── */
.ef-filter__section:nth-child(n+4){content-visibility:auto;contain-intrinsic-size:auto 60px}
.ef-sp-mini-row{content-visibility:auto;contain-intrinsic-size:auto 70px}
.ef-card:nth-child(n+9){content-visibility:auto;contain-intrinsic-size:auto 350px}

/* Cart panel: prevent layout shift */
.ef-cart-panel__body-wrap{min-height:80px}
.ef-ci{min-height:40px}
.ef-ci-vendor{min-height:24px}

/* Global modal scroll lock */
body.ef-no-scroll{overflow:hidden!important;position:fixed;width:100%;top:var(--scroll-y,0)}

.ef-sidebar-adv-filter{padding:8px 15px}
