/* Accessibility Core by Clivo: copia di modules/advancedheaderux/views/css/front.css con 3 colori cambiati */
.ahux-native-account-content--hidden{display:none!important}.ahux-native-account-slot{position:relative!important}.ahux-native-account-slot>.ahux-live-account{height:100%}.ahux-live-account{position:relative;display:flex;align-items:center;min-width:0}.ahux-live-account__trigger{display:flex;align-items:center;gap:10px;border:0;background:var(--ahux-account-trigger-bg,transparent);color:var(--ahux-account-text-color,inherit);padding:8px 10px;min-height:54px;cursor:pointer;text-align:left;font:inherit}.ahux-live-account__trigger:hover,.ahux-live-account__trigger:focus-visible{background:var(--ahux-account-trigger-bg-hover,rgba(255,255,255,.1));outline:2px solid currentColor;outline-offset:2px;border-radius:var(--ahux-account-radius,10px)}.ahux-live-account__icon{display:grid;place-items:center;width:var(--ahux-account-icon-size,34px);height:var(--ahux-account-icon-size,34px);flex:0 0 var(--ahux-account-icon-size,34px);color:var(--ahux-account-icon-color,currentColor)}.ahux-live-account__icon svg{width:calc(var(--ahux-account-icon-size,34px) - 3px);height:calc(var(--ahux-account-icon-size,34px) - 3px);fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round}.ahux-live-account__copy{display:flex;flex-direction:column;min-width:0;max-width:180px;line-height:1.15}.ahux-live-account__copy small{font-size:11px;opacity:.75}.ahux-live-account__copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ahux-live-account-panel{position:absolute;z-index:10050;right:0;top:calc(100% + 12px);width:min(var(--ahux-account-panel-width,360px),calc(100vw - 28px));padding:24px;background:var(--ahux-account-panel-bg,#fff);color:var(--ahux-account-panel-text,#17212b);border:1px solid #e1e6ec;border-radius:var(--ahux-account-panel-radius,16px);box-shadow:var(--ahux-account-panel-shadow,0 20px 55px rgba(16,24,40,.24))}.ahux-live-account-panel[hidden]{display:none!important}.ahux-live-account-panel::before{content:"";position:absolute;right:34px;top:-8px;width:16px;height:16px;background:var(--ahux-account-panel-bg,#fff);border-left:1px solid #e1e6ec;border-top:1px solid #e1e6ec;transform:rotate(45deg)}.ahux-live-account-panel__close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:28px;line-height:1;color:#475467;cursor:pointer}.ahux-live-btn{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ahux-live-btn--primary{background:var(--ahux-account-primary-bg,#17212b);color:var(--ahux-account-primary-text,#fff)}.ahux-live-btn--primary:hover{color:var(--ahux-account-primary-text,#fff);filter:brightness(1.08)}.ahux-live-account-panel__register{text-align:center;margin:16px 0 0;color:#667085}.ahux-live-account-panel__register a{color:var(--ahux-account-panel-text,#17212b);text-decoration:underline}.ahux-live-account-panel__welcome{padding:0 34px 16px 0;border-bottom:1px solid #eaecf0}.ahux-live-account-links{display:grid;margin-top:8px}.ahux-live-account-links a{padding:12px 4px;color:var(--ahux-account-panel-text,#17212b);text-decoration:none;border-bottom:1px solid #f0f2f5}.ahux-live-account-links a:hover{background:#f8fafc}.ahux-live-account-links__logout{color:var(--ahux-account-logout-color,#b42318)!important;border-bottom:0!important}.ahux-live-preview-banner{position:fixed;left:50%;bottom:18px;z-index:11000;transform:translateX(-50%);padding:9px 14px;background:#fff4d6;color:#6b4f00;border:1px solid #e9c96f;border-radius:999px;box-shadow:0 8px 25px rgba(16,24,40,.15);font:600 13px/1.2 Arial,sans-serif;white-space:nowrap}.ahux-live-account--mobile{display:none}
@media(max-width:991px){.ahux-live-account--desktop{display:none}.ahux-live-account--mobile{display:flex}.ahux-live-account--mobile .ahux-live-account__copy{display:none}.ahux-live-account--mobile .ahux-live-account__trigger{padding:0;min-height:23px}.ahux-live-account--mobile .ahux-live-account__icon{width:23px;height:23px;flex-basis:23px}.ahux-live-account--mobile .ahux-live-account__icon svg{width:23px;height:23px}.ahux-live-account-panel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;border-radius:18px;padding:26px 20px}.ahux-live-account-panel::before{display:none}.ahux-live-preview-banner{bottom:8px;max-width:calc(100vw - 20px);overflow:hidden;text-overflow:ellipsis}}
@media(min-width:992px){.ahux-live-account--desktop{display:flex}.ahux-live-account--mobile{display:none}}

/* v0.2.4: preserve native ThemeVolty header slots */
#tvcmsdesktop-account-button.ahux-native-account-slot{display:block!important}
#tvcmsdesktop-account-button.ahux-native-account-slot>.ahux-live-account{align-items:center;justify-content:flex-start}
#tvcmsmobile-account-button.ahux-native-account-slot{display:block!important}
#tvcmsmobile-account-button.ahux-native-account-slot>.ahux-live-account{align-items:center;justify-content:center}
@media(min-width:992px){#tvcmsdesktop-account-button.ahux-native-account-slot .ahux-live-account__trigger{min-height:90px}}
@media(max-width:991px){#tvcmsmobile-account-button.ahux-native-account-slot .ahux-live-account__trigger{width:23px;height:23px;min-height:23px}}


/* v0.2.5 — console-validated native-slot integration */
#tvcmsdesktop-account-button.ahux-native-account-slot,
#tvcmsmobile-account-button.ahux-native-account-slot{
  position:relative!important;
  overflow:visible!important;
}
#tvcmsdesktop-account-button.ahux-native-account-slot>.ahux-live-account{
  display:flex!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  inset:auto!important;
  align-items:center!important;
}
#tvcmsdesktop-account-button.ahux-native-account-slot .ahux-live-account__trigger{
  width:100%!important;
  height:100%!important;
  min-height:54px!important;
  margin:0!important;
  justify-content:center!important;
}

@media(max-width:991px){
  #tvcmsmobile-account-button.ahux-native-account-slot{
    width:23px!important;
    height:23px!important;
  }
  #tvcmsmobile-account-button.ahux-native-account-slot>.ahux-live-account{
    display:flex!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    inset:auto!important;
    overflow:visible!important;
    z-index:100;
  }
  #tvcmsmobile-account-button.ahux-native-account-slot .ahux-live-account__trigger{
    width:100%!important;
    height:100%!important;
    min-height:23px!important;
    margin:0!important;
    padding:0!important;
    justify-content:center!important;
  }
  .ahux-mobile-actions-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
  }
  .ahux-live-account--mobile .ahux-live-account-panel{
    position:absolute!important;
    top:calc(100% + 12px)!important;
    right:-18px!important;
    left:auto!important;
    bottom:auto!important;
    width:min(320px,calc(100vw - 24px))!important;
    min-width:260px!important;
    max-width:320px!important;
    padding:18px!important;
    margin:0!important;
    z-index:9999!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:translateY(10%)!important;
  }
  .ahux-live-account--mobile .ahux-live-account-panel::before{
    display:block!important;
    right:22px!important;
  }
  .ahux-live-account--mobile .ahux-live-account-panel__close{
    top:-18px!important;
    right:-10px!important;
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    margin:0!important;
    z-index:10!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(0,0,0,.16)!important;
  }
  .ahux-live-account--mobile .ahux-live-btn--primary{
    min-height:52px;
    padding:12px 18px;
    font-size:18px;
  }
  .ahux-live-account--mobile .ahux-live-account-panel__register{
    margin:16px 0 0;
    font-size:16px;
    line-height:1.35;
    text-align:center;
  }
}


/* v0.2.7 — desktop slot shrink-to-content, console validated */
@media(min-width:992px){
  #tvcmsdesktop-account-button.ahux-native-account-slot{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
    position:relative!important;
  }
  #tvcmsdesktop-account-button.ahux-native-account-slot>.ahux-live-account{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
    height:100%!important;
    margin:0!important;
    align-items:center!important;
  }
  #tvcmsdesktop-account-button.ahux-native-account-slot .ahux-live-account__trigger{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:8px 14px!important;
    justify-content:flex-start!important;
    white-space:nowrap!important;
  }
}

/* v0.3.1 — optional mobile design overrides */
@media(max-width:991px){
  .ahux-live-account--mobile .ahux-live-account__trigger{background:var(--ahux-account-mobile-trigger-bg,transparent)!important;color:var(--ahux-account-mobile-text-color,inherit)!important;border-radius:var(--ahux-account-mobile-radius,10px)!important}
  .ahux-live-account--mobile .ahux-live-account__trigger:hover,.ahux-live-account--mobile .ahux-live-account__trigger:focus-visible{background:var(--ahux-account-mobile-trigger-bg-hover,rgba(255,255,255,.1))!important}
  .ahux-live-account--mobile .ahux-live-account__icon{width:var(--ahux-account-mobile-icon-size,23px)!important;height:var(--ahux-account-mobile-icon-size,23px)!important;flex-basis:var(--ahux-account-mobile-icon-size,23px)!important;color:var(--ahux-account-mobile-icon-color,currentColor)!important}
  .ahux-live-account--mobile .ahux-live-account__icon svg{width:var(--ahux-account-mobile-icon-size,23px)!important;height:var(--ahux-account-mobile-icon-size,23px)!important}
  .ahux-live-account--mobile .ahux-live-account-panel{width:min(var(--ahux-account-mobile-panel-width,320px),calc(100vw - 24px))!important;max-width:var(--ahux-account-mobile-panel-width,320px)!important;background:var(--ahux-account-mobile-panel-bg,#fff)!important;color:var(--ahux-account-mobile-panel-text,#17212b)!important;border-radius:var(--ahux-account-mobile-panel-radius,16px)!important;box-shadow:var(--ahux-account-mobile-panel-shadow,0 20px 55px rgba(16,24,40,.24))!important}
  .ahux-live-account--mobile .ahux-live-account-panel::before{background:var(--ahux-account-mobile-panel-bg,#fff)!important}
  .ahux-live-account--mobile .ahux-live-btn--primary{background:var(--ahux-account-mobile-primary-bg,#17212b)!important;color:var(--ahux-account-mobile-primary-text,#fff)!important}
  .ahux-live-account--mobile .ahux-live-account-panel__register a,.ahux-live-account--mobile .ahux-live-account-links a{color:var(--ahux-account-mobile-panel-text,#17212b)!important}
  .ahux-live-account--mobile .ahux-live-account-links__logout{color:var(--ahux-account-mobile-logout-color,#b42318)!important}
}

/* v0.5.0 server-side adapter: ThemeVolty may move desktop markup into the mobile slot. */
@media(max-width:991px){
  #tvcmsmobile-account-button .ahux-live-account{display:flex!important;position:relative!important;width:100%!important;height:100%!important;overflow:visible!important}
  #tvcmsmobile-account-button .ahux-live-account__copy{display:none!important}
  #tvcmsmobile-account-button .ahux-live-account__trigger{width:100%!important;height:100%!important;min-height:23px!important;padding:0!important;justify-content:center!important}
  #tvcmsmobile-account-button .ahux-live-account__icon{width:var(--ahux-account-mobile-icon-size,23px)!important;height:var(--ahux-account-mobile-icon-size,23px)!important;flex-basis:var(--ahux-account-mobile-icon-size,23px)!important}
  #tvcmsmobile-account-button .ahux-live-account-panel{position:absolute!important;top:calc(100% + 12px)!important;right:-18px!important;left:auto!important;bottom:auto!important;width:min(var(--ahux-account-mobile-panel-width,320px),calc(100vw - 24px))!important;min-width:260px!important;max-width:var(--ahux-account-mobile-panel-width,320px)!important;transform:translateY(10%)!important}
}

/* v0.6.0 — Mobile barcode search
 *
 * 0.9.3 — Il pulsante non dipende più dalla larghezza della finestra, ma dal fatto di
 * esistere: lo stampa il server solo nel ramo mobile (telefoni e tablet). Su un tablet in
 * orizzontale il tema sposta l'intera riga di ricerca dentro l'header desktop, e con la
 * vecchia regola «fino a 991 px» il pulsante spariva proprio lì. La riga a due colonne
 * vale quindi ovunque si trovi la riga, non solo dentro #tvcmsmobile-search.
 */
.ahux-barcode-modal{display:none}
.tvsearch-header-display-wrappper.ahux-barcode-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 48px;
  column-gap:8px;
  align-items:stretch;
}
.tvsearch-header-display-wrappper.ahux-barcode-search-row>form{
  min-width:0;
  width:100%;
}
.tvsearch-header-display-wrappper.ahux-barcode-search-row>.tvsearch-result{
  grid-column:1/-1;
  width:100%;
}
.ahux-barcode-trigger{
  display:grid;
  place-items:center;
  width:48px;
  min-width:48px;
  height:48px;
  padding:0;
  border:1px solid #d8dce5;
  border-radius:8px;
  background:#fff;
  color:#10182f;
  cursor:pointer;
  box-sizing:border-box;
}
.ahux-barcode-trigger:focus-visible{outline:2px solid #5b4cff;outline-offset:2px}
@media(max-width:991px){
  .ahux-camera-css-icon{position:relative;display:block;width:25px;height:18px;box-sizing:border-box;border:2px solid currentColor;border-radius:4px}
  .ahux-camera-css-icon::before{content:"";position:absolute;top:-6px;left:6px;width:9px;height:6px;box-sizing:border-box;border:2px solid currentColor;border-bottom:0;border-radius:3px 3px 0 0}
  .ahux-camera-css-icon__lens{position:absolute;top:50%;left:50%;width:8px;height:8px;box-sizing:border-box;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%)}
  .ahux-barcode-modal{position:fixed;inset:0;z-index:12000;display:block}
  .ahux-barcode-modal[hidden]{display:none!important}
  .ahux-barcode-modal__backdrop{position:absolute;inset:0;background:rgba(5,12,31,.72);backdrop-filter:blur(3px)}
  .ahux-barcode-sheet{position:absolute;left:12px;right:12px;bottom:12px;max-height:calc(100dvh - 24px);overflow:auto;padding:22px 18px 18px;background:#fff;color:#10182f;border-radius:20px;box-shadow:0 24px 80px rgba(5,12,31,.32)}
  .ahux-barcode-sheet__close{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:#f4f6fb;color:#10182f;font-size:28px;line-height:1;cursor:pointer}
  .ahux-barcode-sheet__head{display:flex;align-items:center;gap:12px;padding-right:46px;margin-bottom:16px}
  .ahux-barcode-sheet__head h2{margin:0 0 4px;font-size:21px;line-height:1.2}
  .ahux-barcode-sheet__head p{margin:0;color:#667085;font-size:14px;line-height:1.4}
  .ahux-barcode-sheet__icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:#eef0ff;color:#4f46e5}
  .ahux-barcode-sheet__icon .ahux-camera-css-icon{transform:scale(1.08)}
  .ahux-barcode-camera{position:relative;overflow:hidden;border-radius:16px;background:#090f20;aspect-ratio:4/3;margin-bottom:14px}
  .ahux-barcode-camera[hidden]{display:none!important}
  .ahux-barcode-camera video{display:block;width:100%;height:100%;object-fit:cover}
  .ahux-barcode-camera__guide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
  .ahux-barcode-camera__guide span{width:82%;height:36%;border:2px solid rgba(255,255,255,.92);border-radius:12px;box-shadow:0 0 0 999px rgba(3,8,20,.28)}
  .ahux-barcode-camera p{position:absolute;left:12px;right:12px;bottom:10px;margin:0;padding:8px 10px;border-radius:10px;background:rgba(5,12,31,.72);color:#fff;text-align:center;font-size:13px}
  .ahux-barcode-camera p[data-state="error"]{background:rgba(180,35,24,.88)}
  .ahux-barcode-camera p[data-state="success"]{background:rgba(2,122,72,.88)}
  .ahux-barcode-actions{display:grid;margin-bottom:14px}
  .ahux-barcode-primary{min-height:50px;border:0;border-radius:13px;background:linear-gradient(135deg,#4338ca,#6d5dfc);color:#fff;font-weight:800;cursor:pointer}
  .ahux-barcode-primary:disabled{opacity:.55;cursor:wait}
  .ahux-barcode-manual{padding-top:14px;border-top:1px solid #e8eaf0}
  .ahux-barcode-manual[hidden]{display:none!important}
  .ahux-barcode-manual label{display:block;margin-bottom:8px;font-weight:700;font-size:14px}
  .ahux-barcode-manual>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .ahux-barcode-manual input{min-width:0;height:46px;padding:0 12px;border:1px solid #cfd4df;border-radius:11px;font-size:16px}
  .ahux-barcode-manual button{height:46px;padding:0 16px;border:0;border-radius:11px;background:#10182f;color:#fff;font-weight:700}

  .ahux-barcode-detected{margin-top:14px;padding:14px 16px;border:1px solid #b8b2ff;border-radius:14px;background:#f3f1ff;color:#10182f;text-align:left}
  .ahux-barcode-detected[hidden]{display:none!important}
  .ahux-barcode-detected__label{margin-bottom:4px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5142df}
  .ahux-barcode-detected__value{display:block;font-size:22px;line-height:1.2;font-weight:900;letter-spacing:.035em;overflow-wrap:anywhere;color:#10182f}
  .ahux-barcode-detected p{margin:5px 0 0;font-size:13px;color:#667085}
  .ahux-barcode-result{margin-top:14px}
  .ahux-barcode-result[hidden]{display:none!important}
  .ahux-barcode-loading,.ahux-barcode-empty{padding:16px;border-radius:13px;background:#f7f8fb;text-align:center}
  .ahux-barcode-empty strong{display:block;margin-bottom:4px}
  .ahux-barcode-empty p{margin:0;color:#667085}
  .ahux-barcode-empty--error{background:#fff1f0;color:#8f1d14}
  .ahux-barcode-product{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #dfe3ec;border-radius:15px;background:#fff}
  .ahux-barcode-product img{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#f7f8fb}
  .ahux-barcode-product span{font-size:12px;font-weight:800;color:#027a48;text-transform:uppercase;letter-spacing:.04em}
  .ahux-barcode-product h3{margin:3px 0 5px;font-size:15px;line-height:1.3}
  .ahux-barcode-product p{margin:0 0 9px;color:#667085;font-size:13px}
  .ahux-barcode-product a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;background:#10182f;color:#fff;text-decoration:none;font-weight:800}
  html.ahux-barcode-open,html.ahux-barcode-open body{overflow:hidden!important}
}

/* v0.6.1 - diagnostica fotocamera, visibile solo in anteprima */
.ahux-camera-diagnostic{margin:14px 0 0;padding:14px;border:1px solid #dfe3ff;border-radius:14px;background:#f8f9ff;color:#12182f;font-size:13px}
.ahux-camera-diagnostic__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.ahux-camera-diagnostic__head strong{font-size:14px}
.ahux-camera-diagnostic__head span{font-size:11px;color:#667085}
.ahux-camera-diagnostic dl{margin:0;display:grid;gap:6px}
.ahux-camera-diagnostic dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid #eceeff}
.ahux-camera-diagnostic dt{font-weight:700}.ahux-camera-diagnostic dd{margin:0;overflow-wrap:anywhere}
.ahux-camera-diagnostic__actions{display:grid;gap:8px;margin-top:12px}
.ahux-camera-diagnostic__actions button,.ahux-camera-diagnostic__actions label{min-height:42px;border:1px solid #c9ceff;border-radius:10px;background:#fff;color:#17204a;padding:9px 12px;font:inherit;font-weight:700}
.ahux-camera-diagnostic__actions label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}
.ahux-camera-diagnostic__actions input{width:100%}
.ahux-camera-diagnostic__actions button:disabled{opacity:.45;cursor:not-allowed}
.ahux-camera-diagnostic [data-ahux-camera-diagnostic-message]{margin:10px 0 0;color:#475467}
.ahux-camera-diagnostic [data-state="success"]{color:#067647}.ahux-camera-diagnostic [data-state="error"]{color:#b42318}

/* v0.6.3 — scanner mobile full-screen + analisi pubblicabile */
@media (max-width: 991px) {
  .ahux-barcode-modal__backdrop {
    background:#030713;
    backdrop-filter:none;
  }

  .ahux-barcode-sheet.ahux-barcode-sheet--fullscreen {
    inset:0;
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:100%;
    height:100dvh;
    max-height:none;
    padding:0;
    border-radius:0;
    background:#030713;
    color:#fff;
    overflow:hidden;
    box-shadow:none;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head {
    position:absolute;
    z-index:5;
    left:0;
    right:0;
    top:0;
    min-height:92px;
    margin:0;
    padding:calc(env(safe-area-inset-top, 0px) + 18px) 70px 18px 20px;
    align-items:flex-start;
    background:linear-gradient(180deg,rgba(2,6,18,.92),rgba(2,6,18,.55),transparent);
    color:#fff;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head h2 {
    color:#fff;
    font-size:22px;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head p {
    color:rgba(255,255,255,.78);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__icon {
    background:rgba(95,78,255,.22);
    color:#c9c3ff;
    border:1px solid rgba(157,145,255,.35);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__close {
    position:absolute;
    z-index:8;
    top:calc(env(safe-area-inset-top, 0px) + 14px);
    right:14px;
    width:46px;
    height:46px;
    background:rgba(255,255,255,.14);
    color:#fff;
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(10px);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    border-radius:0;
    aspect-ratio:auto;
    background:#030713;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera video {
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .ahux-barcode-camera__shade {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(2,6,18,.14),transparent 28%,transparent 65%,rgba(2,6,18,.72));
    pointer-events:none;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide {
    inset:104px 0 150px;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span {
    width:min(88vw,560px);
    height:min(27vh,220px);
    border:3px solid rgba(255,255,255,.96);
    border-radius:22px;
    box-shadow:0 0 0 999px rgba(2,6,18,.24),0 0 28px rgba(91,76,255,.34);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera p {
    z-index:4;
    left:18px;
    right:18px;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 92px);
    padding:11px 14px;
    border-radius:14px;
    background:rgba(2,6,18,.68);
    backdrop-filter:blur(10px);
    font-size:14px;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera p[data-state="warning"] {
    background:rgba(146,96,0,.88);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-actions {
    position:absolute;
    z-index:6;
    left:16px;
    right:16px;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    margin:0;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-primary,
  .ahux-barcode-sheet--fullscreen .ahux-barcode-secondary {
    min-height:56px;
    padding:0 18px;
    border-radius:16px;
    font-weight:800;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-secondary {
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.12);
    color:#fff;
    backdrop-filter:blur(10px);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-manual,
  .ahux-barcode-sheet--fullscreen .ahux-barcode-result {
    position:absolute;
    z-index:7;
    left:16px;
    right:16px;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 84px);
    padding:14px;
    border:0;
    border-radius:16px;
    background:rgba(255,255,255,.96);
    color:#10182f;
    box-shadow:0 18px 60px rgba(0,0,0,.3);
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-result {
    bottom:calc(env(safe-area-inset-bottom, 0px) + 150px);
  }

  .ahux-barcode-sheet--fullscreen .ahux-camera-diagnostic {
    position:absolute;
    z-index:20;
    left:10px;
    right:10px;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);
    max-height:min(68dvh,680px);
    margin:0;
    padding:16px;
    overflow:auto;
    border:1px solid rgba(151,139,255,.5);
    border-radius:20px;
    background:rgba(248,249,255,.98);
    box-shadow:0 22px 80px rgba(0,0,0,.52);
    color:#12182f;
  }

  .ahux-camera-diagnostic__head {
    position:sticky;
    top:-16px;
    z-index:2;
    margin:-16px -16px 10px;
    padding:16px 52px 12px 16px;
    background:rgba(248,249,255,.98);
    border-radius:20px 20px 0 0;
  }

  .ahux-camera-diagnostic__head button {
    position:absolute;
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#e9ebff;
    color:#10182f;
    font-size:24px;
    line-height:1;
  }

  .ahux-camera-diagnostic dl>div {
    grid-template-columns:112px minmax(0,1fr);
  }
}
@media (max-width: 991px) {
  .ahux-barcode-sheet--fullscreen .ahux-barcode-actions {
    grid-template-columns:minmax(0,1fr) auto;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-tertiary {
    grid-column:1/-1;
    min-height:36px;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.9);
    text-decoration:underline;
    font-weight:700;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-manual[hidden]{display:none!important}
}

/* v0.6.4 — adaptive multi-camera barcode scanner */
@media (max-width:991px){
  .ahux-barcode-camera-tools{position:fixed;left:14px;right:14px;bottom:92px;z-index:10065;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ahux-barcode-camera-tools[hidden]{display:none!important}
  .ahux-barcode-camera-tools button{min-height:44px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:rgba(8,14,31,.74);color:#fff;font-weight:700;padding:8px 10px;backdrop-filter:blur(10px)}
  .ahux-barcode-camera-tools button:first-child{grid-column:1/-1;background:rgba(91,72,244,.9)}
  .ahux-barcode-camera-tools button:disabled{opacity:.55}
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera video.ahux-barcode-video--contain{object-fit:contain;background:#050914}
}

/* v0.6.6 — clean mobile scanner UI */
@media (max-width: 991px) {
  .ahux-barcode-sheet--fullscreen {
    overflow: hidden !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head {
    z-index: 4;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #050914 !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera video {
    object-fit: cover !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__shade {
    background: linear-gradient(180deg, rgba(2,7,20,.78) 0%, rgba(2,7,20,.14) 30%, rgba(2,7,20,.06) 68%, rgba(2,7,20,.68) 100%) !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide {
    inset: 0 !important;
    z-index: 2;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span {
    position: relative;
    width: min(84vw, 560px) !important;
    height: min(31vw, 190px) !important;
    min-height: 118px;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.96) !important;
    border-radius: 22px !important;
    box-shadow: 0 0 0 9999px rgba(2,7,20,.30), 0 0 34px rgba(99,83,255,.28) !important;
  }

  .ahux-barcode-scanline {
    position: absolute;
    left: 6%;
    right: 6%;
    top: 12%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #8a7cff 14%, #fff 50%, #8a7cff 86%, transparent);
    box-shadow: 0 0 12px rgba(126,110,255,.95), 0 0 30px rgba(126,110,255,.65);
    animation: ahuxBarcodeScan 1.9s ease-in-out infinite alternate;
  }

  @keyframes ahuxBarcodeScan {
    from { transform: translateY(0); opacity: .78; }
    to { transform: translateY(calc(min(31vw, 190px) - 38px)); opacity: 1; }
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera p[data-ahux-barcode-status] {
    left: 50% !important;
    right: auto !important;
    bottom: max(30px, env(safe-area-inset-bottom)) !important;
    width: min(86vw, 520px);
    transform: translateX(-50%);
    padding: 10px 14px !important;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px !important;
    background: rgba(5,12,31,.62) !important;
    backdrop-filter: blur(12px);
    font-size: 14px !important;
    font-weight: 700;
  }

  .ahux-barcode-clean-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 6;
    display: flex;
    justify-content: center;
    pointer-events: none;
  }

  .ahux-barcode-manual-link {
    pointer-events: auto;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(5,12,31,.68);
    color: #fff;
    font-weight: 700;
    backdrop-filter: blur(10px);
  }

  .ahux-barcode-manual-link[hidden],
  .ahux-barcode-camera-tools[hidden],
  .ahux-barcode-actions[hidden] {
    display: none !important;
  }

  .ahux-barcode-camera-tools,
  .ahux-barcode-actions,
  .ahux-camera-diagnostic {
    display: none !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-manual {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 10080;
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 20px 60px rgba(2,7,20,.38);
  }

  .ahux-barcode-result-overlay {
    position: fixed;
    inset: 0;
    z-index: 10100;
    display: grid;
    align-items: end;
    padding: 18px 14px max(18px, env(safe-area-inset-bottom));
    background: rgba(3,8,20,.58);
    backdrop-filter: blur(7px);
  }

  .ahux-barcode-result-overlay[hidden] {
    display: none !important;
  }

  .ahux-barcode-result-dialog {
    position: relative;
    width: min(100%, 560px);
    margin: 0 auto;
    padding: 18px;
    border-radius: 24px;
    background: #fff;
    color: #10182f;
    box-shadow: 0 28px 90px rgba(2,7,20,.48);
    animation: ahuxBarcodeResultIn .24s ease-out both;
  }

  @keyframes ahuxBarcodeResultIn {
    from { transform: translateY(24px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }

  .ahux-barcode-result-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #f1f3f8;
    color: #10182f;
    font-size: 27px;
    line-height: 1;
  }

  .ahux-barcode-result {
    margin: 0 !important;
  }

  .ahux-barcode-loading {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 24px 12px;
  }

  .ahux-barcode-loading strong,
  .ahux-barcode-empty > span,
  .ahux-barcode-product__status span {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #5b4cf4;
  }

  .ahux-barcode-loading output,
  .ahux-barcode-empty output,
  .ahux-barcode-product__status output {
    display: block;
    margin-top: 4px;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: .035em;
    color: #10182f;
    overflow-wrap: anywhere;
  }

  .ahux-barcode-loader {
    width: 42px;
    height: 42px;
    border: 4px solid #e7e5ff;
    border-top-color: #5b4cf4;
    border-radius: 50%;
    animation: ahuxBarcodeSpin .8s linear infinite;
  }

  @keyframes ahuxBarcodeSpin { to { transform: rotate(360deg); } }

  .ahux-barcode-product {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .ahux-barcode-product__status {
    margin: 0 48px 14px 0;
    padding: 0 0 14px;
    border-bottom: 1px solid #e7e9f0;
  }

  .ahux-barcode-product__body {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    gap: 14px;
    align-items: start;
  }

  .ahux-barcode-product__body img {
    width: 86px !important;
    height: 86px !important;
  }

  .ahux-barcode-product__body h3 {
    margin: 4px 0 6px;
    font-size: 20px;
    line-height: 1.2;
  }

  .ahux-barcode-product__body a {
    width: 100%;
    min-height: 48px;
    margin-top: 6px;
    border-radius: 13px;
    background: linear-gradient(135deg,#4338ca,#6d5dfc);
  }

  .ahux-barcode-empty {
    padding: 22px 14px !important;
  }

  .ahux-barcode-empty strong {
    margin-top: 14px;
    font-size: 19px;
  }

  .ahux-barcode-empty button {
    width: 100%;
    min-height: 46px;
    margin-top: 16px;
    border: 0;
    border-radius: 12px;
    background: #10182f;
    color: #fff;
    font-weight: 800;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ahux-barcode-scanline,
  .ahux-barcode-loader,
  .ahux-barcode-result-dialog {
    animation: none !important;
  }
}

/* v0.6.7 — ROI-only detection and stable GTIN confirmation */
@media (max-width: 991px) {
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span {
    transition: border-color .18s ease, box-shadow .18s ease;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="reading"] {
    border-color: rgba(255,255,255,.98) !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="candidate"] {
    border-color: #8f82ff !important;
    box-shadow: 0 0 0 9999px rgba(2,7,20,.30), 0 0 38px rgba(126,110,255,.78) !important;
  }

  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="confirmed"] {
    border-color: #35d894 !important;
    box-shadow: 0 0 0 9999px rgba(2,7,20,.30), 0 0 42px rgba(53,216,148,.88) !important;
  }
}


/* v0.6.8 — configurable Barcode visual design (scanner only; product popup excluded) */
@media (max-width: 991px) {
  .ahux-barcode-trigger {
    background: var(--ahux-barcode-trigger-bg, #fff) !important;
    color: var(--ahux-barcode-trigger-color, #10182f) !important;
    border-color: var(--ahux-barcode-trigger-border, #d8dce5) !important;
    border-radius: var(--ahux-barcode-trigger-radius, 8px) !important;
  }
  .ahux-barcode-trigger:focus-visible {
    outline-color: var(--ahux-barcode-frame-candidate, #8f82ff) !important;
  }
  .ahux-barcode-sheet--fullscreen,
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera {
    background: var(--ahux-barcode-scanner-bg, #050914) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head h2 {
    color: var(--ahux-barcode-header-text, #fff) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__head p {
    color: var(--ahux-barcode-header-muted, #e5e7eb) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__icon {
    background: var(--ahux-barcode-icon-bg, #2b1b66) !important;
    color: var(--ahux-barcode-icon-color, #c7beff) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-sheet__close {
    background: var(--ahux-barcode-close-bg, rgba(255,255,255,.14)) !important;
    color: var(--ahux-barcode-close-color, #fff) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span,
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="reading"] {
    border-width: var(--ahux-barcode-frame-width, 3px) !important;
    border-color: var(--ahux-barcode-frame-color, #fff) !important;
    border-radius: var(--ahux-barcode-frame-radius, 22px) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="candidate"] {
    border-color: var(--ahux-barcode-frame-candidate, #8f82ff) !important;
    box-shadow: 0 0 0 9999px rgba(2,7,20,.30), 0 0 38px color-mix(in srgb, var(--ahux-barcode-frame-candidate, #8f82ff) 78%, transparent) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera__guide span[data-scan-state="confirmed"] {
    border-color: var(--ahux-barcode-frame-confirmed, #35d894) !important;
    box-shadow: 0 0 0 9999px rgba(2,7,20,.30), 0 0 42px color-mix(in srgb, var(--ahux-barcode-frame-confirmed, #35d894) 88%, transparent) !important;
  }
  .ahux-barcode-scanline {
    background: linear-gradient(90deg, transparent, var(--ahux-barcode-scanline-color, #8a7cff) 14%, #fff 50%, var(--ahux-barcode-scanline-color, #8a7cff) 86%, transparent) !important;
    box-shadow: 0 0 12px var(--ahux-barcode-scanline-color, #8a7cff), 0 0 30px color-mix(in srgb, var(--ahux-barcode-scanline-color, #8a7cff) 65%, transparent) !important;
  }
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera p[data-ahux-barcode-status] {
    background: var(--ahux-barcode-status-bg, rgba(5,12,31,.62)) !important;
    color: var(--ahux-barcode-status-text, #fff) !important;
  }
  .ahux-barcode-manual-link {
    background: var(--ahux-barcode-manual-bg, rgba(5,12,31,.68)) !important;
    color: var(--ahux-barcode-manual-text, #fff) !important;
  }
}

/* v0.7.0 — stable product result layout, including products without image */
@media (max-width: 991px) {
  .ahux-barcode-result-overlay {
    align-items: end;
    padding: 12px 12px max(14px, env(safe-area-inset-bottom));
  }

  .ahux-barcode-result-dialog {
    width: min(100%, 540px);
    max-height: min(78dvh, 680px);
    overflow: auto;
    padding: 16px;
    border-radius: 22px;
  }

  .ahux-barcode-product__status {
    margin-right: 48px;
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  .ahux-barcode-product__body {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
  }

  .ahux-barcode-product__media {
    display: grid;
    place-items: center;
    width: 112px;
    min-width: 112px;
    min-height: 150px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid #e4e7ee;
    border-radius: 16px;
    background: #f7f8fb;
  }

  .ahux-barcode-product__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: 150px;
    object-fit: contain;
  }

  .ahux-barcode-product__placeholder {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 8px;
    width: 100%;
    min-height: 128px;
    color: #8b93a5;
    text-align: center;
  }

  .ahux-barcode-product__placeholder svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .ahux-barcode-product__placeholder span {
    max-width: 90px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
  }

  .ahux-barcode-product__placeholder--empty span,
  .ahux-barcode-product__placeholder--empty svg {
    display: none;
  }

  .ahux-barcode-product__info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
  }

  .ahux-barcode-product__eyebrow {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: #16885f;
  }

  .ahux-barcode-product__body h3 {
    display: -webkit-box;
    margin: 0 0 12px;
    overflow: hidden;
    font-size: clamp(18px, 4.8vw, 23px);
    font-weight: 750;
    line-height: 1.18;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .ahux-barcode-product__info dl {
    margin: auto 0 12px;
  }

  .ahux-barcode-product__info dl > div {
    display: grid;
    gap: 2px;
  }

  .ahux-barcode-product__info dt {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    color: #7d8596;
  }

  .ahux-barcode-product__info dd {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #4b5364;
    overflow-wrap: anywhere;
  }

  .ahux-barcode-product__body a.ahux-barcode-product__cta {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 10px 14px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
  }
}

@media (max-width: 390px) {
  .ahux-barcode-result-dialog {
    padding: 14px;
  }

  .ahux-barcode-product__body {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
  }

  .ahux-barcode-product__media {
    width: 92px;
    min-width: 92px;
    min-height: 136px;
  }

  .ahux-barcode-product__body h3 {
    font-size: 18px;
    -webkit-line-clamp: 5;
  }
}


/* v0.7.1 — result overlay viewport anchoring fix (iOS/Safari included) */
@media (max-width: 991px) {
  .ahux-barcode-modal > .ahux-barcode-result-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh;
    z-index: 12150 !important;
    display: grid;
    place-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom)) !important;
    box-sizing: border-box;
  }

  .ahux-barcode-modal > .ahux-barcode-result-overlay[hidden] {
    display: none !important;
  }

  .ahux-barcode-modal > .ahux-barcode-result-overlay .ahux-barcode-result-dialog {
    position: relative;
    width: min(100%, 540px);
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - max(32px, env(safe-area-inset-top)) - max(32px, env(safe-area-inset-bottom)));
    margin: auto;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    transform: none;
  }
}


/* v0.7.2 — scanner footer separation + configurable product/not-found popup */
@media (max-width: 991px) {
  .ahux-barcode-sheet--fullscreen .ahux-barcode-camera p[data-ahux-barcode-status] {
    bottom: calc(max(20px, env(safe-area-inset-bottom)) + 62px) !important;
    max-height: 58px;
    overflow: hidden;
  }
  .ahux-barcode-clean-footer {
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
  .ahux-barcode-manual-link {
    max-width: calc(100vw - 28px);
    min-height: 44px;
    white-space: normal;
    line-height: 1.15;
  }
  .ahux-barcode-modal > .ahux-barcode-result-overlay {
    background: var(--ahux-barcode-popup-bg, rgba(3,8,20,.58)) !important;
  }
  .ahux-barcode-result-dialog {
    border-radius: var(--ahux-barcode-popup-radius, 22px) !important;
    background: var(--ahux-barcode-popup-card-bg, #fff) !important;
    color: var(--ahux-barcode-popup-text, #10182f) !important;
  }
  .ahux-barcode-product__status,
  .ahux-barcode-product__media {
    border-color: var(--ahux-barcode-popup-border, #e4e7ee) !important;
  }
  .ahux-barcode-product__status output,
  .ahux-barcode-product__body h3,
  .ahux-barcode-product__info dd {
    color: var(--ahux-barcode-popup-text, #10182f) !important;
  }
  .ahux-barcode-product__status span,
  .ahux-barcode-product__eyebrow {
    color: var(--ahux-barcode-popup-accent, #16885f) !important;
  }
  .ahux-barcode-product__info dt,
  .ahux-barcode-product__placeholder {
    color: var(--ahux-barcode-popup-muted, #7d8596) !important;
  }
  .ahux-barcode-product__info dl {
    display: grid;
    gap: 8px;
  }
  .ahux-barcode-product__info dl > div {
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
    align-items: baseline;
    column-gap: 10px;
  }
  .ahux-barcode-product__info dd {
    text-align: right;
  }
  .ahux-barcode-product__price {
    font-size: 18px !important;
    font-weight: 900 !important;
  }
  .ahux-barcode-product__body a.ahux-barcode-product__cta {
    background: var(--ahux-barcode-popup-cta-bg, #f4510b) !important;
    color: var(--ahux-barcode-popup-cta-text, #fff) !important;
  }
  .ahux-barcode-empty,
  .ahux-barcode-empty--error {
    border-radius: calc(var(--ahux-barcode-popup-radius, 22px) - 6px);
    background: var(--ahux-barcode-popup-empty-bg, #fff) !important;
    color: var(--ahux-barcode-popup-empty-text, #10182f) !important;
  }
  .ahux-barcode-empty strong,
  .ahux-barcode-empty p,
  .ahux-barcode-empty output {
    color: var(--ahux-barcode-popup-empty-text, #10182f) !important;
  }
  .ahux-barcode-empty button {
    background: var(--ahux-barcode-popup-cta-bg, #f4510b) !important;
    color: var(--ahux-barcode-popup-cta-text, #fff) !important;
  }
}


/* v0.7.4 — popup design variables reliability fix */
@media (max-width: 991px) {
  .ahux-barcode-modal.ahux-barcode-modal .ahux-barcode-result-overlay {
    background-color: var(--ahux-barcode-popup-bg, rgba(3,8,20,.58)) !important;
  }
  .ahux-barcode-modal.ahux-barcode-modal .ahux-barcode-result-dialog {
    background-color: var(--ahux-barcode-popup-card-bg, #fff) !important;
    color: var(--ahux-barcode-popup-text, #10182f) !important;
    border: 1px solid var(--ahux-barcode-popup-border, #e4e7ee) !important;
  }
  .ahux-barcode-modal .ahux-barcode-product,
  .ahux-barcode-modal .ahux-barcode-product__body,
  .ahux-barcode-modal .ahux-barcode-product__info {
    background: transparent !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__media {
    border-color: var(--ahux-barcode-popup-border, #e4e7ee) !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__status {
    border-bottom-color: var(--ahux-barcode-popup-border, #e4e7ee) !important;
  }
  .ahux-barcode-modal .ahux-barcode-result-close {
    color: var(--ahux-barcode-popup-text, #10182f) !important;
  }
}


/* v0.7.6 — separated popup typography + contextual tax price + promo badge */
.ahux-barcode-modal .ahux-barcode-product__status output{color:var(--ahux-barcode-popup-code-color,var(--ahux-barcode-popup-text,#10182f))!important}
.ahux-barcode-modal .ahux-barcode-product__body h3{color:var(--ahux-barcode-popup-title-color,var(--ahux-barcode-popup-text,#10182f))!important}
.ahux-barcode-modal .ahux-barcode-product__info dd,.ahux-barcode-modal .ahux-barcode-product__tax-label{color:var(--ahux-barcode-popup-details-color,var(--ahux-barcode-popup-muted,#5f687b))!important}
.ahux-barcode-product__price{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.ahux-barcode-product__price strong{font:inherit;color:inherit}
.ahux-barcode-product__old-price{font-size:.82em;opacity:.72;text-decoration-thickness:1.5px}
.ahux-barcode-product__tax-label{flex-basis:100%;display:block;margin-top:1px;font-size:.7em;font-weight:700;line-height:1.2}
.ahux-barcode-promo-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:var(--ahux-barcode-promo-badge-bg,#e5484d)!important;color:var(--ahux-barcode-promo-badge-text,#fff)!important;font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}


/* v0.7.7 — compact media/title row + full-width commercial details */
@media (max-width: 991px) {
  .ahux-barcode-modal .ahux-barcode-product__body {
    display: block !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__summary {
    display: grid !important;
    grid-template-columns: clamp(94px, 28vw, 132px) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 18px !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__media {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__media img,
  .ahux-barcode-modal .ahux-barcode-product__placeholder {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__heading {
    min-width: 0 !important;
    padding-top: 2px !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__heading h3 {
    margin: 8px 0 0 !important;
    overflow-wrap: anywhere !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info {
    width: 100% !important;
    margin-top: 18px !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info dl {
    width: 100% !important;
    margin: 0 0 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--ahux-barcode-popup-border, #e4e7ee) !important;
    display: grid !important;
    gap: 12px !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info dl:empty {
    display: none !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info dl > div {
    display: grid !important;
    grid-template-columns: minmax(104px, 42%) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info dt,
  .ahux-barcode-modal .ahux-barcode-product__info dd {
    margin: 0 !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__info dd {
    text-align: right !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__price {
    justify-content: flex-end !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__tax-label {
    text-align: right !important;
  }
  .ahux-barcode-modal .ahux-barcode-product__cta {
    width: 100% !important;
  }
}
@media (max-width: 390px) {
  .ahux-barcode-modal .ahux-barcode-product__summary {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
}


/* v0.7.8 — force media and title into the same compact top row */
@media (max-width: 991px) {
  .ahux-barcode-modal .ahux-barcode-product__summary {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__summary > .ahux-barcode-product__media {
    flex: 0 0 clamp(94px, 28vw, 132px) !important;
    width: clamp(94px, 28vw, 132px) !important;
    max-width: 132px !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__summary > .ahux-barcode-product__heading {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    align-self: flex-start !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__heading h3 {
    display: -webkit-box !important;
    margin: 8px 0 0 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__info {
    clear: both !important;
    width: 100% !important;
  }
}

@media (max-width: 390px) {
  .ahux-barcode-modal .ahux-barcode-product__summary {
    gap: 14px !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__summary > .ahux-barcode-product__media {
    flex-basis: 92px !important;
    width: 92px !important;
  }

  .ahux-barcode-modal .ahux-barcode-product__heading h3 {
    -webkit-line-clamp: 5 !important;
  }
}

/* v0.7.22 — Cart Drawer Foundation */
/* La compensazione tiene ferma la larghezza della pagina quando sparisce la barra di
   scorrimento: senza, il tema riceve un «resize» e rimescola i blocchi dell'header. */
html.ahux-cart-open,html.ahux-cart-open body{overflow:hidden!important;overscroll-behavior:none}
html.ahux-cart-open{padding-right:var(--ahux-scrollbar-comp,0px)}
.ahux-cart-native-backdrop-hidden{display:none!important;visibility:hidden!important;opacity:0!important}
#ahux-cart-drawer{position:fixed;inset:0;z-index:12050;visibility:hidden;pointer-events:none}
#ahux-cart-drawer.is-open{visibility:visible;pointer-events:auto}
.ahux-cart-drawer__overlay{position:absolute;inset:0;background:rgba(17,24,39,var(--ahux-cart-overlay-opacity,.48));opacity:0;transition:opacity .25s ease;backdrop-filter:blur(1.5px)}
#ahux-cart-drawer.is-open .ahux-cart-drawer__overlay{opacity:1}
.ahux-cart-drawer__panel{position:absolute;inset:0 0 0 auto;display:flex;flex-direction:column;width:min(var(--ahux-cart-width,460px),100vw);height:100dvh;background:#fff;color:#202124;box-shadow:-18px 0 45px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.8,.25,1)}
#ahux-cart-drawer.is-open .ahux-cart-drawer__panel{transform:translateX(0)}
.ahux-cart-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 20px;border-bottom:1px solid #e8e8e8;background:#fff;box-sizing:border-box}
.ahux-cart-drawer__header>div{min-width:0}.ahux-cart-drawer__header strong{display:block;margin:0;color:#202124;font-size:22px;font-weight:700;line-height:1.2}.ahux-cart-drawer__header small{display:block;margin-top:3px;color:#777;font-size:12px;line-height:1.3}
.ahux-cart-drawer__header button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid #e6e6e6;border-radius:50%;background:#f6f6f6;color:#202124;font:300 28px/1 Arial,sans-serif;cursor:pointer}
.ahux-cart-drawer__body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;background:#fff}
#ahux-cart-drawer .tvcmscart-show-dropdown{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;max-height:none!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;box-shadow:none!important;background:#fff!important;opacity:1!important;visibility:visible!important;transform:none!important}
#ahux-cart-drawer .tvcart-product-list{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;box-sizing:border-box!important}
#ahux-cart-drawer .tvcart-product-totle{flex:0 0 auto;display:flex!important;align-items:center!important;width:100%!important;min-height:48px!important;margin:0!important;padding:15px 22px!important;border-bottom:1px solid #eee!important;background:#fff!important;color:#666!important;font-size:16px!important;font-weight:500!important;box-sizing:border-box!important}
#ahux-cart-drawer .tvcart-product-content-box{flex:1 1 auto!important;min-height:0!important;width:100%!important;max-height:none!important;margin:0!important;padding:8px 20px 4px!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#b5b5b5 #f2f2f2;box-sizing:border-box!important}
#ahux-cart-drawer .tvcart-product-content-box::-webkit-scrollbar{width:7px}#ahux-cart-drawer .tvcart-product-content-box::-webkit-scrollbar-track{background:#f2f2f2;border-radius:999px}#ahux-cart-drawer .tvcart-product-content-box::-webkit-scrollbar-thumb{background:#b5b5b5;border-radius:999px}
#ahux-cart-drawer .tvcart-product-wrapper{position:relative!important;display:grid!important;grid-template-columns:76px minmax(0,1fr) 42px!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:104px!important;margin:0!important;padding:14px 0!important;border-bottom:1px solid #eee!important;box-sizing:border-box!important}
#ahux-cart-drawer .tvcart-product-list-img{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:76px!important;height:76px!important;min-width:76px!important;margin:0!important;padding:5px!important;overflow:hidden!important;border:1px solid #eee!important;border-radius:10px!important;background:#fff!important;box-sizing:border-box!important}
#ahux-cart-drawer .tvshoping-cart-dropdown-img-block{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}#ahux-cart-drawer .tvcart-product-list-img img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
#ahux-cart-drawer .tvcart-product-content,#ahux-cart-drawer .tvcart-product-list-quentity,#ahux-cart-drawer .tvshoping-cart-dropdown-title{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}#ahux-cart-drawer .tvcart-product-list-quentity{display:flex!important;flex-direction:column!important;gap:8px!important}
#ahux-cart-drawer .tvshoping-cart-dropdown-title>a{display:block!important;width:100%!important;min-width:0!important;color:#202124!important;text-decoration:none!important}#ahux-cart-drawer .product-name{display:-webkit-box!important;overflow:hidden!important;width:100%!important;color:#202124!important;font-size:15px!important;font-weight:600!important;line-height:1.35!important;white-space:normal!important;text-overflow:ellipsis!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
#ahux-cart-drawer .tvcart-product-list-price{display:flex!important;align-items:center!important;gap:5px!important;width:auto!important;color:#707070!important;font-size:14px!important;line-height:1.3!important}#ahux-cart-drawer .tvcart-product-remove{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important}#ahux-cart-drawer .remove-from-cart{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid transparent!important;border-radius:50%!important;color:#777!important;background:transparent!important;text-decoration:none!important}
#ahux-cart-drawer .tvcart-product-list-total-info{flex:0 0 auto;width:100%!important;margin:0!important;padding:15px 22px!important;border-top:1px solid #e8e8e8!important;background:#fff!important;box-sizing:border-box!important}#ahux-cart-drawer .tvcart-product-list-subtotal-prod{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;width:100%!important;margin:0!important;padding:0!important}#ahux-cart-drawer .tvshoping-cart-subtotal{color:#202124!important;font-size:17px!important;font-weight:600!important}#ahux-cart-drawer .tvcart-product-price{color:#202124!important;font-size:18px!important;font-weight:700!important}
.ahux-cart-shipping{flex:0 0 auto;margin:0;padding:16px 22px 18px;border-top:1px solid #eee;background:#fff;box-sizing:border-box}.ahux-cart-shipping__card{padding:14px 15px;border:1px solid #e7e7e7;border-radius:12px;background:#fafafa}.ahux-cart-shipping__top{display:flex;align-items:center;gap:11px;margin-bottom:11px}.ahux-cart-shipping__top>span{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#fff0e8;font-size:17px}.ahux-cart-shipping__top div{min-width:0}.ahux-cart-shipping__top strong{display:block;color:#202124;font-size:14px;font-weight:650;line-height:1.35}.ahux-cart-shipping__top small{display:block;margin-top:2px;color:#777;font-size:12px;line-height:1.35}.ahux-cart-shipping__track{width:100%;height:9px;overflow:hidden;border-radius:999px;background:#e9e9e9}.ahux-cart-shipping__track i{display:block;width:0;height:100%;border-radius:inherit;background:#f4510b;transition:width .38s ease}.ahux-cart-shipping.is-complete .ahux-cart-shipping__card{border-color:#cde8d4;background:#f5fbf6}.ahux-cart-shipping.is-complete .ahux-cart-shipping__top>span{background:#dff1e4}.ahux-cart-shipping.is-complete .ahux-cart-shipping__track i{background:#2f8b4e}
#ahux-cart-drawer .tvcart-product-list-btn-wrapper{flex:0 0 auto;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;margin:0!important;padding:17px 22px 21px!important;border-top:1px solid #eee!important;background:#202020!important;box-sizing:border-box!important}#ahux-cart-drawer .tvcart-product-list-viewcart,#ahux-cart-drawer .tvcart-product-list-checkout,#ahux-cart-drawer .tvcart-product-list-viewcart a,#ahux-cart-drawer .tvcart-product-list-checkout a{width:100%!important;box-sizing:border-box!important}#ahux-cart-drawer .tvcart-product-list-viewcart a,#ahux-cart-drawer .tvcart-product-list-checkout a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;margin:0!important;padding:12px 16px!important;border-radius:8px!important;font-size:16px!important;font-weight:700!important;text-align:center!important;text-decoration:none!important}#ahux-cart-drawer .tvcart-product-list-viewcart a{border:1px solid #dedede!important;color:#202124!important;background:#fff!important}#ahux-cart-drawer .tvcart-product-list-checkout a{border:1px solid #f4510b!important;color:#fff!important;background:#f4510b!important}
@media(max-width:767px){.ahux-cart-drawer__panel{width:90vw!important;max-width:400px!important;border-radius:18px 0 0 18px!important;overflow:hidden!important}.ahux-cart-drawer__header{min-height:64px;padding:11px 14px}.ahux-cart-drawer__header strong{font-size:19px}#ahux-cart-drawer .tvcart-product-totle{min-height:44px!important;padding:12px 15px!important;font-size:14px!important}#ahux-cart-drawer .tvcart-product-content-box{padding:5px 14px 3px!important}#ahux-cart-drawer .tvcart-product-wrapper{grid-template-columns:66px minmax(0,1fr) 38px!important;gap:11px!important;min-height:92px!important;padding:12px 0!important}#ahux-cart-drawer .tvcart-product-list-img{width:66px!important;height:66px!important;min-width:66px!important}#ahux-cart-drawer .product-name{font-size:14px!important}#ahux-cart-drawer .tvcart-product-list-total-info{padding:13px 15px!important}.ahux-cart-shipping{padding:13px 15px 15px}#ahux-cart-drawer .tvcart-product-list-btn-wrapper{padding:14px 15px 17px!important}}
@media(prefers-reduced-motion:reduce){.ahux-cart-drawer__overlay,.ahux-cart-drawer__panel,.ahux-cart-shipping__track i{transition:none!important}}
html.ahux-cart-enabled:not(.ahux-cart-open) .tvheader-cart-wrapper-popup>.tvcmscart-show-dropdown{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* v0.7.23 — Native remove button and perceived refresh */
#ahux-cart-drawer .tvcart-product-content{position:relative!important;padding-right:48px!important}
#ahux-cart-drawer .tvcart-product-remove{position:absolute!important;right:0!important;bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;min-width:40px!important;height:40px!important;margin:0!important;padding:0!important;opacity:1!important;visibility:visible!important;z-index:3!important}
#ahux-cart-drawer .remove-from-cart{display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;opacity:1!important;visibility:visible!important;border:1px solid #e2e2e2!important;border-radius:50%!important;background:#fff!important;color:#666!important;text-decoration:none!important;box-sizing:border-box!important;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease!important}
#ahux-cart-drawer .remove-from-cart .material-icons{display:block!important;opacity:1!important;visibility:visible!important;width:auto!important;height:auto!important;color:currentColor!important;font-size:20px!important;line-height:1!important}
#ahux-cart-drawer .remove-from-cart:hover{color:#b42318!important;border-color:#efc8c4!important;background:#fff4f3!important}
#ahux-cart-drawer .remove-from-cart:active{transform:scale(.94)}
#ahux-cart-drawer .tvcart-product-wrapper.is-ahux-removing{opacity:.48!important;pointer-events:none!important;transition:opacity .12s ease!important}
#ahux-cart-drawer .tvcart-product-wrapper.is-ahux-removing .remove-from-cart{visibility:hidden!important}
#ahux-cart-drawer .tvcart-product-wrapper.is-ahux-removing .tvcart-product-remove::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #ddd;border-top-color:#f4510b;border-radius:50%;animation:ahuxCartRemoveSpin .65s linear infinite}
@keyframes ahuxCartRemoveSpin{to{transform:rotate(360deg)}}
@media(max-width:767px){#ahux-cart-drawer .tvcart-product-content{padding-right:43px!important}#ahux-cart-drawer .tvcart-product-remove{width:36px!important;min-width:36px!important;height:36px!important}#ahux-cart-drawer .remove-from-cart{width:34px!important;height:34px!important}}

/* v0.7.24 — Mobile drawer compact width */
@media(max-width:360px){.ahux-cart-drawer__panel{width:calc(100vw - 12px)!important;max-width:none!important;border-radius:15px 0 0 15px!important}}

/* =========================================================
   AHUX 0.7.25 - Search UX adapter
   Presentation only: native results, links and prices preserved.
   ========================================================= */
.ahux-search-enhanced #_desktop_search .tvsearch-result,
.ahux-search-enhanced #tvcmsmobile-search .tvsearch-result {
  width: min(720px, calc(100vw - 32px));
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  z-index: 1200;
}
.ahux-search-enhanced .tvcmsheader-search .tvcmssearch-dropdown {
  width: 100%;
  max-height: min(620px, calc(100vh - 150px));
  padding: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.16), 0 3px 10px rgba(15,23,42,.08);
  overflow: hidden;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-close-wrapper {
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f3f4f6;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-total-wrapper {
  width: auto;
  margin: 0 50px 16px 0;
  padding: 0 0 14px;
  border-bottom: 1px solid #eef0f3;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-total {
  width: auto;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #111827;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-all-dropdown-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  max-height: 390px;
  padding: 2px 4px 2px 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-wrapper {
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-wrapper > a {
  width: 100%;
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  text-decoration: none;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-img-block {
  flex: 0 0 82px;
  width: 82px;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0f1f3;
  border-radius: 10px;
  overflow: hidden;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-img-block img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-content-box {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: auto;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-title {
  width: 100%;
  height: auto;
  min-height: 40px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  font-size: 14px;
  line-height: 1.42;
  font-weight: 600;
  color: #1f2937;
}
.ahux-search-enhanced .tvcmsheader-search .product-price-and-shipping .price {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
  color: #111827;
}
.ahux-search-enhanced .tvcmsheader-search .product-price-and-shipping .regular-price {
  margin-left: 7px;
  font-size: 13px;
  color: #7c8492;
  text-decoration: line-through;
}
.ahux-search-enhanced .tvcmsheader-search .tvsearch-more-search-wrapper {
  width: 100%;
  height: auto;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid #eef0f3;
}
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--ahux-search-more-bg, #162095) !important;
  border-radius: var(--ahux-search-more-radius, 3px);
  background-color: var(--ahux-search-more-bg, #162095) !important;
  background-image: none !important;
  color: var(--ahux-search-more-text, #FFFFFF) !important;
  opacity: 1;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn:hover,
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn:focus {
  border-color: var(--ahux-search-more-bg-hover, #101776) !important;
  background-color: var(--ahux-search-more-bg-hover, #101776) !important;
  background-image: none !important;
  color: var(--ahux-search-more-text, #FFFFFF) !important;
  opacity: 1 !important;
  box-shadow: 0 7px 16px rgba(24, 33, 143, 0.22);
  transform: translateY(-1px);
}
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn:active {
  border-color: var(--ahux-search-more-bg-hover, #101776) !important;
  background-color: var(--ahux-search-more-bg-hover, #101776) !important;
  background-image: none !important;
  color: var(--ahux-search-more-text, #FFFFFF) !important;
  opacity: 1 !important;
  box-shadow: none;
  transform: translateY(0);
}
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn span {
  color: inherit;
  opacity: 1;
}
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn::before,
html .tvcmsheader-search .tvsearch-more-search.tvall-inner-btn::after {
  opacity: 0 !important;
  pointer-events: none;
}
@media (max-width: 767px) {
  .ahux-search-enhanced #_desktop_search .tvsearch-result,
  .ahux-search-enhanced #tvcmsmobile-search .tvsearch-result {
    width: calc(100vw - 24px);
  }
  .ahux-search-enhanced .tvcmsheader-search .tvcmssearch-dropdown {
    padding: 16px;
    border-radius: 14px;
  }
  .ahux-search-enhanced .tvcmsheader-search .tvsearch-all-dropdown-wrapper {
    grid-template-columns: minmax(0,1fr);
    max-height: calc(100vh - 260px);
  }
  .ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-wrapper > a {
    min-height: 94px;
    padding: 10px;
  }
  .ahux-search-enhanced .tvcmsheader-search .tvsearch-dropdown-img-block {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
  }
}

/* =========================================================
   AHUX 0.7.30 - Native-safe search states
   ========================================================= */
.tvcmsheader-search .tvsearch-result .ahux-search-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 14px 16px;
  border-top: 1px solid rgba(0,0,0,.06);
  background: #fff;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
}
.tvcmsheader-search .tvsearch-result .ahux-search-loading__spinner {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid #d9dced;
  border-top-color: #162095;
  border-radius: 50%;
  animation: ahuxSearchSpin 700ms linear infinite;
}
.tvcmsheader-search .tvsearch-result.ahux-search-has-results .ahux-search-loading {
  position: sticky;
  bottom: 0;
  z-index: 5;
  box-shadow: 0 -6px 16px rgba(15,23,42,.06);
}
@keyframes ahuxSearchSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .tvcmsheader-search .tvsearch-result .ahux-search-loading__spinner { animation-duration: 1400ms; }
}
.tvcmsheader-search .tvsearch-result .ahux-search-empty {
  width: 100%;
  padding: 30px 24px 26px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #1f2937;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15,23,42,.12);
}
.tvcmsheader-search .ahux-search-empty__icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #f1f3ff;
  color: #162095;
}
.tvcmsheader-search .ahux-search-empty__title {
  margin: 0 0 8px;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  color: #111827;
}
.tvcmsheader-search .ahux-search-empty__text {
  max-width: 520px;
  margin: 0 auto;
  color: #697181;
  font-size: 14px;
  line-height: 1.55;
}
.tvcmsheader-search .ahux-search-empty__query {
  font-weight: 700;
  color: #343b4a;
  overflow-wrap: anywhere;
}
.tvcmsheader-search .ahux-search-empty__actions {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}
.tvcmsheader-search .ahux-search-empty__button {
  min-width: 210px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #162095;
  border-radius: 3px;
  background: #162095;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.tvcmsheader-search .ahux-search-empty__button:hover,
.tvcmsheader-search .ahux-search-empty__button:focus {
  border-color: #101776;
  background: #101776;
  color: #fff;
}
@media (max-width: 575px) {
  .tvcmsheader-search .tvsearch-result .ahux-search-empty { padding: 24px 16px 20px; }
  .tvcmsheader-search .ahux-search-empty__button { width: 100%; min-width: 0; }
}


/* AHUX 0.7.30 - Search timeout/error recovery */
.tvcmsheader-search .tvsearch-result .ahux-search-failure {
  width: 100%;
  padding: 28px 22px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #1f2937;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15,23,42,.12);
}
.tvcmsheader-search .ahux-search-failure__icon {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #fff4e5;
  color: #b45309;
}
.tvcmsheader-search .ahux-search-failure__title {
  margin: 0 0 8px;
  color: #111827;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
}
.tvcmsheader-search .ahux-search-failure__text {
  max-width: 480px;
  margin: 0 auto;
  color: #697181;
  font-size: 14px;
  line-height: 1.55;
}
.tvcmsheader-search .ahux-search-failure__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}
.tvcmsheader-search .ahux-search-failure__button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #162095;
  border-radius: 3px;
  font-weight: 700;
  cursor: pointer;
}
.tvcmsheader-search .ahux-search-failure__button--primary {
  background: #162095;
  color: #fff;
}
.tvcmsheader-search .ahux-search-failure__button--primary:hover,
.tvcmsheader-search .ahux-search-failure__button--primary:focus {
  border-color: #101776;
  background: #101776;
  color: #fff;
}
.tvcmsheader-search .ahux-search-failure__button--secondary {
  background: #fff;
  color: #162095;
}
.tvcmsheader-search .ahux-search-failure__button--secondary:hover,
.tvcmsheader-search .ahux-search-failure__button--secondary:focus {
  background: #f2f4ff;
  color: #162095;
}
@media (max-width: 575px) {
  .tvcmsheader-search .ahux-search-failure__actions { flex-direction: column; }
  .tvcmsheader-search .ahux-search-failure__button { width: 100%; }
}

/* 0.8.0 — Account: su telefoni e tablet il fumetto resta dentro lo schermo (posizione calcolata da front.js) */
@media(max-width:991px){
  .ahux-live-account-panel[style*="--ahux-account-arrow-left"]::before{left:var(--ahux-account-arrow-left)!important;right:auto!important}
  .ahux-live-account--mobile .ahux-live-account-panel__close{right:-6px!important}
}

/* 0.10.0 — Contenuto del carrello disegnato dal modulo.
 * Le misure seguono quelle del pannello: il pannello non cambia aspetto, cambia solo chi
 * disegna quello che c'è dentro. */
/* 0.13.0 — Il pannello si divide in due: l'elenco scorre, il riepilogo resta fermo.
 * Prima l'elenco cresceva verso il basso senza potersi scorrere e, con più di cinque o sei
 * articoli, i pulsanti finivano fuori dal pannello: il cliente vedeva la sua spesa ma non
 * aveva più modo di comprarla. Ora totali, spedizione e pulsanti stanno sempre sotto gli
 * occhi — che è anche il modo migliore per tenere d'occhio quanto si sta spendendo. */
.ahux-cart-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0;padding:0}
.ahux-cart-content.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s ease}

/* La parte che scorre. `min-height:0` è indispensabile: senza, un figlio flessibile non si
   lascia rimpicciolire sotto il proprio contenuto e lo scorrimento non parte mai. */
.ahux-cart-rows{
  list-style:none;margin:0;
  flex:1 1 auto;min-height:0;
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;gap:12px;
  padding:16px 18px;
}

/* La parte ferma: si stacca dall'elenco con un filo d'ombra, così si capisce che sopra c'è
   altro da scorrere. */
.ahux-cart-shipping,
.ahux-cart-totals,
.ahux-cart-actions{flex:0 0 auto}
.ahux-cart-totals{padding:14px 18px 0;background:#fff}
.ahux-cart-actions{padding:12px 18px 18px;background:#fff}
.ahux-cart-content .ahux-cart-shipping{padding:12px 18px 0;background:#fff}
.ahux-cart-content .ahux-cart-shipping:first-of-type{box-shadow:0 -8px 12px -10px rgba(16,24,47,.35)}
.ahux-cart-row{display:grid;grid-template-columns:64px minmax(0,1fr) 28px;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid rgba(16,24,47,.08)}
.ahux-cart-row:last-child{border-bottom:0;padding-bottom:0}
.ahux-cart-row__media{display:block;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f4f6fb;flex:0 0 64px}
.ahux-cart-row__media img{width:100%;height:100%;object-fit:contain;display:block}
.ahux-cart-row__noimage{display:block;width:100%;height:100%}
.ahux-cart-row__body{min-width:0;display:flex;flex-direction:column;gap:6px}
.ahux-cart-row__name{color:inherit;text-decoration:none;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ahux-cart-row__name:hover{text-decoration:underline}
.ahux-cart-row__attributes{opacity:.7}
.ahux-cart-row__line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ahux-cart-row__total{white-space:nowrap}
.ahux-cart-qty{display:inline-flex;align-items:center;border:1px solid rgba(16,24,47,.16);border-radius:8px;overflow:hidden}
.ahux-cart-qty button{width:30px;height:30px;border:0;background:transparent;font-size:16px;line-height:1;cursor:pointer;color:inherit}
.ahux-cart-qty button:hover{background:rgba(16,24,47,.06)}
.ahux-cart-qty span{min-width:30px;text-align:center;font-variant-numeric:tabular-nums}
.ahux-cart-row__remove{width:28px;height:28px;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:inherit;opacity:.55}
.ahux-cart-row__remove:hover{opacity:1;background:rgba(180,35,24,.1);color:#b42318}
.ahux-cart-totals{display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(16,24,47,.08)}
.ahux-cart-total{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ahux-cart-total--final{font-size:17px;padding-top:6px;border-top:1px solid rgba(16,24,47,.08)}
.ahux-cart-actions{display:flex;flex-direction:column;gap:8px}
.ahux-cart-actions a{display:block;text-align:center;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.ahux-cart-actions__primary{background:#162095;color:#fff}
.ahux-cart-actions__primary:hover{background:#101776;color:#fff}
.ahux-cart-actions__secondary{border:1px solid rgba(16,24,47,.2);color:inherit}
.ahux-cart-actions__secondary:hover{background:rgba(16,24,47,.05)}
.ahux-cart-empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;padding:28px 18px;text-align:center;opacity:.75}
.ahux-camera-icon{display:block}
.ahux-cart-row__step{opacity:.65;font-size:12px}
.ahux-cart-totals__tax{display:block;opacity:.65;font-size:12px;margin-bottom:2px}

/* 0.13.0 — La conferma dopo l'aggiunta al carrello.
 * Compare sotto l'icona del carrello, dice che cosa è entrato e quanto fa il totale, e se
 * ne va da solo. Non copre la pagina e non chiede di essere chiusa: chi carica venti
 * articoli da una lista non deve fermarsi venti volte. */
.ahux-cart-toasts{
  position:fixed;top:18px;right:18px;z-index:12050;
  display:flex;flex-direction:column;gap:10px;align-items:flex-end;
  pointer-events:none;
}
.ahux-cart-toast{
  position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 26px;gap:12px;align-items:start;
  width:min(360px,calc(100vw - 32px));padding:14px 14px 15px;box-sizing:border-box;
  background:#fff;color:#10182f;border-radius:14px;
  box-shadow:0 18px 44px rgba(16,24,47,.20),0 2px 6px rgba(16,24,47,.08);
  transform:translateY(-10px) scale(.98);opacity:0;
  transition:transform .26s cubic-bezier(.22,.8,.25,1),opacity .26s ease;
  pointer-events:auto;overflow:hidden;
}
.ahux-cart-toast.is-visible{transform:none;opacity:1}
.ahux-cart-toast__media{display:block;width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f4f6fb}
.ahux-cart-toast__media img{width:100%;height:100%;object-fit:contain;display:block}
.ahux-cart-toast__body{min-width:0;display:flex;flex-direction:column;gap:3px}
.ahux-cart-toast__title{font-size:14px;line-height:1.25}
.ahux-cart-toast__title::before{content:"✓";display:inline-block;margin-right:7px;color:#067647;font-weight:700}
.ahux-cart-toast__name{font-size:13px;line-height:1.3;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ahux-cart-toast__total{font-size:12px;opacity:.7;margin-top:2px}
.ahux-cart-toast__total b{font-weight:700;opacity:1}
.ahux-cart-toast__link{align-self:flex-start;margin-top:5px;padding:0;border:0;background:none;color:#162095;font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline}
.ahux-cart-toast__link:hover{color:#101776}
.ahux-cart-toast__close{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:19px;line-height:1;cursor:pointer;opacity:.45}
.ahux-cart-toast__close:hover{opacity:1;background:rgba(16,24,47,.06)}
/* Il filo che scorre in basso dice quanto manca prima che il messaggio se ne vada. */
.ahux-cart-toast__time{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left center;background:#162095;opacity:.35;animation:ahux-toast-time 5.2s linear forwards}
.ahux-cart-toast.is-held .ahux-cart-toast__time{animation-play-state:paused}
@keyframes ahux-toast-time{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:767px){
  .ahux-cart-toasts{top:auto;bottom:14px;right:12px;left:12px;align-items:stretch}
  .ahux-cart-toast{width:auto;transform:translateY(12px) scale(.98)}
}
@media(prefers-reduced-motion:reduce){
  .ahux-cart-toast{transition:opacity .2s ease}
  .ahux-cart-toast__time{animation:none;display:none}
}

/* 0.15.0 — L'icona del carrello e il suo numero non si spengono più.
 * Il nostro disegno ereditava il colore del testo del tema — un grigio quasi nero — e
 * finiva su un header arancione: tratto scuro su fondo caldo, praticamente invisibile. Il
 * colore ora è deciso dal modulo, non ereditato, e il numero è un pallino pieno che si
 * legge da lontano. */
.ahux-cart-block .ahux-cart-icon{color:var(--ahux-cart-icon-color,#fff)}
.ahux-cart-block .ahux-cart-icon g{stroke:currentColor!important;fill:none!important}
.ahux-cart-block .tv-cart-icon{position:relative;overflow:visible}
.ahux-cart-block .tvcart-icon-text-wrapper{position:relative}
.ahux-cart-block .cart-products-count{
  position:absolute;top:-6px;right:-10px;
  display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;
  border-radius:999px;
  background:var(--ahux-cart-badge-bg,#fff);
  color:var(--ahux-cart-badge-color,#10182f);
  font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;
  box-shadow:0 1px 3px rgba(16,24,47,.28);
}
/* Con il carrello vuoto il numero resta, ma spento: dice «qui c'è il carrello» senza gridare. */
.ahux-cart-block .cart-preview.inactive .cart-products-count{
  background:var(--ahux-cart-badge-empty-bg,rgba(255,255,255,.28));
  color:var(--ahux-cart-badge-empty-color,#fff);
  box-shadow:none;
}
.ahux-cart-block a:hover .ahux-cart-icon{color:var(--ahux-cart-icon-hover,#fff);opacity:.85}

/* 0.15.0 — Il riquadro di conferma si fa notare.
 * Prima era tutto bianco su pagina bianca e si perdeva. Ora ha una fascia di colore sul
 * fianco, un bordo definito e un'ombra più profonda: si vede senza coprire la pagina. */
.ahux-cart-toast{
  border:1px solid rgba(16,24,47,.10);
  border-left:5px solid var(--ahux-cart-toast-accent,#ca450c);
  box-shadow:0 22px 50px rgba(16,24,47,.26),0 3px 10px rgba(16,24,47,.12);
  padding-left:12px;
}
.ahux-cart-toast__title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.ahux-cart-toast__title::before{
  content:"✓";display:grid;place-items:center;flex:0 0 auto;
  width:20px;height:20px;margin:0;border-radius:50%;
  background:#067647;color:#fff;font-size:12px;font-weight:700;
}
.ahux-cart-toast__total b{color:#10182f}
.ahux-cart-toast__time{background:var(--ahux-cart-toast-accent,#ca450c);opacity:.5;height:3px}

/* 0.15.1 — Un solo pallino, e la conferma con la cornice intera.
 * Il pallino del contatore lo disegnava già il contenitore del tema: il nostro se ne
 * aggiungeva un secondo, e se ne vedevano due sovrapposti. Ora il cerchio resta quello del
 * tema — così la posizione è la stessa della wishlist — e il modulo gli dà solo i colori. */
.ahux-cart-block .tv-cart-cart-inner{
  background:var(--ahux-cart-badge-bg,#fff)!important;
  color:var(--ahux-cart-badge-color,#10182f)!important;
  box-shadow:0 1px 3px rgba(16,24,47,.28);
}
.ahux-cart-block .cart-preview.inactive .tv-cart-cart-inner{
  background:var(--ahux-cart-badge-empty-bg,rgba(255,255,255,.28))!important;
  color:var(--ahux-cart-badge-empty-color,#fff)!important;
  box-shadow:none;
}
/* Il numero torna a essere soltanto testo dentro quel cerchio. */
.ahux-cart-block .cart-products-count{
  position:static;top:auto;right:auto;
  display:block;min-width:0;height:auto;padding:0;
  background:none;box-shadow:none;border-radius:0;
  color:inherit;font-size:12px;font-weight:700;line-height:18px;
}

/* La conferma si fa notare per davvero: cornice intera nel blu dei pulsanti, non una
   fascia su un lato solo. */
.ahux-cart-toast{
  border:2px solid var(--ahux-cart-toast-accent,#162095);
  border-left-width:2px;
  border-radius:16px;
  padding-left:14px;
  box-shadow:0 24px 54px rgba(16,24,47,.30),0 4px 12px rgba(16,24,47,.14);
}
.ahux-cart-toast__time{background:var(--ahux-cart-toast-accent,#162095);opacity:.6}
.ahux-cart-toast__link{color:var(--ahux-cart-toast-accent,#162095)}

/* 0.15.2 — L'icona del carrello della stessa famiglia delle altre.
 * Il cuore del tema ha un tratto pari al 5,9% della propria dimensione e l'icona
 * dell'account 1,35 su 32 con i terminali arrotondati: il carrello ne aveva uno da 1 su 30
 * con gli spigoli vivi, e accanto alle altre sembrava più magro e più duro. Stesso riquadro,
 * stesso tratto, stessi terminali. */
.ahux-cart-block .ahux-cart-icon g{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Stessa mano anche per la fotocamera nella barra di ricerca. */
.ahux-camera-icon g{stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}

/* 0.16.0 — Barra superiore a value con icona.
 * Il blocco è un contenitore (container query): se la riga intera non ci sta, la regola
 * scritta dal server in testa al blocco nasconde la riga e mostra una voce alla volta.
 * Niente script: la scelta è fatta dal browser prima di disegnare. */
.ahux-topbar.ahux-topbar--values,
.tvmobileheader-offer-wrapper .ahux-topbar.ahux-topbar--values{display:block;width:100%;min-width:0;container:ahux-tb/inline-size}
.ahux-tb-row,.ahux-tb-rot{margin:0;padding:0;list-style:none;height:20px;font-size:13px;line-height:20px;color:#000}
.ahux-tb-row{display:flex;align-items:center;gap:0 24px;white-space:nowrap;overflow:hidden}
.ahux-tb-rot{display:none;grid-template-columns:minmax(0,1fr);justify-items:start}
.tvmobileheader-offer-wrapper .ahux-tb-row{justify-content:center}
.tvmobileheader-offer-wrapper .ahux-tb-rot{justify-items:center}
.ahux-tb-value{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;max-width:100%;white-space:nowrap}
.ahux-tb-value>span,.ahux-tb-value>a{overflow:hidden;text-overflow:ellipsis}
.ahux-tb-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#ca450c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ahux-topbar .ahux-tb-value a{color:inherit;text-decoration:none}
.ahux-topbar .ahux-tb-value a:hover,.ahux-topbar .ahux-tb-value a:focus-visible{text-decoration:underline}
.ahux-topbar .ahux-tb-value--cta a{text-decoration:underline;font-weight:600}

/* Una voce alla volta: stanno tutte nella stessa cella e si danno il cambio ogni 4 secondi.
 * Senza animazione (chi l'ha chiesta ridotta al sistema) resta visibile la prima. */
/* Gradino intermedio: due «pagine», le value insieme e poi il richiamo (vedi topbarMessageView). */
.ahux-tb-inline{display:flex;align-items:center;gap:0 24px;margin:0;padding:0;list-style:none;white-space:nowrap}
.tvmobileheader-offer-wrapper .ahux-tb-pages>.ahux-tb-page{justify-self:center}
/* Telefoni stretti (360-390 px): un punto in meno, così una voce lunga entra senza puntini. */
@container ahux-tb (max-width:380px){.ahux-tb-one{font-size:12px}}
/* Browser senza container query (iOS 15 e precedenti): non si può sapere se la riga ci sta,
 * quindi si parte sempre da una voce alla volta, che non taglia niente. */
@supports not (container-type:inline-size){
  .ahux-topbar--values>.ahux-tb-row,.ahux-topbar--values>.ahux-tb-pages{display:none!important}
  .ahux-topbar--values>.ahux-tb-one{display:grid!important}
}
.ahux-tb-rot>.ahux-tb-value{grid-area:1/1;opacity:0;visibility:hidden}
.ahux-tb-rot>.ahux-tb-value:first-child{opacity:1;visibility:visible}
@media (prefers-reduced-motion:no-preference){
  .ahux-tb-rot--2>.ahux-tb-value{animation:ahux-tb-rot2 8s infinite}
  .ahux-tb-rot--3>.ahux-tb-value{animation:ahux-tb-rot3 12s infinite}
  .ahux-tb-rot--4>.ahux-tb-value{animation:ahux-tb-rot4 16s infinite}
  .ahux-tb-rot--5>.ahux-tb-value{animation:ahux-tb-rot5 20s infinite}
  .ahux-tb-rot:hover>.ahux-tb-value{animation-play-state:paused}
}
@keyframes ahux-tb-rot2{0%,47%{opacity:1;visibility:visible}50%,97%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@keyframes ahux-tb-rot3{0%,30.33%{opacity:1;visibility:visible}33.33%,97%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@keyframes ahux-tb-rot4{0%,22%{opacity:1;visibility:visible}25%,97%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@keyframes ahux-tb-rot5{0%,17%{opacity:1;visibility:visible}20%,97%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}

/* Su computer le value si prendono lo spazio vuoto a destra: il tema divide la riga a metà,
 * ma a destra ci sono solo il numero dell'assistenza e i social (circa 440 px su 815).
 * Vale solo quando la barra ha le value; con il testo semplice la riga resta quella del tema. */
@media (min-width:992px){
  .tvcmsdesktop-top-wrapper:has(.ahux-topbar--values)>.tvheader-offer-wrapper{flex:1 1 auto;width:auto;max-width:none;min-width:0}
  .tvcmsdesktop-top-wrapper:has(.ahux-topbar--values)>.tvheader-language-currency-wrapper{flex:0 0 auto;width:auto;max-width:none}
  .tvcmsdesktop-top-wrapper:has(.ahux-topbar--values) .tvheader-language-currency-wrapper>.block-social{flex:0 0 auto;width:auto;max-width:none}
}
