/* =====================================================
   CUSTOM PROPERTIES
   ===================================================== */

:root {
    --press-duration:   0.2s;
    --press-scale:      0.95;
    --press-offset:     4px;
    --shadow-card:      0px 1px 5px rgba(0, 0, 0, 0.25);
    --gap-xxs:          4px;
    --gap-xs:           5px;
    --gap-s:            10px;
    --gap-m:            15px;
    --gap-l:            20px;
    --gap-xl:           30px;
    --gap-2xl:          50px;
    --img-product:      60px;
    --card-min-width:   180px;
    --dot-size:         5px;
    --discount-badge:   20px;
    --qty-btn:          30px;
    --qty-col:          60px;
    --qty-col-open:     120px;
}


/* =====================================================
   EFFETTO PRESSIONE
   ===================================================== */

:is(.style-01, .style-02, .style-04, .style-05).press-e.button,
.press-e:not(.button) .contents-e {
    transition: transform var(--press-duration);
}

:is(.style-01, .style-02, .style-04, .style-05).press-e.button:active,
.press-e:not(.button).active .contents-e {
    transform: scale(var(--press-scale));
}

:is(.style-03, .style-06).press-e.button {
    transition: none;
}

:is(.style-03, .style-06).press-e.button:active {
    transform: scale(1);
}

:is(.style-03, .style-06).press-e.button .inside {
    transition: transform var(--press-duration);
}

:is(.style-03, .style-06).press-e.button:active .inside,
:is(.products.style-03, .products.style-06) .press-e:not(.button).active .contents-e {
    transform: translate(var(--press-offset), var(--press-offset));
}


/* =====================================================
   CATEGORIA — Layout sezione
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section {
    margin-bottom: var(--gap-xl);
    z-index: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.glass-no.padding-false {
    margin-bottom: var(--gap-2xl);
}

:is(#show-price-list, #preview-price-list) .list .section.glass-no.padding-false.image-true.details-false.no-products {
    margin-bottom: var(--gap-xl);
}

:is(#show-price-list, #preview-price-list) .list .section.glass-no.padding-false.image-true.details-false.no-products
    + .section.glass-no.padding-false:not(.no-products) {
    margin-top: var(--gap-2xl);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-02, .style-05) {
    width: calc(100% - var(--gap-s));
    margin-right: calc(var(--gap-xs) / 1);
    margin-left:  calc(var(--gap-xs) / 1);
    box-shadow: var(--shadow-card);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-03, .style-06) {
    border-radius: 0 !important;
    border: 0 !important;
    background: none !important;
    backdrop-filter: initial !important;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-03, .style-06):last-child {
    margin-bottom: var(--gap-xxs);
}

:is(#show-price-list, #preview-price-list) .list .section.padding-true {
    width: calc(100% - var(--gap-s));
    margin-right: calc(var(--gap-xs) / 1);
    margin-left:  calc(var(--gap-xs) / 1);
}

:is(#show-price-list, #preview-price-list) .list .section:last-child,
:is(#show-price-list, #preview-price-list) .list .section.glass-no.padding-false:last-child {
    margin-bottom: 0;
}

/* Ombra stile 03/06 */

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-03, .style-06)::before {
    width: 100%;
    height: 100%;
    position: absolute;
    top: var(--gap-xxs);
    left: var(--gap-xxs);
}


/* =====================================================
   CATEGORIA — Padding .contents-s
   ===================================================== */

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section .contents-s,
:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-02, .style-05) .contents-s {
    padding-top: var(--gap-l);
    padding-bottom: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-03, .style-06) .contents-s {
    width: 100%;
    padding-top: var(--gap-l);
    padding-bottom: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.padding-false .contents-s,
:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-false.details-false.no-products .contents-s {
    padding-top: 0;
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.style-02, .style-05) .contents-s,
:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.padding-false:is(.glass-light, .glass-strong) .contents-s {
    padding-top: var(--gap-l);
    padding-bottom: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-false.details-false .contents-s {
    padding-top: 0;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.padding-false:is(.glass-light, .glass-strong).image-false.details-false .contents-s {
    padding-top: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-true:is(.image-above, .details-false) .contents-s {
    padding-top: 0;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-true.image-under.no-products .contents-s {
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-true:is(.image-above, .image-under).details-false.no-products .contents-s {
    padding-top: 0;
    padding-bottom: 0;
}


/* =====================================================
   CATEGORIA — Immagine cover / object-so
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .cover {
    aspect-ratio: 8 / 3;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so {
    padding-right: var(--gap-l);
    padding-left: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-true.image-above .object-so {
    padding-top: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.image-true.image-under .object-so {
    padding-bottom: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.details-false .object-so {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =====================================================
   CATEGORIA — Dettagli testo
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .name h2 {
    font-weight: 700;
    line-height: 1.4em;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc {
    margin-top: 8px;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc p {
    line-height: 1.5em;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc p video {
    display: block;
    border: 0;
    width: 100%;
    aspect-ratio: 16 / 9;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc p audio {
    display: block;
    border: 0;
    width: 100%;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc p .youtube {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .details .desc p .google-maps {
    display: block;
    width: 100%;
    min-height: 250px;
    aspect-ratio: 16 / 9;
}


/* =====================================================
   CATEGORIA — Immagine inline
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .object-so .image {
    display: table-row;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .image.under .inner {
    height: auto;
    margin-top: var(--gap-m);
    top: initial;
    transform: initial;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .image.above .inner {
    height: auto;
    margin-top: 0;
    margin-bottom: var(--gap-m);
    top: initial;
    transform: initial;
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .image:is(.under, .above).true .inner {
    margin-top: 0;
    margin-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .cover .clickable {
    display: block;
    width: var(--discount-badge);
    height: var(--discount-badge);
    font-size: 0.6em;
    position: absolute;
    top: var(--gap-s);
    left: var(--gap-s);
    z-index: 1;
}

:is(#show-price-list, #preview-price-list) .list .section .cover .clickable i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

:is(#show-price-list, #preview-price-list) .list .section .object-so .image .inner :is(a, img) {
    display: block;
}


/* =====================================================
   SOTTO-CATEGORIA / NOTA / PULSANTE
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .object-o.true {
    width: calc(100% - var(--gap-l) * 2);
    margin-top: var(--gap-l);
    margin-right: var(--gap-l);
    margin-left: var(--gap-l);
    padding: 0;
    box-shadow: none;
    clear: both;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-02, .style-05) {
    box-shadow: var(--shadow-card);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-03, .style-06) {
    width: calc(100% - var(--gap-l) * 2 - var(--gap-xxs));
    margin-right: var(--gap-xxs);
    margin-bottom: var(--gap-xxs);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-03, .style-06)::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: var(--gap-xxs);
    left: var(--gap-xxs);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true .inside p {
    padding: var(--gap-m);
    line-height: 1.5em;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true.button .inside p {
    padding: 12px var(--gap-m);
    font-weight: 700;
    line-height: 1.2em;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-01, .style-04).padding-false .inside p,
:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-01, .style-04).padding-false.button .inside p {
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-01, .style-04).padding-false:is(.glass-light, .glass-strong) .inside p {
    padding: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true:is(.style-01, .style-04).padding-false:is(.glass-light, .glass-strong).button .inside p {
    padding: 12px var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true .inside p video {
    display: block;
    border: 0;
    width: 100%;
    aspect-ratio: 16 / 9;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true .inside p audio {
    display: block;
    border: 0;
    width: 100%;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true .inside p .youtube {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.true .inside p .google-maps {
    display: block;
    width: 100%;
    min-height: 250px;
    aspect-ratio: 16 / 9;
}


/* =====================================================
   PRODOTTO — Cards view (scrollabile)
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable {
    padding-top: var(--gap-l);
    overflow-y: hidden;
    overflow-x: auto;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view.padding-false.image-false.details-false .products .scrollable:first-child {
    padding-top: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-02, .style-05) .scrollable {
    padding-top: var(--gap-l);
    padding-bottom: var(--gap-xs);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable::-webkit-scrollbar {
    display: none;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: var(--gap-l);
    padding-left: var(--gap-l);
    width: max-content;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list::after {
    content: "";
    flex: 0 0 0;
    visibility: hidden;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scroll-nav {
    height: var(--dot-size);
    margin: var(--gap-s) var(--gap-l) 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scroll-nav .dot {
    width: var(--dot-size);
    height: var(--dot-size);
    margin-left: var(--dot-size);
    float: left;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scroll-nav .dot:nth-child(2) {
    margin-left: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scroll-nav .line {
    width: var(--dot-size);
    height: var(--dot-size);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/* =====================================================
   PRODOTTO — Grid view (2 e 3 colonne)
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-m);
    padding: var(--gap-l);
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: start;
    gap: var(--gap-m);
    padding: var(--gap-l);
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.padding-false.image-false.details-false.grid-showcase-view .products .grid-showcase-view:first-child,
:is(#show-price-list, #preview-price-list) .list .section.padding-false.image-false.details-false.grid-gallery-view .products .grid-gallery-view:first-child,
:is(#show-price-list, #preview-price-list) .list .section.padding-false.image-false.details-false.grid-bento-view .products .grid-bento-view:first-child {
    padding-top: 0;
}

/* Ritaglia la foto sul border-radius del proprio contenitore (list/cards/grid): senza
   overflow:hidden qui, il border-radius di .inner non taglia l'<img> al suo interno — nella
   preview del tema (dentro un popup) l'effetto capitava comunque per puro caso, perché la
   regola generica .cubeverse-page .inner (il wrapper del popup) usa lo stesso nome di classe
   ".inner" e applica overflow:hidden a qualunque discendente, incluso questo — su Listino/
   show.php, che non sono dentro un popup, quella coincidenza non scatta e la foto restava
   con gli angoli non tagliati anche quando .inner aveva il border-radius corretto. */
:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .image .inner {
    overflow: hidden;
}

/* Azzera margini ereditati dalla list-view */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view) .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false {
    width: 100%;
    margin: 0;
    cursor: pointer;
}

/* Vetrina: la card riempie l'altezza della riga (le righe si allineano fra loro come
   in una griglia grid di default) e il pulsante carrello resta ancorato in fondo,
   invece di seguire l'altezza variabile del titolo/prezzo. */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false {
    display: flex;
    flex-direction: column;
    height: 100%;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .quantity {
    margin-top: auto;
}

/* Layout colonna */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view) .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e {
    flex-direction: column;
    gap: 0;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .contents-e,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .contents-e {
    height: auto;
}

/* .image full width */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view) .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e .image {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
}

/* .inner full width */
:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view) .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e .image .inner {
    display: block;
    width: 100% !important;
    height: 100% !important;
    top: initial;
    transform: initial;
}

/* img full width */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view) .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e .image .inner img {
    display: block;
    width: 100%;
    height: auto;
}

/* Info fuori da .contents-e (showcase: tutti; gallery: nessuno) */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info {
    display: block;
    margin-top: 10px;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products:is(.style-02, .style-03, .style-05, .style-06) .grid-showcase-view .object-o.false .info {
    margin-top: 14px;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info .desc {
    display: none !important;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info :is(.name h3, .price h4) {
    display: -webkit-box;
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info .name h3,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info .price h4 {
    font-weight: 700;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .info .price h4 {
    margin-top: var(--gap-xs);
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false .quantity {
    display: none;
    padding: 0 var(--gap-m) var(--gap-m);
}

/* Galleria: nome e prezzo (solo se show-info-true), niente descrizione — titolo fino
   a 2 righe (come Vetrina), prezzo resta 1 riga — niente pulsanti quantity, vedi sotto. */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info {
    display: block;
    margin-top: 10px;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products:is(.style-02, .style-03, .style-05, .style-06) .grid-gallery-view .object-o.false .info {
    margin-top: 14px;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .desc {
    display: none !important;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info :is(.name h3, .price h4) {
    display: -webkit-box;
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    -webkit-box-orient: vertical;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .name h3 {
    -webkit-line-clamp: 2;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .price h4 {
    -webkit-line-clamp: 1;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .name h3,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .price h4 {
    font-weight: 700;
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .info .price h4 {
    margin-top: var(--gap-xs);
}

/* show-info-false: nasconde info (showcase e gallery) */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view).show-info-false .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .info,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view).show-info-false .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e .info {
    display: none !important;
}

/* Galleria: niente pulsanti quantity, a prescindere da show-info (Galleria non li ha mai avuti). */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view).show-info-false .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .quantity,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-gallery-view, .grid-bento-view).show-info-false .products :is(.grid-showcase-view, .grid-gallery-view) .object-o.false .contents-e .quantity,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .quantity,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-gallery-view, .grid-bento-view) .products .grid-gallery-view .object-o.false .contents-e .quantity {
    display: none !important;
}


/* =====================================================
   PRODOTTO — Grid view mista (bento)
   ===================================================== */

/* Griglia per i primi 3 elementi */

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--gap-m);
    padding: var(--gap-l);
    padding-bottom: 0;
}

/* Riga 1: intera larghezza */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(1) {
    grid-column: span 6;
}

/* Riga 2: due colonne */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(2),
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(3) {
    grid-column: span 3;
}

/* Azzera margini ereditati dalla list-view */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false {
    width: 100%;
    margin: 0;
    cursor: pointer;
}

/* Layout colonna — pos 0 (overlay interno) */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(1) .contents-e {
    flex-direction: column;
    gap: 0;
    overflow: hidden;
}

/* Layout pos 1/2 — contents-e contiene solo .image, info è fuori */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) {
    display: block;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .contents-e {
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    height: auto;
}

/* .image full width */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false .contents-e .image {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
}

/* .inner full width */
:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.grid-bento-view .products .grid-bento-view .object-o.false .contents-e .image .inner {
    display: block;
    width: 100% !important;
    height: 100% !important;
    top: initial;
    transform: initial;
}

/* img full width */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false .contents-e .image .inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Info e quantity dentro .contents-e nascoste di default */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false .contents-e .quantity {
    display: none !important;
}

/* Primo elemento: overlay assoluto in fondo */

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(1) .contents-e {
    position: relative;
    overflow: hidden;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay {
    display: none;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-true .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay {
    display: flex;
    align-items: center;
    width: 100%;
    padding-top: 120px;
    padding-bottom: var(--gap-l);
    position: absolute;
    bottom: 0;
    left: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-true .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay .info {
    display: block !important;
    padding-left: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-true .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay .quantity {
    display: block !important;
}

/* Copertina: descrizione fino a 2 righe (il resto della Lista/List view ne consente 1). */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay .info .desc p {
    -webkit-line-clamp: 2;
}

/* 2° e 3° elemento: info fuori da .contents-e */

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info {
    display: none;
    margin-top: 10px;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products:is(.style-02, .style-03, .style-05, .style-06) .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info {
    margin-top: 14px;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .desc {
    display: none !important;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info :is(.name h3, .price h4) {
    display: -webkit-box;
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    -webkit-box-orient: vertical;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .name h3 {
    -webkit-line-clamp: 2;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .price h4 {
    -webkit-line-clamp: 1;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .name h3,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .price h4 {
    font-weight: 700;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info .price h4 {
    margin-top: var(--gap-xs);
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .quantity {
    display: none;
    padding: 0 var(--gap-m) var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-true .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .info {
    display: block;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-true .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)) .quantity {
    display: block;
}

/* show-info-false: nasconde anche info fuori da .contents-e */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-false .products .grid-bento-view .object-o.false .info,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-false .products .grid-bento-view .object-o.false .quantity {
    display: none !important;
}

/* show-info-false: nel primo elemento (cover) deve sparire l'intero DIV overlay,
   non solo il suo contenuto — altrimenti resta un riquadro/sfondo vuoto sull'immagine. */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view.show-info-false .products .grid-bento-view .object-o.false:nth-child(1) .contents-e .overlay {
    display: none !important;
}

/* Strip scroll orizzontale dal 4° elemento in poi */

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll {
    display: flex;
    align-items: stretch;
    gap: var(--gap-m);
    padding: var(--gap-m) var(--gap-l) 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll::-webkit-scrollbar {
    display: none;
}

/* Ogni item nella strip: quadrato a larghezza fissa */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false {
    flex: 0 0 110px;
    width: 110px;
    margin: 0;
    cursor: pointer;
    aspect-ratio: 1 / 1;
    /* overflow: hidden; */
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products:is(.style-02, .style-05) .bento-scroll .object-o.false {
    height: 116px;
    padding-bottom: 6px;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products:is(.style-03, .style-06) .bento-scroll .object-o.false {
    height: 114px;
    padding-bottom: var(--gap-xxs);
    /* overflow: visible; */
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e {
    flex-direction: column;
    gap: 0;
    height: 100%;
    overflow: hidden;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e .image {
    display: block;
    width: 100%;
    flex: 0 0 auto;
    aspect-ratio: 1 / 1;
    padding: 0;
    overflow: hidden;
}

:is(#show-price-list, #preview-price-list) .wrapper-not-ske .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e .image .inner {
    display: block;
    width: 100% !important;
    height: 100% !important;
    top: initial;
    transform: initial;
}

:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e .image .inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Info e quantity sempre nascoste nella strip */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .info,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .quantity,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .bento-scroll .object-o.false .contents-e .quantity {
    display: none !important;
}


/* =====================================================
   PRODOTTO — Oggetto lista
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false {
    width: calc(100% - var(--gap-l) * 2);
    margin-top: var(--gap-l);
    margin-right: var(--gap-l);
    margin-left: var(--gap-l);
    cursor: pointer;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-03, .style-06) .object-o.false {
    width: calc(100% - var(--gap-l) * 2 - var(--gap-xxs));
    margin-right: var(--gap-xxs);
    margin-bottom: var(--gap-xs);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-03, .style-06) .object-o.false::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: var(--gap-xxs);
    left: var(--gap-xxs);
}

:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view).show-info-true .products:is(.style-03, .style-06) .object-o.false::before {
    aspect-ratio: 1 / 1;
    height: auto;
}


:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products:is(.style-03, .style-06) .bento-scroll .object-o.false::before {
    height: calc(100% - 4px);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false {
    flex-shrink: 0;
    width: var(--card-min-width);
    margin: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-03, .style-06) .scrollable .scroll-list .object-o.false {
    margin-bottom: 4px;
}

:is(#show-price-list, #preview-price-list) .list .section.padding-false.image-false.details-false .object-o:first-child {
    margin-top: 0;
}


/* =====================================================
   PRODOTTO — .contents-e
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--gap-s);
    width: 100%;
    height: 100%;
    direction: ltr;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-02, .style-05) .object-o.false .contents-e {
    box-shadow: var(--shadow-card);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-03, .style-06) .object-o.false.active .contents-e {
    transform: translate(var(--press-offset), var(--press-offset));
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.extended .contents-e,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e {
    flex-direction: column;
    gap: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.extended .contents-e .table {
    display: flex;
    align-items: center;
    gap: var(--gap-s);
}


/* =====================================================
   PRODOTTO — Immagine prodotto
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image {
    width: 80px;
    height: auto;
    padding: var(--gap-l) 0 var(--gap-l) var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.extended .contents-e .image {
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.extended .contents-e .image.no-image {
    padding-top: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .image {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.discount-el .contents-e .image {
    padding-left: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false .contents-e .image {
    width: 60px;
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong) .contents-e .image {
    width: 80px;
    padding: var(--gap-l) 0 var(--gap-l) var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended:is(.glass-light, .glass-strong) .contents-e .image {
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false .contents-e .image {
    width: 100%;
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image .inner,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .image .inner {
    top: initial;
    transform: initial;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.discount-el .contents-e .image .inner {
    width: 100%;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.discount-el .contents-e .image .background {
    width: var(--discount-badge);
    height: var(--discount-badge);
    margin-top: var(--gap-s);
    margin-bottom: calc(var(--gap-xs) * -1);
    margin-left: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false .contents-e .background {
    margin-top: 0;
    margin-bottom: calc(var(--gap-xs) * -1);
    margin-left: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image .inner img {
    display: block;
    width: var(--img-product);
    height: var(--img-product);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .image .inner img {
    display: block;
    width: 100%;
    height: 100%;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image .background i {
    display: block;
    width: var(--img-product);
    height: var(--img-product);
    font-size: 1.2em;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.discount-el .contents-e .image .background i {
    width: 100%;
    height: 100%;
    font-size: 0.5em;
    offset: 0;
    outline: 0;
    position: absolute;
    top: 0;
    z-index: 1;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image .background i::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Badge sconto */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .image .inner .discount {
    display: none;
    width: var(--discount-badge);
    height: var(--discount-badge);
    font-size: 0.5em;
    position: absolute;
    z-index: 1;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.discount-el .contents-e .image .inner .discount {
    display: block;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .image .inner .discount i,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .image .inner .discount i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Prodotto senza immagine */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image.no-image {
    width: var(--gap-s);
    padding-right: 0;
    padding-left: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.discount-el .contents-e .image.no-image {
    width: 90px;
    padding: var(--gap-l) var(--gap-s) var(--gap-l) var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false .contents-e .image.no-image {
    display: none;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong) .contents-e .image.no-image {
    display: block;
    width: var(--gap-s);
    padding: var(--gap-l) 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.discount-el .contents-e .image.no-image {
    width: 70px;
    padding: 0 var(--gap-s) 0 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .image.no-image .no-image {
    width: var(--gap-l);
    height: var(--img-product);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .image.no-image .no-image {
    width: 100%;
    height: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended:is(.glass-light, .glass-strong) .contents-e .image.no-image {
    padding: 0;
}


/* =====================================================
   PRODOTTO — Info / testi
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .info {
    padding-right: var(--gap-l);
    text-align: left;
    direction: ltr;
}

:is(#show-price-list, #preview-price-list) .list .section .products.alignment-right .object-o.false .contents-e .info {
    text-align: right;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .info {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.extended .contents-e .info {
    padding-top: 20px !important;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .info {
    padding: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.variants.not-on-sale .contents-e .info {
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended .contents-e .info {
    padding-top: 0 !important;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended:is(.glass-light, .glass-strong) .contents-e .info {
    padding-top: 20px !important;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong).not-on-sale .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong).variants.not-on-sale .contents-e .info {
    padding-right: var(--gap-l);
}

:is(#show-price-list, #preview-price-list) .list .section .products.padding-false .object-o.false.on-sale .contents-e .info {
    width: 100%;
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .info {
    display: block;
    width: 100%;
    padding: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products.padding-false .scrollable .scroll-list .object-o.false.on-sale .contents-e .info {
    padding: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false.variants.not-on-sale .contents-e .info {
    padding: var(--gap-m) 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false.not-on-sale .contents-e .info.no-image {
    padding-top: 0;
    padding-bottom: 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false:is(.glass-light, .glass-strong) .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false:is(.glass-light, .glass-strong).variants.not-on-sale .contents-e .info,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false:is(.glass-light, .glass-strong).not-on-sale .contents-e .info.no-image {
    padding: var(--gap-m);
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.on-sale.out-of-stock .contents-e .info {
    padding-right: var(--gap-l);
}

/* Descrizione estesa */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .extended.desc {
    padding: 0 var(--gap-l) var(--gap-l) var(--gap-l);
    direction: ltr;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .extended.desc p {
    padding-top: 10px;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .extended.desc.no-image p {
    padding-top: 10px;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false .contents-e .extended.desc {
    padding: 0;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong) .contents-e .extended.desc {
    padding: 0 var(--gap-l) var(--gap-l) var(--gap-l);
}

/* Allineamento testi prodotto */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4),
:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .extended.desc p {
    text-align: left;
}

:is(#show-price-list, #preview-price-list) .list .section .products.alignment-right .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4),
:is(#show-price-list, #preview-price-list) .list .section .products.alignment-right .object-o.false .contents-e .extended.desc p {
    text-align: right;
}

:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-left .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4),
:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-left .object-o.false .contents-e .extended.desc p {
    text-align: left;
}

:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-center .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4),
:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-center .object-o.false .contents-e .extended.desc p {
    text-align: center;
}

:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-right .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4),
:is(#show-price-list, #preview-price-list) .list .section .products .scrollable.alignment-right .object-o.false .contents-e .extended.desc p {
    text-align: right;
}

/* Tipografia prodotto — clamp comune (Lista Base: 1 riga) */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4) {
    display: -webkit-box;
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .info .name h3,
:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .info .price h4 {
    font-weight: 700;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .info .desc p,
:is(#show-price-list, #preview-price-list) .list .section .object-o.false .contents-e .info .price h4 {
    margin-top: var(--gap-xs);
}

/* Cards: clamp a 2 righe */

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false .contents-e .info :is(.name h3, .desc p, .price h4) {
    line-height: 1.4em;
    -webkit-line-clamp: 2;
}

/* Prezzo — badge sconto inline */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.discount-el .contents-e .info.no-image .price h4::before {
    margin-right: var(--gap-xs);
    float: left;
}

:is(#show-price-list, #preview-price-list) .list .section .products.alignment-right .object-o.false.discount-el .contents-e .info.no-image .price h4::before {
    margin-left: var(--gap-xs);
    float: right;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false .contents-e .info .price h4 del {
    margin-right: var(--gap-xs);
}

:is(#show-price-list, #preview-price-list) .list .section .products.alignment-right .object-o.false .contents-e .info .price h4 del {
    margin-left: var(--gap-xs);
}


/* =====================================================
   PRODOTTO — Quantità / negozio
   ===================================================== */

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity {
    width: var(--qty-col);
    height: auto;
    padding-right: var(--gap-l);
    padding-left: var(--gap-s);
    vertical-align: middle;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.extended .contents-e .quantity {
    padding-top: 20px !important;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity {
    display: block;
    width: 100%;
    height: 45px;
    padding: 0 var(--gap-s) var(--gap-m);
    text-align: center;
}

/* Showcase/bento: a differenza di cards-view lo spazio serve sopra (subito
   dopo .info, che è fuori da .contents-e) e non sotto */
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity {
    padding: var(--gap-m) var(--gap-s) 0;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e.quantity-bottom .quantity {
    margin-top: auto;
}

:is(#show-price-list, #preview-price-list) .list .section .products .object-o.false.on-sale .contents-e .quantity.open,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.open,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.open {
    width: var(--qty-col-open) !important;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity.open,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.open,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.open {
    width: 100% !important;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04) .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity {
    width: var(--qty-col);
    padding-right: var(--gap-l);
    padding-left: var(--gap-s);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity {
    width: 40px;
    padding-right: 0;
    padding-left: var(--gap-s);
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended .contents-e .quantity {
    padding-top: 0 !important;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false.extended:is(.glass-light, .glass-strong) .contents-e .quantity {
    padding-top: 20px !important;
}

:is(#show-price-list, #preview-price-list) .list .section .products:is(.style-01, .style-04).padding-false .object-o.false:is(.glass-light, .glass-strong):is(.on-sale, .variants.not-on-sale) .contents-e .quantity {
    width: var(--qty-col);
    padding-right: var(--gap-l);
    padding-left: var(--gap-s);
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products:is(.style-01, .style-04).padding-false .scrollable .scroll-list .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity {
    width: 100%;
    padding: 0;
}

/* Bottoni qty */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity a,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity a,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity a {
    display: block;
    width: var(--qty-btn);
    height: var(--qty-btn);
    float: right;
    position: relative;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity a,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity a,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity a {
    display: inline-block;
    float: none;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity a.remove,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity a.remove,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity a.remove,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity a.remove {
    display: none;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity.center a.remove {
    display: block;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity.center a.remove,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.center a.remove,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.center a.remove {
    display: inline-block !important;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity.selection.center a.remove,
:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity.selection.center a.remove,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.selection.center a.remove,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.selection.center a.remove {
    display: none;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity a i,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity a i,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity a i {
    display: block;
    font-size: 0.8em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity a.go-to-variants i,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity a.go-to-variants i,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity a.go-to-variants i {
    font-size: 0.9em;
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false:is(.on-sale, .variants.not-on-sale) .contents-e .quantity a.go-to-variants .fi.fi-rr-angle-down,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false:is(.on-sale, .variants.not-on-sale) .quantity a.go-to-variants .fi.fi-rr-angle-down,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)):is(.on-sale, .variants.not-on-sale) .quantity a.go-to-variants .fi.fi-rr-angle-down {
    top: calc(50% + 1px);
}

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity.selection a i,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.selection a i,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.selection a i {
    width: 24px;
    height: 24px;
    padding-top: 6px;
    padding-left: 5px;
}

:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity.selection a i,
:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.selection a i,
:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.selection a i {
    padding-left: 6px;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity.selection a i,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.selection a i,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.selection a i {
    padding-left: 0;
}

:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity.selection a i,
:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity.selection a i,
:is(.ipad, .iphone) :is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity.selection a i {
    padding-left: 1px;
}

/* Input qty */

:is(#show-price-list, #preview-price-list) .list .section .object-o.false.on-sale .contents-e .quantity input,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity input,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity input {
    display: none;
    border: 0;
    background: none;
    width: var(--qty-btn);
    height: var(--qty-btn);
    margin: 0;
    padding: 0;
    font-size: 1em;
    text-align: center;
    opacity: 1;
    float: right;
}

:is(#show-price-list, #preview-price-list) .list .section.cards-view .products .scrollable .scroll-list .object-o.false.on-sale .contents-e .quantity input,
:is(#show-price-list, #preview-price-list) .list .section:is(.grid-showcase-view, .grid-bento-view) .products .grid-showcase-view .object-o.false.on-sale .quantity input,
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3)).on-sale .quantity input {
    vertical-align: top;
    float: none;
}


/* =====================================================
   RESPONSIVE
   ===================================================== */

@media screen and (min-width: 768px) {
    #public-price-list #show-price-list .list .section.padding-true {
        width: 600px;
        margin-right: auto;
        margin-left: auto;
    }
}

/* Bento pos 1/2 stile 03/06 — ::before limitato all'area immagine */
:is(#show-price-list, #preview-price-list) .list .section.grid-bento-view .products:is(.style-03, .style-06) .grid-bento-view .object-o.false:is(:nth-child(2), :nth-child(3))::before {
    height: auto;
    aspect-ratio: 1 / 1;
}