/* ==========================================================================   weKids Retailer · Physical Path · Widget "Dove Acquistare" (L1)   FILE: widget-dove-acquistare.css   --------------------------------------------------------------------------   FOGLIO UNICO CONSOLIDATO (passata CONSOLIDAMENTO CSS).   Assorbe e sostituisce, senza strati-tampone in coda:     1D (base) · 1F (barra CAP) · 1F-bis (var modal) · 1G (design hardening) ·     1G-BIS (font ereditato + isolamento ospite) · 1G-BIS FIX (webfont FA) ·     1H (tab online nativo) · 1H-DESIGN (righe desktop) + FIX #1..#6 ·     DESIGN-BIS (compact) · FIX #7 (isolamento .articolo -> ora nell'ISLAND).   Regole d'oro rispettate:     - Nessun hook/tracking rinominato (.wda-online-item/-footer/-fallback-btn,       [data-wda-fb-title]/[data-wda-fb-sub], data-action="open-modal", data-pos, ...).     - Solo classi root-scoped (.wda-*). NESSUN id, NESSUN selettore globale.     - Primario ereditato dal tema (--colore-primario = #3AA7DF) con fallback.     - Font Awesome 6.5.1 gia' caricato dalla pagina (NON reimportare).   Struttura markup (fonte di verita': JS renderCard + ASP RenderRetailerOnline_wda):     .wda-card / .wda-online-item       > .wda-logo            (mobile 58px / desktop 74px)       > .wda-body            (flex column: head-main[badge+nome+rating], address, chips, meta)       > .wda-actions         (CTA)     NB: .wda-card-head NON esiste piu' nel markup emesso.   ========================================================================== *//* ==========================================================================   0. VARIABILI   -------------------------------------------------------------------------- */.wda-widget {  --wda-primary:        var(--colore-primario, #3AA7DF);  --wda-primary-hover:  var(--colore-primario-hover, #3388b2);  /* Badge — set locator card-list (coerente con la shops page) */  --wda-badge-max-bg: #f1c40f;  --wda-badge-max-fg: #333;   /* MAX  ★ BEST SHOP   */  --wda-badge-pro-bg: #9b59b6;  --wda-badge-pro-fg: #fff;   /* PRO  ♥ CONSIGLIATO */  --wda-badge-mini-bg:#58b676;  --wda-badge-mini-fg:#fff;   /* MINI ✓ APPROVATO   */  --wda-ink:    #1a1a1a;  --wda-muted:  #555;  --wda-line:   #e9ecef;  --wda-bg-soft:#f8f9fa;  --wda-radius: 10px;  /* font-family: e' subito neutralizzato a `inherit` nell'island (il widget     parla la lingua del sito). Il valore qui resta come fallback puramente     documentale. */  font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;  color: var(--wda-ink);}/* Il modal e' appeso a document.body FUORI dal widget (singleton di pagina):   NON eredita le --wda-* dichiarate su .wda-widget -> le ridichiaro qui,   altrimenti var(--wda-primary) nel bottone "Chiama" non si risolve. */.wda-modal {  --wda-primary:        var(--colore-primario, #3AA7DF);  --wda-primary-hover:  var(--colore-primario-hover, #3388b2);  --wda-ink:    #1a1a1a;  --wda-muted:  #555;  --wda-line:   #e9ecef;  --wda-bg-soft:#f8f9fa;  --wda-radius: 10px;}*[class^="wda-"], *[class*=" wda-"] { box-sizing: border-box; }/* ==========================================================================   1. ISOLAMENTO DAL TEMA OSPITE  (reset-island — sostituisce 1G-BIS + FIX #7)   --------------------------------------------------------------------------   PERCHE' SERVE: su guida e VIDEO il widget vive dentro <div id="articolo"   class="articolo">. I due fogli ospite lo aggrediscono in modo ASIMMETRICO:     - main_mobile.css  aggancia per CLASSE: `.articolo h4/p/a/ul li`  -> (0,1,1)     - main_desktop.css aggancia per ID:     `#articolo h4/h3/img`     -> (1,0,1)   Nessun selettore a sola classe batte un ID: quindi l'immunita' "per costruzione"   a (0,2,0) NON basta su desktop. L'unico modo deterministico (l'ospite NON usa   !important) e' ri-affermare con `!important` MIRATO le sole proprieta' che   l'ospite tocca (color/background/padding/margin/font-size/line-height/border),   sugli elementi che il widget emette + un backstop igienico sui tag generici.   Cosi' l'isolamento e' indipendente sia dalla specificita' ID sia dall'ordine   di caricamento dei fogli. Su prodotto.asp (niente #articolo) gli !important   sono innocui: non c'e' nulla contro cui combattere.   CAUTELA: NIENTE reset globale `.wda-widget * {}` (in 1G spense Font Awesome).   ========================================================================== *//* 1a · Font della PAGINA (niente Segoe UI forzato) + ripristino webfont icone FA   6.5.1 (il font-family:inherit qui sotto spegnerebbe le <i>). */.wda-widget, .wda-widget *, .wda-modal, .wda-modal * { font-family: inherit; }.wda-widget i.fa-solid,   .wda-modal i.fa-solid   { font-family: "Font Awesome 6 Free" !important;   font-weight: 900 !important; }.wda-widget i.fa-regular, .wda-modal i.fa-regular { font-family: "Font Awesome 6 Free" !important;   font-weight: 400 !important; }.wda-widget i.fa-brands,  .wda-modal i.fa-brands  { font-family: "Font Awesome 6 Brands" !important; font-weight: 400 !important; }/* 1b · Testi del widget su cui l'ospite ha una regola per ID (desktop) o classe   (mobile). !important mirato: batte sia `#articolo h3/h4` (1,0,1) sia   `.articolo h3/h4/p` (0,1,1). Il font-family resta `inherit` (riga sopra). */.wda-widget .wda-header-title {  margin: 0 !important;  padding: 0 !important;  background: none !important;  color: var(--wda-ink) !important;  font-size: 18px !important;  line-height: 1.2 !important;  text-align: inherit !important;  font-weight: 600;  letter-spacing: .06em;}/* Header-sub e' un <p>: su desktop NON esiste `#articolo p` nudo, su mobile c'e'   `.articolo p` (0,1,1) -> basta (0,2,0) senza !important (cosi' il compact,   0,3,0, puo' comunque ridefinirlo). */.wda-widget .wda-header-sub {  margin: 5px 0 0;  font-size: 13px;  line-height: 1.45;  text-align: inherit;  color: var(--wda-muted);}/* Nome negozio (<h4>): `#articolo h4` (1,0,1) impone color #7C8D36 + margin-top   10px + padding + font-size + line-height -> serve !important. */.wda-widget .wda-name,.wda-widget .wda-name a {  margin: 0 !important;  padding: 0 !important;  background: none !important;  color: var(--wda-ink) !important;  font-size: 16px !important;  line-height: 1.2 !important;  text-align: left !important;  font-weight: 700;}/* 1c · Logo (<img>): `#articolo img` (1,0,1) inietta border+padding+margin+bg.   Azzerati con !important (il box .wda-logo mantiene bordo/raggio propri).   [DELTA vs staging: su VIDEO/guida DESKTOP sparisce il bordino grigio del logo.] */.wda-widget .wda-logo img { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; max-width: 100% !important; max-height: none !important; }/* 1d · Backstop igienico per i tag generici (anche quelli iniettati dal JS nei   risultati fisici): azzera SOLO box-spacing, bullet di lista e decorazioni img.   NON tocca font/colore -> non litiga con la tipografia a classe del widget.   !important perche' su desktop l'avversario e' un ID. */.wda-widget p, .wda-widget h1, .wda-widget h2, .wda-widget h3, .wda-widget h4,.wda-widget ul, .wda-widget ol, .wda-widget li,.wda-widget img, .wda-widget iframe, .wda-widget object { margin: 0 !important; padding: 0 !important; }.wda-widget ul, .wda-widget ol, .wda-widget li { list-style: none !important; background-image: none !important; }.wda-widget img { border: 0 !important; }/* Link del widget: mai sottolineatura (il tema ospite forza underline su a:hover;   l'indirizzo, ora <span>, e le CTA non devono sottolinearsi). */.wda-widget a, .wda-widget a:hover, .wda-widget a:hover * { text-decoration: none; }/* ==========================================================================   2. CONTENITORE WIDGET   -------------------------------------------------------------------------- */.wda-widget {  border: 1px solid #e6e8ea;  border-radius: 14px;  padding: 20px 22px 22px;  background: #fff;  box-shadow: 0 1px 3px rgba(0,0,0,.04);}@media (max-width: 767px) { .wda-widget { padding: 16px 14px 18px; } }/* Mobile <=600: niente "scatola nella scatola". Contenimento morbido via ombra   (non bordo duro) + raggio + margine. NB: se prodotto.asp ha gia' padding   laterale proprio, porta `margin` a 0 e lascia l'ombra a fare da confine. */@media (max-width: 600px) {  .wda-widget {    border: 0;    border-radius: 14px;    box-shadow: 0 2px 12px rgba(0,0,0,.2);    margin: 18px;                 /* host senza gutter (scheda prodotto): 18px dal bordo schermo */  }  /* Guide/video: dentro .wrapper il gutter host e' gia' 18px -> azzero     l'orizzontale del widget, altrimenti 18(host)+18(widget)=36px. */  .wrapper .wda-widget { margin-inline: 0; }  .wda-header { text-align: center; }}/* Header "DOVE ACQUISTARE" + sottotitolo (dimensioni/colori: vedi ISLAND 1b) */.wda-header { margin: 4px 0 14px; }/* ==========================================================================   3. TAB SWITCHER (full mode) — .wda-tabs / .wda-tab / .wda-tab-content   Stato attivo = PILL BIANCA elevata (un solo primario pieno per vista: e' su   "Cerca negozi"). Testo attivo in primario (#3AA7DF su bianco ~2.6:1: SOTTO   WCAG AA 4.5:1 — scelta di coerenza brand consapevole; per conformita' usare   #185fa5, ~5.9:1). Icona decorativa in primario. Peso uniforme 600.   -------------------------------------------------------------------------- */.wda-tabs {  display: flex;  gap: 0;  background: #f1f3f5;  padding: 5px;  border-radius: 10px;  border: 1px solid var(--wda-line);  margin-bottom: 16px;}.wda-tab {  flex: 1;  display: inline-flex;  align-items: center;  justify-content: center;  gap: 8px;  padding: 12px 10px;  font-size: 15px;  font-weight: 600;  color: #666;  background: transparent;  border: 1px solid transparent;     /* evita "saltelli" al cambio stato */  border-radius: 8px;  cursor: pointer;  transition: all .2s ease;  white-space: nowrap;}.wda-tab i { font-size: 15px; }.wda-tab:hover { color: var(--wda-ink); }.wda-widget .wda-tab.active {  background: #fff;  color: var(--wda-primary);  border-color: #fff;  box-shadow: 0 1px 3px rgba(0,0,0,.12);  font-weight: 600;}.wda-widget .wda-tab.active i { color: var(--wda-primary); transform: none; }/* Label responsive dello switcher (niente wrap): full <-> short */.wda-tab-short { display: none; }@media (max-width: 480px) {  .wda-tab-full  { display: none; }  .wda-tab-short { display: inline; }  .wda-tab { padding: 11px 6px; font-size: 14px; gap: 6px; }}.wda-tab-content { display: none; }.wda-tab-content.active { display: block; animation: wdaFadeIn .2s ease-out; }@keyframes wdaFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }/* Conteggi OFF su tab e segmenti (decisione Enrico). Il JS li inietta comunque   (hook di conteggio), ma restano nascosti. */.wda-tab-count, .wda-entry-count { display: none !important; }/* ==========================================================================   4. PANNELLO FISICO — STATI (idle / loading / error / empty / lista)   min-height: 0 -> nessuno spazio riservato nello stato idle.   VINCOLO: valido perche' loadStrategy = 'deferred' (i risultati arrivano DOPO   il click -> lo shift post-input e' escluso da CLS/CWV). Se un domani passi a   'eager-geo'/'eager-nogeo' (autoload al render) va ripristinato un min-height,   altrimenti si introduce un layout shift reale.   -------------------------------------------------------------------------- */.wda-tab-content[data-role="fisico"] { min-height: 0; }.wda-results { min-height: 0; }   /* sotto-container sotto la barra CAP */.wda-loading,.wda-idle,.wda-error,.wda-empty {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  gap: 12px;  text-align: center;  padding: 32px 20px;  min-height: 200px;  color: var(--wda-muted);  font-size: 14px;}.wda-loading i { font-size: 22px; color: var(--wda-primary); }.wda-idle i    { font-size: 30px; color: var(--wda-primary); }.wda-error i   { font-size: 26px; color: #c0392b; }.wda-empty i   { font-size: 28px; color: #adb5bd; }/* CTA piena (idle / errore) */.wda-idle-btn,.wda-error a {  display: inline-flex;  align-items: center;  gap: 8px;  padding: 12px 22px;  border-radius: 25px;  font-weight: 700;  font-size: 14px;  cursor: pointer;  text-decoration: none;  border: 1px solid var(--wda-primary);  color: #fff;  background: var(--wda-primary);  transition: background .2s, transform .1s;}.wda-idle-btn:hover,.wda-error a:hover { background: var(--wda-primary-hover); }.wda-idle-btn:active { transform: scale(.98); }/* Lista risultati */.wda-list { display: flex; flex-direction: column; gap: 14px; }/* Nota "Negozi vicino a <comune>" */.wda-search-note { margin: 0; font-size: 13px; color: var(--wda-muted); }/* Stacco search-note -> lista via il <div> .wda-list: l'island azzera i margini   dei <p> con !important, quindi il margin-bottom della nota non verrebbe letto. */.wda-search-note + .wda-list { margin-top: 16px; }.wda-search-note i { color: var(--wda-primary); margin-right: 4px; }.wda-search-note strong { color: var(--wda-ink); }/* CTA "Vedi tutti sulla mappa" a fine lista — pill azzurra (come il nudge). */.wda-map-cta {  display: flex;  align-items: center;  justify-content: center;  gap: 8px;  margin-top: 14px;  padding: 12px 16px;  border: 0;  border-radius: var(--wda-radius);  background: #f2f8fd;  color: var(--wda-primary);  font-size: 13.5px;  font-weight: 600;  text-decoration: none;  transition: all .2s;}.wda-map-cta i { color: var(--wda-primary); }.wda-map-cta:hover { background: #e6f1fb; color: var(--wda-primary); border: 0; }.wda-map-cta-arrow { font-weight: 800; }/* ==========================================================================   5. BARRA CAP (pannello fisico) — stile "alla Apple"   -------------------------------------------------------------------------- */.wda-cap-bar { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }.wda-cap-label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--wda-muted); }.wda-cap-label i { color: var(--wda-primary); }.wda-cap-field { display: flex; align-items: center; height: 48px; border: 1px solid var(--wda-line); border-radius: 10px; background: #fff; padding: 0 6px 0 14px; }.wda-cap-field:focus-within { border-color: var(--wda-primary); box-shadow: 0 0 0 3px rgba(58,167,223,.15); }.wda-cap-tag { flex: 0 0 auto; font-size: 10px; font-weight: 700; letter-spacing: .4px; color: #9aa0a6; margin-right: 8px; }.wda-cap-input { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; outline: none; font-size: 16px; color: var(--wda-ink); background: transparent; }.wda-cap-input::placeholder { color: #9aa0a6; }/* Icona geo DENTRO il campo (trigger "usa la mia posizione"). */.wda-cap-geo { flex: 0 0 auto; width: 38px; height: 38px; border: 0; background: transparent; color: var(--wda-primary); font-size: 18px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; }/* Hover del fondino celeste CONFINATO al desktop: su touch lo :hover resta   "appiccicato" dopo il tap (sticky hover). @media (hover: hover) lo esclude. */@media (hover: hover) {  .wda-cap-geo:hover { background: rgba(58,167,223,.10); }}/* Bottone di ricerca esplicito, full-width. */.wda-cap-submit { width: 100%; height: 46px; border: 0; border-radius: 10px; background: var(--wda-primary); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background .15s ease, transform .05s ease; text-transform: uppercase; letter-spacing: .3px; }.wda-cap-submit i { font-size: 15px; }.wda-cap-submit:hover { background: var(--wda-primary-hover); }.wda-cap-submit:active { transform: scale(.99); }.wda-cap-submit:disabled, .wda-cap-submit-busy { opacity: .6; cursor: default; }.wda-cap-msg { font-size: 13px; color: #c0392b; }.wda-cap-msg:empty { display: none; }.wda-cap-msg.wda-cap-ok { color: var(--wda-muted); }/* ==========================================================================   6. CARD NEGOZIO (.wda-card) — comune a fisico e online   Struttura: > .wda-logo | > .wda-body (head-main, address, chips, meta) | > .wda-actions   -------------------------------------------------------------------------- */.wda-card {  position: relative;  padding: 16px;  background: #fff;  border: 1px solid #eee;  border-radius: var(--wda-radius);  box-shadow: 0 2px 8px rgba(0,0,0,.04);  transition: box-shadow .2s;}.wda-card:hover { box-shadow: 0 5px 15px rgba(0,0,0,.08); }/* Colonna contenuto: nome/rating/indirizzo/chip impilati e compatti. */.wda-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }.wda-head-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }/* Box logo bianco (i loghi retailer 200x120 su fondo bianco non devono   galleggiare su grigio). 56px base (fallback), 58px mobile; 74px sulle   righe desktop (vedi sezioni 9/13). */.wda-logo {  flex-shrink: 0;  width: 56px;  height: 56px;  padding: 6px;  border-radius: 6px;  background: #fff;  border: 1px solid var(--wda-line);  display: flex;  align-items: center;  justify-content: center;  overflow: hidden;}.wda-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }.wda-logo i   { color: #ccc; font-size: 26px; }/* Nome negozio: dimensioni/colore in ISLAND 1b (uguale nelle due tab). *//* Nome-link scheda (solo card pagante). Il testo eredita ink/16px/700 dall'ISLAND   (.wda-name a): resta identico al nome non-linkato. Affordance = icona esterna   discreta, muted -> primary all'hover. Niente underline (gia' spento in 1d). */.wda-widget .wda-name-link { color: var(--wda-ink); cursor: pointer; }.wda-widget .wda-name-ext {  font-size: .72em;  margin-left: 6px;  color: var(--wda-muted);  position: relative;  top: -1px;  transition: color .15s ease;}.wda-widget .wda-name-link:hover .wda-name-ext { color: var(--wda-primary); }/* BADGE: colore da {piano} (.wda-bg-*), etichetta/icona da {badge}. */.wda-badge {  align-self: flex-start;  font-size: 11px;  font-weight: 800;  text-transform: uppercase;  letter-spacing: .5px;  padding: 5px 11px;  border-radius: 4px;  color: #fff;  display: inline-flex;  align-items: center;  gap: 5px;}.wda-bg-3 { background: var(--wda-badge-max-bg);  color: var(--wda-badge-max-fg);  }.wda-bg-2 { background: var(--wda-badge-pro-bg);  color: var(--wda-badge-pro-fg);  }.wda-bg-1 { background: var(--wda-badge-mini-bg); color: var(--wda-badge-mini-fg); }.wda-bg-official { background: #111; color: #fff; }   /* slot brand (online) *//* RATING — 1 stella + punteggio (fisico). La barra 5-stelle sotto resta per   compatibilita' col template locator ma il JS 1G emette solo la stella singola. */.wda-star-single { color: #FBBC01; font-size: 13px; }.wda-rating { display: flex; align-items: center; gap: 5px; }.wda-rating-val { font-size: 13px; color: var(--wda-muted); font-weight: 600; }.wda-reviews    { font-size: 12px; color: #888; }.wda-stars-outer { position: relative; display: inline-block; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 13px; line-height: 1; }.wda-stars-outer::before { content: "\f005 \f005 \f005 \f005 \f005"; color: #e0e0e0; }.wda-stars-inner { position: absolute; top: 0; left: 0; white-space: nowrap; overflow: hidden; width: 0; font-family: "Font Awesome 6 Free"; font-weight: 900; }.wda-stars-inner::before { content: "\f005 \f005 \f005 \f005 \f005"; color: #FBBC01; }/* INDIRIZZO + DISTANZA (l'indirizzo e' <span>, non piu' link maps). */.wda-address {  display: flex;  align-items: baseline;  flex-wrap: wrap;  gap: 4px 6px;  font-size: 13.5px;  color: var(--wda-muted);  margin: 0;  line-height: 1.4;  cursor: default;}.wda-address i { color: var(--wda-primary); font-size: 13px; position: relative; top: 1px; }.wda-distance { display: flex; align-items: center; gap: 5px; color: var(--wda-ink); font-weight: 700; font-size: 13.5px; }/* Contenitore distanza+indirizzo: distanza in alto (riga a se'), indirizzo sotto. */.wda-loc { display: flex; flex-direction: column; gap: 2px; margin: 8px 0; }/* Riga "Garanzia diretta del produttore" (solo slot brand online). */.wda-meta { font-size: 12px; color: var(--wda-muted); display: flex; align-items: center; gap: 5px; font-weight: 400; }.wda-meta i { color: var(--wda-muted); }/* CHIP SERVIZI — peso 400. */.wda-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 4px; }.wda-chip {  font-size: 11px;  font-weight: 400;  background: var(--wda-bg-soft);  color: #495057;  padding: 5px 10px;  border-radius: 6px;  border: 1px solid var(--wda-line);  display: inline-flex;  align-items: center;  line-height: 1.2;}.wda-chip i { margin-right: 6px; color: var(--wda-primary); font-size: 11px; }/* AZIONI + BOTTONI — gerarchia CTA (decisione Enrico):   pagante = PIENO (blu); gratuito/BASE = OUTLINE ATTIVO (blu, non grigio spento);   brand = NERO. Testo in MAIUSCOLO su entrambe le tab. */.wda-actions { margin-top: 14px; display: flex; gap: 10px; }.wda-btn {  flex: 1;  padding: 9px 12px;  border-radius: 6px;  font-size: 13.5px;  font-weight: 700;  text-decoration: none;  text-align: center;  display: inline-flex;  align-items: center;  justify-content: center;  gap: 6px;  cursor: pointer;  transition: all .2s;  border: 1px solid transparent;  text-transform: uppercase;  letter-spacing: .3px;}.wda-widget .wda-btn-primary { background: var(--wda-primary); color: #fff; border-color: var(--wda-primary); }.wda-widget .wda-btn-primary:hover { background: var(--wda-primary-hover); color: #fff; border-color: var(--wda-primary-hover); }.wda-widget .wda-btn-outline { background: #fff; color: var(--wda-primary); border-color: var(--wda-primary); }.wda-widget .wda-btn-outline:hover { background: var(--wda-primary); color: #fff; border-color: var(--wda-primary); }/* Brand (Nuna & co.): il bottone porta "wda-btn-primary wda-btn-brand" -> nero,   a specificita' superiore per battere la regola CTA-piena blu. */.wda-widget .wda-btn-primary.wda-btn-brand,.wda-widget .wda-btn-brand { background: #111; color: #fff; border-color: #111; }.wda-widget .wda-btn-primary.wda-btn-brand:hover,.wda-widget .wda-btn-brand:hover { background: #000; color: #fff; border-color: #000; }/* Variante card BASE (piano 0): spoglia. */.wda-card.wda-plan-0 { background: #fff; }.wda-card.wda-plan-0 .wda-name { font-weight: 600; }/* ==========================================================================   7. TAB "COMPRA ONLINE" — specifiche .wda-online-*   Card online = <a> intera cliccabile verso out.asp (riusa .wda-card).   -------------------------------------------------------------------------- */.wda-online-list { display: flex; flex-direction: column; gap: 12px; padding: 2px 0; }.wda-online-item { display: block; color: inherit; text-decoration: none; }.wda-online-item:hover { color: inherit; }.wda-widget .wda-online-item:hover * { text-decoration: none; }/* Slot brand: riga BIANCA in ogni viewport (VAI resta nero via .wda-btn-brand). */.wda-online-brand,.wda-online-brand:hover { background: #fff; }/* Footer/nudge (il JS ne cambia il testo in CFG.nudgeText) — pill azzurra   a piena larghezza. L'<a> non ha classe wda-* -> box-sizing esplicito. */.wda-online-footer { margin-top: 12px; padding-top: 0; border-top: 0; text-align: center; }.wda-online-footer a {  display: flex;  width: 100%;  margin: 0;  box-sizing: border-box;  align-items: center;  justify-content: center;  gap: 6px;  padding: 13px;  border-radius: var(--wda-radius);  background: #f2f8fd;  color: var(--wda-primary);  font-size: 13.5px;  font-weight: 600;  text-decoration: none;  cursor: pointer;}.wda-online-footer a:hover { background: #e6f1fb; text-decoration: none; }/* Fallback "nessun venditore online" (rietichettato dal JS via [data-wda-fb-*]). */.wda-online-fallback {  display: flex;  flex-direction: column;  gap: 14px;  padding: 20px 16px;  background: var(--wda-bg-soft);  border: 1px solid var(--wda-line);  border-radius: var(--wda-radius);}.wda-online-fallback-content { display: flex; align-items: center; gap: 14px; }.wda-online-fallback-icon {  flex: 0 0 auto;  width: 44px; height: 44px;  display: flex; align-items: center; justify-content: center;  border-radius: 50%;  background: #fff;  color: var(--wda-primary);  font-size: 20px;  border: 1px solid var(--wda-line);}.wda-online-fallback-text span { display: block; font-size: 15px; font-weight: 700; color: var(--wda-ink); margin-bottom: 2px; }.wda-online-fallback-text p { margin: 0; font-size: 13px; color: var(--wda-muted); line-height: 1.4; }.wda-online-fallback-btn { flex: 0 0 auto; align-self: flex-start; }   /* pill, niente flex:1 *//* ==========================================================================   8. MODAL BOTTOM SHEET (.wda-modal / .wda-sheet)   Mobile-first: drawer dal basso; da 768px: centrato.   -------------------------------------------------------------------------- */.wda-modal[hidden] { display: none; }.wda-modal {  position: fixed;  inset: 0;  z-index: 9999;  display: flex;  align-items: flex-end;  justify-content: center;}.wda-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); animation: wdaBackdropIn .2s ease-out; }@keyframes wdaBackdropIn { from { opacity: 0; } to { opacity: 1; } }.wda-sheet {  position: relative;  width: 100%;  max-width: 520px;  background: #fff;  border-radius: 16px 16px 0 0;  padding: 12px 20px calc(20px + env(safe-area-inset-bottom, 0px));  box-shadow: 0 -6px 30px rgba(0,0,0,.25);  transform: translateY(100%);  animation: wdaSheetUp .28s cubic-bezier(.16,1,.3,1) forwards;}@keyframes wdaSheetUp { to { transform: translateY(0); } }.wda-sheet-grab { width: 40px; height: 4px; border-radius: 4px; background: #d0d0d5; margin: 0 auto 14px; }.wda-sheet-title { font-size: 18px; font-weight: 800; color: var(--wda-ink); margin: 0 0 14px; text-align: center; padding: 0 30px; }.wda-sheet-close {  position: absolute;  top: 10px; right: 12px;  width: 34px; height: 34px;  border: none;  background: var(--wda-bg-soft);  border-radius: 50%;  font-size: 16px;  color: #666;  cursor: pointer;  display: flex; align-items: center; justify-content: center;}.wda-sheet-close:hover { background: #eceef0; color: var(--wda-ink); }.wda-sheet-cta {  display: flex;  align-items: center;  justify-content: center;  gap: 8px;  width: 100%;  padding: 14px;  margin-top: 10px;  border-radius: 10px;  font-size: 15px;  font-weight: 700;  text-decoration: none;  background: var(--wda-bg-soft);  color: var(--wda-ink);  border: 1px solid var(--wda-line);  transition: all .2s;}.wda-sheet-cta i { font-size: 16px; }.wda-sheet-cta:hover { border-color: var(--wda-primary); color: var(--wda-primary); background: #fff; }.wda-cta-call { background: var(--wda-primary); color: #fff; border-color: var(--wda-primary); }.wda-cta-call:hover { background: var(--wda-primary-hover); color: #fff; border-color: var(--wda-primary-hover); }.wda-cta-wa { background: #25D366; color: #fff; border-color: #25D366; }.wda-cta-wa:hover { background: #1fb959; color: #fff; border-color: #1fb959; }.wda-cta-wa i { color: #fff; }body.wda-modal-open { overflow: hidden; }@media (min-width: 768px) {  .wda-modal { align-items: center; }  .wda-sheet {    max-width: 420px;    border-radius: 14px;    transform: translateY(20px);    opacity: 0;    animation: wdaSheetCenter .22s ease-out forwards;    padding-bottom: 24px;  }  @keyframes wdaSheetCenter { to { transform: translateY(0); opacity: 1; } }  .wda-sheet-grab { display: none; }}/* ==========================================================================   9. FULL MODE — LAYOUT A RIGHE  (.wda-widget:not(.wda-compact))   <900px: card impilata (logo+nome in testata, indirizzo/chip full-width, CTA sotto).   >=900px: riga unica logo | contenuto | CTA, lista bordata con hairline.   Il layout si regge sul markup a 3 celle (logo | body | actions).   -------------------------------------------------------------------------- *//* --- MOBILE < 900 --- */@media (max-width: 899.98px) {  .wda-widget:not(.wda-compact) .wda-online-item,  .wda-widget:not(.wda-compact) .wda-results .wda-card {    display: grid;    grid-template-columns: 58px 1fr;    grid-template-areas:      "logo head"      "addr addr"      "chips chips"      "cta  cta";    gap: 4px 12px;    align-items: start;  }  /* body "trasparente": i suoi figli salgono a celle del grid della card. */  .wda-widget:not(.wda-compact) .wda-online-item > .wda-body,  .wda-widget:not(.wda-compact) .wda-results .wda-card > .wda-body { display: contents; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-logo,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-logo { grid-area: logo; width: 58px; height: 58px; align-self: start; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-head-main,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-head-main { grid-area: head; }  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-loc { grid-area: addr; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-chips,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-chips { grid-area: chips; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-actions,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-actions { grid-area: cta; }}/* --- DESKTOP >= 900 --- */@media (min-width: 900px) {  /* Pannello ONLINE: bordo sul contenitore (le card sono senza bordo). */  .wda-widget:not(.wda-compact) .wda-online-list {    gap: 0; padding: 0;    border: 1px solid var(--wda-line);    border-radius: var(--wda-radius);    overflow: hidden;  }  .wda-widget:not(.wda-compact) .wda-online-item + .wda-online-item { border-top: 1px solid var(--wda-line); }  /* Card -> RIGA (entrambe le tab): grid 3 celle, reset box. */  .wda-widget:not(.wda-compact) .wda-online-item,  .wda-widget:not(.wda-compact) .wda-results .wda-card {    display: grid;    grid-template-columns: 74px 1fr auto;    grid-template-areas: "logo body cta";    align-items: start;              /* logo/testo ancorati in alto */    align-content: normal;    gap: 0 18px;    padding: 16px 18px;    min-height: 0;    border: 0; border-radius: 0; box-shadow: none; background: #fff;  }  /* Pannello FISICO: .wda-results ha anche <p> nota + <a> mappa -> niente bordo     sul contenitore; bordo per-card + angoli su primo/ultimo <article>. */  .wda-widget:not(.wda-compact) .wda-results .wda-card { border: 1px solid var(--wda-line); border-top: 0; }  .wda-widget:not(.wda-compact) .wda-results .wda-card:first-of-type { border-top: 1px solid var(--wda-line); border-top-left-radius: var(--wda-radius); border-top-right-radius: var(--wda-radius); }  .wda-widget:not(.wda-compact) .wda-results .wda-card:last-of-type  { border-bottom-left-radius: var(--wda-radius); border-bottom-right-radius: var(--wda-radius); }  .wda-widget:not(.wda-compact) .wda-online-item:hover,  .wda-widget:not(.wda-compact) .wda-results .wda-card:hover { background: var(--wda-bg-soft); box-shadow: none; }  /* Celle */  .wda-widget:not(.wda-compact) .wda-online-item > .wda-logo,  .wda-widget:not(.wda-compact) .wda-results .wda-card > .wda-logo {    grid-area: logo; align-self: start; width: 74px; height: 74px; padding: 8px;  }  .wda-widget:not(.wda-compact) .wda-online-item > .wda-body,  .wda-widget:not(.wda-compact) .wda-results .wda-card > .wda-body { grid-area: body; min-width: 0; }  .wda-widget:not(.wda-compact) .wda-online-item > .wda-actions,  .wda-widget:not(.wda-compact) .wda-results .wda-card > .wda-actions { grid-area: cta; align-self: center; margin: 0; display: block; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-btn,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-btn { flex: 0 0 auto; width: auto; padding: 11px 22px; white-space: nowrap; }  /* Ritmo verticale dentro il body */  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-loc { margin: 3px 0 0; }  .wda-widget:not(.wda-compact) .wda-online-item .wda-chips,  .wda-widget:not(.wda-compact) .wda-results .wda-card .wda-chips { margin: 8px 0 0; }  /* Slot brand: riga bianca. */  .wda-widget:not(.wda-compact) .wda-online-brand,  .wda-widget:not(.wda-compact) .wda-online-brand:hover { background: #fff; }}/* ==========================================================================   9-bis. CARD BASE (piano 0, orfana di badge/rating) — nome centrato sul logo   Il BASE ha la sola testata col nome: con align-items:start galleggia in alto   contro un box logo piu' alto. Qui lo centro verticalmente contro il logo.   Mode-agnostico (fisico full + compact); scope .wda-results = solo tab fisico.   -------------------------------------------------------------------------- */@media (max-width: 899.98px) {  .wda-results .wda-card.wda-plan-0 .wda-head-main { align-self: center; }}@media (min-width: 900px) {  .wda-results .wda-card.wda-plan-0 > .wda-body { align-self: center; }}/* ==========================================================================   10. COMPACT MODE (guide) — .wda-compact   Striscia a due ingressi (segmented control) + accordion a fisarmonica.   Niente tab, niente container vuoto (~40px collassato). AMBITO: solo .wda-compact.   -------------------------------------------------------------------------- *//* --- SEGMENTED CONTROL: barra su traccia grigia, segmento attivo = PILL BIANCA   (come .wda-tab.active del full). Inattivo #666, icona in primario. --- */.wda-compact .wda-bar {  display: flex;  width: 100%;  gap: 0;  background: #f1f3f5;  border: 1px solid var(--wda-line);  border-radius: 10px;  padding: 5px;  overflow: visible;  box-shadow: none;}.wda-compact .wda-entry {  flex: 1;  display: inline-flex;  align-items: center;  justify-content: center;  gap: 8px;  padding: 11px 10px;  border: 1px solid transparent;  border-radius: 8px;  background: transparent;  color: #666;  font: inherit;  font-weight: 600;  font-size: 15px;  line-height: 1;  cursor: pointer;  white-space: nowrap;  transition: background .15s ease, color .15s ease, box-shadow .15s ease;}.wda-compact .wda-entry + .wda-entry { border-left: 0; }.wda-compact .wda-entry > i { font-size: 15px; color: var(--wda-primary); }.wda-compact .wda-entry:hover { background: rgba(255,255,255,.55); color: var(--wda-ink); }.wda-compact .wda-entry[aria-expanded="true"] {  background: #fff;  color: var(--wda-primary);  border-color: #fff;  box-shadow: 0 1px 3px rgba(0,0,0,.12);  font-weight: 700;}.wda-compact .wda-entry[aria-expanded="true"]:hover { background: #fff; }.wda-compact .wda-entry[aria-expanded="true"] > i { color: var(--wda-primary); }/* Label responsive dell'ingresso (full <-> short). Il caret resta SEMPRE visibile   (anche <480): l'affordance "si espande" conta. */.wda-compact .wda-entry-short { display: none; }.wda-compact .wda-entry-caret { display: inline-block; font-size: 12px; opacity: .7; transition: transform .2s ease; }.wda-compact .wda-entry[aria-expanded="true"] .wda-entry-caret { transform: rotate(180deg); opacity: 1; }@media (max-width: 480px) {  .wda-compact .wda-entry-full  { display: none; }  .wda-compact .wda-entry-short { display: inline; }}/* Pannelli collassabili: restano nel DOM (crawlable) anche da chiusi. */.wda-compact .wda-panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .25s ease, opacity .2s ease, margin .2s ease; }.wda-compact .wda-panel.open { max-height: 1600px; opacity: 1; margin-top: 12px; }/* --- HEADER compact: .wda-header-title e' <h3> dentro .product-block della guida   (.product-block h3 { ... !important }). Scopo (0,3,0) + !important per vincere. --- */.wda-widget.wda-compact .wda-header-title {  background: none !important;  padding: 0 !important;  margin: 0 !important;  font-size: 18px !important;  line-height: 1.2 !important;  color: var(--wda-ink) !important;  text-align: center !important;  font-weight: 600;  letter-spacing: .04em;}.wda-widget.wda-compact .wda-header-sub {  margin: 4px 0 0;  font-size: 13px;  line-height: 1.4;  text-align: inherit;   /* eredita il center<=600 dell'header, non il justify di p */  color: var(--wda-muted);}/* --- BLINDATURA TIPOGRAFICA compact (anti-bleed main.css su tag nudi) ---   (0,2,0) batte i tag nudi e `#articolo h4` (0,1,1 mobile); il nome usa !important   per la stessa ragione dell'ISLAND (desktop ID). */.wda-compact .wda-search-note { margin: 0; font-size: 13px; line-height: 1.4; text-align: left; color: var(--wda-muted); }.wda-compact .wda-search-note + .wda-list { margin-top: 16px; }.wda-compact .wda-search-note strong { color: var(--wda-ink); font-weight: 700; }.wda-compact .wda-meta   { font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left; color: var(--wda-muted); }.wda-compact .wda-name   { margin: 0; padding: 0; font-size: 16px; line-height: 1.25; text-align: left; font-weight: 700; color: var(--wda-ink) !important; }.wda-compact .wda-address{ font-size: 13.5px; line-height: 1.4; text-align: left; color: var(--wda-muted); }.wda-compact .wda-chip   { line-height: 1.2; }/* --- SPAZIATURA compact --- */.wda-compact.wda-widget { padding: 16px 18px; }@media (max-width: 767px) { .wda-compact.wda-widget { padding: 14px 14px; } }.wda-compact .wda-header  { margin: 0 0 12px; }.wda-compact .wda-body    { gap: 3px; }.wda-compact .wda-loc { margin: 4px 0 0; }.wda-compact .wda-chips   { margin: 8px 0 0; }.wda-compact .wda-actions { margin-top: 12px; }/* --- CARD compact MOBILE < 900: logo accanto al nome; indirizzo/chip full-width. --- */@media (max-width: 899.98px) {  .wda-compact .wda-online-item,  .wda-compact .wda-results .wda-card {    display: grid;    grid-template-columns: 58px 1fr;    grid-template-areas:      "logo head"      "addr addr"      "chips chips"      "cta  cta";    gap: 4px 12px;    align-items: start;  }  .wda-compact .wda-online-item > .wda-body,  .wda-compact .wda-results .wda-card > .wda-body { display: contents; }  .wda-compact .wda-logo      { grid-area: logo; width: 58px; height: 58px; align-self: start; }  .wda-compact .wda-head-main { grid-area: head; }  .wda-compact .wda-loc   { grid-area: addr; }  .wda-compact .wda-chips     { grid-area: chips; }  .wda-compact .wda-actions   { grid-area: cta; }}/* --- CARD compact DESKTOP >= 900: riga logo | contenuto | CTA. --- */@media (min-width: 900px) {  .wda-compact .wda-online-list {    gap: 0; padding: 0;    border: 1px solid var(--wda-line);    border-radius: var(--wda-radius);    overflow: hidden;  }  .wda-compact .wda-online-item + .wda-online-item { border-top: 1px solid var(--wda-line); }  .wda-compact .wda-online-item,  .wda-compact .wda-results .wda-card {    display: grid;    grid-template-columns: 74px 1fr auto;    grid-template-areas: "logo body cta";    align-items: start;    gap: 0 18px;    padding: 16px 18px;    min-height: 0;    border: 0; border-radius: 0; box-shadow: none; background: #fff;  }  .wda-compact .wda-results .wda-card { border: 1px solid var(--wda-line); border-top: 0; }  .wda-compact .wda-results .wda-card:first-of-type { border-top: 1px solid var(--wda-line); border-top-left-radius: var(--wda-radius); border-top-right-radius: var(--wda-radius); }  .wda-compact .wda-results .wda-card:last-of-type  { border-bottom-left-radius: var(--wda-radius); border-bottom-right-radius: var(--wda-radius); }  .wda-compact .wda-online-item:hover,  .wda-compact .wda-results .wda-card:hover { background: var(--wda-bg-soft); box-shadow: none; }  .wda-compact .wda-online-item > .wda-logo,  .wda-compact .wda-results .wda-card > .wda-logo { grid-area: logo; align-self: start; width: 74px; height: 74px; padding: 8px; }  .wda-compact .wda-online-item > .wda-body,  .wda-compact .wda-results .wda-card > .wda-body { grid-area: body; min-width: 0; }  .wda-compact .wda-online-item > .wda-actions,  .wda-compact .wda-results .wda-card > .wda-actions { grid-area: cta; align-self: center; margin: 0; display: block; }  .wda-compact .wda-online-item .wda-btn,  .wda-compact .wda-results .wda-card .wda-btn { flex: 0 0 auto; width: auto; padding: 11px 22px; white-space: nowrap; }  .wda-compact .wda-online-brand,  .wda-compact .wda-online-brand:hover { background: #fff; }}/* ========================================================================== *//* FINE FOGLIO CONSOLIDATO                                                     *//* ========================================================================== */