/* Deckart — tema. Prima il telefono (375 px), poi si allarga a 768 e 1100. */

@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../fonts/dmsans-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../fonts/dmsans-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--carta: #ffffff;
	--sabbia: #f5f3ef;
	--pietra: #e6e2db;
	--inchiostro: #161616;
	--grafite: #45443f;
	--tenue: #6f6c66;
	--rovere: #8a6a45;
	--verde: #2e7d4f;
	--rosso: #b3261e;
	--raggio: 6px;
	--raggio-g: 12px;
	--font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--ombra: 0 1px 2px rgba(22, 22, 22, .06), 0 8px 24px rgba(22, 22, 22, .08);
	--margine: 16px;
	--testata-h: 64px;
	/* il plugin Deckart Core usa le stesse tinte */
	--dkc-nero: var(--inchiostro);
	--dkc-testo: var(--grafite);
	--dkc-tenue: var(--tenue);
	--dkc-bordo: var(--pietra);
	--dkc-fondo: var(--sabbia);
	--dkc-ok: var(--verde);
}
@media (min-width: 768px) { :root { --margine: 24px; --testata-h: 72px; } }
@media (min-width: 1100px) { :root { --margine: 32px; --testata-h: 80px; } }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--testata-h) + 12px); }
body.dkt { margin: 0; background: var(--carta); color: var(--inchiostro); font-family: var(--font); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
@media (min-width: 1100px) { body.dkt { font-size: 17px; } }
:where(.dkt) img { max-width: 100%; height: auto; display: block; }
:where(.dkt) a { color: inherit; text-underline-offset: 3px; }
:where(.dkt) :is(h1, h2, h3, h4) { font-family: var(--font); font-weight: 700; letter-spacing: -0.02em; line-height: 1.12; margin: 0 0 .5em; color: var(--inchiostro); text-transform: none; text-wrap: balance; }
:where(.dkt) h1 { font-size: clamp(32px, 7vw, 56px); }
:where(.dkt) h2 { font-size: clamp(24px, 4.2vw, 36px); }
:where(.dkt) h3 { font-size: 19px; letter-spacing: -0.01em; }
:where(.dkt) p { margin: 0 0 1em; }
.dkt :focus-visible { outline: 2px solid var(--rovere); outline-offset: 2px; border-radius: 3px; }
.dkt ::selection { background: #e9dcc8; }
.screen-reader-text, .salta:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.salta:focus { position: fixed; top: 8px; left: 8px; z-index: 100; background: var(--inchiostro); color: #fff; padding: 8px 12px; border-radius: var(--raggio); }
.contenitore { width: 100%; max-width: 1280px; margin: 0 auto; padding-left: max(var(--margine), env(safe-area-inset-left, 0px)); padding-right: max(var(--margine), env(safe-area-inset-right, 0px)); }
.ico { width: 22px; height: 22px; flex: none; }
.ico-s { width: 18px; height: 18px; }
.ico-xs { width: 14px; height: 14px; }
.occhiello { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rovere); margin: 0 0 10px; }
.stelle { color: #e8a400; letter-spacing: 1px; }
.solo-desktop { display: none !important; }
@media (min-width: 1100px) { .solo-desktop { display: flex !important; } .solo-mobile { display: none !important; } }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ---------- pulsanti ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 20px; border-radius: var(--raggio); border: 1.5px solid transparent; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s, transform .15s; text-transform: none; letter-spacing: 0; }
.btn:active { transform: translateY(1px); }
.btn-grande { min-height: 52px; padding: 12px 24px; font-size: 16px; }
.btn-scuro { background: var(--inchiostro); color: #fff !important; }
.btn-scuro:hover { background: #333; }
.btn-chiaro { background: #fff; color: var(--inchiostro) !important; }
.btn-chiaro:hover { background: var(--sabbia); }
.btn-linea { background: transparent; color: var(--inchiostro) !important; border-color: var(--inchiostro); }
.btn-linea:hover { background: var(--inchiostro); color: #fff !important; }
.icona-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 0; background: transparent; color: var(--inchiostro); border-radius: 50%; cursor: pointer; position: relative; padding: 0; text-decoration: none; }
.icona-btn:hover { background: var(--sabbia); }
.link-freccia { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; }
.link-freccia:hover .ico { transform: translateX(3px); }
.link-freccia .ico { transition: transform .15s; }

/* ---------- barra ---------- */
.barra { background: var(--inchiostro); color: #fff; font-size: 13.5px; }
.barra-in { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 38px; }
.barra p { margin: 0; display: flex; align-items: center; gap: 8px; }
.barra a { color: #fff; text-decoration: none; }
.barra a:hover { text-decoration: underline; }
.barra-contatti { display: none !important; }
.solo-largo { display: none; }
@media (min-width: 480px) { .solo-largo { display: inline; } }
.barra-contatti a { display: inline-flex; align-items: center; gap: 6px; }
@media (min-width: 768px) { .barra-in { justify-content: space-between; } .barra-contatti { display: flex !important; gap: 18px !important; } }

/* ---------- testata ---------- */
.testata { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--pietra); }
.testata-in { display: flex; align-items: center; gap: 8px; height: var(--testata-h); }
.logo { display: block; margin-right: auto; }
.logo img { width: 118px; height: auto; }
@media (min-width: 1100px) { .logo { margin-right: 0; } .logo img { width: 150px; } }
.testata-azioni { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.carrello-n { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; border-radius: 999px; background: var(--rovere); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; padding: 0 5px; }
.nav { margin-left: 28px; }
.nav-lista { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.nav-voce { position: relative; }
.nav-voce > a { display: inline-flex; align-items: center; gap: 4px; padding: 10px 12px; font-size: 15px; font-weight: 500; text-decoration: none; border-radius: var(--raggio); }
.nav-voce > a:hover, .nav-voce:focus-within > a { background: var(--sabbia); }
.nav-voce.is-evidenza > a { color: var(--verde); font-weight: 600; }
.nav-tendina { position: absolute; top: 100%; left: 0; min-width: 260px; padding: 10px; background: #fff; border: 1px solid var(--pietra); border-radius: var(--raggio-g); box-shadow: var(--ombra); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
.nav-voce:hover .nav-tendina, .nav-voce:focus-within .nav-tendina { opacity: 1; visibility: visible; transform: none; }
.nav-tendina ul { list-style: none; margin: 0; padding: 0; }
.nav-tendina > ul > li > a { display: block; padding: 8px 10px; border-radius: var(--raggio); text-decoration: none; }
.nav-tendina a:hover { background: var(--sabbia); }
.nav-nipoti { display: grid; grid-template-columns: 1fr 1fr; padding: 0 0 6px 10px !important; }
.nav-nipoti a { display: block; padding: 4px 10px; font-size: 14px; color: var(--grafite); text-decoration: none; border-radius: var(--raggio); }

/* ---------- menu Pavimenti: pannello largo con foto ---------- */
.nav { align-self: stretch; }
.nav-lista { height: 100%; }
/* la voce occupa tutta l'altezza della testata: scendendo verso il pannello il mouse non la lascia */
.nav-voce { display: flex; align-items: center; height: 100%; }
.nav-voce.ha-mega { position: static; }
.nav-mega { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-top: 1px solid var(--pietra); border-bottom: 1px solid var(--pietra); box-shadow: 0 28px 48px rgba(22, 22, 22, .10); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; transition-delay: .08s; }
.nav-voce.ha-mega:hover .nav-mega, .nav-voce.ha-mega:focus-within .nav-mega { opacity: 1; visibility: visible; transform: none; transition-delay: .12s; }
.nav-voce.ha-mega:hover > a, .nav-voce.ha-mega:focus-within > a { background: var(--sabbia); }
.nav-mega-in { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 36px; padding-top: 28px; padding-bottom: 32px; }
.nav-mega-linee { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nav-mega-linea { display: grid; align-content: start; gap: 2px; text-decoration: none; }
.nav-mega-foto { display: block; margin-bottom: 10px; border-radius: var(--raggio-g); overflow: hidden; background: var(--sabbia); aspect-ratio: 4 / 3; }
.nav-mega-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.nav-mega-linea:hover .nav-mega-foto img { transform: scale(1.04); }
.nav-mega-linea strong { font-size: 16.5px; letter-spacing: -.01em; }
.nav-mega-da { font-size: 14.5px; font-weight: 600; color: var(--rovere); }
.nav-mega-titolo { margin: 0 0 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); }
.nav-mega-elenco ul { display: grid; gap: 0; margin: 0 0 14px; padding: 0; list-style: none; }
.nav-mega-elenco li a { display: block; padding: 6px 0; font-size: 15.5px; color: var(--grafite); text-decoration: none; transition: color .15s, transform .15s; }
.nav-mega-elenco li a:hover { color: var(--inchiostro); transform: translateX(3px); }
.nav-mega-campioni { display: grid; align-content: start; gap: 6px; padding: 24px; border-radius: var(--raggio-g); background: var(--inchiostro); color: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.nav-mega-campioni:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(22, 22, 22, .25); }
.nav-mega-campioni > .ico { width: 30px; height: 30px; margin-bottom: 18px; color: #e9dcc8; }
.nav-mega-campioni strong { font-size: 20px; letter-spacing: -.01em; }
.nav-mega-campioni span { font-size: 14.5px; line-height: 1.45; color: rgba(255, 255, 255, .78); }
.nav-mega-campioni em { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 15px; font-weight: 700; font-style: normal; }
.nav-mega-campioni:hover em .ico { transform: translateX(3px); }
.nav-mega-campioni em .ico { transition: transform .15s; }
/* «Campioni gratis» fuori dal menu, accanto alla ricerca: pulsante sobrio con il bordo */
.testata-campioni { align-items: center; gap: 8px; min-height: 40px; margin-right: 8px; padding: 8px 16px; border: 1.5px solid var(--inchiostro); border-radius: 999px; font-size: 14.5px; font-weight: 600; text-decoration: none; color: var(--inchiostro); white-space: nowrap; transition: background .15s, color .15s; }
.testata-campioni:hover { background: var(--inchiostro); color: #fff; }
.nav-voce > a { white-space: nowrap; }
/* fra 1100 e 1279 px menu e pulsante stanno su una riga solo se si stringono un po' */
@media (min-width: 1100px) and (max-width: 1279px) {
	.logo img { width: 132px; }
	.nav { margin-left: 16px; }
	.nav-voce > a { padding-left: 8px; padding-right: 8px; font-size: 14.5px; }
	.testata-campioni { padding: 8px 12px; font-size: 14px; }
}

/* ---------- movimento: sezioni che entrano, conteggio che salta ---------- */
.da-rivelare { opacity: 0; transform: translateY(18px); }
.rivelato { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--ordine, 0) * 60ms); }
@keyframes salto { 0% { transform: scale(1); } 35% { transform: scale(1.35); } 100% { transform: scale(1); } }
.carrello-n.is-salto { animation: salto .45s cubic-bezier(.3, 1.6, .5, 1); }
.btn-scuro:hover { box-shadow: 0 6px 18px rgba(22, 22, 22, .18); }
.card-img { transition: box-shadow .25s ease; }
@media (hover: hover) { .card:hover .card-img { box-shadow: 0 10px 28px rgba(22, 22, 22, .12); } }

/* ---------- pannelli (menu telefono, ricerca) ---------- */
.pannello { border: 0; padding: 0; margin: 0; max-width: none; max-height: none; background: #fff; color: var(--inchiostro); }
.pannello::backdrop { background: rgba(22, 22, 22, .45); }
.pannello-sinistra { width: min(88vw, 380px); height: 100%; height: 100dvh; inset: 0 auto 0 0; display: none; flex-direction: column; }
.pannello-sinistra[open] { display: flex; animation: entra-sinistra .2s ease-out; }
@keyframes entra-sinistra { from { transform: translateX(-100%); } to { transform: none; } }
.pannello-testa { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px var(--margine); border-bottom: 1px solid var(--pietra); }
.pannello-testa img { width: 110px; height: auto; }
.pannello nav { flex: 1; overflow: auto; padding: 8px 0; }
.pannello-lista { list-style: none; margin: 0; padding: 0; }
.pannello-lista > li > a, .pannello-lista summary { display: flex; align-items: center; justify-content: space-between; padding: 14px var(--margine); font-size: 17px; font-weight: 600; text-decoration: none; cursor: pointer; list-style: none; border-bottom: 1px solid var(--sabbia); }
.pannello-lista summary::-webkit-details-marker { display: none; }
.pannello-lista details[open] summary .ico { transform: rotate(180deg); }
.pannello-lista details ul { list-style: none; margin: 0; padding: 4px 0 10px; background: var(--sabbia); }
.pannello-lista details li a { display: block; padding: 9px var(--margine) 9px calc(var(--margine) + 12px); text-decoration: none; }
.pannello-lista details li ul { background: transparent; padding: 0; }
.pannello-lista details li ul a { padding-left: calc(var(--margine) + 28px); font-size: 15px; color: var(--grafite); }
.pannello-lista .is-evidenza { color: var(--verde); }
.pannello-piede { display: grid; gap: 10px; padding: 16px var(--margine) max(16px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--pietra); }
.pannello-contatti { margin: 0; font-size: 13.5px; color: var(--tenue); text-align: center; }
.pannello-alto { width: 100%; inset: 0 0 auto 0; padding: 16px var(--margine) 18px; }
.pannello-alto[open] { animation: entra-alto .18s ease-out; }
@keyframes entra-alto { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- ricerca istantanea ---------- */
.pannello-alto .cerca, .pannello-alto .cerca-suggerimenti, .pannello-alto .cerca-risultati { max-width: 960px; }
.cerca-risultati { margin: 6px auto 0; max-height: calc(100vh - 160px); max-height: calc(100dvh - 160px); overflow: auto; overscroll-behavior: contain; }
.cerca-risultati:empty { display: none; }
.cr-titoletto { margin: 14px 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); }
.cr-attesa { margin: 14px 0; color: var(--tenue); }
.cr-categorie { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.cr-categorie .chip em { font-style: normal; font-size: 13px; color: var(--tenue); }
.cr-lista { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .cr-lista { grid-template-columns: 1fr 1fr; column-gap: 12px; } }
.cr-voce { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; text-decoration: none; transition: background .12s; }
.cr-voce:hover, .cr-voce.is-attivo { background: var(--sabbia); }
.cr-voce img, .cr-foto-vuota { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; background: var(--sabbia); }
.cr-testo { display: grid; min-width: 0; }
.cr-testo small { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tenue); }
.cr-testo strong { font-size: 15px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cr-testo mark { padding: 0 1px; border-radius: 2px; background: #f3e3c8; color: inherit; }
.cr-prezzo { font-size: 13.5px; text-align: right; white-space: nowrap; color: var(--grafite); }
.cr-prezzo b { font-size: 15px; color: var(--inchiostro); }
.cr-prezzo del { display: block; font-size: 12.5px; color: var(--tenue); }
.cr-prezzo em { font-style: normal; font-weight: 700; color: var(--rosso); }
.cr-tutti { display: inline-flex; margin: 12px 8px 4px; font-size: 15px; font-weight: 700; }
.cr-vuoto { margin-top: 14px; padding: 20px; border-radius: var(--raggio-g); background: var(--sabbia); }
.cr-vuoto p { margin: 0 0 12px; color: var(--grafite); }
/* telefono: il prezzo va sotto il nome, così il nome ha tutta la riga e si legge il colore in fondo */
@media (max-width: 767px) {
	.cr-voce { grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "foto testo" "foto prezzo"; row-gap: 2px; }
	.cr-voce img, .cr-foto-vuota { grid-area: foto; align-self: center; }
	.cr-testo { grid-area: testo; }
	.cr-prezzo { grid-area: prezzo; text-align: left; }
	.cr-prezzo del { display: inline; margin-right: 6px; }
	.cr-testo strong { -webkit-line-clamp: 3; }
}

/* ---------- carrello laterale ---------- */
html:has(dialog.pannello[open]) { overflow: hidden; }
.pannello-destra { width: min(100vw, 440px); height: 100%; height: 100dvh; inset: 0 0 0 auto; display: none; flex-direction: column; box-shadow: -16px 0 48px rgba(22, 22, 22, .18); }
.pannello-destra[open] { display: flex; animation: entra-destra .26s cubic-bezier(.2, .8, .2, 1); }
@keyframes entra-destra { from { transform: translateX(100%); } to { transform: none; } }
@keyframes appare { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes gira { to { transform: rotate(360deg); } }
.cl { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.cl-titolo { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.cl-titolo span { margin-left: 4px; font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--tenue); }
.cl-corpo { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 var(--margine) 20px; }
.cl.is-occupato .cl-corpo, .cl.is-occupato .cl-piede { opacity: .6; pointer-events: none; transition: opacity .15s .12s; }
.cl-messaggi { display: grid; gap: 8px; padding-top: 14px; }
.cl-messaggi:empty { display: none; }
.cl-messaggi p { margin: 0; }
.cl-ok { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: var(--raggio); background: #e8f3ec; color: var(--verde); font-size: 15px; font-weight: 600; animation: appare .3s ease-out; }
.cl-tolta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 12px; border-radius: var(--raggio); background: var(--sabbia); font-size: 14px; }
.cl-tolta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cl-tolta button { flex: none; min-height: 36px; padding: 4px 10px; border: 0; border-radius: var(--raggio); background: #fff; font: inherit; font-weight: 700; color: var(--inchiostro); cursor: pointer; }
.cl-errore { padding: 10px 12px; border-radius: var(--raggio); background: #fbeceb; color: var(--rosso); font-size: 14.5px; line-height: 1.4; }
.cl-errore-modulo { flex-basis: 100%; width: 100%; margin: 10px 0 0; }
.cl-righe { list-style: none; margin: 0; padding: 0; }
.cl-riga { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--pietra); transition: opacity .2s, transform .2s; }
.cl-riga:last-child { border-bottom: 0; }
.cl-riga.is-nuova { animation: riga-nuova 2s ease-out; border-radius: 4px; }
@keyframes riga-nuova { 0%, 35% { background: #f4eee5; box-shadow: 0 0 0 8px #f4eee5; } 100% { background: transparent; box-shadow: 0 0 0 8px transparent; } }
.cl-riga.is-uscita { opacity: .3; transform: translateX(12px); }
.cl-foto { display: block; width: 76px; height: 76px; border-radius: 10px; overflow: hidden; background: var(--sabbia); }
.cl-foto img { width: 100%; height: 100%; object-fit: cover; }
.cl-info { display: flex; flex-direction: column; min-width: 0; }
.cl-intesta { display: flex; align-items: flex-start; gap: 4px; }
.cl-nome { flex: 1; min-width: 0; margin: 0; font-size: 15px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cl-nome a { text-decoration: none; }
.cl-nome a:hover { text-decoration: underline; }
.cl-togli { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin: -6px -6px 0 0; border: 0; border-radius: 50%; background: none; color: var(--tenue); cursor: pointer; }
.cl-togli:hover { background: #fbeceb; color: var(--rosso); }
.cl-dettagli { list-style: none; margin: 4px 0 0; padding: 0; font-size: 13px; line-height: 1.45; color: var(--tenue); }
.cl-azioni { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 10px; }
.cl-passo { display: inline-flex; align-items: center; height: 38px; border: 1px solid var(--pietra); border-radius: 999px; background: #fff; }
.cl-passo button { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: none; color: var(--inchiostro); cursor: pointer; }
.cl-passo button:hover { background: var(--sabbia); }
.cl-passo input { width: 40px; height: 36px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 700; text-align: center; color: var(--inchiostro); -moz-appearance: textfield; appearance: textfield; }
.cl-passo input::-webkit-inner-spin-button, .cl-passo input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cl-prezzo { margin: 0 0 0 auto; font-size: 15.5px; font-weight: 700; white-space: nowrap; }
.cl-gratis { color: var(--verde); }
.cl-kit { margin-top: 18px; padding: 16px; border-radius: var(--raggio-g); background: var(--sabbia); }
.cl-kit h3 { margin: 0 0 2px; font-size: 16px; }
.cl-kit-per { margin: 0 0 12px; font-size: 13.5px; color: var(--tenue); }
.cl-kit ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cl-kit-voce { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px; border-radius: 10px; background: #fff; }
.cl-kit-foto { width: 44px; height: 44px; border-radius: 6px; overflow: hidden; background: var(--sabbia); }
.cl-kit-foto img { width: 100%; height: 100%; object-fit: cover; }
.cl-kit-testo { min-width: 0; font-size: 13.5px; line-height: 1.3; }
.cl-kit-testo strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; }
.cl-kit-testo small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tenue); }
/* come nella scheda: il profilo si propone, ma solo per chi ha un dislivello */
.cl-kit-tag { display: inline-block; margin-top: 3px; padding: 1px 7px; border-radius: 999px; background: var(--sabbia); color: var(--grafite); font-size: 11px; font-weight: 700; letter-spacing: .02em; line-height: 1.5; }
.cl-kit-aggiungi { --spin: var(--inchiostro); display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 6px 12px; border: 1.5px solid var(--inchiostro); border-radius: 999px; background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; white-space: nowrap; color: var(--inchiostro); cursor: pointer; transition: background .15s, color .15s; }
.cl-kit-aggiungi:hover { background: var(--inchiostro); color: #fff; }
.cl-kit-tutto { --spin: var(--inchiostro); width: 100%; min-height: 44px; margin-top: 10px; font-size: 14.5px; background: #fff; }
.cl-piede { display: grid; gap: 8px; padding: 14px var(--margine) max(14px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--pietra); background: #fff; }
.cl-riga-totale { display: flex; justify-content: space-between; gap: 12px; margin: 0; font-size: 15px; }
.cl-totale { font-size: 18px; font-weight: 700; }
.cl-sconto { color: var(--verde); }
.cl-nota { margin: -4px 0 4px; font-size: 13px; line-height: 1.4; color: var(--tenue); }
.cl-cassa { width: 100%; }
.cl-vedi { justify-self: center; padding: 6px; font-size: 14px; font-weight: 600; }
.cl-vuoto { display: grid; justify-items: center; gap: 12px; padding: 48px 4px 24px; text-align: center; }
.cl-vuoto-ico { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--sabbia); }
.cl-vuoto-ico .ico { width: 30px; height: 30px; }
.cl-vuoto p { max-width: 30ch; margin: 0 0 8px; color: var(--tenue); }
.cl-vuoto strong { display: block; margin-bottom: 4px; font-size: 18px; color: var(--inchiostro); }
.cl-vuoto .btn { width: 100%; max-width: 320px; }
.cl-ombra { display: block; height: 76px; margin-top: 16px; border-radius: 10px; background: linear-gradient(90deg, var(--sabbia) 25%, #ece8e1 50%, var(--sabbia) 75%); background-size: 200% 100%; animation: ombra 1.2s linear infinite; }
@keyframes ombra { to { background-position: -200% 0; } }
/* pulsante in attesa: il testo resta per la larghezza, si vede la rotella */
.is-caricamento { position: relative; color: transparent !important; pointer-events: none; }
.is-caricamento > * { visibility: hidden; }
.is-caricamento::after { content: ""; position: absolute; inset: 0; width: 20px; height: 20px; margin: auto; border-radius: 50%; border: 2.5px solid color-mix(in srgb, var(--spin, #fff) 30%, transparent); border-top-color: var(--spin, #fff); animation: gira .7s linear infinite; }
.cerca { display: flex; align-items: center; gap: 10px; max-width: 760px; margin: 0 auto; border-bottom: 2px solid var(--inchiostro); padding-bottom: 6px; }
.cerca input { flex: 1; min-width: 0; border: 0; font: inherit; font-size: 20px; padding: 8px 0; background: transparent; outline: none; }
.cerca-suggerimenti { max-width: 760px; margin: 10px auto 0; font-size: 14px; color: var(--tenue); }

/* ---------- sezioni ---------- */
.sezione { padding: 44px 0; }
@media (min-width: 1100px) { .sezione { padding: 72px 0; } }
.sezione-chiara { background: var(--sabbia); }
.sezione-testa { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.sezione-testa h2 { margin: 0; }
.banda-scura { background: var(--inchiostro); color: #fff; }
.banda-scura h2, .banda-scura .occhiello { color: #fff; }
.banda-scura .occhiello { opacity: .7; }

/* scorrimento orizzontale su telefono: le schede si vedono a metà, si capisce che si scorre */
.scorre, .scorre-mobile { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: calc(-1 * var(--margine)); margin-right: calc(-1 * var(--margine)); padding: 0 var(--margine) 4px; scroll-padding: 0 var(--margine); }
.scorre::-webkit-scrollbar, .scorre-mobile::-webkit-scrollbar { display: none; }
.scorre > *, .scorre-mobile > * { scroll-snap-align: start; }
.scorre-mobile { grid-auto-columns: 62%; }
/* la griglia delle schede ha due colonne fisse: nel nastro diventavano larghe 0 px e le prime
   due schede finivano sotto la terza («I più amati», «In offerta») */
@media (max-width: 767px) { .griglia-card.scorre-mobile { grid-template-columns: none; } }
@media (min-width: 768px) {
	.scorre { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); overflow: visible; margin: 0; padding: 0; }
	.scorre-mobile { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin: 0; padding: 0; }
}
@media (min-width: 1100px) { .scorre { grid-template-columns: repeat(4, 1fr); } .scorre-mobile { grid-template-columns: repeat(4, 1fr); gap: 20px; } }

/* ---------- hero: riquadro di foto dentro i margini della pagina, anche su telefono ---------- */
.hero { position: relative; display: flex; align-items: flex-end; width: calc(100% - 2 * var(--margine)); max-width: 1216px; min-height: 540px; margin: 12px auto 0; border-radius: 20px; background: #1d1c1a; color: #fff; overflow: hidden; isolation: isolate; }
.hero-foto { position: absolute; inset: 0; z-index: -1; }
.hero-foto img { width: 100%; height: 100%; object-fit: cover; animation: hero-entra 1.8s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes hero-entra { from { transform: scale(1.07); } to { transform: none; } }
.hero-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 13, 12, .12) 0%, rgba(14, 13, 12, .2) 28%, rgba(14, 13, 12, .78) 62%, rgba(14, 13, 12, .92) 100%); }
.hero-scura .hero-foto::after { background: linear-gradient(180deg, rgba(14, 13, 12, .4) 0%, rgba(14, 13, 12, .5) 28%, rgba(14, 13, 12, .88) 60%, rgba(14, 13, 12, .95) 100%); }
.dkt .hero-in { position: relative; width: 100%; padding: 120px 20px 22px; }
.hero-testo { max-width: 660px; }
.hero .occhiello { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 6px 12px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 999px; background: rgba(255, 255, 255, .12); backdrop-filter: blur(8px); color: #fff; font-size: 10.5px; letter-spacing: .04em; line-height: 1.3; }
.hero .occhiello::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #8fdcab; box-shadow: 0 0 0 3px rgba(143, 220, 171, .25); }
.dkt .hero-testo h1 { margin: 0 0 12px; color: #fff; font-size: clamp(34px, 9vw, 60px); line-height: 1.03; letter-spacing: -.035em; }
.hero-sotto { max-width: 34em; margin: 0; font-size: 16.5px; line-height: 1.5; color: rgba(255, 255, 255, .86); }
.hero-azioni { display: grid; gap: 10px; margin: 20px 0 16px; }
.hero .btn-scuro { background: #fff; color: var(--inchiostro) !important; }
.hero .btn-scuro:hover { background: var(--sabbia); box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.hero .btn-chiaro { border-color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .08); color: #fff !important; backdrop-filter: blur(6px); }
.hero .btn-chiaro:hover { background: rgba(255, 255, 255, .18); }
.hero-punti { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 16px; padding: 0; list-style: none; }
.hero-punti li { display: inline-flex; flex: none; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; white-space: nowrap; color: rgba(255, 255, 255, .92); }
.hero-punti .ico { color: #8fdcab; }
.hero-voto { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 12px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--grafite); font-size: 13.5px; }
.hero-voto strong { color: var(--inchiostro); }
.hero-voto-g { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--pietra); }
.hero-voto-g svg { width: 14px; height: 14px; }
.hero-scheda { display: none; }
/* telefono: i tre punti ripetono la frase sopra e l'etichetta va a capo, quindi niente punti e niente pastiglia */
@media (max-width: 767px) {
	.hero-punti { display: none; }
	.hero .occhiello { padding: 0; border: 0; background: none; backdrop-filter: none; }
	.hero-azioni { margin-bottom: 14px; }
}
@media (min-width: 768px) {
	.hero-azioni { display: flex; flex-wrap: wrap; }
	.hero-punti { gap: 8px 18px; margin-bottom: 18px; }
	.hero .occhiello { font-size: 11.5px; letter-spacing: .07em; }
}
@media (min-width: 1100px) {
	.hero { align-items: stretch; min-height: clamp(480px, calc(100svh - 280px), 580px); margin-top: 20px; border-radius: 24px; }
	.hero-foto::after { background: linear-gradient(90deg, rgba(14, 13, 12, .84) 0%, rgba(14, 13, 12, .58) 38%, rgba(14, 13, 12, .1) 70%), linear-gradient(0deg, rgba(14, 13, 12, .4) 0%, rgba(14, 13, 12, 0) 35%); }
	.hero-scura .hero-foto::after { background: linear-gradient(90deg, rgba(14, 13, 12, .92) 0%, rgba(14, 13, 12, .72) 45%, rgba(14, 13, 12, .35) 100%); }
	.dkt .hero-in { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 48px 56px; }
	.hero-sotto { font-size: 18px; }
	.hero .occhiello { font-size: 12.5px; }
	.hero-scheda { align-self: flex-end; display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; align-items: center; gap: 14px; width: 380px; flex: none; padding: 12px 16px 12px 12px; border-radius: 18px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(14px); color: var(--inchiostro); text-decoration: none; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); animation: scheda-entra .8s .6s cubic-bezier(.2, .8, .2, 1) both; transition: transform .25s ease, box-shadow .25s ease; }
	.hero-scheda:hover { transform: translateY(-4px); box-shadow: 0 30px 70px rgba(0, 0, 0, .32); }
	.hero-scheda-foto { width: 84px; height: 84px; border-radius: 12px; overflow: hidden; background: var(--sabbia); }
	.hero-scheda-foto img { width: 100%; height: 100%; object-fit: cover; }
	.hero-scheda-testo { display: grid; gap: 2px; min-width: 0; line-height: 1.3; }
	.hero-scheda-testo small { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rovere); }
	.hero-scheda-testo strong { font-size: 16px; }
	.hero-scheda-testo span { font-size: 14.5px; color: var(--grafite); }
	.hero-scheda-testo span b { color: var(--inchiostro); }
	.hero-scheda-vai { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--inchiostro); color: #fff; transition: transform .2s; }
	.hero-scheda:hover .hero-scheda-vai { transform: translateX(3px); }
}
@keyframes scheda-entra { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* ---------- collezioni: mosaico di foto ---------- */
.sezione-testa-testo { min-width: 0; }
@media (max-width: 767px) { .sezione-testa:has(.sezione-testa-testo) { flex-wrap: wrap; } .sezione-testa-testo { flex-basis: 100%; } }
.sezione-sotto { max-width: 46em; margin: 8px 0 0; font-size: 16px; color: var(--grafite); }
.collezione { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 420px; border-radius: var(--raggio-g); overflow: hidden; background: #2a2926; color: #fff; text-decoration: none; isolation: isolate; }
.collezione-foto { position: absolute; inset: 0; z-index: -1; }
.collezione-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.collezione-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 13, 12, 0) 30%, rgba(14, 13, 12, .8) 100%); }
.collezione:hover .collezione-foto img { transform: scale(1.05); }
.collezione-testo { display: grid; gap: 6px; padding: 20px; }
.collezione-testo strong { font-size: 22px; line-height: 1.15; letter-spacing: -.02em; }
/* solo la descrizione: dentro il prezzo ci sono altri span di WooCommerce */
.collezione-testo > span { font-size: 14.5px; line-height: 1.45; color: rgba(255, 255, 255, .86); }
.collezione-testo em { justify-self: start; margin-top: 6px; padding: 6px 12px; border-radius: 999px; background: #fff; font-size: 14px; font-style: normal; font-weight: 600; color: var(--grafite); }
.collezione-testo em b { color: var(--inchiostro); }
.collezione-vai { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--inchiostro); transition: transform .25s ease, background .25s; }
.collezione:hover .collezione-vai { transform: rotate(-45deg); background: #fff; }
.collezione-sconto { position: absolute; top: 16px; left: 16px; padding: 6px 12px; border-radius: 999px; background: var(--rosso); color: #fff; font-size: 14px; font-weight: 700; }
@media (min-width: 768px) and (max-width: 1099px) { .collezione { min-height: 380px; } }
@media (min-width: 1100px) {
	.collezioni.scorre { grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 310px 270px; gap: 16px; }
	.collezioni .collezione { min-height: 0; }
	.collezioni .collezione:nth-child(1) { grid-row: 1 / 3; }
	.collezioni .collezione:nth-child(1) .collezione-testo { padding: 28px; }
	.collezioni .collezione:nth-child(1) .collezione-testo strong { font-size: 34px; }
	.collezioni .collezione:nth-child(1) .collezione-testo span { font-size: 16px; max-width: 30em; }
	.collezioni .collezione:nth-child(4) { grid-column: 2 / 4; }
}

/* ---------- schede prodotto nelle liste ---------- */
.griglia-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
@media (min-width: 768px) { .griglia-card { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; } }
@media (min-width: 1100px) { .griglia-card { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.card { position: relative; display: grid; align-content: start; gap: 10px; min-width: 0; }
.card-img { position: relative; display: block; border-radius: var(--raggio-g); overflow: hidden; background: var(--sabbia); aspect-ratio: 1; }
.card-foto { width: 100%; height: 100%; object-fit: cover; transition: opacity .3s ease, transform .5s ease; }
.card-foto-2 { position: absolute; inset: 0; opacity: 0; }
@media (hover: hover) { .card:hover .card-foto-2 { opacity: 1; } .card:hover .card-foto:first-child { transform: scale(1.03); } }
.etichetta { position: absolute; top: 10px; left: 10px; font-size: 12.5px; font-weight: 700; padding: 3px 8px; border-radius: 4px; color: #fff; }
.etichetta-offerta { background: var(--rosso); }
.etichetta-gratis { background: var(--verde); }
.card-corpo { display: grid; gap: 3px; }
.card-linea { margin: 0; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tenue); }
.card-nome { margin: 0 !important; font-size: 15.5px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.card-nome a { text-decoration: none; }
.card-nome a::after { content: ""; position: absolute; inset: 0; }
.card-prezzo { margin: 2px 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.prezzo-grande { font-size: 18px; font-weight: 700; color: var(--inchiostro); font-variant-numeric: tabular-nums; }
.prezzo-unita, .prezzo-da { font-size: 14px; color: var(--tenue); }
.card-prezzo del { font-size: 14px; color: var(--tenue); }
.card-sotto { margin: 0; font-size: 13.5px; color: var(--tenue); }
.card-sotto .woocommerce-Price-amount { color: inherit; }
.scorre-mobile .card-nome { font-size: 15px !important; }

/* ---------- campioni in home ---------- */
.campioni-banda { display: grid; gap: 28px; align-items: center; }
.campioni-testo p { color: rgba(255, 255, 255, .82); font-size: 17px; max-width: 32em; }
.campioni-mosaico { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.campioni-mosaico img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.campioni-mosaico img:nth-child(n+9) { display: none; }
@media (min-width: 1100px) { .campioni-banda { grid-template-columns: 1fr 1.1fr; gap: 64px; } .campioni-mosaico { grid-template-columns: repeat(4, 1fr); transform: rotate(-2deg); } .campioni-mosaico img:nth-child(n+9) { display: block; } }

/* ---------- effetti ---------- */
.effetti { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1100px) { .effetti { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.effetto { position: relative; display: block; border-radius: var(--raggio-g); overflow: hidden; text-decoration: none; }
.effetto img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .4s ease; }
.effetto:hover img { transform: scale(1.04); }
.effetto span { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 10px 12px; background: #fff; border-radius: 8px; font-weight: 600; font-size: 15px; }

/* ---------- come funziona ---------- */
.passi-home { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: passo; }
@media (min-width: 768px) { .passi-home { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .passi-home { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.passi-home li { display: grid; gap: 6px; align-content: start; padding: 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); counter-increment: passo; position: relative; }
.passi-home li::after { content: counter(passo); position: absolute; top: 16px; right: 18px; font-size: 13px; font-weight: 700; color: var(--tenue); }
.passi-home .ico { width: 30px; height: 30px; color: var(--rovere); margin-bottom: 6px; }
.passi-home strong { font-size: 17px; }
.passi-home span { color: var(--grafite); font-size: 15px; line-height: 1.45; }

/* ---------- pagamenti, showroom ---------- */
.pagamenti { display: grid; gap: 24px; }
.pagamenti p { color: var(--grafite); max-width: 34em; }
.pagamenti-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pagamenti-lista li { display: grid; grid-template-columns: 32px 1fr; column-gap: 12px; padding: 14px 16px; background: #fff; border-radius: var(--raggio-g); }
.pagamenti-lista .ico { grid-row: span 2; width: 28px; height: 28px; color: var(--rovere); }
.pagamenti-lista span { color: var(--tenue); font-size: 14.5px; }
@media (min-width: 1100px) { .pagamenti { grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; } }
.showroom { display: grid; gap: 18px; padding: 28px var(--margine); background: var(--sabbia); border-radius: var(--raggio-g); }
.showroom p { color: var(--grafite); margin: 0; }
.showroom-azioni { display: grid; gap: 10px; }
@media (min-width: 768px) { .showroom-azioni { display: flex; flex-wrap: wrap; } }
@media (min-width: 1100px) { .showroom { grid-template-columns: 1.2fr 1fr; align-items: center; padding: 44px 48px; } .showroom-azioni { justify-content: flex-end; } }
.recensioni .dkr-head__total, .recensioni .dkr-attr { color: var(--tenue); }

/* ---------- garanzie e piè di pagina ---------- */
.garanzie { border-top: 1px solid var(--pietra); padding: 28px 0; }
.garanzie-in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
@media (min-width: 1100px) { .garanzie-in { grid-template-columns: repeat(4, 1fr); } }
.garanzia { display: flex; gap: 12px; align-items: flex-start; }
.garanzia .ico { color: var(--rovere); width: 26px; height: 26px; margin-top: 2px; }
.garanzia p { margin: 0; font-size: 14px; color: var(--tenue); line-height: 1.4; }
.garanzia strong { display: block; color: var(--inchiostro); font-size: 15px; }
.piede { background: var(--inchiostro); color: rgba(255, 255, 255, .78); font-size: 15px; padding: 44px 0 max(24px, env(safe-area-inset-bottom, 0px)); }
.piede a { color: #fff; text-decoration: none; }
.piede a:hover { text-decoration: underline; }
.piede-in { display: grid; gap: 28px; }
@media (min-width: 768px) { .piede-in { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .piede-in { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; } }
.piede-marchio img { width: 150px; filter: brightness(0) invert(1); margin-bottom: 14px; }
.piede-social { display: flex; gap: 16px; }
.piede-titolo { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: rgba(255, 255, 255, .6) !important; margin: 0 0 12px !important; }
.piede ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.piede-contatti li { display: flex; gap: 10px; align-items: flex-start; }
.piede-contatti .ico { margin-top: 3px; opacity: .7; }
.piede-fondo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 36px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13.5px; }
.piede-fondo p { margin: 0; }
.piede-pagamenti { display: flex; gap: 6px; flex-wrap: wrap; }
.piede-pagamenti span { border: 1px solid rgba(255, 255, 255, .25); border-radius: 4px; padding: 2px 8px; font-size: 12px; }
/* «Diritto di recesso» (plugin EU Withdrawal Button) dentro il piè di pagina: ben visibile, non rosso */
.piede .piede-recesso { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.piede .piede-recesso:hover { color: #e9dcc8; text-decoration: none; }
/* la barra del recesso nell'account, con i colori del tema; la pagina lascia lo spazio per non coprire il piè */
.dkt .ra-euwb-sticky-bar { padding: 10px 0; border: 0; background: var(--inchiostro); font-family: var(--font); box-shadow: 0 -8px 24px rgba(22, 22, 22, .15); }
.dkt .ra-euwb-sticky-bar__text { color: rgba(255, 255, 255, .88); font-size: 14.5px; }
.dkt .ra-euwb-sticky-bar .ra-euwb-withdrawal-trigger { min-height: 40px; padding: 8px 16px; border: 0; border-radius: var(--raggio); background: #fff; color: var(--inchiostro); font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.dkt .ra-euwb-sticky-bar__close { color: rgba(255, 255, 255, .7); }
.dkt .ra-euwb-sticky-bar__close:hover, .dkt .ra-euwb-sticky-bar__close:focus { color: #fff; outline-color: var(--rovere); }
body.dkt:has(.ra-euwb-sticky-bar--bottom:not(.ra-euwb-sticky-bar--hidden)) .piede { padding-bottom: 72px; }

/* ---------- pagine e briciole ---------- */
.pagina { padding-top: 20px; padding-bottom: 56px; }
.pagina-titolo { margin-top: 6px; }
.pagina-testo { max-width: 72ch; }
.pagina-negozio .pagina-testo, .pagina-elementor .pagina-testo { max-width: none; }
.briciole { font-size: 13.5px; color: var(--tenue); display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 8px; }
.briciole a { color: var(--tenue); text-decoration: none; }
.briciole a:hover { color: var(--inchiostro); text-decoration: underline; }
.azioni-404 { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- catalogo ---------- */
.catalogo-testa { padding-top: 18px; }
.catalogo-testa h1 { margin: 4px 0 8px; font-size: clamp(30px, 6vw, 44px); }
.catalogo-descrizione { color: var(--grafite); max-width: 70ch; }
.scorciatoie { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 6px 0 2px; margin: 8px calc(-1 * var(--margine)) 0; padding-left: var(--margine); padding-right: var(--margine); }
.scorciatoie::-webkit-scrollbar { display: none; }
.chip { display: inline-flex; align-items: center; gap: 6px; flex: none; min-height: 38px; padding: 7px 14px; border: 1px solid var(--pietra); border-radius: 999px; background: #fff; font: inherit; font-size: 14.5px; font-weight: 500; color: var(--inchiostro); text-decoration: none; cursor: pointer; white-space: nowrap; }
.chip:hover { border-color: var(--inchiostro); }
.chip.is-attivo { background: var(--inchiostro); border-color: var(--inchiostro); color: #fff; }
.chip-togli::after { content: "×"; font-size: 17px; line-height: 1; color: var(--tenue); }
.catalogo { display: grid; gap: 24px; padding-top: 18px; padding-bottom: 56px; }
@media (min-width: 1100px) {
	.catalogo.con-filtri { grid-template-columns: 250px minmax(0, 1fr); gap: 40px; }
	/* senza filtri la griglia ha tutta la larghezza: quattro colonne come in home */
	.catalogo:not(.con-filtri) .griglia-catalogo { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.catalogo-barra { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.catalogo-conta { margin: 0 auto 0 0; color: var(--tenue); font-size: 14.5px; }
.ordina select { font: inherit; font-size: 14.5px; min-height: 42px; padding: 8px 34px 8px 12px; border: 1px solid var(--pietra); border-radius: var(--raggio); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161616' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px; appearance: none; color: var(--inchiostro); }
.filtri-apri { min-height: 42px; padding: 8px 14px; font-size: 14.5px; }
.filtri-attivi { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 999px; background: var(--rovere); color: #fff; font-size: 12px; }
.chip-attivi { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.chip-attivi:empty { display: none; }
.griglia-catalogo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .griglia-catalogo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.catalogo-vuoto { padding: 28px; background: var(--sabbia); border-radius: var(--raggio-g); }
.catalogo-vuoto p:last-child { margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }

/* filtri: a sinistra su desktop, pannello dal basso su telefono */
.filtri { align-self: start; }
.filtri-testa { display: flex; align-items: center; justify-content: space-between; min-height: 44px; }
.filtri-testa strong { font-size: 17px; }
.faccetta { border-top: 1px solid var(--pietra); padding: 4px 0; }
.faccetta summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font-weight: 600; cursor: pointer; list-style: none; }
.faccetta summary::-webkit-details-marker { display: none; }
.faccetta[open] summary .ico { transform: rotate(180deg); }
.faccetta-valori { display: grid; gap: 2px; padding-bottom: 10px; }
.filtro-voce, .filtro-interruttore { display: flex; align-items: center; gap: 10px; padding: 7px 0; cursor: pointer; font-size: 15px; }
.filtro-voce input, .filtro-interruttore input { width: 18px; height: 18px; margin: 0; accent-color: var(--inchiostro); flex: none; }
.filtro-voce span { flex: 1; }
.filtro-voce em { font-style: normal; font-size: 13px; color: var(--tenue); font-variant-numeric: tabular-nums; }
.filtro-voce.is-vuoto { opacity: .4; cursor: default; }
.filtro-interruttore { font-weight: 600; padding: 10px 0 12px; }
.filtri-piede { display: none; }
@media (max-width: 1099px) {
	.filtri { position: fixed; inset: auto 0 0 0; z-index: 60; max-height: 86vh; max-height: 86dvh; display: flex; flex-direction: column; background: #fff; border-radius: 16px 16px 0 0; box-shadow: 0 -10px 40px rgba(0, 0, 0, .2); transform: translateY(105%); transition: transform .25s ease; visibility: hidden; }
	.filtri.is-aperto { transform: none; visibility: visible; }
	.filtri-testa { padding: 8px 8px 8px var(--margine); border-bottom: 1px solid var(--pietra); }
	.filtri-corpo { overflow: auto; padding: 0 var(--margine); flex: 1; }
	.filtri-piede { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; padding: 12px var(--margine) max(12px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--pietra); }
	.blocca-scorrimento { overflow: hidden; }
	.blocca-scorrimento body::after { content: ""; position: fixed; inset: 0; z-index: 55; background: rgba(22, 22, 22, .4); }
}
@media (min-width: 1100px) { .filtri { position: sticky; top: calc(var(--testata-h) + 16px); max-height: calc(100vh - var(--testata-h) - 32px); overflow: auto; padding-right: 4px; } .filtri-apri { display: none; } }

/* ---------- avvisi WooCommerce (senza i fogli di stile di WooCommerce) ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 16px; padding: 12px 16px; border-radius: var(--raggio); background: var(--sabbia); border-left: 4px solid var(--verde); font-size: 15px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.woocommerce-error { border-left-color: var(--rosso); background: #fbeceb; display: block; }
.woocommerce-info { border-left-color: var(--rovere); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; display: inline-flex; align-items: center; min-height: 38px; padding: 6px 14px; border-radius: var(--raggio); background: var(--inchiostro); color: #fff; text-decoration: none; font-weight: 600; font-size: 14px; }

/* ---------- scheda prodotto ---------- */
.scheda { padding-top: 12px; padding-bottom: 32px; }
.scheda-alto { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
@media (min-width: 1100px) {
	.scheda-alto { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 0 56px; align-items: start; }
	.scheda-alto > .galleria { position: sticky; top: calc(var(--testata-h) + 16px); }
}
.galleria { position: relative; margin: 0 calc(-1 * var(--margine)); min-width: 0; }
@media (min-width: 1100px) { .galleria { margin: 0; } }
.galleria-binario { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; background: var(--sabbia); }
.galleria-binario::-webkit-scrollbar { display: none; }
@media (min-width: 1100px) { .galleria-binario { border-radius: var(--raggio-g); } }
.galleria-foto { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1; display: block; cursor: zoom-in; }
.galleria-foto img { width: 100%; height: 100%; object-fit: cover; }
.galleria-conta { position: absolute; right: 12px; top: 12px; margin: 0; padding: 3px 10px; border-radius: 999px; background: rgba(22, 22, 22, .66); color: #fff; font-size: 13px; font-variant-numeric: tabular-nums; }
.galleria-freccia { position: absolute; top: calc(50% - 60px); background: rgba(255, 255, 255, .9); box-shadow: var(--ombra); display: none; }
.galleria-prec { left: 12px; }
.galleria-succ { right: 12px; }
@media (min-width: 1100px) { .galleria-freccia { display: inline-grid; } }
.galleria-miniature { display: none; }
@media (min-width: 1100px) {
	.galleria-miniature { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 10px; }
	.galleria-miniature button { padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; background: var(--sabbia); aspect-ratio: 1; }
	.galleria-miniature button[aria-current="true"] { border-color: var(--inchiostro); }
	.galleria-miniature img { width: 100%; height: 100%; object-fit: cover; }
}
.lightbox { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(12, 12, 12, .94); }
.lightbox[open] { display: grid; place-items: center; }
.lightbox img { max-width: 94vw; max-height: 88vh; object-fit: contain; }
.lightbox .icona-btn { position: absolute; background: rgba(255, 255, 255, .92); }
.lightbox-chiudi { top: 14px; right: 14px; }
.lightbox-prec { left: 14px; top: 50%; }
.lightbox-succ { right: 14px; top: 50%; }

.scheda .summary { min-width: 0; }
.scheda .summary .briciole { margin-bottom: 6px; }
.scheda .product_title { font-size: clamp(26px, 5.4vw, 36px); margin: 0 0 6px; }
.voto-scheda { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--grafite); text-decoration: none; margin-bottom: 10px; }
.voto-scheda:hover { text-decoration: underline; }
.dati-rapidi { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dati-rapidi li { font-size: 13px; padding: 4px 10px; border-radius: 999px; background: var(--sabbia); color: var(--grafite); }
.scheda .summary > .price { font-size: 26px; font-weight: 700; margin: 4px 0 14px; }
.scheda .summary > .price del { font-size: 18px; color: var(--tenue); font-weight: 400; }
.scheda .summary > .price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--grafite); font-size: 15.5px; margin: 18px 0 0; }
.stock { font-size: 14px; color: var(--verde); margin: 0 0 8px; }
.stock.out-of-stock { color: var(--rosso); }

/* modulo carrello senza gli stili di WooCommerce */
form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 0 0 14px; }
form.cart .quantity { display: flex; }
form.cart .qty, .woocommerce-cart-form .qty { width: 76px; min-height: 52px; font: inherit; font-size: 17px; font-weight: 600; text-align: center; border: 1.5px solid var(--pietra); border-radius: var(--raggio); background: #fff; color: var(--inchiostro); }
.dkt form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 52px; padding: 12px 20px; border: 0; border-radius: var(--raggio); background: var(--inchiostro); color: #fff; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; text-transform: none; letter-spacing: 0; }
.dkt form.cart .single_add_to_cart_button:hover { background: #333; }
form.cart .single_add_to_cart_button.disabled, form.cart .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.dkc-etichetta-quantita { display: none; }
table.variations { border-collapse: collapse; width: 100%; margin: 0 0 12px; }
table.variations th, table.variations td { display: block; text-align: left; padding: 0; border: 0; }
table.variations th label { font-size: 14px; font-weight: 600; display: block; margin-bottom: 6px; }
table.variations select { width: 100%; font: inherit; font-size: 15px; min-height: 48px; padding: 10px 36px 10px 12px; border: 1.5px solid var(--pietra); border-radius: var(--raggio); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161616' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px; appearance: none; color: var(--inchiostro); }
.reset_variations { display: inline-block; margin-top: 6px; font-size: 13.5px; color: var(--tenue); }
.single_variation_wrap { width: 100%; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }

.rassicurazioni { list-style: none; margin: 18px 0 12px; padding: 0; display: grid; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
.rassicurazioni li { display: flex; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--pietra); font-size: 14px; color: var(--tenue); line-height: 1.4; }
.rassicurazioni li:last-child { border-bottom: 0; }
.rassicurazioni .ico { color: var(--rovere); margin-top: 1px; }
.rassicurazioni strong { display: block; color: var(--inchiostro); font-size: 14.5px; }
.aiuto-whatsapp { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: var(--raggio-g); background: #edf6f0; color: var(--inchiostro); text-decoration: none; font-size: 14px; line-height: 1.4; }
.aiuto-whatsapp .ico { color: #1f8f4e; width: 28px; height: 28px; }
.aiuto-whatsapp strong { display: block; font-size: 14.5px; }
.aiuto-whatsapp:hover { background: #e2f0e7; }

.sezioni-scheda { display: grid; margin-top: 40px; border-top: 1px solid var(--pietra); }
.sezione-scheda { padding: 28px 0; border-bottom: 1px solid var(--pietra); }
.sezione-scheda h2 { font-size: 24px; margin-bottom: 14px; }
.sezione-scheda-testo { color: var(--grafite); }
.sezione-scheda-testo img { border-radius: var(--raggio); }
.woocommerce-product-attributes { width: 100%; max-width: 760px; border-collapse: collapse; font-size: 15px; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--pietra); vertical-align: top; }
.woocommerce-product-attributes th { width: 40%; font-weight: 600; color: var(--inchiostro); }
.woocommerce-product-attributes td p { margin: 0; }
.woocommerce-product-attributes td .varianti-elenco { margin-top: 4px; color: var(--tenue); font-size: 14px; }
.recensioni-scheda { padding: 36px 0 12px; }
.nota-recensioni { color: var(--tenue); font-size: 14px; }
.correlati { padding: 32px 0 8px; }

.barra-scheda { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; gap: 12px; padding: 10px max(var(--margine), env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(var(--margine), env(safe-area-inset-left, 0px)); background: #fff; border-top: 1px solid var(--pietra); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08); }
.barra-scheda p { margin: 0; flex: 1; min-width: 0; display: grid; line-height: 1.25; }
.barra-scheda-nome { font-size: 13px; color: var(--tenue); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.barra-scheda strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.barra-scheda .btn { min-height: 46px; padding: 10px 22px; }
@media (min-width: 1100px) { .barra-scheda { display: none !important; } }
body.single-product .piede { padding-bottom: 96px; }
@media (min-width: 1100px) { body.single-product .piede { padding-bottom: 24px; } }
#payment-method-message:empty { display: none; }

/* ---------- carrello, cassa, account: sopra gli stili di WooCommerce ---------- */
.pagina-negozio .pagina-titolo { font-size: clamp(30px, 6vw, 44px); }
.dkt .pagina-negozio .button, .dkt .dkc-kit-carrello .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 18px; border: 1.5px solid var(--inchiostro); border-radius: var(--raggio);
	background: #fff; color: var(--inchiostro); font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; text-decoration: none; cursor: pointer;
}
.dkt .pagina-negozio .button:hover, .dkt .dkc-kit-carrello .button:hover { background: var(--inchiostro); color: #fff; }
.dkt .pagina-negozio .button.alt, .dkt .pagina-negozio a.checkout-button, .dkt #place_order, .dkt .dkc-kit-carrello .button.alt { background: var(--inchiostro); color: #fff; border-color: var(--inchiostro); }
.dkt .pagina-negozio .button.alt:hover, .dkt #place_order:hover { background: #333; }
.dkt .pagina-negozio .button:disabled, .dkt .pagina-negozio .button.disabled { opacity: .4; cursor: not-allowed; }
.dkt .woocommerce a.checkout-button { width: 100%; min-height: 56px; font-size: 17px; margin: 0; }
.dkt #place_order { width: 100%; min-height: 56px; font-size: 17px; }

.dkt .woocommerce table.shop_table { border: 1px solid var(--pietra); border-radius: var(--raggio-g); border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; margin: 0 0 24px; }
.dkt .woocommerce table.shop_table th { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--tenue); background: var(--sabbia); padding: 12px 14px; }
.dkt .woocommerce table.shop_table td { padding: 14px; border-top: 1px solid var(--pietra); vertical-align: middle; }
.dkt .woocommerce table.shop_table td.product-name a { font-weight: 600; text-decoration: none; }
.dkt .woocommerce table.shop_table td.product-name dl.variation { margin: 6px 0 0; font-size: 14px; color: var(--grafite); display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; }
.dkt .woocommerce table.shop_table td.product-name dl.variation dt, .dkt .woocommerce table.shop_table td.product-name dl.variation dd { margin: 0; float: none; }
.dkt .woocommerce table.shop_table td.product-name dl.variation dd p { margin: 0; }
.dkt .woocommerce table.shop_table .product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }
.dkt .woocommerce a.remove { color: var(--tenue) !important; font-size: 22px; font-weight: 400; width: 32px; height: 32px; line-height: 30px; border-radius: 50%; }
.dkt .woocommerce a.remove:hover { background: #fbeceb; color: var(--rosso) !important; }
.dkt .woocommerce .actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.dkt .woocommerce .actions .coupon .input-text, .dkt .woocommerce form .input-text, .dkt .woocommerce form .form-row .input-text, .dkt .woocommerce form .form-row input.input-text, .dkt .woocommerce form .form-row textarea, .dkt .woocommerce form select, .dkt .woocommerce form textarea, .dkt .select2-container .select2-selection--single {
	min-height: 48px; padding: 10px 12px; border: 1.5px solid var(--pietra); border-radius: var(--raggio); font: inherit; font-size: 16px; background: #fff; color: var(--inchiostro); box-shadow: none;
}
.dkt .woocommerce .actions .coupon .input-text { width: 180px !important; }
.dkt .woocommerce form .input-text:focus, .dkt .woocommerce form .form-row input.input-text:focus, .dkt .woocommerce form select:focus { border-color: var(--inchiostro); outline: none; }
.dkt .select2-container .select2-selection--single { height: auto; display: flex; align-items: center; }
.dkt .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.dkt .woocommerce form .form-row label { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.dkt .woocommerce form .form-row { margin-bottom: 14px; }

.dkt .woocommerce .cart-collaterals .cart_totals, .dkt #order_review { background: var(--sabbia); border-radius: var(--raggio-g); padding: 20px; }
.dkt .woocommerce .cart-collaterals .cart_totals h2, .dkt #order_review_heading { font-size: 22px; }
.dkt .woocommerce .cart_totals table.shop_table, .dkt #order_review table.shop_table { background: #fff; }
.dkt .woocommerce .cart_totals .order-total td, .dkt #order_review .order-total td { font-size: 20px; font-weight: 700; }
.dkt .woocommerce ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.dkt .woocommerce ul#shipping_method li { margin: 0 0 6px; }
.dkt .woocommerce-checkout #payment { background: #fff; border-radius: var(--raggio-g); }
.dkt .woocommerce-checkout #payment div.payment_box { background: var(--sabbia); }
.dkt .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--sabbia); }
.dkt .woocommerce .woocommerce-info, .dkt .woocommerce .woocommerce-message, .dkt .woocommerce .woocommerce-error { border-top: 0; }
.dkt .woocommerce .woocommerce-info::before, .dkt .woocommerce .woocommerce-message::before, .dkt .woocommerce .woocommerce-error::before { display: none; }
.dkt .dkc-kit-carrello { border-color: var(--pietra); }

/* telefono: righe del carrello come schede */
@media (max-width: 768px) {
	.dkt .woocommerce table.shop_table_responsive tr td { padding: 10px 14px; }
	.dkt .woocommerce table.shop_table_responsive tr td.product-remove { text-align: right; }
	.dkt .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: #fff; }
	/* nei totali, sul fondo sabbia, la riga «Spedizione» restava una fascia bianca */
	.dkt .woocommerce .cart_totals table.shop_table_responsive tr:nth-child(2n) td { background: none; }
	.dkt .woocommerce .actions .coupon { width: 100%; }
	.dkt .woocommerce .actions .coupon .input-text { flex: 1; width: auto !important; }
	.dkt .woocommerce .actions > .button { width: 100%; margin-top: 8px; }
	.dkt .woocommerce .cart-collaterals .cart_totals { padding: 16px; }
}

.dkt .dkc-selettore .dkc-cta { min-height: 52px; border: 0; border-radius: var(--raggio); background: var(--inchiostro); color: #fff; font: inherit; font-weight: 700; font-size: 16px; padding: 12px 18px; cursor: pointer; }
.dkt .dkc-selettore .dkc-cta:disabled { background: #fff; color: var(--tenue); box-shadow: inset 0 0 0 1.5px var(--pietra), 0 4px 18px rgba(0,0,0,.12); cursor: default; }
.dkt .dkc-box-vai { min-height: 46px; padding: 10px 18px; border: 1.5px solid var(--inchiostro); border-radius: var(--raggio); text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; }
.card-foto-2:not([src]) { display: none; }

/* ---------- documenti da scaricare (manuali nella scheda) ---------- */
.scarica-lista { display: grid; gap: 12px; margin: 4px 0 12px; }
@media (min-width: 768px) { .scarica-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.scarica { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 14px 14px 16px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); background: #fff; color: var(--inchiostro); text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.scarica:hover { border-color: var(--inchiostro); transform: translateY(-2px); box-shadow: var(--ombra); }
.scarica-tipo { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 10px; background: #fbeceb; color: var(--rosso); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.scarica-testo { display: grid; gap: 2px; min-width: 0; }
.scarica-testo strong { font-size: 15.5px; line-height: 1.3; }
.scarica-testo small { font-size: 13.5px; color: var(--tenue); }
.scarica-vai { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--sabbia); color: var(--inchiostro); transition: background .15s, color .15s; }
.scarica:hover .scarica-vai { background: var(--inchiostro); color: #fff; }

/* ---------- carrello: righe come schede, totali a lato ---------- */
@media (min-width: 1000px) {
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; align-items: start; }
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-cart-form) > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.dkt .woocommerce .cart-collaterals { position: sticky; top: calc(var(--testata-h) + 20px); }
}
.dkt .woocommerce .cart-collaterals, .dkt .woocommerce .cart-collaterals .cart_totals, .dkt .woocommerce .cart-collaterals .cross-sells { float: none; width: auto; }
.dkt .woocommerce .cart-collaterals::before, .dkt .woocommerce .cart-collaterals::after { display: none; }
.dkt .woocommerce table.shop_table.cart { display: block; margin: 0; border: 0; border-radius: 0; overflow: visible; }
.dkt .woocommerce table.shop_table.cart thead { display: none; }
.dkt .woocommerce table.shop_table.cart tbody { display: block; }
.dkt .woocommerce table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; grid-template-areas: "foto nome togli" "foto qta totale"; column-gap: 16px; row-gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--pietra); }
.dkt .woocommerce table.shop_table.cart tr.cart_item:first-child { padding-top: 4px; }
.dkt .woocommerce table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; background: none; text-align: left !important; }
.dkt .woocommerce table.shop_table.cart tr.cart_item td::before { display: none; }
.dkt .woocommerce table.shop_table.cart td.product-thumbnail { grid-area: foto; display: block !important; }
.dkt .woocommerce table.shop_table.cart td.product-thumbnail img { width: 96px; height: 96px; border-radius: 10px; object-fit: cover; background: var(--sabbia); }
.dkt .woocommerce table.shop_table.cart td.product-name { grid-area: nome; min-width: 0; font-size: 16px; line-height: 1.3; }
.dkt .woocommerce table.shop_table.cart td.product-name dl.variation { display: block; margin: 6px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--tenue); }
.dkt .woocommerce table.shop_table.cart td.product-name dl.variation dt, .dkt .woocommerce table.shop_table.cart td.product-name dl.variation dd { display: inline; margin: 0; padding: 0; font-weight: 400; }
.dkt .woocommerce table.shop_table.cart td.product-name dl.variation dd::after { content: ""; display: block; }
.dkt .woocommerce table.shop_table.cart td.product-name dl.variation dd p { display: inline; margin: 0; }
.dkt .woocommerce table.shop_table.cart td.product-remove { grid-area: togli; }
.dkt .woocommerce table.shop_table.cart td.product-price { display: none !important; }
.dkt .woocommerce table.shop_table.cart td.product-quantity { grid-area: qta; align-self: center; }
.dkt .woocommerce table.shop_table.cart td.product-subtotal { grid-area: totale; align-self: center; text-align: right !important; font-size: 16.5px; font-weight: 700; white-space: nowrap; }
.dkt .woocommerce table.shop_table.cart tr:not(.cart_item) { display: block; }
.dkt .woocommerce table.shop_table.cart td.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px 0 0; border: 0; background: none; }
.dkt .woocommerce table.shop_table.cart td.actions::before { display: none; }
.dkt .woocommerce table.shop_table.cart td.actions .coupon { display: flex; flex: 1 1 300px; gap: 8px; padding: 0; }
.dkt .woocommerce table.shop_table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; min-width: 0; }
.dkt .woocommerce table.shop_table.cart td.actions .coupon .button { width: auto; float: none; }
.dkt .woocommerce table.shop_table.cart td.actions > .button { width: auto; }
.dkt .woocommerce-cart-form.aggiorna-da-solo [name="update_cart"] { display: none !important; }
/* quantità con − e + (li aggiunge tema.js) */
.dkt .woocommerce-cart-form .quantity { display: inline-flex; align-items: center; height: 42px; border: 1px solid var(--pietra); border-radius: 999px; background: #fff; }
.dkt .woocommerce-cart-form .quantity:not(:has(button)) { border: 0; height: auto; }
.dkt .woocommerce-cart-form .quantity .qty { width: 46px; min-height: 0; height: 40px; padding: 0; border: 0; background: none; font: inherit; font-size: 15.5px; font-weight: 700; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.dkt .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button, .dkt .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dkt .woocommerce-cart-form .quantity button { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: none; color: var(--inchiostro); cursor: pointer; }
.dkt .woocommerce-cart-form .quantity button:hover { background: var(--sabbia); }
/* totali come il riepilogo della cassa */
.dkt .woocommerce .cart-collaterals .cart_totals { padding: 24px; }
.dkt .woocommerce .cart-collaterals .cart_totals h2 { margin: 0 0 8px; font-size: 19px; }
.dkt .woocommerce .cart_totals table.shop_table { margin: 0 0 18px; border: 0; border-radius: 0; background: none; }
.dkt .woocommerce .cart_totals table.shop_table th, .dkt .woocommerce .cart_totals table.shop_table td { padding: 10px 0; border: 0; border-top: 1px solid var(--pietra); background: none; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--grafite); vertical-align: top; }
.dkt .woocommerce .cart_totals table.shop_table tr:first-child > * { border-top: 0; }
.dkt .woocommerce .cart_totals table.shop_table td { text-align: right; }
.dkt .woocommerce .cart_totals table.shop_table tr.order-total > * { font-size: 19px; font-weight: 700; color: var(--inchiostro); }
.dkt .woocommerce .cart_totals table.shop_table tr.order-total small.includes_tax { display: block; font-size: 12.5px; font-weight: 400; color: var(--tenue); }
.dkt .woocommerce .cart_totals .woocommerce-shipping-destination { margin: 4px 0; font-size: 13.5px; color: var(--tenue); }
.dkt .woocommerce .cart_totals .wc-proceed-to-checkout { padding: 0; }
/* kit di posa nel carrello: stesso disegno del pannello laterale */
.dkt .dkc-kit-carrello { margin: 24px 0 0; padding: 18px; border: 0; border-radius: var(--raggio-g); background: var(--sabbia); }
.dkt .dkc-kit-carrello li { padding: 10px 12px; margin: 0 0 8px !important; border: 0; border-radius: 10px; background: #fff; }
.dkt .dkc-kit-carrello .dkc-kit-prezzo { font-weight: 700; white-space: nowrap; }
.dkt .dkc-kit-carrello .button.dkc-kit-aggiungi { min-height: 38px; padding: 6px 14px; border-radius: 999px; font-size: 14px; }
.dkt .dkc-kit-carrello .button.dkc-kit-tutto { border-radius: 999px; }
@media (max-width: 599px) {
	.dkt .woocommerce table.shop_table.cart tr.cart_item { grid-template-columns: 76px minmax(0, 1fr) auto; column-gap: 12px; }
	.dkt .woocommerce table.shop_table.cart td.product-thumbnail img { width: 76px; height: 76px; }
	.dkt .woocommerce table.shop_table.cart td.product-name { font-size: 15px; }
	.dkt .woocommerce table.shop_table.cart td.actions .coupon { flex-wrap: wrap; }
	.dkt .woocommerce table.shop_table.cart td.actions .coupon .input-text, .dkt .woocommerce table.shop_table.cart td.actions .coupon .button { flex: 1 1 100%; width: 100% !important; }
}
/* le etichette nelle celle servono solo dove WooCommerce nasconde la colonna dei titoli (fino a 768 px):
   su computer comparivano due volte, «Subtotale Subtotale673,07 €» */
@media (max-width: 768px) {
	.dkt .woocommerce .cart_totals table.shop_table td::before { content: attr(data-title); font-weight: 500; color: var(--grafite); }
	.dkt .woocommerce .cart_totals table.shop_table tr.order-total td::before { font-weight: 700; color: var(--inchiostro); }
}
.dkt .woocommerce table.shop_table.cart td.product-remove a.remove { display: grid; place-items: center; width: 36px; height: 36px; margin: -6px -6px 0 0; line-height: 1; }

/* ---------- cassa: tre passi a sinistra, riepilogo a destra ---------- */
.testata-cassa .testata-in { justify-content: space-between; }
.testata-cassa .logo { margin-right: 0; }
.testata-aiuto { display: flex; align-items: center; gap: 18px; margin: 0; font-size: 14.5px; color: var(--grafite); }
.testata-aiuto a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; color: var(--inchiostro); }
.testata-sicuro { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--verde); }

.dkt .pagina-negozio .woocommerce-form-login-toggle, .dkt .pagina-negozio .woocommerce-form-coupon-toggle { display: inline-block; margin: 0 24px 12px 0; }
.dkt .pagina-negozio .woocommerce-form-login-toggle .woocommerce-info, .dkt .pagina-negozio .woocommerce-form-coupon-toggle .woocommerce-info { display: inline; margin: 0; padding: 0; border: 0; background: none; font-size: 14.5px; color: var(--grafite); }
.dkt .pagina-negozio .woocommerce-form-login-toggle a, .dkt .pagina-negozio .woocommerce-form-coupon-toggle a { font-weight: 600; color: var(--inchiostro); }
.dkt .pagina-negozio form.woocommerce-form-login, .dkt .pagina-negozio form.checkout_coupon { max-width: 640px; margin: 4px 0 20px; padding: 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
.dkt .pagina-negozio form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.dkt .pagina-negozio form.checkout_coupon > p:first-child { flex-basis: 100%; margin: 0; font-size: 14px; color: var(--tenue); }
.dkt .pagina-negozio form.checkout_coupon .form-row { float: none; width: auto; margin: 0; padding: 0; }
.dkt .pagina-negozio form.checkout_coupon .form-row-first { flex: 1; }

.dkt form.cassa { display: grid; gap: 16px; align-items: start; margin-top: 8px; }
@media (min-width: 1000px) { .dkt form.cassa { grid-template-columns: minmax(0, 1fr) 400px; column-gap: 40px; } }
@media (min-width: 1200px) { .dkt form.cassa { grid-template-columns: minmax(0, 1fr) 440px; column-gap: 56px; } }
.dkt form.cassa::before, .dkt form.cassa::after { display: none; }
/* gli errori di convalida WooCommerce li mette in testa al modulo: occupano tutta la riga */
.dkt form.cassa > .woocommerce-NoticeGroup, .dkt form.cassa > .woocommerce-error, .dkt form.cassa > .woocommerce-message { grid-column: 1 / -1; margin: 0; }
.dkt .woocommerce .woocommerce-NoticeGroup .woocommerce-error, .dkt .woocommerce form.cassa > .woocommerce-error { margin: 0; padding: 14px 18px; border: 0; border-left: 4px solid var(--rosso); border-radius: var(--raggio); background: #fbeceb; color: var(--inchiostro); font-size: 14.5px; line-height: 1.5; }
.dkt .woocommerce .woocommerce-NoticeGroup .woocommerce-error li { margin: 0; padding: 1px 0; }
.dkt .woocommerce .woocommerce-NoticeGroup .woocommerce-error a { color: var(--rosso); }
.cassa-colonna, #customer_details { display: grid; gap: 16px; min-width: 0; }
.cassa-passo { min-width: 0; padding: 20px 16px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); background: #fff; }
@media (min-width: 768px) { .cassa-passo { padding: 28px; } }
.dkt .cassa-passo-titolo { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: 21px; }
.cassa-passo-n { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--inchiostro); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0; }

/* campi: griglia al posto dei float di WooCommerce */
.dkt .cassa .woocommerce-billing-fields > h3 { display: none; }
.dkt .cassa .woocommerce-billing-fields__field-wrapper, .dkt .cassa .woocommerce-shipping-fields__field-wrapper, .dkt .cassa .woocommerce-account-fields .create-account { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 14px; }
@media (min-width: 600px) {
	.dkt .cassa .woocommerce-billing-fields__field-wrapper, .dkt .cassa .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.dkt .cassa .woocommerce-billing-fields__field-wrapper > .form-row-wide, .dkt .cassa .woocommerce-shipping-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
}
.dkt .cassa .form-row { float: none !important; width: auto !important; padding: 0; }
.dkt .cassa .form-row::before, .dkt .cassa .form-row::after { display: none; }
.dkt .cassa .woocommerce-billing-fields__field-wrapper::before, .dkt .cassa .woocommerce-billing-fields__field-wrapper::after, .dkt .cassa .woocommerce-shipping-fields__field-wrapper::before, .dkt .cassa .woocommerce-shipping-fields__field-wrapper::after { display: none; }
.dkt .cassa .form-row label .required { color: var(--rosso); text-decoration: none; }
.dkt .woocommerce .cassa .form-row .woocommerce-input-wrapper .description { display: block !important; position: static; margin: 4px 0 0; padding: 0; border-radius: 0; background: none; color: var(--tenue); font-size: 13px; line-height: 1.4; }
.dkt .woocommerce .cassa .form-row .woocommerce-input-wrapper .description::before { display: none; }
.dkt .cassa .form-row.woocommerce-invalid .input-text, .dkt .cassa .form-row.woocommerce-invalid select { border-color: var(--rosso); }
.dkt .cassa .form-row.woocommerce-validated .input-text { border-color: var(--pietra); }
.dkt .cassa #ship-to-different-address { margin: 18px 0 12px; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.dkt .cassa #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.dkt .cassa input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--inchiostro); }
.dkt .cassa .woocommerce-additional-fields > h3 { margin: 18px 0 8px; font-size: 15px; letter-spacing: 0; }
.dkt .cassa .woocommerce-additional-fields textarea { min-height: 84px; }

/* consegna: schede da scegliere */
.cassa-spedizioni { margin-bottom: 4px; }
.cassa-spedizioni-attesa { margin: 0; padding: 14px 16px; border-radius: var(--raggio); background: var(--sabbia); font-size: 14.5px; color: var(--grafite); }
.cassa-opzioni { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; min-width: 0; }
.cassa-opzione { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 16px; border: 1.5px solid var(--pietra); border-radius: var(--raggio-g); cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.cassa-opzione:hover { border-color: var(--grafite); }
.cassa-opzione:has(input:checked) { border-color: var(--inchiostro); background: var(--sabbia); box-shadow: inset 0 0 0 1px var(--inchiostro); }
.cassa-opzione:has(input:focus-visible) { outline: 2px solid var(--rovere); outline-offset: 2px; }
.cassa-opzione input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.cassa-opzione-ico { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--pietra); border-radius: 50%; background: #fff; transition: background .15s, color .15s; }
.cassa-opzione:has(input:checked) .cassa-opzione-ico { background: var(--inchiostro); border-color: var(--inchiostro); color: #fff; }
.cassa-opzione-testo { min-width: 0; line-height: 1.35; }
.cassa-opzione-testo strong { display: block; font-size: 15px; }
.cassa-opzione-testo small { display: block; font-size: 13px; color: var(--tenue); }
.cassa-opzione-prezzo { font-weight: 700; white-space: nowrap; }

/* pagamento */
.dkt .cassa #payment { background: none; border-radius: 0; }
.dkt .cassa #payment ul.payment_methods { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; border: 0; }
.dkt .cassa #payment ul.payment_methods::before, .dkt .cassa #payment ul.payment_methods::after { display: none; }
.dkt .cassa #payment ul.payment_methods > li.wc_payment_method { margin: 0; padding: 14px 16px; border: 1.5px solid var(--pietra); border-radius: var(--raggio-g); list-style: none; line-height: 1.4; }
.dkt .cassa #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) { border-color: var(--inchiostro); box-shadow: inset 0 0 0 1px var(--inchiostro); }
.dkt .cassa #payment ul.payment_methods li label { font-weight: 600; cursor: pointer; }
.dkt .cassa #payment ul.payment_methods li img { display: inline-block; max-height: 24px; width: auto; margin: 0 0 0 6px; vertical-align: middle; }
.dkt .cassa #payment ul.payment_methods > li.woocommerce-notice { list-style: none; margin: 0; }
.dkt .cassa #payment div.payment_box { margin: 12px 0 0; padding: 12px 14px; border-radius: var(--raggio); background: var(--sabbia); font-size: 14px; }
.dkt .cassa #payment div.form-row { margin: 0; padding: 0; }
.dkt .cassa .woocommerce-privacy-policy-text p { font-size: 13px; line-height: 1.5; color: var(--tenue); }
.dkt .cassa .woocommerce-terms-and-conditions-wrapper .form-row { margin: 12px 0 16px; }
.dkt .cassa .woocommerce-terms-and-conditions-wrapper label { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 14.5px; font-weight: 500; cursor: pointer; }

/* riepilogo */
.cassa-lato { display: grid; gap: 16px; min-width: 0; }
@media (min-width: 1000px) { .cassa-lato { position: sticky; top: calc(var(--testata-h) + 20px); } }
@media (max-width: 999px) { .cassa-lato { order: -1; } .cassa-garanzie { display: none !important; } }
.cassa-riepilogo { border-radius: var(--raggio-g); background: var(--sabbia); }
.cassa-riepilogo-apri { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 54px; padding: 12px 16px; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 600; color: var(--inchiostro); cursor: pointer; }
.cassa-riepilogo-apri > span { display: inline-flex; align-items: center; gap: 8px; }
.cassa-riepilogo-apri strong { font-size: 17px; }
.cassa-riepilogo-apri .ico:last-child { transition: transform .2s; }
.cassa-riepilogo.is-aperto .cassa-riepilogo-apri .ico:last-child { transform: rotate(180deg); }
.cassa-riepilogo-corpo { display: none; padding: 0 16px 16px; }
.cassa-riepilogo.is-aperto .cassa-riepilogo-corpo { display: block; }
.dkt .cassa #order_review_heading { display: none; margin: 0 0 8px; font-size: 19px; }
@media (min-width: 1000px) {
	.cassa-riepilogo-apri { display: none; }
	.cassa-riepilogo-corpo { display: block; padding: 24px; }
	.dkt .cassa #order_review_heading { display: block; }
}
.dkt .cassa #order_review { padding: 0; border-radius: 0; background: none; }
.dkt .cassa #order_review table.cassa-tabella { background: none; }
.dkt .woocommerce .cassa table.cassa-tabella { margin: 0; border: 0; border-radius: 0; background: none; overflow: visible; }
.dkt .woocommerce .cassa table.cassa-tabella th, .dkt .woocommerce .cassa table.cassa-tabella td { padding: 7px 0; border: 0; background: none; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--grafite); }
.dkt .woocommerce .cassa table.cassa-tabella tbody td { padding: 10px 0; vertical-align: top; color: var(--inchiostro); }
.dkt .woocommerce .cassa table.cassa-tabella td.product-total, .dkt .woocommerce .cassa table.cassa-tabella tfoot td { text-align: right; white-space: nowrap; }
.dkt .woocommerce .cassa table.cassa-tabella td.product-total { padding-left: 12px; font-weight: 600; }
.dkt .woocommerce .cassa table.cassa-tabella tfoot tr.cart-subtotal > * { padding-top: 16px; border-top: 1px solid var(--pietra); }
.dkt .woocommerce .cassa table.cassa-tabella tfoot tr.order-total > * { padding-top: 14px; border-top: 1px solid var(--pietra); font-size: 19px; font-weight: 700; color: var(--inchiostro); vertical-align: top; }
.dkt .woocommerce .cassa table.cassa-tabella tr.order-total small.includes_tax { display: block; font-size: 12.5px; font-weight: 400; color: var(--tenue); }
.dkt .woocommerce .cassa table.cassa-tabella tr.cart-discount td { color: var(--verde); }
.cassa-da-calcolare { font-size: 14px; color: var(--tenue); }
.cassa-gratis { color: var(--verde); }
.cassa-voce { display: flex; align-items: flex-start; gap: 12px; }
.cassa-voce-foto { position: relative; flex: none; width: 56px; height: 56px; border: 1px solid var(--pietra); border-radius: 9px; background: #fff; }
.cassa-voce-foto img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.cassa-voce-q { position: absolute; top: -8px; right: -8px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--grafite); color: #fff; font-size: 12px; font-weight: 700; }
.cassa-voce-testo { min-width: 0; }
.cassa-voce-nome { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; white-space: normal; }
.dkt .woocommerce .cassa table.cassa-tabella td.product-name dl.variation { display: block; margin: 4px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--tenue); white-space: normal; }
.dkt .woocommerce .cassa table.cassa-tabella td.product-name dl.variation dt, .dkt .woocommerce .cassa table.cassa-tabella td.product-name dl.variation dd { display: inline; margin: 0; padding: 0; float: none; font-weight: 400; }
.dkt .woocommerce .cassa table.cassa-tabella td.product-name dl.variation dd::after { content: ""; display: block; }
.dkt .woocommerce .cassa table.cassa-tabella td.product-name dl.variation dd p { display: inline; margin: 0; }
.cassa-modifica { display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 600; }
.cassa-garanzie { display: grid; gap: 14px; margin: 0; padding: 4px 8px; list-style: none; }
.cassa-garanzie li { display: flex; gap: 12px; font-size: 13.5px; line-height: 1.4; color: var(--tenue); }
.cassa-garanzie strong { display: block; font-size: 14.5px; color: var(--inchiostro); }
.cassa-garanzie .ico { flex: none; margin-top: 2px; color: var(--rovere); }

/* ---------- account: accesso, bacheca, ordini, indirizzi; «Traccia il tuo ordine» ---------- */
.accesso { display: grid; gap: 20px; align-items: start; max-width: 1040px; margin-top: 8px; }
@media (min-width: 900px) { .accesso { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 32px; } .accesso.con-registrazione { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.accesso-scheda { padding: 24px 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); background: #fff; }
@media (min-width: 768px) { .accesso-scheda { padding: 32px; } }
.dkt .accesso-scheda h2 { margin: 0 0 4px; font-size: 24px; }
.accesso-sotto { margin: 0 0 20px; font-size: 15px; color: var(--tenue); }
.dkt .accesso form.login, .dkt .accesso form.register, .dkt .accesso form.track_order { margin: 0; padding: 0; border: 0; border-radius: 0; }
.dkt .accesso .form-row { float: none; width: auto; padding: 0; margin: 0 0 14px; }
.dkt .accesso .form-row .input-text { width: 100%; }
.accesso-ricorda { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.dkt .accesso .accesso-ricorda label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; cursor: pointer; }
/* il clearfix di WooCommerce su .form-row diventerebbe un elemento flessibile invisibile */
.dkt .accesso .accesso-ricorda::before, .dkt .accesso .accesso-ricorda::after { display: none; }
.dkt .accesso .accesso-ricorda input { margin: 0; }
.dkt .accesso input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--inchiostro); }
.accesso-dimenticata { font-size: 14.5px; font-weight: 600; }
.dkt .accesso .button { width: 100%; min-height: 52px; font-size: 16px; }
.dkt .accesso .track_order .button { border-color: var(--inchiostro); background: var(--inchiostro); color: #fff; }
.dkt .accesso .track_order .button:hover { background: #333; }
.accesso-aiuto { padding: 24px 20px; border-radius: var(--raggio-g); background: var(--sabbia); }
@media (min-width: 768px) { .accesso-aiuto { padding: 32px; } }
.dkt .accesso-aiuto h2 { margin: 0 0 8px; font-size: 20px; }
.accesso-aiuto p { margin: 0 0 16px; color: var(--grafite); }
.accesso-aiuto .btn { width: 100%; }
.accesso-contatti { display: grid; gap: 10px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--pietra); list-style: none; font-size: 15px; }
.accesso-contatti li { display: flex; align-items: flex-start; gap: 10px; }
.accesso-contatti .ico { margin-top: 2px; color: var(--rovere); }
.accesso-contatti a { font-weight: 600; }
/* modulo «password dimenticata» e reimpostazione: stessa scheda */
.dkt .woocommerce-ResetPassword, .dkt form.woocommerce-ResetPassword.lost_reset_password { max-width: 560px; padding: 24px 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
@media (min-width: 768px) { .dkt .woocommerce-ResetPassword { padding: 32px; } }
.dkt .woocommerce-ResetPassword .form-row { float: none; width: auto; }
.dkt .woocommerce-ResetPassword .input-text { width: 100%; }
/* «Traccia il tuo ordine»: il modulo di WooCommerce in colonna */
.pagina-traccia .track_order > p:first-child { display: none; }
.pagina-traccia .track_order .form-row-first, .pagina-traccia .track_order .form-row-last { float: none; width: auto; }
.pagina-traccia .track_order .clear { display: none; }

/* area cliente: menu a sinistra, contenuto a destra; su telefono il menu scorre di lato */
@media (min-width: 900px) {
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 40px; align-items: start; }
	/* il clearfix di WooCommerce (::before/::after) in una griglia diventa una cella vuota */
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-MyAccount-navigation)::before, .dkt .pagina-negozio .woocommerce:has(> .woocommerce-MyAccount-navigation)::after,
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-cart-form)::before, .dkt .pagina-negozio .woocommerce:has(> .woocommerce-cart-form)::after { display: none; }
	/* il contenitore degli avvisi di WooCommerce viene prima del menu: occupa tutta la riga */
	.dkt .pagina-negozio .woocommerce:has(> .woocommerce-MyAccount-navigation) > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
	.dkt .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--testata-h) + 20px); }
}
.dkt.woocommerce-account .woocommerce-MyAccount-navigation, .dkt.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.dkt .woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; margin: 0 calc(-1 * var(--margine)) 20px; padding: 0 var(--margine) 2px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.dkt .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.dkt .woocommerce-MyAccount-navigation li { flex: none; margin: 0; }
.dkt .woocommerce-MyAccount-navigation a { display: block; padding: 9px 16px; border: 1px solid var(--pietra); border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; color: var(--grafite); }
.dkt .woocommerce-MyAccount-navigation li.is-active a { border-color: var(--inchiostro); background: var(--inchiostro); color: #fff; }
.dkt .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--tenue); }
@media (min-width: 900px) {
	.dkt .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0; padding: 8px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); overflow: visible; }
	.dkt .woocommerce-MyAccount-navigation a { padding: 11px 14px; border: 0; border-radius: var(--raggio); }
	.dkt .woocommerce-MyAccount-navigation a:hover { background: var(--sabbia); }
	.dkt .woocommerce-MyAccount-navigation li.is-active a { background: var(--sabbia); color: var(--inchiostro); box-shadow: inset 3px 0 0 var(--rovere); }
	.dkt .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px; border-top: 1px solid var(--pietra); }
}
.conto-saluto h2 { margin: 0 0 6px; font-size: 26px; }
.conto-saluto p { margin: 0 0 20px; color: var(--grafite); }
.conto-saluto a { font-weight: 600; white-space: nowrap; }
.conto-ultimo { position: relative; display: grid; gap: 4px; margin-bottom: 16px; padding: 20px 64px 20px 20px; border-radius: var(--raggio-g); background: var(--inchiostro); color: #fff; text-decoration: none; transition: transform .2s ease; }
.conto-ultimo:hover { transform: translateY(-2px); }
.conto-ultimo-etichetta { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #e9dcc8; }
.conto-ultimo strong { font-size: 20px; }
.conto-ultimo-data { font-size: 14.5px; color: rgba(255, 255, 255, .8); }
.conto-ultimo-data .woocommerce-Price-amount { color: #fff; font-weight: 700; }
.conto-ultimo .conto-stato { justify-self: start; margin-top: 6px; }
.conto-ultimo-vai { position: absolute; top: 50%; right: 20px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--inchiostro); transform: translateY(-50%); }
.conto-stato { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--pietra); color: var(--inchiostro); font-size: 13.5px; font-weight: 700; }
.conto-stato-processing, .conto-stato-on-hold { background: #fff1d6; color: #7a4b00; }
.conto-stato-completed { background: #e8f3ec; color: var(--verde); }
.conto-stato-cancelled, .conto-stato-failed, .conto-stato-refunded { background: #fbeceb; color: var(--rosso); }
.conto-schede { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1100px) { .conto-schede { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.conto-scheda { display: grid; align-content: start; gap: 2px; padding: 18px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); text-decoration: none; transition: border-color .15s, transform .15s; }
.conto-scheda:hover { border-color: var(--inchiostro); transform: translateY(-2px); }
.conto-scheda .ico { margin-bottom: 10px; color: var(--rovere); }
.conto-scheda strong { font-size: 16px; }
.conto-scheda span { font-size: 14px; color: var(--tenue); }
/* tabella ordini: lo stato in grassetto e colorato, i pulsanti piccoli */
.dkt .woocommerce-orders-table .woocommerce-button { min-height: 38px; padding: 6px 14px; font-size: 14px; }
.dkt .woocommerce-orders-table__cell-order-status { font-weight: 700; }
.dkt .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: var(--verde); }
.dkt .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status, .dkt .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status { color: #9a5d00; }
.dkt .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status, .dkt .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: var(--rosso); }
/* indirizzi come due schede */
.dkt .woocommerce-Addresses { display: grid; gap: 16px; }
@media (min-width: 768px) { .dkt .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.dkt .woocommerce .woocommerce-Addresses::before, .dkt .woocommerce .woocommerce-Addresses::after { display: none; }
.dkt .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; padding: 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
.dkt .woocommerce .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 10px; text-align: left; }
.dkt .woocommerce .woocommerce-Address-title > * { float: none; }
.dkt .woocommerce .woocommerce-Address-title::before, .dkt .woocommerce .woocommerce-Address-title::after { display: none; }
.dkt .woocommerce-Address-title h2 { margin: 0; font-size: 18px; }
.dkt .woocommerce-Address-title a { font-size: 14.5px; font-weight: 600; }
.dkt .woocommerce-Address address { font-style: normal; line-height: 1.6; color: var(--grafite); }
.dkt .woocommerce-MyAccount-content form .form-row-first, .dkt .woocommerce-MyAccount-content form .form-row-last { width: 48%; }
@media (max-width: 599px) { .dkt .woocommerce-MyAccount-content form .form-row-first, .dkt .woocommerce-MyAccount-content form .form-row-last { float: none; width: 100%; } }
.dkt .woocommerce-MyAccount-content fieldset { margin: 20px 0; padding: 16px 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
.dkt .woocommerce-MyAccount-content fieldset legend { padding: 0 8px; font-weight: 700; }
.dkt .woocommerce-MyAccount-content .button[name="save_account_details"], .dkt .woocommerce-MyAccount-content .button[name="save_address"] { border-color: var(--inchiostro); background: var(--inchiostro); color: #fff; }

/* ---------- ordine ricevuto ---------- */
.grazie-griglia { display: grid; gap: 16px; align-items: start; margin-top: 8px; }
@media (min-width: 1000px) {
	.grazie-griglia { grid-template-columns: minmax(0, 1fr) 440px; column-gap: 48px; }
	.grazie-riepilogo { position: sticky; top: calc(var(--testata-h) + 20px); }
}
.grazie-colonna { display: grid; gap: 16px; min-width: 0; }
.grazie-testa { padding: 28px 20px; border-radius: var(--raggio-g); background: var(--inchiostro); color: #fff; }
@media (min-width: 768px) { .grazie-testa { padding: 40px; } }
.grazie-ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 50%; background: #8fdcab; color: var(--inchiostro); animation: grazie-entra .6s cubic-bezier(.3, 1.5, .5, 1) both; }
.grazie-ico .ico { width: 28px; height: 28px; stroke-width: 2.5; }
@keyframes grazie-entra { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
.grazie-testa .occhiello { color: #e9dcc8; }
.dkt .grazie-testa h1 { margin: 0 0 10px; font-size: clamp(30px, 6vw, 46px); color: #fff; }
.grazie-testa h1 span { display: block; font-weight: 600; color: rgba(255, 255, 255, .72); }
.grazie-sotto { margin: 0 0 22px; font-size: 16.5px; color: rgba(255, 255, 255, .85); }
.grazie-sotto strong { color: #fff; }
.dkt .woocommerce ul.grazie-dati { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .14); list-style: none; }
.dkt .woocommerce ul.grazie-dati::before, .dkt .woocommerce ul.grazie-dati::after { display: none; }
@media (min-width: 768px) { .dkt .woocommerce ul.grazie-dati { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dkt .woocommerce ul.grazie-dati li { display: grid; gap: 2px; float: none; margin: 0; padding: 14px 16px; border: 0; background: #232220; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }
.dkt .woocommerce ul.grazie-dati li strong { font-size: 16px; letter-spacing: 0; text-transform: none; color: #fff; }
.grazie-testa-errore { border: 1px solid #f2c9c6; background: #fbeceb; color: var(--inchiostro); }
.grazie-testa-errore .grazie-ico { background: var(--rosso); color: #fff; font-size: 28px; font-weight: 800; }
.grazie-testa-errore .occhiello { color: var(--rosso); }
.dkt .grazie-testa-errore h1 { color: var(--inchiostro); }
.grazie-testa-errore .grazie-sotto { color: var(--grafite); }
.grazie-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.grazie-passi, .grazie-aiuto, .grazie-pagamento { padding: 24px 20px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); }
@media (min-width: 768px) { .grazie-passi, .grazie-aiuto, .grazie-pagamento { padding: 32px; } }
.dkt .grazie-passi h2, .dkt .grazie-aiuto h2, .dkt .grazie-pagamento h2 { margin: 0 0 18px; font-size: 22px; }
.grazie-passi ol { display: grid; gap: 20px; margin: 0 0 22px; padding: 0; list-style: none; }
.grazie-passi ol:last-child { margin-bottom: 0; }
.grazie-passi li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
.grazie-passi li::before { content: ""; position: absolute; top: 44px; bottom: -20px; left: 21px; width: 2px; background: var(--pietra); }
.grazie-passi li:last-child::before { display: none; }
.grazie-passo-ico { position: relative; z-index: 1; grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid var(--pietra); border-radius: 50%; background: #fff; color: var(--rovere); }
.grazie-passi li.is-fatto .grazie-passo-ico { border-color: var(--verde); background: var(--verde); color: #fff; }
.grazie-passi li strong { align-self: end; font-size: 16px; }
.grazie-passi li > span:last-child { font-size: 14.5px; line-height: 1.45; color: var(--tenue); }
.grazie-aiuto p { margin: -10px 0 14px; color: var(--grafite); }
/* dati per il bonifico (WooCommerce BACS) */
.grazie-pagamento > p:first-child { margin-top: 0; }
.dkt .woocommerce .grazie-pagamento ul.bacs_details { display: grid; gap: 0; margin: 0 0 8px; padding: 0; list-style: none; }
.dkt .woocommerce .grazie-pagamento ul.bacs_details::before, .dkt .woocommerce .grazie-pagamento ul.bacs_details::after { display: none; }
.dkt .woocommerce .grazie-pagamento ul.bacs_details li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; float: none; margin: 0; padding: 10px 0; border: 0; border-bottom: 1px solid var(--pietra); font-size: 14.5px; text-transform: none; color: var(--tenue); }
.dkt .woocommerce .grazie-pagamento ul.bacs_details li strong { font-size: 15.5px; color: var(--inchiostro); word-break: break-all; }
.dkt .grazie-pagamento .wc-bacs-bank-details-heading { font-size: 18px; }
.dkt .grazie-pagamento .wc-bacs-bank-details-account-name { margin: 12px 0 4px; font-size: 15px; }
/* riepilogo a lato: stesso disegno del riepilogo della cassa */
.grazie-riepilogo { min-width: 0; padding: 24px 20px; border-radius: var(--raggio-g); background: var(--sabbia); }
.dkt .grazie-riepilogo .woocommerce-order-details__title, .dkt .grazie-riepilogo .woocommerce-column__title { margin: 0 0 8px; font-size: 19px; }
.dkt .woocommerce .grazie-riepilogo table.order_details, .dkt .woocommerce .woocommerce-MyAccount-content table.order_details { margin: 0 0 20px; border: 0; border-radius: 0; background: none; overflow: visible; }
.dkt .woocommerce .grazie-riepilogo table.order_details thead, .dkt .woocommerce .woocommerce-MyAccount-content table.order_details thead { display: none; }
.dkt .woocommerce .grazie-riepilogo table.order_details :is(th, td), .dkt .woocommerce .woocommerce-MyAccount-content table.order_details :is(th, td) { padding: 8px 0; border: 0; background: none; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--grafite); vertical-align: top; }
.dkt .woocommerce .grazie-riepilogo table.order_details tbody td, .dkt .woocommerce .woocommerce-MyAccount-content table.order_details tbody td { padding: 10px 0; color: var(--inchiostro); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details { width: 100%; table-layout: auto; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details td.product-total, .dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details tfoot td { padding-left: 12px; text-align: right; font-weight: 600; overflow-wrap: anywhere; }
/* i valori lunghi («Spedizione con Corriere», «Carta Mastercard…») vanno a capo, gli importi no */
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details .woocommerce-Price-amount { white-space: nowrap; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details tfoot tr:first-child > * { padding-top: 16px; border-top: 1px solid var(--pietra); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details tfoot tr:last-child > * { font-size: 19px; font-weight: 700; color: var(--inchiostro); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) table.order_details tfoot small { display: block; font-size: 12.5px; font-weight: 400; white-space: normal; color: var(--tenue); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 12.5px; line-height: 1.45; color: var(--tenue); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .wc-item-meta li { margin: 0; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .wc-item-meta :is(strong, p) { display: inline; margin: 0; font-weight: 400; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns { display: grid; gap: 14px; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns::before, .dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns::after { display: none; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-column { float: none; width: auto; }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; font-size: 14.5px; line-height: 1.6; color: var(--grafite); }
.dkt .woocommerce :is(.grazie-riepilogo, .woocommerce-MyAccount-content) .woocommerce-customer-details address p { margin: 4px 0 0; }
.dkt .woocommerce .grazie-riepilogo .order-again { margin: 0 0 16px; }
@media (min-width: 1000px) { .dkt .woocommerce .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr 1fr; } }

/* ---------- contatti e chi siamo ---------- */
.contatti-intro { font-size: 18px; color: var(--grafite); max-width: 60ch; }
.contatti-griglia { display: grid; gap: 12px; margin: 24px 0 36px; }
@media (min-width: 768px) { .contatti-griglia { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .contatti-griglia { grid-template-columns: repeat(4, 1fr); } }
.contatto { display: grid; gap: 4px; align-content: start; padding: 18px; border: 1px solid var(--pietra); border-radius: var(--raggio-g); text-decoration: none; transition: border-color .15s, background .15s; }
.contatto:hover { border-color: var(--inchiostro); background: var(--sabbia); }
.contatto .ico { width: 28px; height: 28px; color: var(--rovere); margin-bottom: 6px; }
.contatto strong { font-size: 17px; overflow-wrap: anywhere; }
.contatto span { font-size: 14.5px; color: var(--tenue); }
.contatti-modulo { max-width: 720px; padding: 24px; background: var(--sabbia); border-radius: var(--raggio-g); }
.contatti-modulo .wpforms-container { margin: 0 !important; }
.contatti-modulo input[type="text"], .contatti-modulo input[type="email"], .contatti-modulo input[type="tel"], .contatti-modulo textarea, .contatti-modulo select { width: 100% !important; max-width: none !important; min-height: 48px; padding: 10px 12px !important; border: 1.5px solid var(--pietra) !important; border-radius: var(--raggio) !important; font: inherit !important; font-size: 16px !important; background: #fff !important; }
.contatti-modulo button[type="submit"] { min-height: 50px !important; padding: 12px 24px !important; border: 0 !important; border-radius: var(--raggio) !important; background: var(--inchiostro) !important; color: #fff !important; font: inherit !important; font-weight: 700 !important; cursor: pointer; }
.contatti-legale { margin-top: 24px; font-size: 14px; color: var(--tenue); }
.chi-siamo-testa { display: grid; gap: 24px; align-items: center; margin-bottom: 28px; }
@media (min-width: 1100px) { .chi-siamo-testa { grid-template-columns: 1.1fr 1fr; gap: 56px; } }
.chi-siamo-lead { font-size: 20px; color: var(--grafite); max-width: 36em; }
.chi-siamo-foto { border-radius: var(--raggio-g); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.chi-siamo-testo { max-width: 70ch; color: var(--grafite); font-size: 17px; }
.chi-siamo-testo h2 { margin-top: 28px; }
.chi-siamo-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.catalogo-conta { white-space: nowrap; }
.catalogo-barra { flex-wrap: wrap; }
.ordina { min-width: 0; }
.ordina select { max-width: 100%; }
@media (max-width: 420px) { .catalogo-conta { flex: 1; } .ordina select { padding-right: 30px; } }

/* ---------- caratteristiche (descrizione) ---------- */
/* più foto di fila nella descrizione (KIWI 2.0): una sotto l'altra, larghe quanto la pagina */
.caratteristiche .caratteristica-galleria { grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 1000px; }
.caratteristica-galleria-foto { display: block; }
.caratteristica-galleria-foto img { display: block; width: 100%; height: auto; }
.caratteristiche { display: grid; gap: 28px; }
.caratteristica { display: grid; gap: 16px; align-items: center; }
.caratteristica-foto { border-radius: var(--raggio-g); overflow: hidden; background: var(--sabbia); }
.caratteristica-foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.caratteristica-testo { color: var(--grafite); font-size: 16px; line-height: 1.6; }
.caratteristica-testo h3 { font-size: 22px; margin: 0 0 8px; color: var(--inchiostro); }
.caratteristica-testo p { margin: 0 0 .7em; }
.caratteristica-testo p:last-child { margin-bottom: 0; }
@media (min-width: 900px) {
	.caratteristiche { gap: 40px; }
	.caratteristica { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.caratteristica:nth-child(even) .caratteristica-foto { order: 2; }
	.caratteristica.solo-testo { grid-template-columns: minmax(0, 1fr); max-width: 72ch; }
	.caratteristica-testo { font-size: 17px; }
}

/* ---------- telefono: bersagli comodi e niente zoom ---------- */
/* Un dito vuole almeno 40 px: link del piè, barra in alto, briciole, «Tutto il catalogo». */
.barra-campioni a { display: inline-block; padding: 9px 0; }
.link-freccia { min-height: 44px; }
.briciole { align-items: center; }
.briciole a { display: inline-flex; align-items: center; min-height: 30px; }
.voto-scheda { min-height: 32px; }
.dkt .dkr-card__author { display: inline-block; padding: 4px 0; }
.garanzia p a, .accesso-dimenticata, .accesso-contatti a { display: inline-block; padding: 9px 0; }
.piede-col ul:not(.piede-contatti) { gap: 0; }
.piede-col ul:not(.piede-contatti) a { display: inline-flex; align-items: center; min-height: 40px; padding: 4px 0; line-height: 1.3; }
.piede-social { flex-wrap: wrap; gap: 0 22px; }
.piede-social a { display: inline-flex; align-items: center; min-height: 40px; }
.piede-contatti a { display: inline-block; padding: 6px 0; }
.piede .piede-recesso { min-height: 40px; }
.dkt .woocommerce form .show-password-input { min-width: 44px; min-height: 44px; right: 2px; justify-content: center; align-items: center; }
.dkt .wpforms-container .wpforms-field-checkbox li { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; }
.dkt .wpforms-container .wpforms-field-checkbox input[type="checkbox"] { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: var(--inchiostro); }
/* già nel carrello: «Visualizza carrello» negli avvisi porterebbe alla stessa pagina */
.woocommerce-cart .woocommerce-message .button.wc-forward { display: none; }
/* il codice sconto resta a portata ma chiuso: aperto in vista manda a cercarne uno altrove */
.coupon-apri { display: none; }
.coupon.is-chiuso .coupon-apri { display: inline-flex; align-items: center; min-height: 40px; padding: 0; border: 0; background: none; color: var(--inchiostro); font: inherit; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.coupon.is-chiuso > :not(.coupon-apri) { display: none !important; }
/* menu su telefono: sotto le categorie, le pagine che rispondono ai dubbi */
.pannello-corpo { flex: 1; overflow: auto; }
.pannello-corpo nav { flex: none; overflow: visible; }
.pannello-secondario { list-style: none; margin: 8px 0 0; padding: 8px 0; border-top: 1px solid var(--pietra); }
.pannello-secondario a { display: flex; align-items: center; min-height: 44px; padding: 0 var(--margine); color: var(--grafite); font-size: 15px; text-decoration: none; }
.pannello-secondario a:hover { color: var(--inchiostro); text-decoration: underline; }
@media (max-width: 767px) {
	/* su iPhone un campo sotto i 16 px fa zoomare la pagina al tocco */
	.ordina select, table.variations select { font-size: 16px; }
	/* Filtri e ordine sulla stessa riga: il numero di prodotti lo dice già «Mostra N prodotti» nei filtri */
	.catalogo-barra:has(.filtri-apri) { display: grid; grid-template-columns: auto minmax(0, 1fr); }
	.catalogo-barra:has(.filtri-apri) .catalogo-conta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.catalogo-barra:has(.filtri-apri) .ordina select { width: 100%; }
	/* nella scheda l'ultima briciola ripete il titolo subito sotto: si toglie e le briciole stanno su una riga */
	.single-product .briciole > .briciola:last-child, .single-product .briciole > .briciole-sep:nth-last-child(2) { display: none; }
	/* piè: Negozio e Aiuto affiancati, così i link più alti non allungano la pagina */
	.piede-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 16px; }
	.piede-marchio, .piede-in > .piede-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	/* barra del recesso nell'account: una riga con il pulsante a lato, non un terzo dello schermo */
	.dkt .ra-euwb-sticky-bar { padding: 8px 0; }
	.dkt .ra-euwb-sticky-bar__inner { flex-direction: row; justify-content: space-between; text-align: left; padding: 0 40px 0 16px; gap: 10px; }
	.dkt .ra-euwb-sticky-bar__text { flex: 1; font-size: 13px; line-height: 1.35; }
	.dkt .ra-euwb-sticky-bar .ra-euwb-withdrawal-trigger { flex: 0 0 auto; white-space: nowrap; padding: 8px 12px; font-size: 13.5px; }
	.dkt .ra-euwb-sticky-bar__close { top: 50%; right: 2px; transform: translateY(-50%); min-width: 40px; min-height: 40px; }
}
