/**
* 2007-2026 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author    PrestaShop SA <contact@prestashop.com>
*  @copyright 2007-2026 PrestaShop SA
*  @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*
* Don't forget to prefix your containers with your own identifier
* to avoid any conflicts with others containers.
*/

/* =========================================================================
 * Revisione cliente 2026-06 — vedi docs/specs/2026-06-15-revisione-cliente-plan.md
 * ========================================================================= */

/* --- Area personale (Batch 1) --- */

/* 1.5 — Rimuovere la tile "My blog comments" (modulo ets_blog) */
.links li:has(> #author-blog-comment-link) {
    display: none !important;
}

/* 1.8 — Rimuovere la tile "I miei dati personali" (modulo psgdpr) */
.links a[href*="psgdpr"] {
    display: none !important;
}

/* 6.3 — Nessun indirizzo nel FO per il cliente B2B: nascondi tile/link indirizzo
   nell'area personale (difensivo, oltre a template + redirect controller). */
.links #addresses-link,
.links #address-link,
.links a[href*="indirizz"] {
    display: none !important;
}

/* --- Home loggata / liste prodotti (Batch 1) --- */

/* 1.3 — Non mostrare la % di sconto nelle miniature (la pill "-N% Sconto quantita").
   Resta visibile nel carrello (blocco .carlisi-cart-discount fuori da .product-miniature). */
.product-miniature .carlisi-cart-discount__tag {
    display: none !important;
}

/* 1.3 — Allineare i box prodotto: nel carosello swiper le slide hanno altezze diverse
   quando un prodotto ha l'offerta. Forziamo l'altezza uniforme. */
.products.swiper-wrapper {
    align-items: stretch;
}
.products .swiper-slide.item {
    height: auto;
}
.products .swiper-slide .product,
.products .swiper-slide .product-miniature {
    height: 100%;
}
/* Stesso allineamento nella griglia pagina risultati ricerca / categoria
   (non e' uno swiper: .products.product-loop.row con colonne .product.col-*). */
.products.product-loop .product {
    display: flex;
}
.products.product-loop .product > .product-miniature {
    width: 100%;
    height: 100%;
}
.product-miniature .thumbnail-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}
/* Spinge il blocco descrizione a riempire l'altezza e ancora il pulsante
   "aggiungi al carrello" in basso: cosi' i box con/senza offerta o non
   disponibili hanno la CTA allineata sulla stessa linea. */
.product-miniature .product-description {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.product-miniature .product-add-to-cart,
.product-miniature .product-description > .add-to-cart {
    margin-top: auto;
}

/* --- Header sticky (solo desktop) --- */
/* #header-to-stick diventa fixed in cima quando si scrolla oltre, con slide-down
   fluido. Il placeholder (creato da front.js) mantiene l'altezza del parent. */
@media (min-width: 992px) {
    #header-normal.carlisi-stuck {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        background-color: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.10);
        animation: carlisiStickDown 0.28s ease;
        /* NIENTE will-change:transform: creerebbe un containing block per gli elementi
           position:fixed discendenti (il minicart .elementor-cart__container e' dentro
           l'header) -> l'overlay del carrello resterebbe intrappolato nell'header sticky. */
    }
    /* Mentre e' sticky nascondiamo la top bar (MEPA/Azienda/Blog/Contatti) -> header compatto. */
    #header-normal.carlisi-stuck .elementor-element-b007010 {
        display: none;
    }
    @keyframes carlisiStickDown {
        from { transform: translateY(-100%); }
        to   { transform: translateY(0); }
    }
}

/* --- Home: hover icone "icon-box" --- */
/* Alcune icone SVG (es. "pacco / Ampio assortimento") hanno fill="..." hardcoded
   sul <path>, che vince sull'hover -> non si illuminavano come le altre. Forziamo
   il colore hover SOLO sui path con fill esplicito (chirurgico, niente id widget). */
.elementor-widget-icon-box .elementor-icon:hover svg path[fill] {
    fill: #00a297 !important;
}

/* --- Campo ricerca (Batch 3) --- */

/* 3.1 — Non oscurare il sito quando la ricerca e' aperta. Mantengo il
   click-catcher (::before fixed) ma trasparente, cosi' il click esterno
   continua a chiudere la tendina senza l'overlay scuro. */
#avasearch_block::before,
#avasearch_block_icon::before {
    background: transparent !important;
}

/* 3.x — Titolo (de_fed) in grassetto nei risultati ricerca. */
.avasearch-items .product-name {
    font-weight: 700;
}

/* 3.x — Descrizione (de_int) sotto il titolo nei risultati ricerca. */
.avasearch-items .avasearch-descr {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.3;
    color: #6b7280;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- Prezzo al pubblico (P_PUB) dopo la scritta "IVA esclusa" --- */
/* Box neutro: il prezzo grande resta il netto B2B; questo e' un riferimento al
   prezzo al pubblico (IVA inclusa, nessuna dicitura IVA per scelta cliente).
   Riga propria appena sotto la label "IVA esclusa". */
.carlisi-public-price {
    display: inline-flex;
    flex-direction: column;
    vertical-align: middle;
    line-height: 1.1;
    padding: 4px 10px;
    border: 1px solid #d7e3cf;
    border-radius: 8px;
    background: #f6faf2;
}
.carlisi-public-price__label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: #6b8f58;
}
.carlisi-public-price__value {
    font-size: 15px;
    font-weight: 700;
    color: #2a5c14;
}

/* --- Scheda prodotto (Batch 4) --- */

/* 4.5 — CTA "Acquista confezione" coerente col tema: verde pieno (come
   "Aggiungi al carrello") invece dell'outline blu che stonava. */
.carlisi-package-cta {
    background-color: #67ac90;
    border: 1px solid #67ac90;
    color: #fff;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.carlisi-package-cta:hover,
.carlisi-package-cta:focus,
.carlisi-package-cta:active {
    background-color: #56997e;
    border-color: #56997e;
    color: #fff;
}
.carlisi-package-cta .material-icons {
    font-size: 20px;
}

/* =========================================================================
 * Swatch colori nel listing (2026-07-23) — pallini piu' grandi, sotto il
 * prezzo e prima della CTA (blocco .variant-links-listing in grid.tpl).
 * ========================================================================= */
.product-miniature .variant-links-listing {
    justify-content: flex-start;
    margin: 4px 0 8px;
    gap: 7px;
}
.product-miniature .variant-links-listing .color {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}
.product-miniature .variant-links-label {
    font-size: 0.72rem;
    color: #7a7a7a;
    margin-top: 6px;
    line-height: 1;
    text-align: left;
}

/* =========================================================================
 * Blocco prezzo della scheda prodotto (2026-09).
 *
 * Tre pezzi sulla stessa riga: il prezzo netto grande, la nota IVA ("IVA
 * esclusa" + l'aliquota, due righe) e il box del prezzo al pubblico (due
 * righe). Nota e box sono due colonnine affiancate, allineate al centro fra
 * loro; il distacco dal prezzo grande e' un margine sul prezzo, perche'
 * .product-prices e' una riga flessibile che non ha spaziatura propria.
 * ========================================================================= */
.product-prices .product-price {
    margin-right: 12px;
}
/* Il contenitore diventa una riga vera: nota e box sono due elementi
   affiancati e allineati al centro fra loro. Lasciati come elementi in linea
   andavano a capo in modo imprevedibile. */
.product-prices .tax-shipping-delivery-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.carlisi-tax-note {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
/* L'aliquota e' informazione di secondo livello: stessa famiglia e stesso
   colore della riga sopra, un filo piu' piccola. */
.carlisi-vat-rate {
    display: block;
    font-size: 12px;
}
