/* ============================================================
   Lonigro 1918 — livello di compatibilità con OceanWP
   Caricato solo quando il tema attivo è OceanWP.
   Obiettivo: impedire che gli stili globali del tema entrino
   nelle nostre sezioni, senza toccare il resto del sito.
   ============================================================ */

/* ------------------------------------------------------------
   1. Tipografia e colori del tema non devono sovrascrivere i widget.
   OceanWP applica font e colori dal Customizer su selettori globali
   (body, h1..h6, a). Qui li riportiamo dentro il sistema Lonigro.

   Nota: la regola sul corpo NON tocca span e li. Quegli elementi
   ereditano già, e nominarli esplicitamente sovrascriverebbe il font
   display sui titoli animati, che contengono span annidati.
   ------------------------------------------------------------ */
.lng-oceanwp .lng-hf,
.lng-oceanwp .lng-hf p,
.lng-oceanwp .lng-hf button,
.lng-oceanwp .lng-hf input,
.lng-oceanwp .lng-hf .lng-eyebrow,
.lng-oceanwp .lng-hf .lng-tab,
.lng-oceanwp .lng-hf .lng-card-brand,
.lng-oceanwp .lng-hf .lng-card-add,
.lng-oceanwp .lng-hf .lng-btn,
.lng-oceanwp .lng-hf .lng-nav a,
.lng-oceanwp .lng-hf .lng-ftr-links li a,
.lng-oceanwp .lng-hf .lng-mega li a,
.lng-oceanwp .lng-brand-txt small{
  font-family:var(--lng-body);
}
/* Il font display vale sull'elemento e su tutto ciò che contiene,
   così i titoli spezzati in righe animate restano in Bodoni. */
.lng-oceanwp .lng-hf h2,
.lng-oceanwp .lng-hf h3,
.lng-oceanwp .lng-hf h4,
.lng-oceanwp .lng-hf h2 span,
.lng-oceanwp .lng-hf h3 span,
.lng-oceanwp .lng-hf h4 span,
.lng-oceanwp .lng-brand-txt b,
.lng-oceanwp .lng-prod-title,
.lng-oceanwp .lng-prod-title span,
.lng-oceanwp .lng-card-name,
.lng-oceanwp .lng-card-name a,
.lng-oceanwp .lng-card-price,
.lng-oceanwp .lng-card-price span,
.lng-oceanwp .lng-card-price del,
.lng-oceanwp .lng-card-price ins,
.lng-oceanwp .lng-card-price .amount,
.lng-oceanwp .lng-addr b,
.lng-oceanwp .lng-ftr-contact b,
.lng-oceanwp .lng-mnav-body a,
.lng-oceanwp .lng-drawer-hd h3,
.lng-oceanwp .lng-search-form input[type="search"]{
  font-family:var(--lng-display);
}
.lng-oceanwp .lng-hf a{text-decoration:none;box-shadow:none}
.lng-oceanwp .lng-hf a:hover{text-decoration:none}
.lng-oceanwp .lng-hf ul,
.lng-oceanwp .lng-hf ol{margin:0;padding:0;list-style:none}
.lng-oceanwp .lng-hf li{margin:0;border:0}

/* OceanWP dà uno stile globale ai pulsanti: teniamo i nostri fuori. */
.lng-oceanwp .lng-hf .lng-btn,
.lng-oceanwp .lng-hf .lng-card-add,
.lng-oceanwp .lng-hf .lng-tab,
.lng-oceanwp .lng-hf .lng-chip{
  border-radius:0;box-shadow:none;text-shadow:none;text-transform:uppercase;
}
.lng-oceanwp .lng-hf .lng-btn:focus,
.lng-oceanwp .lng-hf .lng-card-add:focus{box-shadow:none}

/* ------------------------------------------------------------
   2. Impilamento. OceanWP usa z-index alti su header sticky,
   scroll-to-top e pannelli laterali: i nostri overlay stanno sopra.
   ------------------------------------------------------------ */
.lng-oceanwp .lng-hdr{z-index:9998}
.lng-oceanwp .lng-spine{z-index:9997}
.lng-oceanwp .lng-ov{z-index:99999}
.lng-oceanwp #scroll-top{z-index:9990}
/* Se il carrello laterale del tema resta attivo, non deve coprire il nostro. */
.lng-oceanwp .sidr,
.lng-oceanwp #owp-cart-sidr{z-index:9995}

/* ------------------------------------------------------------
   3. Uscita dal contenitore centrale.
   OceanWP incapsula il contenuto in #content-wrap .container:
   header, footer e sezione prodotti devono poter andare a tutta larghezza.
   ------------------------------------------------------------ */
.lng-fullwidth .elementor-widget-lonigro_header,
.lng-fullwidth .elementor-widget-lonigro_footer,
.lng-fullwidth .elementor-widget-lonigro_products{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
}
/* Dentro un contenitore Elementor già a piena larghezza il calcolo va annullato. */
.lng-fullwidth .elementor-section-full_width .elementor-widget-lonigro_header,
.lng-fullwidth .elementor-section-full_width .elementor-widget-lonigro_footer,
.lng-fullwidth .elementor-section-full_width .elementor-widget-lonigro_products,
.lng-fullwidth .e-con-full .elementor-widget-lonigro_header,
.lng-fullwidth .e-con-full .elementor-widget-lonigro_footer,
.lng-fullwidth .e-con-full .elementor-widget-lonigro_products{
  width:auto;max-width:none;margin-left:0;margin-right:0;
}
/* Nei template header/footer di Elementor il tema non deve aggiungere spazio. */
.lng-oceanwp .elementor-location-header,
.lng-oceanwp .elementor-location-footer{padding:0;margin:0}

/* ------------------------------------------------------------
   4. WooCommerce.
   Le nostre schede non usano il markup li.product, quindi il tema non
   dovrebbe toccarle: queste regole coprono i casi in cui OceanWP
   applica stili a classi WooCommerce generiche.
   ------------------------------------------------------------ */
.lng-oceanwp .lng-pgrid{margin:0;padding:0;list-style:none}
.lng-oceanwp .lng-card{float:none;width:auto;margin:0;padding:0;text-align:left;list-style:none}
.lng-oceanwp .lng-card::before,
.lng-oceanwp .lng-card::after{display:none}
.lng-oceanwp .lng-card-img img{
  width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none;margin:0;
}
.lng-oceanwp .lng-card .lng-card-price del,
.lng-oceanwp .lng-card .lng-card-price ins{
  background:none;text-decoration-thickness:1px;
}
.lng-oceanwp .lng-card .lng-card-price ins{text-decoration:none;font-weight:600}
.lng-oceanwp .lng-card .lng-card-price .amount{font-family:var(--lng-display)}
/* OceanWP aggiunge il proprio badge "sale": dentro le nostre schede usiamo il nostro. */
.lng-oceanwp .lng-card span.onsale,
.lng-oceanwp .lng-card .out-of-stock{display:none}
/* Il pulsante AJAX di Woo aggiunge classi di stato: niente spinner del tema. */
.lng-oceanwp .lng-card-add.loading::after,
.lng-oceanwp .lng-card-add.added::after{display:none}
.lng-oceanwp .lng-card .added_to_cart{display:none}

/* Mini-cart dentro il nostro pannello: annulla il restyling del tema. */
.lng-oceanwp .lng-drawer-body .widget_shopping_cart_content{padding:0;margin:0;background:none}
.lng-oceanwp .lng-wish-list,
.lng-oceanwp .lng-wish-item{background:none}
/* OceanWP colora i titoli dei widget: il pannello ha i suoi */
.lng-oceanwp .lng-drawer-hd h3,
.lng-oceanwp .lng-drawer-body,
.lng-oceanwp .lng-wish-txt > a{color:var(--lng-bone)}
.lng-oceanwp .lng-mega-list,
.lng-oceanwp .lng-mega-list li{margin:0;padding-left:0;list-style:none;border:0}
.lng-oceanwp .lng-mega-list li a{text-decoration:none;box-shadow:none}
.lng-oceanwp .lng-mega-feat-txt b{font-family:var(--lng-display)}
.lng-oceanwp .lng-mega-feat-img img{border-radius:0;box-shadow:none;margin:0}
/* pagina shop: il tema non deve rivestire filtri, select e paginazione */
.lng-oceanwp .lng-shop-grid,
.lng-oceanwp .lng-rail{margin:0;padding:0;list-style:none}
.lng-oceanwp .lng-fopt,
.lng-oceanwp .lng-pill,
.lng-oceanwp .lng-pager .page-numbers{text-decoration:none;box-shadow:none}
.lng-oceanwp .lng-sort select,
.lng-oceanwp .lng-fprice input{border-radius:0;box-shadow:none;height:auto;min-height:0}
.lng-oceanwp .lng-fapply,
.lng-oceanwp .lng-shop-mfilter{border-radius:0;box-shadow:none;text-shadow:none}
.lng-oceanwp .lng-fgroup > summary{list-style:none}
.lng-oceanwp .lng-rail-fill img,
.lng-oceanwp .lng-shop-grid img{border-radius:0;box-shadow:none;margin:0}
.lng-oceanwp .lng-shop-title,
.lng-oceanwp .lng-shop-title span{font-family:var(--lng-display)}

/* ------------------------------------------------------------
   5. Editor Elementor: il canvas resta usabile.
   ------------------------------------------------------------ */
.elementor-editor-active .lng-hf.is-sticky .lng-hdr{position:relative}
.elementor-editor-active .lng-spine{display:none}
