/* CricomShop 0.3.0 · pagina categoria, filtri, testi formattati, caratteristiche. */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Percorso e intestazione categoria */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:0 0 14px}
.breadcrumb a{color:var(--muted)}.breadcrumb [aria-current]{color:var(--ink);font-weight:600}
.category-intro{margin:0 0 26px}
.category-intro h1{font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 18px;text-transform:none}
.category-intro-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:4px;padding:20px}
.category-intro-body.no-cover{grid-template-columns:minmax(0,1fr)}
.category-cover{display:block;width:180px;height:180px;object-fit:contain;border:1px solid #e3e6e9;background:#fff}
.category-intro .rich-text{font-size:15px;line-height:1.65;color:#2f3439}

/* Riquadri delle sottocategorie */
.subcategories{margin:0 0 30px}
.subcategories h2{font-size:18px;font-weight:600;letter-spacing:0;margin:0 0 14px}
.subcategory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:14px}
.subcategory-tile{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px 10px 14px;color:var(--ink);text-align:center;transition:border-color .15s,box-shadow .15s}
.subcategory-tile:hover{text-decoration:none;border-color:#9fb6c6;box-shadow:0 4px 14px #0000000d}
.subcategory-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background:#fff}
.subcategory-image img{max-width:100%;max-height:100%;object-fit:contain}
.subcategory-image .placeholder{display:flex;align-items:center;justify-content:center;width:70%;aspect-ratio:1;border-radius:50%;background:#eef2f5;color:#55707f;font-weight:700;font-size:22px}
.subcategory-name{font-size:13px;line-height:1.35}

/* Intestazione elenco, ordinamento e filtri attivi */
.catalog-heading .catalog-count-title{font-size:20px;margin:0}
.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 20px;font-size:13px}
.active-filters>span{color:var(--muted)}
.filter-chip{display:inline-flex;align-items:center;gap:6px;background:#eaf3f8;color:#174c66;border:1px solid #c6dce8;border-radius:999px;padding:5px 11px}
.filter-chip:hover{text-decoration:none;background:#d9ebf4}
.filter-clear{color:var(--muted);text-decoration:underline}

/* Filtri nella colonna laterale */
.facets-disclosure{margin:0 0 18px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.facets-disclosure>summary{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;padding:2px 0 0;margin-bottom:12px;list-style:none;cursor:pointer}
.facets-disclosure>summary>span{padding-bottom:10px;border-bottom:3px solid #25a5d8}
.facets-disclosure>summary::-webkit-details-marker{display:none}
.facets-disclosure>summary::after{content:'−';font-size:20px;line-height:1;font-weight:400;color:#41484e}
.facets-disclosure:not([open]){padding-bottom:0}
.facets-disclosure:not([open])>summary{margin-bottom:6px}
.facets-disclosure:not([open])>summary::after{content:'+'}
/* Etichette “Filtra per / Apri i filtri”, “Categorie / Apri le categorie” */
.when-closed{display:none}
details:not([open])>summary>.when-open{display:none}
details:not([open])>summary>.when-closed{display:inline}
.when-closed small{font-size:13px;font-weight:400;color:var(--muted)}
/* Gruppi di filtri richiudibili */
.facet-box{margin:0 0 10px}
.facet-box>summary{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:16px;font-weight:600;padding:2px 0 8px;list-style:none;cursor:pointer}
.facet-box>summary::-webkit-details-marker{display:none}
.facet-box>summary::after{content:'−';font-weight:400;color:#7a8288}
.facet-box:not([open])>summary::after{content:'+'}
.facet-box>summary small{font-weight:400;color:var(--muted)}
.card-ref{color:var(--muted);font-size:12px;margin-right:2px}
.facets{margin:0}
.facet-group{border:0;margin:0 0 16px;padding:0;min-width:0}
.facet-group legend{font-size:16px;font-weight:600;padding:0;margin:0 0 8px}
.facet-group.facet-scroll{max-height:290px;overflow:auto;padding-right:4px}
.facet-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:5px 0;font-size:14px;font-weight:400;cursor:pointer;color:#2d3237}
.facet-option input{width:16px;height:16px;margin:0;padding:0;accent-color:#1f7aa8}
.facet-label{overflow-wrap:anywhere}
.facet-count{color:var(--muted);font-size:13px}
.facet-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px;font-size:13px}
.facet-actions [hidden]{display:none}

/* Testi formattati (descrizioni) */
.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}
.rich-text p{margin:0 0 .8em}
.rich-text ul,.rich-text ol{padding-left:1.3em;margin:0 0 .9em}
.rich-text li{margin:.2em 0}
.rich-text h2{font-size:21px;margin:1em 0 .5em}.rich-text h3{font-size:18px;margin:1em 0 .5em}.rich-text h4,.rich-text h5,.rich-text h6{font-size:16px;margin:1em 0 .4em}
.rich-text img{max-width:100%;height:auto}
.rich-text .cs-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center;margin:0 0 1em}.rich-text .cs-cols>*{min-width:0}
.rich-text .cs-mobile{display:none}.rich-text .cs-center{text-align:center}
.rich-text h2:empty,.rich-text h3:empty,.rich-text h4:empty,.rich-text h5:empty,.rich-text h6:empty{display:none}
@media(max-width:700px){.rich-text .cs-cols{grid-template-columns:minmax(0,1fr);gap:16px}.rich-text .cs-desktop{display:none}.rich-text .cs-mobile{display:block}}
/* In fondo alla home: un blocco per riga; i testi senza immagine stanno sullo sfondo della pagina, come nel vecchio tema. */
.home-blocks.zone-bottom[class]{grid-template-columns:minmax(0,1fr)}
.home-blocks.zone-bottom .home-block:not(.has-image){background:none;border:0;border-radius:0}.home-blocks.zone-bottom .home-block:not(.has-image) .home-block-body{padding:0}
.home-blocks.zone-bottom .home-block.has-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}
@media(max-width:800px){.home-blocks.zone-bottom .home-block.has-image{grid-template-columns:minmax(0,1fr)}}
.rich-text table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:14px}
.rich-text td,.rich-text th{border:1px solid var(--line);padding:6px 8px;text-align:left}
.rich-text blockquote{margin:0 0 1em;padding-left:14px;border-left:3px solid var(--line);color:#4c5660}
.lead.rich-text{font-size:15px;color:#4a545e;margin:0 0 18px}
.lead.rich-text p{margin:0 0 .5em}

/* Scheda prodotto: marca e caratteristiche */
.product-brand{margin:-6px 0 12px;font-size:13px;color:var(--muted);letter-spacing:.3px}
.product-brand strong{color:var(--ink);font-weight:600}
.product-facts-title{font-size:17px;margin:26px 0 10px}
.product-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.product-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:10px 14px;border-bottom:1px solid #eef0f2;background:#fff}
.product-facts dt{font-size:13px;color:var(--muted)}
.product-facts dd{margin:0;font-size:14px;font-weight:600;color:var(--ink)}

/* Pannello: caratteristiche e attributi */
.feature-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:12px 0 18px}
.feature-group{border:1px solid var(--line);border-radius:4px;padding:10px 14px;margin:0;min-width:0;background:#fff}
.feature-group[hidden]{display:none}
.feature-group legend{font-weight:650;font-size:13px;padding:0 4px}
.feature-group legend small{font-weight:400;color:var(--muted)}
.feature-group .check{margin:6px 0}
.facet-delete{display:inline-block;margin-left:8px;vertical-align:middle}
.facet-delete summary{cursor:pointer;font-size:12px;color:#a33a2b;display:inline}
.facet-delete form{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.facet-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid #0003;vertical-align:-2px;background:#ddd}

@media(max-width:800px){
  .category-intro h1{font-size:26px}
  .category-intro-body{grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px}
  .category-cover{width:110px;height:110px}
  .subcategory-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
}
@media(max-width:480px){
  .category-intro-body{grid-template-columns:1fr}
  .category-cover{width:96px;height:96px}
}

/* 0.5.0 · prezzi, disponibilità, carrello */
.offers td{vertical-align:middle}
.offer-price strong{font-size:17px;color:var(--ink)}
.offer-price s{color:#8a939b;font-size:13px;margin-right:2px}
.offer-price small,.excise-note{color:var(--muted);font-size:12px}
.stock-state{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:3px}
.stock-state.in{background:#e3f4e8;color:#1f6b39}.stock-state.order{background:#fff2d8;color:#7a520f}.stock-state.out{background:#f9e3e3;color:#922c2c}
.add-to-cart{display:flex;gap:8px;align-items:center;margin:0}
.add-to-cart input{width:84px;padding:8px}
.price-locked p{margin:.3em 0}
.card-price strong{font-size:15px;color:var(--ink)}.card-price small{color:var(--muted);font-size:11px}
.cart-link .cart-count{display:inline-block;min-width:20px;padding:1px 6px;border-radius:999px;background:#6cc04a;color:#10230a;font-weight:700;font-size:11px;text-align:center}
.cart-page h1{margin-bottom:20px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
.cart-table td{vertical-align:middle}
.cart-table tr.has-problem{background:#fff8f0}
.cart-item{display:flex;gap:12px;align-items:center}
.cart-item img{width:54px;height:60px;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:#fff;flex-shrink:0}
.cart-item .warning{margin:6px 0 0;font-size:12px}
.qty-input{width:84px;padding:8px}
.cart-actions{display:flex;gap:18px;align-items:center;margin:16px 0}
.cart-summary-box{background:#fff;border:1px solid var(--line);border-radius:4px;padding:20px;position:sticky;top:110px}
.cart-summary-box h2{font-size:19px;margin:0 0 14px}
.cart-summary-box dl{margin:0 0 16px}
.cart-summary-box dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #eef0f2;font-size:14px}
.cart-summary-box dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.cart-summary-box .sub{color:var(--muted);font-size:13px}
.cart-summary-box .total{font-weight:700;font-size:16px;border-bottom:0}
.checkout-button{width:100%;margin-top:6px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary-box{position:static}}

/* 0.5.0 · checkout e ordini */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.checkout-step h2{font-size:19px;display:flex;align-items:center;gap:10px;margin:0 0 14px}
.checkout-step h2 span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--blue,#236786);color:#fff;font-size:14px}
.choice-cards{display:grid;gap:10px}
.choice-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;font-weight:400}
.choice-card:has(input:checked){border-color:var(--blue,#236786);box-shadow:0 0 0 1px var(--blue,#236786) inset;background:#f4f9fc}
.choice-card input{width:18px;height:18px;margin:0;accent-color:var(--blue,#236786)}
.choice-card strong{display:block}.choice-card small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.choice-card b{font-size:14px;white-space:nowrap}
.new-address{margin-top:14px}.new-address summary{cursor:pointer;font-weight:600;color:var(--blue,#236786)}
.voucher-row{display:flex;gap:10px;align-items:flex-end}.voucher-row label{flex:1;margin:0}
.checkout-confirm .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.checkout-summary .summary-lines{list-style:none;padding:0;margin:0 0 12px;max-height:320px;overflow:auto;font-size:13px}
.checkout-summary .summary-lines li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #e6e9ec}
.checkout-summary .summary-lines small{color:var(--muted)}
.order-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.order-heading h1{margin:0}
.order-status{display:inline-block;padding:6px 12px;border:2px solid #6c757d;border-radius:4px;font-weight:700;font-size:13px;background:#fff}
.order-columns{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;margin-top:20px}
.order-columns .cart-summary-box{position:static}
.payment-box h2{font-size:18px;margin-top:0}
.pre-line{white-space:pre-line}
.document-list{padding-left:18px}
.pay-page{max-width:640px;margin:40px auto;text-align:center}
.account-orders td{vertical-align:middle}
@media(max-width:960px){.checkout-layout,.order-columns{grid-template-columns:1fr}}
[hidden]{display:none!important}
.order-columns h2,.order-page .panel h2{font-size:19px;margin-top:0}
.order-columns h3{font-size:16px}

.excise-ml{display:block;font-size:11px;color:var(--muted,#65757d);font-weight:400;margin-top:2px}

/* Home 0.5: slide, schede di prodotti, blocchi */
.home-slider{position:relative;margin:24px 0 8px;border-radius:12px;overflow:hidden;background:#eef2f6}
.home-slider .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.home-slider .slides::-webkit-scrollbar{display:none}
.home-slider .slide{flex:0 0 100%;scroll-snap-align:start;position:relative;display:block;color:inherit;text-decoration:none}
.home-slider .slide img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#fff}
.slide-caption{position:absolute;left:24px;bottom:24px;max-width:min(520px,80%);background:#ffffffe6;border-radius:8px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 20px #0002}
.slide-caption strong{font-size:20px;line-height:1.25}.slide-caption span{font-size:14px;color:#3f4c5c}.slide-caption .button{align-self:flex-start;margin-top:4px}
.slide-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%!important;padding:0!important;background:#ffffffd9;color:#20313f;font-size:24px;line-height:1;border:0;box-shadow:0 2px 8px #0003;cursor:pointer}
.slide-nav.prev{left:12px}.slide-nav.next{right:12px}
.home-tabs{margin:34px 0}
.home-tabs .tab-list{display:none;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line,#dfe5ec);margin-bottom:18px}
.home-tabs.tabs-ready .tab-list{display:flex}
.home-tabs .tab-list button{background:none;color:var(--muted,#5f6b7a);border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 14px;font-weight:650;font-size:15px;cursor:pointer}
.home-tabs .tab-list button[aria-selected=true]{color:var(--ink,#1d2939);border-bottom-color:var(--blue,#236786)}
.home-tabs.tabs-ready .tab-panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tab-panel-title{font-size:22px;margin:24px 0 12px}.tab-more{text-align:right;margin:10px 0 0}
.home-blocks{display:grid;gap:18px;margin:28px 0}.home-blocks.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.home-blocks.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.home-blocks.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-block{background:#fff;border:1px solid var(--line,#dfe5ec);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.home-block img{display:block;max-width:100%;height:auto;margin:0 auto}.home-block-body{padding:18px 20px}.home-block-body h2{font-size:20px;margin:0 0 8px}
.home-blocks.count-1 .home-block.has-image{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
@media(max-width:800px){.home-blocks.count-2,.home-blocks.count-3,.home-blocks.count-4,.home-blocks.count-1 .home-block.has-image{grid-template-columns:1fr}.slide-caption{position:static;max-width:none;border-radius:0;box-shadow:none}.slide-nav{display:none}}
/* Blocchi con aspetto “Fascia”: sfondo a tutta larghezza (ombra e ritaglio: niente scorrimento orizzontale), come nel vecchio sito */
.home-band{--band-bg:#e4e2e5;background:var(--band-bg);box-shadow:0 0 0 100vmax var(--band-bg);clip-path:inset(0 -100vmax);margin:36px 0;padding:34px 0;color:#111}
.home-band.bg-light{--band-bg:#f4f5f6}.home-band.bg-white{--band-bg:#fff}.home-band.bg-blue{--band-bg:#e9f1f6}
.home-band-inner{max-width:1240px;margin:0 auto}
.home-band.has-media .home-band-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.home-band.band-right .home-band-media{order:2}
.home-band.band-text .home-band-inner{max-width:920px}
.home-band-media img{display:block;width:100%;max-width:100%;height:auto;margin:0}
.home-band-text{min-width:0;max-width:640px}.home-band.has-cols .home-band-text,.home-band.band-text .home-band-text{max-width:none}
.home-band-title,.home-band .rich-text h2{font-size:19px;font-weight:700;color:#000;line-height:1.35;margin:0 0 .5em;text-align:left}
.home-band .rich-text h3{font-size:17px;color:#000}
.home-band .rich-text{font-size:17px;line-height:1.6;color:#111}
.home-band .rich-text a{color:inherit;text-decoration:none}.home-band .rich-text p a,.home-band .rich-text li a{text-decoration:underline}.home-band .rich-text a:hover{text-decoration:underline}
.home-band .rich-text h2:empty,.home-band .rich-text p:empty{display:none}
.home-band .rich-text .cs-cols{gap:clamp(24px,4vw,56px);margin:0}.home-band .rich-text .cs-cols img{display:block;width:100%;margin:0}
.home-band.band-right .rich-text .cs-cols{direction:rtl}.home-band.band-right .rich-text .cs-cols>*{direction:ltr}
.home-band-more{margin:14px 0 0}
@media(max-width:800px){.home-band{padding:24px 0}.home-band.has-media .home-band-inner{grid-template-columns:minmax(0,1fr)}.home-band.band-right .home-band-media{order:0}.home-band .rich-text{font-size:16px}.home-band-text{max-width:none}}
/* Registrazione */
.register-form h2{font-size:18px;margin:26px 0 10px}.register-form fieldset{border:0;padding:0;margin:0 0 6px}.register-form legend{font-weight:650;margin-bottom:8px}
.choice-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-cards.two .choice-card{grid-template-columns:auto minmax(0,1fr)}.choice-card small{display:block;color:var(--muted,#5f6b7a);font-size:12px}
.consents{margin:22px 0 14px;display:grid;gap:10px}.field-help{display:block;color:var(--muted,#5f6b7a);font-size:12px;margin-top:-10px;margin-bottom:12px}
.extra-field[hidden]{display:none}
@media(max-width:700px){.choice-cards.two{grid-template-columns:1fr}}
