/* ==========================================================================
   Distributore.it — stili del tema figlio (sopra Storefront)
   Palette: avorio, inchiostro, terracotta, oliva. Font: Fraunces + Figtree.
   ========================================================================== */

:root {
	--d-ground: #FAF6EE;
	--d-paper: #FFFFFF;
	--d-sand: #F1E8D8;
	--d-line: #E7DDCC;
	--d-ink: #1E1A16;
	--d-muted: #5E554B;
	--d-accent: #A8461F;
	--d-accent-dark: #8C3915;
	--d-olive: #3F4A26;
	--d-olive-ink: #F3EEDF;
	--d-danger: #A3261B;
	--d-ok: #2F5E2A;
	--d-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--d-sans: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--d-wrap: 1280px;
	--d-gutter: 40px;
	--d-radius: 20px;
	--d-radius-lg: 28px;
	--d-pill: 999px;
}

@media (max-width: 767px) {
	:root { --d-gutter: 16px; --d-radius: 16px; --d-radius-lg: 20px; }
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body.dist {
	background: var(--d-ground);
	color: var(--d-ink);
	font-family: var(--d-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.dist h1, .dist h2, .dist h3, .dist h4 {
	font-family: var(--d-serif);
	font-weight: 500;
	color: var(--d-ink);
	letter-spacing: -0.02em;
	line-height: 1.1;
}
.dist h1:where(:not(.dokan-layout *, .dokan-fullwidth-container *)) { font-size: clamp(34px, 4.6vw, 56px); }
.dist h2:where(:not(.dokan-layout *, .dokan-fullwidth-container *)) { font-size: clamp(26px, 3vw, 40px); }
.dist h3:where(:not(.dokan-layout *, .dokan-fullwidth-container *)) { font-size: 22px; }
.dist a { color: var(--d-ink); text-decoration: none; }
.dist a:hover, .dist a:focus-visible { color: var(--d-accent); }
.dist .entry-content a, .dist .woocommerce-product-details__short-description a, .dist .woocommerce-Tabs-panel a { text-decoration: underline; text-underline-offset: 2px; }
.dist :focus-visible { outline: 2px solid var(--d-accent); outline-offset: 2px; }
.dist hr { background: var(--d-line); }
.dist .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.dist-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--d-ink); color: #fff !important; padding: 10px 16px; border-radius: var(--d-pill); }
.dist-skip:focus { left: 8px; }

/* Contenitore: sostituisce la col-full stretta di Storefront */
.dist .col-full,
.dist-wrap {
	box-sizing: border-box;
	max-width: calc(var(--d-wrap) + 2 * var(--d-gutter));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--d-gutter);
	padding-right: var(--d-gutter);
}
.dist .site-content { padding-top: 8px; padding-bottom: 72px; }
.dist .site-main { margin-bottom: 0; }

/* ---------- Bottoni ---------- */
.dist-btn,
.dist button:where(:not(.components-button, .ql-toolbar *, .dokan-layout *, .dokan-fullwidth-container *)), .dist .button, .dist input[type="submit"], .dist input[type="button"],
.dist .added_to_cart, .dist .wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 22px;
	border: 1.5px solid var(--d-ink);
	border-radius: var(--d-pill);
	background: var(--d-ink);
	color: var(--d-ground);
	font-family: var(--d-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
	box-shadow: none;
	text-shadow: none;
}
.dist button:where(:not(.components-button, .ql-toolbar *, .dokan-layout *, .dokan-fullwidth-container *)):hover, .dist .button:hover, .dist input[type="submit"]:hover {
	background: #3A332C; border-color: #3A332C; color: var(--d-ground);
}
.dist-btn--primary,
.dist button.alt, .dist .button.alt, .dist .single_add_to_cart_button,
.dist .checkout-button, .dist #place_order, .dist .wc-block-components-checkout-place-order-button {
	background: var(--d-accent);
	border-color: var(--d-accent);
	color: #fff;
}
.dist-btn--primary:hover, .dist button.alt:hover, .dist .button.alt:hover,
.dist .single_add_to_cart_button:hover, .dist .checkout-button:hover, .dist #place_order:hover {
	background: var(--d-accent-dark); border-color: var(--d-accent-dark); color: #fff;
}
.dist .dist-btn--primary:hover,
.dist a.dist-btn--primary { color: #fff; } /* .dist a (colore dei link) vinceva sul pulsante: testo scuro su terracotta (20260926) */
.dist-btn--outline { background: transparent; color: var(--d-ink); }
.dist .dist-btn--outline:hover { background: var(--d-ink); color: var(--d-ground); }
.dist-btn--light { background: var(--d-ground); border-color: var(--d-ground); color: var(--d-ink); }
.dist .dist-btn--light:hover { background: #fff; color: var(--d-ink); }
.dist-btn { font-size: 16px; padding: 15px 28px; }
.dist button:where(:not(.components-button, .ql-toolbar *, .dokan-layout *, .dokan-fullwidth-container *)):disabled, .dist .button.disabled, .dist .button:disabled { opacity: .5; cursor: not-allowed; }

/* ---------- Form ---------- */
.dist input[type="text"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input:not([type]):where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="email"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="tel"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="url"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)),
.dist input[type="password"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="search"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="number"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist input[type="date"]:where(:not(.dokan-layout *, .dokan-fullwidth-container *)),
.dist textarea:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist select:where(:not(.dokan-layout *, .dokan-fullwidth-container *)), .dist .select2-container .select2-selection--single {
	box-sizing: border-box;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--d-line);
	border-radius: 12px;
	background: var(--d-paper);
	color: var(--d-ink);
	font-family: var(--d-sans);
	font-size: 16px;
	box-shadow: none;
}
.dist textarea:where(:not(.dokan-layout *, .dokan-fullwidth-container *)) { min-height: 120px; }
.dist input:where(:not(.dokan-layout *, .dokan-fullwidth-container *)):focus, .dist textarea:where(:not(.dokan-layout *, .dokan-fullwidth-container *)):focus, .dist select:where(:not(.dokan-layout *, .dokan-fullwidth-container *)):focus { border-color: var(--d-accent); outline: none; box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
.dist .select2-container .select2-selection--single { display: flex; align-items: center; }
.dist .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
/* nei moduli indirizzo il select2 (Provincia) si allinea ai campi accanto: blocco, stessa altezza degli input */
.dist .woocommerce-input-wrapper, .dist .woocommerce-input-wrapper .select2-container { display: block; }
.dist .woocommerce-input-wrapper .select2-container .select2-selection--single { min-height: 48px; }
.dist label { font-weight: 500; }
.dist .required { color: var(--d-danger); text-decoration: none; border: 0; }

/* ---------- Barra superiore e header ---------- */
.dist-topbar { background: var(--d-olive); color: var(--d-olive-ink); font-size: 13px; }
.dist-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 36px; }
.dist-topbar__links { display: flex; gap: 22px; }
.dist .dist-topbar a { color: var(--d-olive-ink); }
.dist .dist-topbar a:hover { color: #fff; text-decoration: underline; }

.dist-header { background: var(--d-ground); border-bottom: 1px solid var(--d-line); position: relative; z-index: 50; }
.dist-header__inner { display: flex; align-items: center; gap: 32px; min-height: 86px; }
.dist .dist-header__menu-btn { display: none; }

.dist-logo { font-family: var(--d-serif); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--d-ink); white-space: nowrap; line-height: 1; }
.dist-logo span { color: var(--d-accent); }
.dist a.dist-logo:hover { color: var(--d-ink); }

.dist-nav__head { display: none; }
.dist-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 26px; }
.dist-nav__list > li { position: relative; margin: 0; display: flex; align-items: center; }
.dist-nav__list a { font-size: 16px; font-weight: 500; padding: 8px 0; display: block; }
.dist-nav__list .current-menu-item > a, .dist-nav__list .current-menu-ancestor > a { color: var(--d-accent); }
.dist .dist-nav__sub-toggle { min-height: 32px; width: 28px; padding: 0; border: 0; background: transparent; color: var(--d-ink); }
.dist .dist-nav__sub-toggle:hover { background: transparent; color: var(--d-accent); }
.dist-nav__list .sub-menu {
	list-style: none; margin: 0; padding: 10px;
	position: absolute; top: 100%; left: -12px; min-width: 280px;
	background: var(--d-paper); border: 1px solid var(--d-line); border-radius: 16px;
	box-shadow: 0 18px 40px rgba(30, 26, 22, .12);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility .15s;
}
.dist-nav__list > li:hover > .sub-menu,
.dist-nav__list > li:focus-within > .sub-menu,
.dist-nav__list > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.dist-nav__list .sub-menu a { padding: 9px 12px; border-radius: 10px; font-size: 15px; }
.dist-nav__list .sub-menu a:hover { background: var(--d-sand); }

.dist-search { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; height: 46px; margin: 0; padding: 0 18px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-pill); color: var(--d-muted); }
.dist-search:focus-within { border-color: var(--d-accent); box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
.dist .dist-search input[type="search"] { flex: 1; min-height: 0; height: 100%; padding: 0; border: 0; background: transparent; font-size: 15px; box-shadow: none; }
.dist .dist-search input[type="search"]:focus { box-shadow: none; }

.dist-account { flex: none; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); }
.dist-cart { flex: none; position: relative; height: 46px; display: inline-flex; align-items: center; gap: 10px; padding: 0 18px; border-radius: var(--d-pill); background: var(--d-ink); font-weight: 600; font-size: 15px; }
.dist a.dist-cart, .dist a.dist-cart:hover { color: var(--d-ground); }
.dist-cart__total .woocommerce-Price-amount { color: inherit; }
.dist-cart__count { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; box-sizing: border-box; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-size: 12px; line-height: 20px; text-align: center; }

@media (max-width: 1023px) {
	.dist-topbar__links { display: none; }
	.dist-header__inner { flex-wrap: wrap; gap: 10px; min-height: 0; padding-top: 12px; padding-bottom: 12px; }
	.dist .dist-header__menu-btn { display: inline-flex; order: 0; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--d-line); background: var(--d-paper); color: var(--d-ink); }
	.dist-header__inner > .dist-logo { order: 1; flex: 1; font-size: 22px; }
	.dist-account { order: 2; width: 44px; height: 44px; }
	.dist-cart { order: 3; height: 44px; padding: 0 14px; font-size: 14px; }
	.dist-search { order: 4; flex-basis: 100%; }

	/* pannello laterale */
	.dist-nav {
		position: fixed; inset: 0; z-index: 200;
		background: rgba(30, 26, 22, .45);
		visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s;
	}
	.dist-nav-open .dist-nav { visibility: visible; opacity: 1; }
	.dist-nav__head, .dist-nav__list { width: min(86vw, 360px); box-sizing: border-box; background: var(--d-ground); }
	.dist-nav__head { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid var(--d-line); }
	.dist .dist-nav__close { width: 44px; height: 44px; padding: 0; border: 1px solid var(--d-line); background: var(--d-paper); color: var(--d-ink); }
	.dist-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 24px; height: calc(100% - 77px); overflow-y: auto; }
	.dist-nav__list > li { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid var(--d-line); }
	.dist-nav__list a { padding: 14px 0; font-size: 17px; }
	.dist .dist-nav__sub-toggle { width: 44px; min-height: 44px; }
	.dist-nav__list .sub-menu { position: static; flex-basis: 100%; min-width: 0; padding: 0 0 10px 12px; border: 0; box-shadow: none; background: transparent; opacity: 1; visibility: visible; transform: none; display: none; }
	.dist-nav__list > li.is-open > .sub-menu { display: block; }
	.dist-nav__list > li:hover > .sub-menu { display: none; }
	.dist-nav__list > li.is-open:hover > .sub-menu { display: block; }
	body.dist-nav-open { overflow: hidden; }
}
@media (max-width: 479px) {
	/* header su una riga: il carrello mostra solo icona e contatore */
	.dist-cart { width: 44px; padding: 0; justify-content: center; }
	.dist-cart__total { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.dist-header__inner > .dist-logo { font-size: 21px; }
}

/* ---------- Breadcrumb e titoli pagina ---------- */
.dist .storefront-breadcrumb { margin: 0; padding: 22px 0 6px; background: transparent; }
.dist .woocommerce-breadcrumb { font-size: 14px; color: var(--d-muted); padding: 0; margin: 0; }
.dist .woocommerce-breadcrumb a { color: var(--d-muted); }
.dist .woocommerce-breadcrumb .breadcrumb-separator { padding: 0 8px; text-indent: 0; }
.dist .woocommerce-breadcrumb .breadcrumb-separator::after { content: none; }
.dist .woocommerce-breadcrumb a:first-of-type::before { content: none; }
.dist .entry-header, .dist .woocommerce-products-header { padding: 24px 0 8px; border: 0; margin-bottom: 16px; }
.dist .woocommerce-products-header, .dist .woocommerce-products-header .term-description { text-align: left; }
.dist .entry-title, .dist .woocommerce-products-header__title { margin: 0; }
.dist .term-description, .dist .page-description { color: var(--d-muted); max-width: 760px; }
.dist .hentry { margin-bottom: 0; }
.dist .type-post .entry-content { max-width: 780px; margin: 0 auto; font-size: 17px; }
/* pagine: larghezza di lettura solo per il testo; shortcode WooCommerce/Dokan a tutta larghezza */
.dist .type-page .entry-content { font-size: 17px; }
.dist .type-page .entry-content > :is(p, ul, ol, h2, h3, h4, h5, blockquote, figure, table, .wp-block-buttons) { max-width: 780px; }
.dist .entry-content h2 { font-size: 30px; margin: 1.6em 0 .5em; }
.dist .entry-content h3 { font-size: 23px; margin: 1.4em 0 .4em; }
.dist .entry-content img { border-radius: 16px; }

/* ---------- Home ---------- */
.dist-home { padding-bottom: 8px; }
.dist-eyebrow { display: block; font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--d-accent); }
.dist-eyebrow--olive { color: var(--d-olive); }

.dist-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; padding: 56px 0 80px; }
.dist-hero__text { display: flex; flex-direction: column; gap: 24px; }
.dist .dist-hero h1 { margin: 0; font-size: clamp(38px, 5vw, 68px); line-height: 1.02; letter-spacing: -0.025em; }
.dist-hero p { margin: 0; font-size: 19px; color: var(--d-muted); max-width: 540px; }
.dist-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.dist-hero__media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 232px); gap: 16px; }
.dist-hero__img { width: 100%; height: 100%; object-fit: contain; box-sizing: border-box; padding: 20px; border-radius: 24px; background: var(--d-paper); border: 1px solid var(--d-line); }
.dist-hero__img--1 { grid-row: span 2; }

.dist-section { padding-bottom: 88px; }
.dist-section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.dist-section__head h2 { margin: 0; }
.dist .dist-section__head a { font-weight: 600; color: var(--d-accent); white-space: nowrap; }

.dist-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dist-cats li { margin: 0; }
.dist-cat { display: flex; align-items: center; gap: 20px; padding: 16px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); transition: border-color .15s, transform .15s; }
.dist a.dist-cat:hover { border-color: var(--d-accent); color: var(--d-ink); transform: translateY(-2px); }
.dist-cat__img { flex: none; width: 88px; height: 88px; object-fit: cover; border-radius: 14px; background: var(--d-sand); }
.dist-cat__img--letter { display: flex; align-items: center; justify-content: center; font-family: var(--d-serif); font-size: 36px; color: var(--d-accent); }
.dist-cat__text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.dist-cat__name { font-family: var(--d-serif); font-size: 21px; font-weight: 500; line-height: 1.2; }
.dist-cat__count { font-size: 14px; color: var(--d-muted); }
.dist-cat .dist-icon { color: var(--d-accent); flex: none; }

.dist-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-bottom: 88px; padding: 56px; background: var(--d-sand); border-radius: var(--d-radius-lg); }
.dist-step { display: flex; flex-direction: column; gap: 10px; }
.dist-step__n { font-family: var(--d-serif); font-size: 44px; line-height: 1; color: var(--d-accent); }
.dist .dist-step h3 { margin: 0; font-family: var(--d-sans); font-size: 20px; font-weight: 600; letter-spacing: 0; }
.dist-step p { margin: 0; color: var(--d-muted); }

.dist-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 88px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); overflow: hidden; }
.dist-featured__img { width: 100%; height: 100%; min-height: 320px; max-height: 420px; object-fit: cover; }
.dist-featured__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; padding: 56px; }
.dist-featured__text h2 { margin: 0; }
.dist-featured__text p { margin: 0; font-size: 17px; color: var(--d-muted); }

.dist-sell { display: flex; justify-content: space-between; align-items: center; gap: 48px; margin-bottom: 16px; padding: 64px; background: var(--d-olive); color: var(--d-olive-ink); border-radius: var(--d-radius-lg); }
.dist .dist-sell h2 { margin: 0 0 12px; color: #fff; }
.dist-sell p { margin: 0; font-size: 18px; max-width: 700px; }
.dist-sell .dist-btn { flex: none; }

@media (max-width: 1023px) {
	.dist-hero { grid-template-columns: 1fr; gap: 28px; padding: 24px 0 48px; }
	/* mobile: prima titolo e pulsante, poi una fascia di foto bassa */
	.dist-hero__media { grid-template-rows: repeat(2, 110px); }
	.dist-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.dist-steps { grid-template-columns: 1fr; gap: 24px; padding: 28px; margin-bottom: 48px; }
	.dist-featured { grid-template-columns: 1fr; margin-bottom: 48px; }
	.dist-featured__img { min-height: 200px; max-height: 240px; }
	.dist-featured__text { padding: 28px; }
	.dist-sell { flex-direction: column; align-items: stretch; gap: 20px; padding: 32px 24px; }
	.dist-section { padding-bottom: 48px; }
}
@media (max-width: 599px) {
	.dist-hero__actions .dist-btn { flex: 1 1 100%; }
	.dist-cat { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px; }
	.dist-cat__img { width: 100%; height: 88px; }
	.dist-cat .dist-icon { display: none; }
	.dist-cat__name { font-size: 17px; }
}

/* ---------- Griglia prodotti (loop WooCommerce) ---------- */
.dist ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; margin: 0 0 24px; padding: 0; }
.dist ul.products::before, .dist ul.products::after { content: none; display: none; }
.dist ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dist ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	display: flex; flex-direction: column; gap: 10px; text-align: left;
}
.dist ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.dist ul.products li.product img {
	width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: contain; margin: 0 0 4px;
	padding: 18px; box-sizing: border-box; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius);
	transition: border-color .15s;
}
.dist ul.products li.product a:hover img { border-color: var(--d-accent); }
.dist-card__vendor { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--d-olive); }
.dist ul.products li.product .woocommerce-loop-product__title,
.dist ul.products li.product .woocommerce-loop-category__title { margin: 0; padding: 0; font-family: var(--d-sans); font-size: 16px; font-weight: 500; line-height: 1.35; letter-spacing: 0; color: var(--d-ink); }
.dist ul.products li.product .price { margin: auto 0 0; font-family: var(--d-serif); font-size: 21px; font-weight: 600; color: var(--d-ink); }
.dist ul.products li.product .price del { font-size: 15px; color: var(--d-muted); opacity: 1; }
.dist ul.products li.product .price ins { font-weight: 600; text-decoration: none; color: var(--d-accent); }
.dist ul.products li.product .button { align-self: flex-start; margin: 0; padding: 9px 18px; min-height: 40px; font-size: 14px; }
.dist ul.products li.product .added_to_cart { margin: 0; align-self: flex-start; background: transparent; color: var(--d-accent); border-color: var(--d-accent); min-height: 40px; padding: 8px 16px; font-size: 14px; }
.dist ul.products li.product .onsale { position: absolute; top: 12px; left: 12px; margin: 0; padding: 4px 10px; border: 0; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-size: 12px; font-weight: 600; }
.dist ul.products li.product { position: relative; }
.dist ul.products li.product .star-rating { margin: 0; font-size: 13px; }
.dist ul.products li.product .stock { margin: 0; font-size: 13px; }

@media (max-width: 1023px) { .dist ul.products, .dist ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.dist ul.products, .dist ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	.dist ul.products li.product img { padding: 10px; }
	.dist ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
	.dist ul.products li.product .price { font-size: 18px; }
	.dist ul.products li.product .button { width: 100%; align-self: stretch; }
}

/* ---------- Filtri catalogo ---------- */
.dist-filters { display: flex; flex-direction: column; gap: 14px; margin: 0 0 24px; }
.dist-subcats, .dist-active-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dist-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 7px 16px; box-sizing: border-box; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); font-size: 14px; font-weight: 500; }
.dist a.dist-chip:hover { border-color: var(--d-accent); color: var(--d-accent); }
.dist-chip--active { background: var(--d-sand); border-color: var(--d-sand); }
.dist-chip .dist-icon { width: 14px; height: 14px; }
.dist-active-filters__reset { font-size: 14px; font-weight: 600; text-decoration: underline; margin-left: 4px; }
.dist-filters__form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dist-filters__label { font-size: 14px; font-weight: 600; color: var(--d-muted); margin-right: 4px; }
.dist-filter { position: relative; }
.dist-filter > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 14px 8px 18px; box-sizing: border-box; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); font-size: 15px; font-weight: 500; cursor: pointer; user-select: none; }
.dist-filter > summary::-webkit-details-marker { display: none; }
.dist-filter > summary:hover, .dist-filter[open] > summary { border-color: var(--d-ink); }
.dist-filter[data-active] > summary { border-color: var(--d-accent); color: var(--d-accent); }
.dist-filter > summary .dist-icon { width: 16px; height: 16px; transition: transform .15s; }
.dist-filter[open] > summary .dist-icon { transform: rotate(180deg); }
.dist-filter__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-size: 12px; font-weight: 600; }
.dist-filter__panel { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; min-width: 260px; max-height: 340px; overflow-y: auto; padding: 10px; box-sizing: border-box; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: 16px; box-shadow: 0 18px 40px rgba(30, 26, 22, .12); }
.dist-filter__panel fieldset { margin: 0; padding: 0; border: 0; }
.dist-check { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; font-weight: 500; font-size: 15px; cursor: pointer; }
.dist-check:hover { background: var(--d-sand); }
.dist-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--d-accent); }
.dist-check span:first-of-type { flex: 1; }
.dist-check__count { color: var(--d-muted); font-size: 13px; }
.dist-filter__panel--price { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 14px; }
.dist-filter__panel--price label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--d-muted); }
.dist .dist-filter__panel--price input[type="number"] { width: 100px; min-height: 42px; }
.dist .dist-filter__apply { min-height: 42px; padding: 8px 18px; font-size: 14px; }
@media (max-width: 767px) {
	.dist-subcats { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
	.dist-subcats .dist-chip { flex: none; }
	.dist-filters__label { flex-basis: 100%; }
	.dist-filter { position: static; }
	.dist-filters__form { position: relative; }
	.dist-filter__panel { left: 0; right: 0; min-width: 0; }
}

/* Ordinamento, conteggio, paginazione */
.dist .storefront-sorting { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; padding: 0; font-size: 14px; }
.dist .storefront-sorting .woocommerce-ordering, .dist .storefront-sorting .woocommerce-result-count, .dist .storefront-sorting .woocommerce-pagination { float: none; margin: 0; padding: 0; }
.dist .woocommerce-result-count { color: var(--d-muted); }
.dist .woocommerce-ordering select {
	appearance: none; -webkit-appearance: none; min-height: 42px; padding: 8px 40px 8px 18px; border: 1px solid var(--d-line); border-radius: var(--d-pill);
	background: var(--d-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1A16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
	color: var(--d-ink); font-size: 15px; font-weight: 500; line-height: 1.2; cursor: pointer; box-shadow: none;
}
.dist .woocommerce-ordering select:hover { border-color: var(--d-ink); }
.dist .woocommerce-ordering select:focus { outline: none; }
.dist .woocommerce-ordering select:focus-visible { border-color: var(--d-accent); box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
/* barra unica: filtri a sinistra, conteggio + ordinamento a destra (inc/filters.php) */
.dist-filters__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.dist-filters__sort { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.dist .dist-filters__sort .woocommerce-result-count, .dist .dist-filters__sort .woocommerce-ordering { float: none; margin: 0; padding: 0; font-size: 14px; }
.dist .dist-filters + .storefront-sorting { margin-bottom: 0; }
.dist .dist-filters + .storefront-sorting:has(.woocommerce-pagination) { margin-bottom: 24px; }
@media (max-width: 599px) {
	.dist-filters__sort { width: 100%; margin-left: 0; justify-content: space-between; }
}
.dist .woocommerce-pagination .page-numbers, .dist .pagination .page-numbers { display: flex; gap: 6px; border: 0; margin: 0; padding: 0; }
.dist .woocommerce-pagination .page-numbers li, .dist .pagination .page-numbers li { border: 0; margin: 0; }
.dist .page-numbers a, .dist .page-numbers span.current, .dist .page-numbers span.dots {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; box-sizing: border-box;
	border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); font-weight: 600;
}
.dist .woocommerce-pagination .page-numbers li .page-numbers, .dist .pagination .page-numbers li .page-numbers { background: var(--d-paper); color: var(--d-ink); }
.dist .woocommerce-pagination .page-numbers li .page-numbers.current, .dist .pagination .page-numbers li .page-numbers.current,
.dist .page-numbers span.current { background: var(--d-ink); border-color: var(--d-ink); color: var(--d-ground); }
.dist .woocommerce-pagination .page-numbers li a.page-numbers:hover { border-color: var(--d-accent); color: var(--d-accent); }
/* barra sotto la griglia: paginazione centrata */
.dist ul.products ~ .storefront-sorting { justify-content: center; flex-direction: column; margin-top: 16px; }
.dist ul.products ~ .storefront-sorting .woocommerce-ordering, .dist ul.products ~ .storefront-sorting .woocommerce-result-count { display: none; }
.dist .woocommerce-pagination { text-align: center; }
.dist .woocommerce-pagination .page-numbers { justify-content: center; flex-wrap: wrap; }

/* ---------- Scheda prodotto ---------- */
.dist.single-product div.product { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 72px; align-items: start; padding-top: 16px; }
.dist.single-product div.product::before, .dist.single-product div.product::after { content: none; }
.dist.single-product div.product .woocommerce-product-gallery,
.dist.single-product div.product .summary { width: auto; float: none; margin: 0; }
.dist.single-product div.product .woocommerce-product-gallery { grid-column: 1; position: relative; }
.dist.single-product div.product .summary { grid-column: 2; display: flex; flex-direction: column; gap: 18px; padding-top: 8px; }
.dist.single-product div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.dist.single-product div.product .woocommerce-product-gallery__image {
	display: flex; align-items: center; justify-content: center;
	background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); overflow: hidden;
}
.dist.single-product div.product .woocommerce-product-gallery__image img { max-height: 620px; width: 100%; object-fit: contain; padding: 32px; box-sizing: border-box; }
.dist.single-product div.product .flex-control-thumbs { display: flex; gap: 10px; margin: 12px 0 0; padding: 0; }
.dist.single-product div.product .flex-control-thumbs li { width: 80px !important; float: none !important; margin: 0 !important; }
.dist.single-product div.product .flex-control-thumbs img { border: 1px solid var(--d-line); border-radius: 12px; background: var(--d-paper); padding: 6px; opacity: .7; }
.dist.single-product div.product .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--d-accent); }
.dist .woocommerce-product-gallery__trigger { top: 16px !important; right: 16px !important; width: 40px !important; height: 40px !important; border-radius: var(--d-pill) !important; background: var(--d-paper) !important; border: 1px solid var(--d-line); }
/* lente centrata (Storefront disegna l'icona 38x32 in alto e lascia sotto l'emoji nascosta) e sotto il menu a tendina (WooCommerce le da' z-index 99, l'intestazione ha 50) */
.dist .woocommerce-product-gallery__trigger { z-index: 3 !important; display: flex !important; align-items: center; justify-content: center; overflow: hidden; text-indent: 0 !important; }
.dist .woocommerce-product-gallery__trigger > span { display: none; }
.dist .woocommerce-product-gallery__trigger::before { width: auto !important; height: auto !important; margin: 0 !important; line-height: 1 !important; }

.dist-vendor-chip { align-self: flex-start; display: inline-flex; align-items: center; gap: 12px; padding: 6px 16px 6px 6px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-pill); }
.dist a.dist-vendor-chip:hover { border-color: var(--d-accent); color: var(--d-ink); }
.dist-vendor-chip__initial { width: 36px; height: 36px; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--d-pill); background: var(--d-olive); color: var(--d-olive-ink); font-family: var(--d-serif); font-weight: 600; }
.dist-vendor-chip__text { display: flex; flex-direction: column; line-height: 1.25; }
.dist-vendor-chip__text strong { font-size: 15px; }
.dist-vendor-chip__text span { font-size: 13px; color: var(--d-muted); }

.dist.single-product div.product .product_title { margin: 0; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; }
.dist.single-product div.product .summary .price { margin: 0; font-family: var(--d-serif); font-size: 38px; font-weight: 600; color: var(--d-accent); }
.dist.single-product div.product .summary .price del { font-size: 22px; color: var(--d-muted); opacity: 1; }
.dist.single-product div.product .summary .price ins { text-decoration: none; }
.dist .woocommerce-product-details__short-description { font-size: 17px; color: var(--d-muted); }
.dist .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.dist.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 4px 0 0; padding: 0; border: 0; }
.dist.single-product div.product form.cart::before, .dist.single-product div.product form.cart::after { content: none; }
.dist.single-product div.product form.cart .quantity { float: none; margin: 0; }
.dist.single-product div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 56px; font-size: 17px; float: none; }
.dist.single-product div.product .stock { margin: 0; font-weight: 600; }
.dist.single-product div.product .stock.in-stock { color: var(--d-ok); }
.dist.single-product div.product .stock.out-of-stock { color: var(--d-danger); }

/* quantita' con bottoni - + (JS) */
.dist .quantity.dist-qty { display: inline-flex; align-items: center; height: 52px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-pill); overflow: hidden; }
.dist .quantity.dist-qty .qty { width: 44px; min-height: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.dist .quantity.dist-qty .qty::-webkit-inner-spin-button, .dist .quantity.dist-qty .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dist .dist-qty__btn { width: 46px; min-height: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--d-ink); font-size: 20px; font-weight: 500; }
.dist .dist-qty__btn:hover { background: var(--d-sand); color: var(--d-ink); }
.dist .quantity .qty { border-radius: var(--d-pill); text-align: center; }

.dist-trust { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--d-line); }
.dist-trust li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--d-line); font-size: 15px; }
.dist-trust .dist-icon { color: var(--d-olive); flex: none; }
.dist-trust__sub { color: var(--d-muted); font-size: 14px; }
.dist.single-product div.product .product_meta { margin: 0; padding: 0; border: 0; font-size: 14px; color: var(--d-muted); }
.dist.single-product div.product .product_meta > span { display: block; margin-bottom: 4px; }
.dist.single-product div.product .product_meta a { color: var(--d-muted); text-decoration: underline; }

/* tab: elenco a sinistra, contenuto a destra (come Storefront desktop) */
.dist.single-product div.product .woocommerce-tabs { grid-column: 1 / -1; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 64px; margin-top: 48px; padding: 0; }
.dist.single-product div.product .woocommerce-tabs::before, .dist.single-product div.product .woocommerce-tabs::after { content: none; display: none; }
.dist .woocommerce-tabs ul.tabs { width: auto; float: none; margin: 0; padding: 0; border-top: 1px solid var(--d-line); list-style: none; }
.dist .woocommerce-tabs ul.tabs li { margin: 0; border-bottom: 1px solid var(--d-line); }
.dist .woocommerce-tabs ul.tabs li a { display: block; padding: 16px 0; font-size: 17px; font-weight: 500; }
.dist .woocommerce-tabs ul.tabs li a::after { content: none; }
.dist .woocommerce-tabs ul.tabs li.active a { color: var(--d-accent); font-weight: 600; }
.dist .woocommerce-tabs .panel { width: auto; float: none; margin: 0; padding: 0; max-width: 780px; font-size: 17px; }
.dist .woocommerce-tabs .panel > h2:first-child { margin-top: 0; font-size: 30px; }
.dist .woocommerce-tabs .panel table { font-size: 15px; }
.dist.single-product div.product .related, .dist.single-product div.product .upsells { grid-column: 1 / -1; margin-top: 56px; }
.dist .related > h2, .dist .upsells > h2 { font-size: 34px; margin-bottom: 24px; }

@media (max-width: 1023px) {
	.dist.single-product div.product { grid-template-columns: 1fr; gap: 24px; }
	.dist.single-product div.product .woocommerce-product-gallery, .dist.single-product div.product .summary { grid-column: 1; }
	.dist.single-product div.product .woocommerce-product-gallery__image img { max-height: 420px; padding: 20px; }
	.dist.single-product div.product .woocommerce-tabs { grid-template-columns: 1fr; gap: 20px; margin-top: 16px; }
	.dist .woocommerce-tabs ul.tabs { display: flex; gap: 8px; overflow-x: auto; border: 0; padding-bottom: 4px; }
	.dist .woocommerce-tabs ul.tabs li { border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); flex: none; }
	.dist .woocommerce-tabs ul.tabs li a { padding: 10px 16px; font-size: 15px; }
	.dist .woocommerce-tabs ul.tabs li.active { border-color: var(--d-accent); }
}

/* supporto negozio Dokan: bottone secondario accanto a "Aggiungi al carrello" */
.dist.single-product div.product form.cart .dokan-store-support-btn, .dist.single-product .summary .dokan-store-support-btn { flex: none; min-height: 56px; background: transparent; border-color: var(--d-line); color: var(--d-ink); }
.dist.single-product .summary .dokan-store-support-btn:hover { background: var(--d-paper); border-color: var(--d-ink); color: var(--d-ink); }

/* barra "aggiungi al carrello" fissa di Storefront */
.dist .storefront-sticky-add-to-cart { background: var(--d-ground); border-bottom: 1px solid var(--d-line); box-shadow: 0 8px 24px rgba(30, 26, 22, .08); }
.dist .storefront-sticky-add-to-cart__content-title { font-family: var(--d-serif); }
.dist .storefront-sticky-add-to-cart__content img { width: 56px; height: 56px; object-fit: contain; padding: 4px; box-sizing: border-box; border: 1px solid var(--d-line); border-radius: 12px; background: var(--d-paper); box-shadow: none; }
.dist .storefront-sticky-add-to-cart__content-button { background: var(--d-accent) !important; color: #fff !important; border-radius: var(--d-pill); }

/* ---------- Avvisi WooCommerce ---------- */
.dist .woocommerce-message, .dist .woocommerce-info, .dist .woocommerce-error, .dist .woocommerce-noreviews, .dist p.no-comments {
	margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--d-line); border-left-width: 1px; border-radius: 16px;
	background: var(--d-paper); color: var(--d-ink); font-size: 15px; list-style: none;
}
.dist .woocommerce-message { border-color: #BFD1B4; background: #F2F6EC; }
.dist .woocommerce-error { border-color: #E4B8B0; background: #FBF0EE; }
.dist .woocommerce-message::before, .dist .woocommerce-info::before, .dist .woocommerce-error::before { color: inherit; }
/* l'icona di Storefront e' in posizione assoluta: il testo parte dopo di lei */
.dist :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments) { padding-left: 50px; }
.dist :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments)::before { left: 20px; top: 18px; }
.dist :is(.woocommerce-message, .woocommerce-info):has(> .button) { display: flow-root; line-height: 36px; }
.dist .woocommerce-message .button, .dist .woocommerce-info .button { float: right; margin-left: 16px; min-height: 36px; padding: 7px 16px; font-size: 14px; }
.dist .woocommerce-message a:not(.button), .dist .woocommerce-info a:not(.button) { text-decoration: underline; }

/* ---------- Carrello e checkout (shortcode e blocchi) ---------- */
.dist table.shop_table, .dist table.cart, .dist .woocommerce-checkout-review-order-table {
	border: 1px solid var(--d-line); border-radius: var(--d-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--d-paper);
}
.dist table.shop_table th, .dist table.shop_table td { padding: 16px 18px; background: transparent; border-bottom: 1px solid var(--d-line); }
.dist table.shop_table tr:last-child > * { border-bottom: 0; }
.dist table.shop_table thead th { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); background: var(--d-ground); }
.dist table.cart td.product-thumbnail img { width: 72px; border-radius: 12px; border: 1px solid var(--d-line); padding: 4px; background: #fff; }
.dist table.cart td.product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--d-pill); color: var(--d-muted) !important; font-size: 20px; }
.dist table.cart td.product-remove a.remove:hover { background: var(--d-sand); }
.dist table.cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
.dist .cart-collaterals .cart_totals h2, .dist #order_review_heading, .dist .woocommerce-billing-fields h3, .dist .woocommerce-shipping-fields h3, .dist .woocommerce-additional-fields h3 { font-size: 26px; }
.dist .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; font-size: 17px; }
.dist #payment { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); }
.dist #payment .payment_methods > li { background: transparent; }
.dist #payment .place-order { padding: 20px; }
.dist #place_order { width: 100%; min-height: 56px; font-size: 17px; }
.dist form.checkout .col2-set .col-1, .dist form.checkout .col2-set .col-2 { float: none; width: 100%; }
@media (min-width: 1024px) {
	.dist form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 56px; }
	.dist form.checkout > .woocommerce-NoticeGroup, .dist form.checkout > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.dist form.checkout .col2-set { grid-column: 1; grid-row: span 3; width: auto; float: none; margin: 0; }
	.dist form.checkout #order_review_heading, .dist form.checkout #order_review { grid-column: 2; width: auto; float: none; margin: 0; }
}
.dist .wc-block-cart, .dist .wc-block-checkout { font-family: var(--d-sans); }

/* ---------- Il mio account ---------- */
.dist .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; list-style: none; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); }
.dist .woocommerce-MyAccount-navigation ul li { margin: 0; border: 0; }
.dist .woocommerce-MyAccount-navigation ul li a { display: block; padding: 11px 14px; border-radius: 12px; font-weight: 500; }
.dist .woocommerce-MyAccount-navigation ul li a::before { content: none; }
.dist .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--d-sand); color: var(--d-accent); }
.dist form.login, .dist form.register, .dist .woocommerce-form-login, .dist .woocommerce-form-register {
	margin: 0 0 32px; padding: 32px; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper);
}
.dist .u-columns.col2-set .u-column1 h2, .dist .u-columns.col2-set .u-column2 h2 { font-size: 30px; }

/* ---------- Dokan: elenco venditori, negozio, registrazione ---------- */
.dist #dokan-seller-listing-wrap ul.dokan-seller-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; }
.dist #dokan-seller-listing-wrap ul.dokan-seller-wrap::before, .dist #dokan-seller-listing-wrap ul.dokan-seller-wrap::after, .dist #dokan-seller-listing-wrap ul.dokan-seller-wrap > .dokan-clearfix { content: none; display: none; }
.dist #dokan-seller-listing-wrap ul.dokan-seller-wrap li.dokan-single-seller { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.dist .dokan-single-seller .store-wrapper { border: 1px solid var(--d-line) !important; border-radius: var(--d-radius) !important; overflow: hidden; background: var(--d-paper); box-shadow: none !important; }
.dist .dokan-single-seller .store-data h2 { font-family: var(--d-serif); }
.dist .dokan-single-seller .store-footer { background: var(--d-paper) !important; border-top: 1px solid var(--d-line); }
.dist .dokan-single-seller .dokan-btn-round, .dist .dokan-single-seller .store-footer .dokan-btn { border-radius: var(--d-pill) !important; }
.dist .dist-vendors-cta { margin-top: 32px; }
.dist #dokan-seller-listing-wrap, .dist #dokan-seller-listing-wrap ul.dokan-seller-wrap { margin-left: 0 !important; margin-right: 0 !important; }
.dist #dokan-store-listing-filter-wrap { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); box-shadow: none; padding: 12px 16px; margin-bottom: 24px; }
@media (max-width: 1023px) { .dist #dokan-seller-listing-wrap ul.dokan-seller-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .dist #dokan-seller-listing-wrap ul.dokan-seller-wrap { grid-template-columns: 1fr; } }
/* elenco venditori in modalita' "elenco": una scheda per riga, immagine | nome e indirizzo | pulsanti (20260925) */
.dist #dokan-seller-listing-wrap.list-view ul.dokan-seller-wrap { grid-template-columns: 1fr; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-wrapper { display: grid !important; grid-template-columns: 200px minmax(0, 1fr) auto; align-items: stretch; min-height: 140px; position: relative; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-header { width: auto !important; height: auto !important; position: relative; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-banner { width: 100% !important; height: 100% !important; min-height: 140px; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-banner img { width: 100%; height: 100%; object-fit: cover; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-content, .dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-data-container, .dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-data { width: auto !important; height: auto !important; position: static !important; background: none !important; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-content { display: flex; align-items: center; padding: 20px 24px !important; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-data h2, .dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-data h2 a { margin: 0 0 6px; color: var(--d-ink) !important; font-size: 26px; text-shadow: none; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-data p, .dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-address { display: block; margin: 0; color: var(--d-muted) !important; font-size: 15px; text-shadow: none; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-footer { width: auto !important; display: flex; align-items: center; gap: 12px; padding: 20px 24px !important; border-top: 0; border-left: 1px solid var(--d-line); }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .featured-favourite { position: absolute; top: 12px; left: 12px; z-index: 2; }
.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .featured-favourite .featured-label { white-space: nowrap; }
@media (max-width: 599px) {
	.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-wrapper { grid-template-columns: 1fr; }
	.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-banner { min-height: 160px; }
	.dist #dokan-seller-listing-wrap.list-view .dokan-single-seller .store-footer { border-left: 0; border-top: 1px solid var(--d-line); }
}

/* pagina negozio: la sidebar Dokan e' vuota, lo store va a tutta larghezza */
.dist .dokan-store-wrap > #dokan-secondary.dokan-store-sidebar { display: none; }
.dist .dokan-store-wrap > #dokan-primary.dokan-single-store { width: 100%; flex: 1 1 100%; max-width: 100%; }
.dist .dokan-single-store .profile-frame { border-radius: var(--d-radius-lg); overflow: hidden; }
.dist .dokan-store-tabs { border-radius: 0 0 var(--d-radius) var(--d-radius); }
.dist .dokan-store-products-filter-area .dokan-store-products-ordeby select,
.dist .dokan-store-products-filter-area input.product-name-search { border-radius: var(--d-pill); }

/* colori primari Dokan */
.dist .dokan-btn-theme, .dist .dokan-btn-theme:visited, .dist input[type="submit"].dokan-btn-theme,
.dist .dokan-single-seller .store-footer .dokan-btn-theme {
	background: var(--d-accent) !important; border-color: var(--d-accent) !important; color: #fff !important; border-radius: var(--d-pill);
}
.dist .dokan-btn-theme:hover { background: var(--d-accent-dark) !important; border-color: var(--d-accent-dark) !important; }
.dist .dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active,
.dist .dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover { background: var(--d-accent) !important; }
.dist .dokan-dashboard .dokan-dash-sidebar { background: var(--d-olive) !important; border-radius: var(--d-radius); overflow: hidden; }
.dist .dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a { color: var(--d-olive-ink) !important; }
.dist .dokan-dashboard .dokan-dashboard-content { font-family: var(--d-sans); }
.dist .dokan-form-control, .dist .dokan-form-group input, .dist .dokan-form-group select { border-radius: 12px; }

/* ---------- Badge venditore (Dokan Seller Badge) ---------- */
.dist-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dist-badge { margin: 0; line-height: 0; }
.dist-badge img { display: block; border-radius: 50%; transition: transform .15s; }
.dist-badge img:hover { transform: scale(1.12); }
.dist .dokan-store-info .dist-store-badges { margin-top: 10px; list-style: none; }
.dist .dokan-store-info .dist-store-badges::before { content: none; }
.dist-badges--sm { margin-top: -6px; }

/* ---------- Footer ---------- */
.dist-footer { margin-top: 0; padding: 56px 0 28px; border-top: 1px solid var(--d-line); background: var(--d-ground); color: var(--d-ink); font-size: 15px; }
.dist-footer__cols { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr)); gap: 40px; padding-bottom: 36px; }
.dist-footer__brand p { margin: 12px 0 0; color: var(--d-muted); }
.dist-footer nav { display: flex; flex-direction: column; gap: 10px; }
.dist-footer__title { font-weight: 600; margin-bottom: 2px; }
.dist-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 20px; border-top: 1px solid var(--d-line); font-size: 14px; color: var(--d-muted); }
@media (max-width: 767px) {
	.dist-footer { padding-top: 36px; }
	.dist-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	.dist-footer__brand { grid-column: 1 / -1; }
}

/* ---------- Articoli e widget ---------- */
.dist .widget-area { font-size: 15px; }
.dist .post-navigation, .dist .comments-area { max-width: 780px; margin-left: auto; margin-right: auto; }
.dist .entry-meta, .dist .posted-on { color: var(--d-muted); font-size: 14px; }

@media (prefers-reduced-motion: reduce) {
	.dist *, .dist *::before, .dist *::after { transition: none !important; }
}

/* ---------- Pagina contatti ---------- */
.dist-contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 24px 0 40px; }
.dist-contact-cards > div { padding: 20px 22px; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); }
.dist-contact-cards h3 { margin: 0 0 6px; font-size: 20px; }
.dist-contact-cards p { margin: 0; font-size: 15px; color: var(--d-muted); }
.dist-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; max-width: 780px; margin-top: 16px; }
.dist-contact p { margin: 0 0 14px; }
.dist-contact label { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 600; }
.dist-contact input:not([type="checkbox"]), .dist-contact select, .dist-contact textarea { width: 100%; }
.dist-contact__wide, .dist-contact .dist-alert { grid-column: 1 / -1; }
.dist-contact__check { display: flex; gap: 10px; align-items: flex-start; }
.dist-contact__check input { margin-top: 5px; flex: none; }
.dist-contact__check label { font-weight: 400; margin: 0; }
.dist-contact__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dist-alert { max-width: 780px; margin: 0 0 20px; padding: 16px 20px; border: 1px solid var(--d-line); border-radius: 16px; background: var(--d-paper); font-size: 15px; }
.dist-alert p { margin: 0; }
.dist-alert--ok { border-color: #BFD1B4; background: #F2F6EC; }
.dist-alert--error { border-color: #E4B8B0; background: #FBF0EE; color: var(--d-danger); }
@media (max-width: 767px) {
	.dist-contact { grid-template-columns: 1fr; }
}

/* ---------- Landing (pagine con titolo nel contenuto): Diventa venditore ---------- */
.dist-landing-page .entry-header { display: none; }
/* overflow-x: hidden (Storefront/Dokan) su body e .site rende inutile position: sticky; clip taglia allo stesso modo senza creare un contenitore di scroll */
body.dist-landing-page, .dist-landing-page .site { overflow-x: clip; }
.dist .dist-landing { font-size: 17px; }
.dist .dist-landing > section { margin: 0 0 72px; }
.dist .dist-landing img { display: block; width: 100%; height: auto; border-radius: var(--d-radius-lg); }
.dist .dist-landing figure { margin: 0; }
.dist .dist-landing .dist-eyebrow { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--d-accent); }

.dist-seller-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.dist-seller-hero__intro { position: sticky; top: 24px; }
.dist .dist-seller-hero h1 { margin: 0 0 18px; font-size: clamp(34px, 4.2vw, 54px); }
.dist-seller-hero__lead { margin: 0 0 24px; font-size: 18px; color: var(--d-muted); }
.dist-seller-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 28px; padding: 0; list-style: none; }
.dist-seller-points li { padding: 16px; border-radius: var(--d-radius); background: var(--d-sand); font-size: 14px; line-height: 1.4; }
.dist-seller-points li:nth-child(2) { background: var(--d-olive); color: var(--d-olive-ink); }
.dist-seller-points strong { display: block; margin-bottom: 4px; font-family: var(--d-serif); font-size: 26px; font-weight: 500; color: var(--d-accent); }
.dist-seller-points li:nth-child(2) strong { color: #fff; }

.dist-seller-hero__form { padding: 32px; border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); background: var(--d-paper); box-shadow: 0 18px 50px rgba(30, 26, 22, .08); scroll-margin-top: 24px; }
.dist .dist-seller-hero__form > h2 { margin: 0 0 6px; font-size: 30px; }
.dist-seller-hero__form > p { margin: 0 0 20px; color: var(--d-muted); font-size: 15px; }
.dist .dist-seller-hero__form > p.dist-seller-login { margin: 16px 0 0; text-align: center; }
.dist-seller-login a { text-decoration: underline; text-underline-offset: 2px; }
/* modulo Dokan dentro la card: niente seconda card, niente login duplicato */
.dist-seller .dokan-vendor-onboarding { padding: 0; }
.dist-seller .dokan-onboarding-container { display: block; }
.dist-seller .dokan-login-section, .dist-seller .dokan-registration-section > h2 { display: none; }
.dist-seller .dokan-registration-section form.register { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.dist-seller form.register label { font-size: 14px; font-weight: 600; color: var(--d-ink); }
.dist-seller form.register .form-row { margin-bottom: 14px; }
.dist-seller form.register input.tc_check_box { margin: 0 8px 0 0; vertical-align: middle; }
.dist-seller form.register label[for="tc_agree"] { font-weight: 400; }
.dist-seller form.register input[type="submit"], .dist-seller form.register button[type="submit"] {
	width: 100%; min-height: 50px; margin-top: 8px; border-color: var(--d-accent); background: var(--d-accent); color: #fff; border-radius: var(--d-pill); text-transform: none; font-size: 16px;
}
.dist-seller form.register input[type="submit"]:not(:disabled):hover { border-color: var(--d-accent-dark); background: var(--d-accent-dark); }

.dist-seller-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.dist-seller-split--reverse > figure { order: 2; }
.dist .dist-seller-split h2 { margin: 0 0 16px; }
.dist-seller-split p { color: var(--d-muted); }

.dist .dist-seller-benefits > h2 { margin: 0 0 24px; }
.dist-seller-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dist-seller-card { padding: 28px; border-radius: var(--d-radius-lg); border: 1px solid var(--d-line); background: var(--d-paper); }
.dist .dist-seller-card h3 { margin: 0 0 10px; font-size: 22px; }
.dist-seller-card p { margin: 0; font-size: 16px; color: var(--d-muted); }
.dist-seller-card--sand { background: var(--d-sand); border-color: var(--d-sand); }
.dist-seller-card--olive { background: var(--d-olive); border-color: var(--d-olive); }
.dist-seller-card--accent { background: var(--d-accent); border-color: var(--d-accent); }
.dist .dist-seller-card--olive h3, .dist .dist-seller-card--accent h3 { color: #fff; }
.dist-seller-card--olive p { color: var(--d-olive-ink); }
.dist-seller-card--accent p { color: #FBEDE4; }

.dist-seller-steps { margin: 20px 0 0; padding: 0; list-style: none; counter-reset: step; }
.dist-seller-steps li { position: relative; margin: 0 0 18px; padding-left: 60px; counter-increment: step; }
.dist-seller-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--d-accent); color: #fff; font-family: var(--d-serif); font-size: 20px; }
.dist-seller-steps strong { display: block; font-size: 18px; }
.dist-seller-steps span { color: var(--d-muted); }
.dist .dist-seller-steps a { text-decoration: underline; text-underline-offset: 2px; }

.dist-seller-band { position: relative; overflow: hidden; border-radius: var(--d-radius-lg); }
.dist .dist-seller-band > img { position: absolute; inset: 0; height: 100%; object-fit: cover; border-radius: 0; }
.dist-seller-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(40, 46, 22, .92) 0%, rgba(40, 46, 22, .75) 50%, rgba(40, 46, 22, .25) 100%); }
.dist-seller-band__text { position: relative; z-index: 1; max-width: 620px; padding: 64px 56px; color: var(--d-olive-ink); }
.dist .dist-seller-band h2 { margin: 0 0 16px; color: #fff; }
.dist-seller-band__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.dist .dist-seller-band__cta .dist-btn { min-width: 180px; justify-content: center; text-align: center; }

@media (max-width: 1023px) {
	.dist-seller-hero { grid-template-columns: 1fr; gap: 32px; }
	.dist-seller-hero__intro { position: static; }
	.dist-seller-hero__img { display: none; }
	.dist-seller-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.dist .dist-landing > section { margin-bottom: 48px; }
	.dist-seller-points { grid-template-columns: 1fr; }
	.dist-seller-points li { display: flex; align-items: baseline; gap: 10px; }
	.dist-seller-points strong { margin: 0; font-size: 22px; }
	.dist-seller-hero__form { padding: 22px 18px; }
	.dist-seller-split { grid-template-columns: 1fr; gap: 24px; }
	.dist-seller-split--reverse > figure { order: 0; }
	.dist-seller-cards { grid-template-columns: 1fr; }
	.dist-seller-band__text { padding: 40px 22px; }
	.dist-seller-band::after { background: rgba(40, 46, 22, .85); }
	.dist-seller-band__cta .dist-btn { flex: 1 1 100%; }
}

/* ---------- Landing: FAQ venditori ---------- */
.dist .dist-faq-hero h1 { margin: 0 0 18px; font-size: clamp(34px, 4.2vw, 54px); }
.dist-faq-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.dist .dist-landing > .dist-faq-points { margin: 0 0 72px; }

.dist-faq-group { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 40px; padding-top: 40px; border-top: 1px solid var(--d-line); }
.dist .dist-landing > .dist-faq-group { margin-bottom: 56px; }
.dist-faq-group__head { position: sticky; top: 24px; align-self: start; }
.dist-faq-group__num { display: block; margin-bottom: 8px; font-family: var(--d-serif); font-size: 44px; line-height: 1; color: var(--d-accent); }
.dist .dist-faq-group__head h2 { margin: 0; font-size: 30px; }
.dist-faq-group__list { display: grid; gap: 12px; }

.dist-faq { border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); transition: border-color .15s; }
.dist-faq[open] { border-color: var(--d-sand); background: var(--d-sand); }
.dist-faq summary { position: relative; display: block; padding: 20px 64px 20px 24px; cursor: pointer; list-style: none; font-family: var(--d-serif); font-size: 20px; line-height: 1.3; color: var(--d-ink); }
.dist-faq summary::-webkit-details-marker { display: none; }
.dist-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; display: grid; place-items: center; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: var(--d-accent); color: #fff; font-family: var(--d-sans); font-size: 20px; line-height: 1; }
.dist-faq[open] summary::after { content: "−"; background: var(--d-olive); }
.dist-faq summary:hover { color: var(--d-accent); }
.dist-faq__answer { padding: 0 24px 22px; }
.dist-faq__answer p { margin: 0; color: var(--d-muted); font-size: 16px; }
.dist .dist-faq__answer a { text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1023px) {
	.dist-faq-group { grid-template-columns: 1fr; gap: 16px; }
	.dist-faq-group__head { position: static; display: flex; align-items: baseline; gap: 14px; }
}
@media (max-width: 767px) {
	.dist .dist-faq-hero > figure { order: 2; } /* su mobile prima il titolo, poi la foto */
	.dist-faq-hero__cta .dist-btn { flex: 1 1 100%; justify-content: center; }
	.dist-faq summary { padding: 18px 56px 18px 18px; font-size: 18px; }
	.dist-faq__answer { padding: 0 18px 18px; }
}
/* pulsanti dentro il contenuto: la regola dei link di testo (.entry-content a) non deve sottolinearli ne' scurirli */
.dist .entry-content a.dist-btn { text-decoration: none; }
.dist .entry-content a.dist-btn--primary, .dist .entry-content a.dist-btn--primary:hover { color: #fff; }
.dist .entry-content a.dist-btn--outline, .dist .entry-content a.dist-btn--light { color: var(--d-ink); }
.dist .entry-content a.dist-btn--outline:hover { color: var(--d-ground); }

/* ---------- Accesso con Google (template tema dokan/global/social-registration.php) ---------- */
.dist-social-login { display: grid; gap: 10px; margin-top: 20px; }
.dist-social-login__sep { display: flex; align-items: center; gap: 12px; margin: 0 0 4px; font-size: 14px; color: var(--d-muted); }
.dist-social-login__sep::before, .dist-social-login__sep::after { content: ""; flex: 1; height: 1px; background: var(--d-line); }
.dist a.dist-social-login__btn { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 10px 20px; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); color: var(--d-ink); font-weight: 600; font-size: 15px; text-decoration: none; }
.dist a.dist-social-login__btn:hover, .dist a.dist-social-login__btn:focus-visible { border-color: var(--d-ink); color: var(--d-ink); }

/* ---------- Moduli indirizzo su più colonne (20260925) ----------
   Indirizzi di Il mio account, cassa e "Diventa un venditore" da Il mio account.
   Griglia a 6 colonne solo se il modulo è largo almeno 600px (container query):
   su telefono e nelle colonne strette resta un campo per riga. Ordine dei campi invariato. */
.dist .woocommerce-address-fields, .dist .woocommerce-billing-fields, .dist .woocommerce-shipping-fields, .dist form.update-customer-to-vendor { container-type: inline-size; }
@container (min-width: 600px) {
	.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper {
		display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 20px; align-items: end;
	}
	.woocommerce-address-fields__field-wrapper::before, .woocommerce-address-fields__field-wrapper::after,
	.woocommerce-billing-fields__field-wrapper::before, .woocommerce-billing-fields__field-wrapper::after,
	.woocommerce-shipping-fields__field-wrapper::before, .woocommerce-shipping-fields__field-wrapper::after { content: none; display: none; }
	:is(.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > .form-row {
		grid-column: span 6; width: auto; float: none; margin-right: 0; margin-left: 0; clear: none;
	}
	:is(.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > :is([id$="_first_name_field"], [id$="_last_name_field"], [id$="_company_field"], [id$="_city_field"], [id$="_dokan_vat_number_field"]) { grid-column: span 3; }
	:is(.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > [id$="_address_1_field"] { grid-column: span 4; }
	:is(.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > :is([id$="_country_field"], [id$="_address_2_field"], [id$="_state_field"], [id$="_phone_field"], [id$="_email_field"]) { grid-column: span 2; }
	:is(.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > [id$="_postcode_field"] { grid-column: span 1; }
	/* fatturazione alla cassa: appartamento | CAP | citta', provincia | telefono, email | P.IVA (email e P.IVA
	   restavano strette o da sole sulla riga) */
	.woocommerce-billing-fields__field-wrapper > #billing_address_2_field { grid-column: span 3; }
	.woocommerce-billing-fields__field-wrapper > #billing_city_field { grid-column: span 2; }
	.woocommerce-billing-fields__field-wrapper > :is(#billing_state_field, #billing_phone_field, #billing_email_field, #billing_dokan_vat_number_field) { grid-column: span 3; }

	/* Diventa un venditore (Il mio account): nome | cognome, negozio | URL, telefono | via,
	   via 2 | città | CAP, paese | provincia, azienda | P.IVA (ID, banca e IBAN tolti dalla registrazione) */
	.update-customer-to-vendor .dokan-become-seller { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 20px; align-items: start; }
	.update-customer-to-vendor .dokan-become-seller :is(.split-row, .dokan-address-fields, .dokan-from-group) { display: contents; }
	.update-customer-to-vendor .dokan-become-seller .dokan-clearfix { display: none; }
	.update-customer-to-vendor .dokan-become-seller > :has(> .dokan-address-fields) { display: contents; }
	.update-customer-to-vendor .dokan-become-seller > :has(> .dokan-address-fields) > :not(.dokan-address-fields) { grid-column: 1 / -1; }
	.update-customer-to-vendor .dokan-become-seller :is(.form-row, .dokan-form-group) { grid-column: span 6; width: auto; float: none; margin-right: 0; margin-left: 0; }
	.update-customer-to-vendor .dokan-become-seller :is(p:has(> #first-name), p:has(> #last-name), p:has(> #company-name), p:has(> #seller-url),
		.dokan-form-group:has([name="dokan_address[city]"]), .dokan-form-group:has([name="dokan_address[country]"]), #dokan-states-box,
		p:has(> [name="dokan_company_name"]), p:has(> [name="dokan_company_id_number"]), p:has(> [name="dokan_vat_number"])) { grid-column: span 3; }
	.update-customer-to-vendor .dokan-become-seller :is(p:has(> #shop-phone), .dokan-form-group:has([name="dokan_address[street_2]"]),
		p:has(> [name="dokan_bank_name"]), p:has(> [name="dokan_bank_iban"])) { grid-column: span 2; }
	.update-customer-to-vendor .dokan-become-seller .dokan-form-group:has([name="dokan_address[street_1]"]) { grid-column: span 4; }
	.update-customer-to-vendor .dokan-become-seller .dokan-form-group:has([name="dokan_address[zip]"]) { grid-column: span 1; }
}
/* pulsante del modulo "Diventa un venditore" da Il mio account, come quello della pagina Diventa venditore */
.dist form.update-customer-to-vendor input[type="submit"] {
	width: 100%; min-height: 50px; margin-top: 8px; border-color: var(--d-accent); background: var(--d-accent); color: #fff; border-radius: var(--d-pill); text-transform: none; font-size: 16px; opacity: 1;
}
.dist form.update-customer-to-vendor input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
.dist form.update-customer-to-vendor input[type="submit"]:not(:disabled):hover { border-color: var(--d-accent-dark); background: var(--d-accent-dark); }

/* ---------- Landing: Chi siamo ---------- */
.dist-about-how { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 48px; padding: 48px; border-radius: var(--d-radius-lg); background: var(--d-paper); border: 1px solid var(--d-line); }
.dist .dist-about-how h2 { margin: 0 0 14px; }
.dist-about-how__head p:last-child { color: var(--d-muted); }
.dist-about-how__steps { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; margin: 0; }
.dist-about-how__steps li { margin: 0; }
.dist-about-shop__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.dist .dist-about-shop__head h2 { margin: 0; }
.dist-about-who { padding: 40px 48px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist .dist-about-who h2 { margin: 0 0 14px; }
.dist-about-who p { max-width: 820px; color: var(--d-muted); }
.dist-about-who p:last-child { margin-bottom: 0; font-size: 15px; }
.dist .dist-about-who a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 1023px) {
	.dist-about-how { grid-template-columns: 1fr; gap: 24px; padding: 32px; }
}
@media (max-width: 767px) {
	.dist-about-how { padding: 24px 18px; }
	.dist-about-how__steps { grid-template-columns: 1fr; }
	.dist-about-shop__head { flex-direction: column; align-items: flex-start; }
	.dist-about-who { padding: 28px 20px; }
}

/* Diventa venditore da utente collegato: riquadro breve che segue lo scorrimento, niente "Accedi" */
.logged-in .dist-seller-hero__intro { position: static; }
.logged-in .dist-seller-hero__form { position: sticky; top: 24px; }
.logged-in .dist-seller-hero__form > p.dist-seller-login { display: none; }
.dist-seller-loggedin p { margin: 0 0 20px; font-size: 16px; }
.dist-seller-loggedin .dist-btn { width: 100%; text-align: center; box-sizing: border-box; }
/* griglie prodotto dentro una pagina ([products]): niente sottolineatura dei link di testo */
.dist .entry-content ul.products a { text-decoration: none; }

/* ---------- Home: foto hero, categorie con foto, banda "Vuoi vendere" (20260925) ---------- */
.dist-hero__photo { position: relative; }
.dist .dist-hero__photo-img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--d-radius-lg); box-shadow: 0 24px 60px rgba(30, 26, 22, .14); }
.dist-hero__chips { position: absolute; left: 20px; bottom: 20px; right: 20px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dist-hero__chips li { margin: 0; padding: 8px 14px; border-radius: var(--d-pill); background: rgba(250, 246, 238, .94); color: var(--d-ink); font-size: 14px; font-weight: 600; box-shadow: 0 4px 14px rgba(30, 26, 22, .12); }
.dist-hero__chips li::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--d-accent); vertical-align: 1px; }
.dist-hero__chips li:nth-child(2)::before { background: var(--d-olive); }

.dist-cats--tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.dist-cats--tiles .dist-cat { position: relative; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; border-radius: var(--d-radius); }
.dist-cats--tiles .dist-cat__img { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; transition: transform .3s; }
.dist-cats--tiles a.dist-cat:hover .dist-cat__img { transform: scale(1.04); }
.dist-cats--tiles .dist-cat__img--letter { display: flex; }
.dist-cats--tiles .dist-cat__text { padding: 14px 16px 16px; }
.dist-cats--tiles .dist-cat__name { font-size: 19px; }
.dist-cats--tiles .dist-cat .dist-icon { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; padding: 7px; box-sizing: border-box; border-radius: 50%; background: rgba(250, 246, 238, .92); opacity: 0; transition: opacity .2s; }
.dist-cats--tiles a.dist-cat:hover .dist-icon, .dist-cats--tiles a.dist-cat:focus-visible .dist-icon { opacity: 1; }
.dist-cats--tiles li:nth-child(5n+2) .dist-cat { background: var(--d-sand); border-color: var(--d-sand); }
.dist-cats--tiles li:nth-child(5n+4) .dist-cat { background: var(--d-sand); border-color: var(--d-sand); }
/* Categorie ancora vuote: riquadro "In arrivo" che invita i produttori a vendere */
.dist-cats--tiles .dist-cat--soon .dist-cat__img { filter: saturate(.55); opacity: .72; transition: transform .3s, filter .3s, opacity .3s; }
.dist-cats--tiles a.dist-cat--soon:hover .dist-cat__img, .dist-cats--tiles a.dist-cat--soon:focus-visible .dist-cat__img { filter: none; opacity: 1; }
.dist-cat__badge { position: absolute; top: 12px; left: 12px; padding: 5px 11px; border-radius: 999px; background: var(--d-ground); color: var(--d-accent-dark); font-size: 13px; font-weight: 600; line-height: 1.2; box-shadow: 0 2px 8px rgba(30, 26, 22, .12); }
.dist-cats--tiles .dist-cat--soon .dist-cat__count { color: var(--d-accent-dark); font-weight: 600; }

.dist-home .dist-home-band { margin-bottom: 16px; }

@media (max-width: 1279px) {
	.dist-cats--tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.dist-cats--tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dist-hero__chips { left: 12px; right: 12px; bottom: 12px; }
}
@media (max-width: 599px) {
	.dist-cats--tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.dist-cats--tiles .dist-cat { padding: 0; }
	.dist-cats--tiles .dist-cat__img { height: auto; }
	.dist-cats--tiles .dist-cat__text { padding: 10px 12px 12px; }
	.dist-cats--tiles .dist-cat__name { font-size: 16px; }
	.dist-hero__chips li { padding: 6px 10px; font-size: 12px; }
}

/* pulsante "Rivedi le preferenze cookie" (plugin Automa, shortcode cb_manage_consent): come un link del footer / del testo */
.dist button.bc-settings-button.dist-footer__cookies, .dist .dist-cookie-prefs button.bc-settings-button {
	display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; margin: 0; font: inherit !important; color: var(--d-ink) !important; text-align: left; cursor: pointer;
}
.dist button.bc-settings-button.dist-footer__cookies:hover, .dist .dist-cookie-prefs button.bc-settings-button:hover { color: var(--d-accent) !important; }
.dist button.bc-settings-button.dist-footer__cookies { min-height: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-weight: 400 !important; }
.dist .dist-cookie-prefs button.bc-settings-button, .dist .entry-content p > button.bc-settings-button {
	padding: 10px 18px !important; border: 1px solid var(--d-line) !important; border-radius: var(--d-pill) !important; background: var(--d-paper) !important; font-weight: 500 !important;
}

/* ---------- Scheda prodotto: modulo "Richiesta informazioni prodotto" (Dokan, classi Bootstrap senza Bootstrap) ---------- */
.dist #dokan-product-enquiry { max-width: 780px; }
.dist #dokan-product-enquiry .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 16px; }
.dist #dokan-product-enquiry .row > [class*="col-"] { width: auto; padding: 0; float: none; }
.dist #dokan-product-enquiry .form-group { margin: 0 0 16px; }
.dist #dokan-product-enquiry .row .form-group { margin: 0; }
.dist #dokan-product-enquiry .form-control { display: block; width: 100%; box-sizing: border-box; }
.dist #dokan-product-enquiry textarea.form-control { min-height: 150px; resize: vertical; }
.dist #dokan-product-enquiry .dokan-privacy-policy-text p { margin: 0 0 20px; font-size: 14px; color: var(--d-muted); }
@media (max-width: 599px) {
	.dist #dokan-product-enquiry .row { grid-template-columns: 1fr; gap: 12px; }
}
/* home: schede categoria tutte della stessa altezza anche con nomi su due righe */
.dist-cats--tiles li { display: flex; }
.dist-cats--tiles .dist-cat { flex: 1; }

/* ---------- Pop-up "Accedi per continuare" di Dokan (Segui, Contatta...) (20260925) ---------- */
.dist .dokan-hide { display: none !important; }
.dist .iziModal#dokan-modal-login-form-popup { max-width: 460px !important; border-radius: var(--d-radius-lg) !important; border-bottom: 0 !important; background: var(--d-paper) !important; box-shadow: 0 24px 60px rgba(30, 26, 22, .25) !important; }
.dist #dokan-modal-login-form-popup .iziModal-header { background: var(--d-paper) !important; padding: 26px 56px 6px 28px !important; box-shadow: none !important; }
.dist #dokan-modal-login-form-popup .iziModal-header-title { color: var(--d-ink) !important; font-family: var(--d-serif) !important; font-size: 26px !important; font-weight: 500 !important; line-height: 1.2 !important; }
.dist #dokan-modal-login-form-popup .iziModal-button-close { top: 22px !important; right: 20px !important; opacity: .55 !important; filter: invert(1); }
.dist #dokan-modal-login-form-popup .dokan-login-form-popup-wrapper { width: auto !important; max-width: none !important; margin: 0 !important; padding: 12px 28px 28px !important; background: var(--d-paper) !important; }
.dist #dokan-modal-login-form-popup fieldset { margin: 0; padding: 0; border: 0; }
.dist #dokan-modal-login-form-popup .dokan-form-group { margin: 0 0 14px; }
.dist #dokan-modal-login-form-popup .dokan-form-label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--d-ink); }
.dist #dokan-modal-login-form-popup .dokan-form-control { width: 100%; }
.dist #dokan-modal-login-form-popup .dokan-btn.dokan-w5 { width: 100% !important; float: none !important; min-height: 48px; margin: 4px 0 0 !important; justify-content: center; border-color: var(--d-accent); background: var(--d-accent); color: #fff; border-radius: var(--d-pill); font-size: 16px; }
.dist #dokan-modal-login-form-popup .dokan-login-form-error:not(:empty) { margin-bottom: 10px; color: #8C3915; font-size: 14px; }
.dist #dokan-modal-login-form-popup .dokan-popup-create-an-account { margin: 16px 0 0; font-size: 15px; color: var(--d-muted); text-align: center; }
.dist #dokan-modal-login-form-popup .dokan-popup-create-an-account a { display: inline !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--d-accent) !important; font-size: 15px !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.dist #dokan-modal-login-form-popup form, .dist #dokan-modal-login-form-popup fieldset { background: transparent !important; }
.dist #dokan-modal-login-form-popup .dokan-popup-create-an-account a { vertical-align: baseline !important; line-height: inherit !important; }
.dist #dokan-modal-login-form-popup .dokan-popup-create-an-account { line-height: 1.5; }

/* ---------- Landing: Venditori (hero, elenco Dokan, banda) ---------- */
.dist .dist-landing .dist-vendors-title { margin: 0 0 24px; }
.dist .dist-vendors-after { margin-top: 56px; }
.dist .dokan-geolocation-row { margin-left: 0 !important; margin-right: 0 !important; gap: 24px; }
.dist .dokan-geolocation-row > [class*="dokan-geolocation-col-"] { padding-left: 0 !important; padding-right: 0 !important; }
.dist .dokan-geolocation-row .dokan-geolocation-col-7 { flex: 1 1 58%; }
.dist .dokan-geolocation-row .dokan-geolocation-col-5 { flex: 1 1 42%; }
.dist #dokan-geolocation-locations-map.dokan-geolocation-locations-map-right { width: 100% !important; min-height: 360px; border-radius: var(--d-radius-lg); overflow: hidden; border: 1px solid var(--d-line); }
@media (max-width: 1023px) {
	.dist .dokan-geolocation-row { flex-direction: column; }
}

/* ---------- Finestra "Accedi per continuare" (Richiedi assistenza, Dokan store support) ---------- */
.dist .dokan-support-login-wrapper { position: relative; padding: 28px 28px 24px !important; }
.dist .dokan-support-login-wrapper h2 { margin: 0 0 20px; padding: 0 44px 0 0; font-size: 26px; line-height: 1.2; border: 0; }
.dist .dokan-support-login-wrapper .dokan-izimodal-close-btn { position: absolute !important; top: 20px !important; right: 20px !important; left: auto !important; width: auto; height: auto; margin: 0; }
.dist .dokan-support-login-wrapper .dokan-izimodal-close-btn button.icon-close {
	display: grid; place-items: center; width: 36px; height: 36px; min-height: 0; padding: 0 !important; border: 1px solid var(--d-line) !important; border-radius: 50%; background: var(--d-paper) !important; color: var(--d-ink); font-size: 0; cursor: pointer;
}
.dist .dokan-support-login-wrapper .dokan-izimodal-close-btn button.icon-close i { display: none; }
.dist .dokan-support-login-wrapper .dokan-izimodal-close-btn button.icon-close::before { content: "×"; font-size: 24px; line-height: 1; font-family: var(--d-sans); }
.dist .dokan-support-login-wrapper .dokan-izimodal-close-btn button.icon-close:hover { border-color: var(--d-ink) !important; }
.dist .dokan-support-login-wrapper .dokan-form-group { margin-bottom: 16px; }
.dist .dokan-support-login-wrapper .dokan-form-label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.dist .dokan-support-login-wrapper .dokan-form-control { width: 100%; box-sizing: border-box; }
.dist .dokan-support-login-wrapper #support-submit-btn,
.dist .dokan-support-login-wrapper .dokan-popup-create-an-account a.dokan-btn {
	display: flex; align-items: center; justify-content: center; float: none; width: 100% !important; min-height: 48px; margin: 0; padding: 12px 20px; box-sizing: border-box; font-size: 15px; font-weight: 600; line-height: 1.2; border-radius: var(--d-pill) !important;
}
.dist .dokan-support-login-wrapper .dokan-popup-create-an-account { display: grid; gap: 12px; margin: 4px 0 0; font-size: 0; }
.dist .dokan-support-login-wrapper .dokan-popup-create-an-account::before { content: "oppure"; display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--d-muted); background: linear-gradient(var(--d-line), var(--d-line)) left center / calc(50% - 36px) 1px no-repeat, linear-gradient(var(--d-line), var(--d-line)) right center / calc(50% - 36px) 1px no-repeat; justify-content: center; }
.dist .dokan-support-login-wrapper .dokan-popup-create-an-account a.dokan-btn { background: transparent !important; border: 1.5px solid var(--d-ink) !important; color: var(--d-ink) !important; }
.dist .dokan-support-login-wrapper .dokan-popup-create-an-account a.dokan-btn:hover { background: var(--d-ink) !important; color: var(--d-ground) !important; }
/* "Rivedi le preferenze cookie" sotto il claim nella colonna del logo */
.dist .dist-footer__brand button.bc-settings-button.dist-footer__cookies { display: flex !important; margin: 14px 0 0 !important; color: var(--d-muted) !important; font-size: 14px !important; }
.dist .dist-footer__brand button.bc-settings-button.dist-footer__cookies:hover { color: var(--d-accent) !important; }

/* ---------- Negozio e categorie: apertura con foto (dist-archive-hero) ---------- */
.dist .woocommerce-products-header { margin: 0; padding: 0; }
.dist-archive-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 40px; align-items: center; margin: 0 0 32px; padding: 40px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist .dist-archive-hero h1 { margin: 10px 0 14px; font-size: clamp(32px, 4vw, 52px); }
.dist-archive-hero__text p { margin: 0 0 22px; max-width: 620px; font-size: 17px; color: var(--d-muted); }
.dist-archive-hero__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dist-archive-hero__facts li { margin: 0; padding: 8px 14px; border-radius: var(--d-pill); background: var(--d-paper); font-size: 14px; color: var(--d-ink); }
.dist-archive-hero__facts strong { color: var(--d-accent); font-weight: 700; }
.dist .dist-archive-hero__img { margin: 0; }
.dist .dist-archive-hero__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--d-radius); }
@media (max-width: 1023px) {
	.dist-archive-hero { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
	.dist .dist-archive-hero__img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 599px) {
	.dist-archive-hero { padding: 20px 18px; margin-bottom: 20px; }
	.dist-archive-hero__text p { font-size: 16px; }
}

/* ---------- Scheda prodotto: rassicurazioni in riquadro, produttore e categoria con foto ---------- */
.single-product .dist-trust { margin-top: 20px; padding: 4px 20px; border: 0; border-radius: var(--d-radius); background: var(--d-sand); }
.single-product .dist-trust li:last-child { border-bottom: 0; }
.single-product .dist-trust .dist-icon { color: var(--d-accent); }

.dist-pcontext { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; clear: both; margin: 8px 0 72px; }
.dist a.dist-pcontext__card { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); overflow: hidden; border-radius: var(--d-radius-lg); color: var(--d-ink); text-decoration: none; transition: transform .15s; }
.dist a.dist-pcontext__card:hover { transform: translateY(-2px); }
.dist-pcontext__card--vendor { background: var(--d-olive); }
.dist-pcontext__card--cat { background: var(--d-sand); }
.dist-pcontext__img { display: block; min-height: 220px; background: var(--d-paper); }
.dist .dist-pcontext__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dist-pcontext__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: 28px; }
.dist-pcontext__title { font-family: var(--d-serif); font-size: 28px; line-height: 1.15; }
.dist-pcontext__text { color: var(--d-muted); font-size: 15px; }
.dist-pcontext__body .dist-btn { margin-top: 10px; }
.dist-pcontext__card--vendor .dist-pcontext__title { color: #fff; }
.dist-pcontext__card--vendor .dist-pcontext__text { color: var(--d-olive-ink); }
.dist .dist-pcontext__card--vendor .dist-eyebrow { color: #E9C9B4; }
@media (max-width: 1023px) {
	.dist-pcontext { grid-template-columns: 1fr; margin-bottom: 48px; }
}
@media (max-width: 599px) {
	.dist a.dist-pcontext__card { grid-template-columns: 1fr; }
	.dist-pcontext__img { min-height: 0; aspect-ratio: 16 / 9; }
	.dist-pcontext__body { padding: 20px; }
	.dist-pcontext__title { font-size: 24px; }
}

/* Diventa venditore: sezione "Cosa facciamo noi per te" (20260925) */
.dist-seller-benefits--more { margin-top: 56px; }
.dist .dist-seller-benefits--more > h2 { margin-bottom: 10px; }
.dist-seller-benefits__lead { margin: 0 0 24px; max-width: 720px; font-size: 18px; color: var(--d-muted); }
.dist-seller-card { position: relative; }
.dist-seller-card__tag { display: inline-block; margin: 0 0 12px; padding: 4px 12px; border-radius: var(--d-pill); background: rgba(255, 255, 255, .16); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dist-seller-card--paper .dist-seller-card__tag, .dist-seller-card--sand .dist-seller-card__tag { background: var(--d-accent); }
.dist .dist-pcontext__card--vendor .dist-pcontext__img img { object-position: left center; } /* i banner contengono spesso il logo a sinistra */

/* ---------- Carrello: apertura, due colonne, riepilogo sabbia, carrello vuoto ---------- */
.dist-cart-hero { padding: 28px 32px; gap: 32px; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.dist .dist-cart-hero h1 { font-size: clamp(30px, 3.4vw, 44px); }
.dist .dist-cart-hero .dist-archive-hero__img img { aspect-ratio: 16 / 10; }
.dist-cart-page .woocommerce-cart-form { min-width: 0; }
/* carrello e riepilogo affiancati solo da 1280px: sotto, con il riepilogo da 380px, la tabella a sei colonne
   restava sui 650px e il nome del prodotto veniva schiacciato (20260925) */
@media (min-width: 1280px) {
	.dist-cart-page .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 32px; align-items: start; }
	.dist-cart-page .entry-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.dist-cart-page .entry-content > .woocommerce > .cart-collaterals { position: sticky; top: 24px; }
}
.dist-cart-page .cart-collaterals .cart_totals { float: none; width: 100%; padding: 24px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist-cart-page .cart-collaterals .cart_totals h2 { margin-top: 0; }
.dist-cart-page .cart-collaterals .cart_totals table.shop_table { background: var(--d-paper); }
.dist-cart-page .cart-collaterals .cart_totals .order-total td, .dist-cart-page .cart-collaterals .cart_totals .order-total th { font-size: 18px; }
.dist-cart-page .cart-collaterals .cart_totals .order-total .amount { color: var(--d-accent); font-family: var(--d-serif); font-size: 26px; }
.dist-cart-page table.cart td.product-thumbnail img { width: 96px; height: 96px; object-fit: contain; }
.dist-cart-page table.cart td.product-name > a { font-family: var(--d-serif); font-size: 19px; text-decoration: none; }
.dist-cart-page table.cart dl.variation { display: inline-flex; flex-wrap: wrap; gap: 0 4px; max-width: 100%; margin: 8px 0 0; padding: 4px 12px; border-radius: var(--d-pill); background: var(--d-sand); font-size: 13px; }
.dist-cart-page table.cart dl.variation dt, .dist-cart-page table.cart dl.variation dd { white-space: nowrap; }
.dist-cart-page table.cart dl.variation dt, .dist-cart-page table.cart dl.variation dd { float: none; margin: 0; padding: 0; }
.dist-cart-page table.cart dl.variation dd p { margin: 0; }
.dist-cart-page .woocommerce-shipping-totals td, .dist-cart-page .woocommerce-shipping-totals th { font-size: 15px; }
/* carrello vuoto */
.dist-cart-page .return-to-shop { display: none; }
.dist .dist-cart-cats-title { margin: 48px 0 20px; }
@media (max-width: 1023px) {
	.dist-cart-hero { grid-template-columns: 1fr; padding: 22px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
	/* riepilogo sotto la tabella: a tutta riga ma non oltre 520px, allineato a destra */
	.dist-cart-page .cart-collaterals .cart_totals { max-width: 520px; margin-left: auto; }
	.dist-cart-hero:not(.dist-cart-hero--empty) .dist-archive-hero__img { display: none; } /* su mobile prima i prodotti */
}
/* riepilogo stretto: righe più compatte, la spedizione (testo lungo) va su due righe piene */
.dist-cart-page .cart_totals table.shop_table th, .dist-cart-page .cart_totals table.shop_table td { padding: 12px 14px; font-size: 15px; }
.dist-cart-page .cart_totals tr.woocommerce-shipping-totals th, .dist-cart-page .cart_totals tr.woocommerce-shipping-totals td { display: block; width: auto; text-align: left; }
.dist-cart-page .cart_totals tr.woocommerce-shipping-totals th { padding-bottom: 0; border-bottom: 0; }
.dist-cart-page .cart_totals .woocommerce-shipping-methods { margin: 0; }
.dist-cart-page .cart_totals .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 14px; color: var(--d-muted); }
/* riepilogo: ogni riga etichetta | valore a tutta larghezza, la spedizione su due righe */
.dist-cart-page .cart_totals table.shop_table, .dist-cart-page .cart_totals table.shop_table tbody { display: block; }
.dist-cart-page .cart_totals table.shop_table tr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding: 12px 14px; border-bottom: 1px solid var(--d-line); }
.dist-cart-page .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.dist-cart-page .cart_totals table.shop_table th, .dist-cart-page .cart_totals table.shop_table td { display: block; padding: 0; border: 0; width: auto; }
.dist-cart-page .cart_totals table.shop_table td { text-align: right; }
.dist-cart-page .cart_totals tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; }
.dist-cart-page .cart_totals tr.woocommerce-shipping-totals td { text-align: left; }
.dist-cart-page .cart_totals .order-total .includes_tax, .dist-cart-page .cart_totals .order-total .includes_tax .amount { display: block; font-family: var(--d-sans); font-size: 13px; color: var(--d-muted); }
.dist-cart-page .cart_totals .order-total td { flex: 1 1 auto; }
.dist-cart-page .cart_totals .order-total .includes_tax .amount { display: inline; } /* "(inclusi 1,68 € IVA 10%)" su una riga */
.dist .entry-content a.checkout-button { text-decoration: none; }
.dist-cart-page #dokan-stripe-express-payment-request-button-separator { color: var(--d-muted); font-size: 14px; }
@media (max-width: 767px) {
	.dist-cart-page table.cart td.product-name > a { font-size: 16px; }
	.dist-cart-page table.cart dl.variation { margin-top: 6px; }
	.dist-cart-page table.cart td.product-thumbnail img { width: 80px; height: 80px; }
}

/* ---------- Checkout: apertura con passaggi, riquadri colorati, miniature nel riepilogo ---------- */
.dist-checkout-hero { padding: 24px 32px; gap: 32px; grid-template-columns: minmax(0, 1fr) 260px; margin-bottom: 28px; }
.dist .dist-checkout-hero h1 { margin: 12px 0 16px; font-size: clamp(28px, 3vw, 40px); }
.dist .dist-checkout-hero .dist-archive-hero__img img { aspect-ratio: 4 / 3; }
.dist-checkout-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: step; font-size: 14px; font-weight: 600; }
.dist-checkout-steps li { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--d-muted); counter-increment: step; }
.dist-checkout-steps li::before { content: counter(step); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--d-paper); border: 1px solid var(--d-line); font-size: 13px; }
.dist-checkout-steps li + li::after { content: none; }
.dist-checkout-steps li:not(:last-child) { padding-right: 8px; }
.dist-checkout-steps li:not(:last-child)::after { content: ""; display: inline-block; width: 24px; height: 1px; margin-left: 8px; background: var(--d-line); }
.dist-checkout-steps li.is-done::before { content: "✓"; background: var(--d-olive); border-color: var(--d-olive); color: #fff; }
.dist-checkout-steps li.is-current { color: var(--d-ink); }
.dist-checkout-steps li.is-current::before { background: var(--d-accent); border-color: var(--d-accent); color: #fff; }
.dist .dist-checkout-steps a { color: inherit; text-decoration: none; }

.dist-checkout-page form.checkout .col2-set { padding: 28px; border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); background: var(--d-paper); }
.dist-checkout-page form.checkout .col2-set h3 { margin-top: 0; }
.dist-checkout-page #order_review_heading { margin: 0; padding: 24px 24px 8px; border-radius: var(--d-radius-lg) var(--d-radius-lg) 0 0; background: var(--d-sand); }
.dist-checkout-page #order_review { padding: 8px 24px 24px; border-radius: 0 0 var(--d-radius-lg) var(--d-radius-lg); background: var(--d-sand); }
@media (min-width: 1024px) {
	/* il modulo a sinistra occupa 3 righe: l'altezza in piu' va alla riga del riepilogo (1fr), non a quella del
	   titolo "Il tuo ordine", che altrimenti si allungava lasciando un vuoto sotto il titolo */
	.dist-checkout-page form.checkout { grid-template-rows: auto auto 1fr; }
	.dist-checkout-page form.checkout #order_review_heading { position: relative; }
	.dist-checkout-page form.checkout #order_review { position: sticky; top: 24px; align-self: start; }
}
.dist-checkout-page .woocommerce-checkout-review-order-table { background: var(--d-paper); }
.dist-checkout-page .woocommerce-checkout-review-order-table td.product-name::after { content: ""; display: table; clear: both; }
.dist-co-thumb { float: left; margin: 0 12px 0 0; }
.dist .dist-co-thumb__img { display: block; width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--d-line); border-radius: 10px; background: #fff; padding: 3px; box-sizing: border-box; }
.dist-co-name { display: block; overflow: hidden; }
.dist-checkout-page .woocommerce-checkout-review-order-table dl.variation { margin: 4px 0 0; font-size: 13px; color: var(--d-muted); }
.dist-checkout-page .woocommerce-checkout-review-order-table dl.variation dt, .dist-checkout-page .woocommerce-checkout-review-order-table dl.variation dd { display: inline; float: none; margin: 0; }
.dist-checkout-page .woocommerce-checkout-review-order-table dl.variation dd p { display: inline; margin: 0; }
.dist-checkout-page .woocommerce-checkout-review-order-table .order-total .amount { color: var(--d-accent); font-family: var(--d-serif); font-size: 24px; }
.dist-checkout-page .woocommerce-checkout-review-order-table .order-total .includes_tax, .dist-checkout-page .woocommerce-checkout-review-order-table .order-total .includes_tax .amount { display: block; font-family: var(--d-sans); font-size: 13px; color: var(--d-muted); }
/* riepilogo ordine come quello del carrello: una riga per voce (etichetta | importo), il nome prodotto prende lo
   spazio, la spedizione su due righe piene, la nota IVA su una riga. Nella colonna da ~400px la tabella a due
   colonne spezzava nome, spedizione e IVA parola per parola. (20260925) */
.dist-checkout-page table.woocommerce-checkout-review-order-table,
.dist-checkout-page table.woocommerce-checkout-review-order-table thead,
.dist-checkout-page table.woocommerce-checkout-review-order-table tbody,
.dist-checkout-page table.woocommerce-checkout-review-order-table tfoot { display: block; }
.dist-checkout-page table.woocommerce-checkout-review-order-table tr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding: 12px 14px; border-bottom: 1px solid var(--d-line); }
.dist-checkout-page table.woocommerce-checkout-review-order-table tfoot tr:last-child { border-bottom: 0; }
.dist-checkout-page table.woocommerce-checkout-review-order-table th,
.dist-checkout-page table.woocommerce-checkout-review-order-table td { display: block; width: auto; padding: 0; border: 0; background: none; }
.dist-checkout-page table.woocommerce-checkout-review-order-table td { text-align: right; }
.dist-checkout-page table.woocommerce-checkout-review-order-table thead th.product-total { text-align: right; }
.dist-checkout-page table.woocommerce-checkout-review-order-table td.product-name { flex: 1 1 60%; min-width: 0; text-align: left; }
.dist-checkout-page table.woocommerce-checkout-review-order-table td.product-total { white-space: nowrap; }
.dist-checkout-page table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; }
.dist-checkout-page table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { text-align: left; }
.dist-checkout-page table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals ul { margin: 0; }
.dist-checkout-page table.woocommerce-checkout-review-order-table tr.order-total td { flex: 1 1 auto; }
.dist-checkout-page table.woocommerce-checkout-review-order-table .order-total .includes_tax .amount { display: inline; }
.dist-checkout-page #payment { margin-top: 16px; }
.dist-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info { background: var(--d-paper); }
@media (max-width: 1023px) {
	.dist-checkout-hero { grid-template-columns: 1fr; padding: 20px; }
	.dist-checkout-hero .dist-archive-hero__img { display: none; }
	.dist-checkout-page form.checkout .col2-set { padding: 20px 16px; }
	.dist-checkout-page #order_review_heading { margin-top: 24px; }
}

/* ---------- Il mio account: apertura, moduli colorati, area cliente ---------- */
.dist-account-hero { padding: 28px 32px; gap: 32px; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); margin-bottom: 36px; }
.dist .dist-account-hero h1 { font-size: clamp(30px, 3.4vw, 46px); }
.dist .dist-account-hero .dist-archive-hero__img img { aspect-ratio: 16 / 10; }
/* ospite: Accedi bianco, Registrati sabbia; pulsanti principali in terracotta */
.dist-account-page #customer_login { gap: 32px; }
.dist-account-page #customer_login .u-column2 form.register { background: var(--d-sand); border-color: var(--d-sand); }
.dist-account-page #customer_login .u-column2 form.register .input-text { background: var(--d-paper); }
.dist-account-page form.login button[type="submit"], .dist-account-page form.register button[type="submit"], .dist-account-page form.lost_reset_password button[type="submit"] {
	min-height: 48px; padding: 12px 28px; border-color: var(--d-accent); background: var(--d-accent); color: #fff; border-radius: var(--d-pill);
}
.dist-account-page form.login button[type="submit"]:hover, .dist-account-page form.register button[type="submit"]:hover { border-color: var(--d-accent-dark); background: var(--d-accent-dark); }
.dist-account-page .u-columns.col2-set h2 { margin-bottom: 16px; }
/* cliente: menu laterale e contenuto */
.dist-account-page .woocommerce-MyAccount-navigation ul { background: var(--d-olive); border-color: var(--d-olive); }
.dist-account-page .woocommerce-MyAccount-navigation ul li a { color: var(--d-olive-ink); }
.dist-account-page .woocommerce-MyAccount-navigation ul li a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.dist-account-page .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--d-ground); color: var(--d-accent); }
.dist-account-page .woocommerce-MyAccount-content { padding: 28px; border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); background: var(--d-paper); }
.dist-account-page .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.dist-account-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0 0; padding: 0; list-style: none; }
.dist-account-tiles li { margin: 0; }
.dist .dist-account-tiles a { display: flex; align-items: center; gap: 14px; height: 100%; box-sizing: border-box; padding: 18px; border-radius: var(--d-radius); background: var(--d-sand); color: var(--d-ink); text-decoration: none; transition: transform .15s; }
.dist .dist-account-tiles a:hover { transform: translateY(-2px); color: var(--d-ink); }
.dist-account-tiles .dist-icon { flex: none; width: 44px; height: 44px; padding: 10px; box-sizing: border-box; border-radius: 50%; background: var(--d-accent); color: #fff; }
.dist-account-tiles li:nth-child(2) .dist-icon { background: var(--d-olive); }
.dist-account-tiles strong { display: block; font-family: var(--d-serif); font-size: 19px; font-weight: 500; }
.dist-account-tiles small { display: block; color: var(--d-muted); font-size: 14px; }
@media (max-width: 1023px) {
	.dist-account-hero { grid-template-columns: 1fr; padding: 22px; }
	.dist-account-hero .dist-archive-hero__img { display: none; }
}
@media (max-width: 599px) {
	.dist-account-tiles { grid-template-columns: 1fr; }
	.dist-account-page .woocommerce-MyAccount-content { padding: 20px 16px; }
}
.dist-account-page .woocommerce-MyAccount-navigation a, .dist .entry-content .dist-account-tiles a { text-decoration: none; }
.dist-account-page .woocommerce-MyAccount-content a.dokan-btn { text-decoration: none; }

/* pulsanti Dokan: niente viola del modulo "color scheme" in focus/click; "Seguito" in verde oliva */
.dist .dokan-btn-theme:focus, .dist .dokan-btn-theme:active, .dist .dokan-btn-theme:focus-visible {
	background: var(--d-accent-dark) !important; border-color: var(--d-accent-dark) !important; color: #fff !important; box-shadow: none !important;
}
.dist .dokan-follow-store-button[data-status="following"], .dist .dokan-follow-store-button[data-status="following"]:hover,
.dist .dokan-follow-store-button[data-status="following"]:focus {
	background: var(--d-olive) !important; border-color: var(--d-olive) !important; color: #fff !important;
}

/* ---------- Landing: Contatti ---------- */
.dist .dist-landing > .dist-contact-boxes { margin: 0 0 56px; }
.dist-contact-boxes .dist-seller-card p { font-size: 15px; }
.dist .dist-contact-boxes .dist-seller-card a { text-decoration: underline; text-underline-offset: 2px; }
.dist .dist-contact-boxes .dist-seller-card--accent a, .dist .dist-contact-boxes .dist-seller-card--olive a { color: #fff; }
.dist-contact-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.dist-contact-layout__form { padding: 32px; border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); background: var(--d-paper); }
.dist .dist-contact-layout h2 { margin: 0 0 20px; font-size: 30px; }
.dist-contact-layout__form .dist-contact { max-width: none; }
.dist-contact-layout__help { padding: 32px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist-contact-layout__help ul { margin: 0; padding: 0; list-style: none; }
.dist-contact-layout__help li { margin: 0 0 18px; padding-left: 18px; border-left: 3px solid var(--d-accent); color: var(--d-muted); font-size: 15px; }
.dist-contact-layout__help li strong { display: block; margin-bottom: 2px; color: var(--d-ink); font-size: 16px; }
.dist .dist-contact-layout__help a { text-decoration: underline; text-underline-offset: 2px; }
.dist-contact-layout__time { margin: 24px 0 0; padding: 14px 16px; border-radius: var(--d-radius); background: var(--d-paper); font-size: 15px; }
@media (max-width: 1023px) {
	.dist-contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
	.dist-contact-layout__form, .dist-contact-layout__help { padding: 22px 18px; }
}
.dist .dist-contact button[type="submit"] { min-height: 50px; padding: 12px 30px; border-color: var(--d-accent); background: var(--d-accent); color: #fff; }
.dist .dist-contact button[type="submit"]:hover { border-color: var(--d-accent-dark); background: var(--d-accent-dark); }

/* ---------- Pagine legali: apertura, navigazione tra le pagine, indice e testo ---------- */
.dist-legal-hero { padding: 28px 32px; gap: 32px; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); margin-bottom: 32px; }
.dist .dist-legal-hero h1 { font-size: clamp(30px, 3.4vw, 46px); }
.dist .dist-legal-hero .dist-archive-hero__img img { aspect-ratio: 16 / 10; }
.dist-legal-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.dist .dist-legal-nav a { padding: 8px 16px; border-radius: var(--d-pill); background: var(--d-paper); color: var(--d-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.dist .dist-legal-nav a:hover { color: var(--d-accent); }
.dist .dist-legal-nav a.is-current { background: var(--d-accent); color: #fff; }
.dist-legal { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
.dist-legal__toc { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; padding: 22px 20px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist-legal__toc summary { margin-bottom: 12px; font-family: var(--d-serif); font-size: 20px; cursor: pointer; list-style: none; }
.dist-legal__toc summary::-webkit-details-marker { display: none; }
.dist-legal__toc ol { margin: 0; padding: 0 0 0 22px; font-size: 14px; line-height: 1.4; }
.dist-legal__toc li { margin: 0 0 8px; color: var(--d-accent); }
.dist .dist-legal__toc a { color: var(--d-ink); text-decoration: none; }
.dist .dist-legal__toc a:hover { color: var(--d-accent); text-decoration: underline; }
.dist-legal__body { padding: 40px 48px; border: 1px solid var(--d-line); border-radius: var(--d-radius-lg); background: var(--d-paper); }
.dist .dist-legal__body > :is(p, ul, ol, h2, h3, table) { max-width: 780px; }
.dist .dist-legal__body > p:first-child { margin-top: 0; font-size: 18px; color: var(--d-muted); }
.dist .dist-legal__body h2 { scroll-margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--d-line); font-size: 26px; }
.dist .dist-legal__body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.dist .dist-legal__body th, .dist .dist-legal__body td { padding: 10px 12px; border-bottom: 1px solid var(--d-line); text-align: left; vertical-align: top; }
.dist .dist-legal__body thead th { background: var(--d-sand); }
@media (max-width: 1023px) {
	.dist-legal-hero { grid-template-columns: 1fr; padding: 22px; }
	.dist-legal-hero .dist-archive-hero__img { display: none; }
	.dist-legal { grid-template-columns: 1fr; gap: 16px; }
	.dist-legal__toc { position: static; max-height: none; }
	.dist-legal__toc summary { margin: 0; }
	.dist-legal__toc[open] summary { margin-bottom: 12px; }
	.dist-legal__body { padding: 24px 18px; }
	.dist .dist-legal__body table { display: block; overflow-x: auto; }
}

/* ---------- FAQ venditori: titoli di gruppo come riquadri colorati con foto ---------- */
.dist-faq-group__head--sand, .dist-faq-group__head--olive, .dist-faq-group__head--accent { overflow: hidden; padding: 0 0 20px; border-radius: var(--d-radius-lg); }
.dist-faq-group__head--sand { background: var(--d-sand); }
.dist-faq-group__head--olive { background: var(--d-olive); }
.dist-faq-group__head--accent { background: var(--d-accent); }
.dist .dist-faq-group__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0 0 18px; border-radius: 0; }
.dist-faq-group__head--sand .dist-faq-group__num, .dist-faq-group__head--olive .dist-faq-group__num, .dist-faq-group__head--accent .dist-faq-group__num,
.dist .dist-faq-group__head--sand h2, .dist .dist-faq-group__head--olive h2, .dist .dist-faq-group__head--accent h2 { padding: 0 22px; }
.dist-faq-group__head--olive .dist-faq-group__num { color: #E9C9B4; }
.dist-faq-group__head--accent .dist-faq-group__num { color: #FBEDE4; }
.dist .dist-faq-group__head--olive h2, .dist .dist-faq-group__head--accent h2 { color: #fff; }
@media (max-width: 1023px) {
	.dist-faq-group__head--sand, .dist-faq-group__head--olive, .dist-faq-group__head--accent { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 0 14px; padding: 0; }
	.dist .dist-faq-group__img { grid-row: span 2; height: 100%; min-height: 84px; margin: 0; aspect-ratio: auto; }
	.dist-faq-group__head--sand .dist-faq-group__num, .dist-faq-group__head--olive .dist-faq-group__num, .dist-faq-group__head--accent .dist-faq-group__num,
	.dist .dist-faq-group__head--sand h2, .dist .dist-faq-group__head--olive h2, .dist .dist-faq-group__head--accent h2 { padding: 0 14px 0 0; }
	.dist-faq-group__head .dist-faq-group__num { align-self: end; margin: 12px 0 2px; font-size: 30px; }
	.dist .dist-faq-group__head h2 { align-self: start; margin-bottom: 12px; font-size: 22px; }
}

/* ---------- Banner e preferenze cookie (plugin Automa): palette del sito ----------
 * Le variabili --bc-* del plugin stanno su :root nella configurazione Automa (condivisa dalla rete);
 * ridefinirle su body le sovrascrive solo qui. */
body.dist {
	--bc-button-bg: var(--d-accent);
	--bc-button-bg-hover: var(--d-accent-dark);
	--bc-button-text-color: #fff;
	--bc-link-color: var(--d-accent);
	--bc-icon-color: var(--d-ink);
	--bc-accent-color: var(--d-accent);
	--bc-bar-bg: var(--d-ground);
	--bc-bar-text: var(--d-ink);
	--bc-btn-secondary-bg: var(--d-paper);
	--bc-btn-secondary-text: var(--d-ink);
	--bc-btn-secondary-border: var(--d-line);
	--bc-btn-secondary-hover-bg: var(--d-sand);
	--bc-btn-secondary-hover-border: var(--d-ink);
	--bc-btn-reject-bg: var(--d-sand);
	--bc-btn-reject-text: var(--d-ink);
	--bc-modal-bg: var(--d-paper);
	--bc-modal-text: var(--d-ink);
	--bc-modal-footer-bg: var(--d-ground);
	--bc-modal-border: var(--d-line);
	--bc-modal-desc-bg: var(--d-ground);
	--bc-modal-desc-text: var(--d-muted);
	--bc-modal-light-text: var(--d-muted);
	--bc-toggle-bg: #D8CDBB;
	--bc-toggle-disabled-bg: #C9BFAE;
	--bc-overlay-bg: rgba(30, 26, 22, .55);
}
body.dist #bc-cookie-banner, body.dist .bc-modal { font-family: var(--d-sans) !important; }
body.dist #bc-cookie-banner.bc-pos-center { border-radius: var(--d-radius-lg) !important; padding: 28px !important; }
body.dist .bc-modal { border-radius: var(--d-radius-lg) !important; }
body.dist .bc-privacy-overview .bc-privacy-title { font-family: var(--d-serif) !important; font-weight: 500 !important; font-size: 24px !important; }
body.dist .bc-nav-link { font-family: var(--d-sans) !important; }
body.dist .bc-action-button, body.dist .bc-settings-button, body.dist .bc-privacy-btn { border-radius: var(--d-pill) !important; padding: 12px 22px !important; }
body.dist .bc-reject-all-btn { border: 1px solid var(--d-sand) !important; }
body.dist .bc-modal-close svg { fill: var(--d-ink) !important; }
/* interruttore "Necessari" (sempre attivo, disabilitato): in oliva per distinguerlo dagli altri */
body.dist .bc-switch input:checked:disabled + .bc-slider { background-color: var(--d-olive) !important; opacity: .85; }

/* ---------- Scheda prodotto: venditore/produttore, formato e schede accorpate (audit 20260925) ---------- */
.dist .summary .dist-vendor-chip { margin: 18px 0 0; }
.dist-vendor-chip__label { font-size: 12px !important; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--d-muted); }
.dist .dist-producer { margin: 10px 0 0; font-size: 15px; color: var(--d-muted); }
.dist .dist-producer strong { color: var(--d-ink); }
.dist .dist-unit-price { margin: -6px 0 16px; font-size: 15px; color: var(--d-ink); }
.dist .dist-unit-price span { color: var(--d-muted); }
.dist .summary .woocommerce-product-details__short-description { margin-top: 20px; }
.dist .woocommerce-Tabs-panel .dist-tab-sub { margin: 32px 0 12px; padding-top: 24px; border-top: 1px solid var(--d-line); font-size: 22px; }
/* icona biscotto della finestra preferenze: il PNG arancione del plugin sostituito dall'SVG del tema (stessa forma, palette del sito) */
body.dist img[src*="automa-manager/assets/img/cookie"] {
	box-sizing: border-box !important; width: 60px !important; height: 60px !important; padding-left: 60px !important;
	background: url("../img/cookie.svg") center / contain no-repeat !important; overflow: hidden !important;
}

/* ---------- Menu mobile: voci di servizio in fondo al pannello (audit 20260925) ---------- */
.dist-nav__service { display: none; }
@media (max-width: 1023px) {
	.dist-nav { display: flex; flex-direction: column; overflow-y: auto; }
	.dist-nav__list { height: auto; overflow: visible; flex: none; padding-bottom: 12px; }
	.dist-nav__service { display: block; flex: 1 0 auto; width: min(86vw, 360px); box-sizing: border-box; margin: 0; padding: 12px 16px 28px; list-style: none; background: var(--d-sand); }
	.dist-nav__service li { margin: 0; }
	.dist-nav__service a { display: flex; align-items: center; gap: 10px; padding: 11px 0; font-size: 15px; color: var(--d-ink); }
	.dist-nav__service .dist-icon { width: 18px; height: 18px; color: var(--d-olive); }
}

/* ---------- Home su telefono: prima schermata corta, categorie e prodotti subito dopo (audit 20260925) ---------- */
@media (max-width: 767px) {
	.dist-hero { gap: 0; padding: 12px 0 28px; }
	.dist-hero__text { gap: 14px; }
	.dist .dist-hero h1 { font-size: 34px; }
	.dist-hero p { font-size: 16px; }
	.dist-hero__photo { display: none; }
	.dist-hero__actions { gap: 6px; }
	.dist .dist-hero__actions .dist-btn--outline { flex: 0 0 auto; min-height: 0; margin: 0 auto; padding: 8px 4px; border: 0; background: none; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
}
@media (max-width: 767px) {
	/* scheda prodotto su telefono: foto piu' bassa, titolo, prezzo e acquisto prima (audit 20260925) */
	.dist.single-product div.product .woocommerce-product-gallery__image img { width: auto; max-width: 100%; max-height: 280px; margin: 0 auto; padding: 12px; object-fit: contain; }
}
@media (max-width: 767px) {
	/* carrello pieno su telefono: solo titolo e una riga, i prodotti arrivano subito (audit 20260925) */
	.dist-cart-hero:not(.dist-cart-hero--empty) { gap: 0; padding: 16px 18px; margin-bottom: 16px; }
	.dist-cart-hero:not(.dist-cart-hero--empty) .dist-eyebrow,
	.dist-cart-hero:not(.dist-cart-hero--empty) .dist-archive-hero__facts,
	.dist-cart-hero:not(.dist-cart-hero--empty) .dist-archive-hero__img { display: none; }
	.dist .dist-cart-hero:not(.dist-cart-hero--empty) h1 { margin-bottom: 6px; font-size: 26px; }
	.dist-cart-hero:not(.dist-cart-hero--empty) .dist-archive-hero__text p { margin: 0; font-size: 15px; }
}

/* ---------- Diventa venditore: icone delle schede e categorie in vendita (20260925) ---------- */
.dist-ico { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 0 0 18px; border-radius: 50%; background: var(--d-paper); color: var(--d-accent); }
.dist-ico::before { content: ""; width: 26px; height: 26px; background: currentColor; -webkit-mask: var(--dist-ico) center / contain no-repeat; mask: var(--dist-ico) center / contain no-repeat; }
.dist-seller-card--paper .dist-ico { background: var(--d-sand); }
.dist-seller-card--olive .dist-ico { color: var(--d-olive); }
.dist-seller-card .dist-ico + .dist-seller-card__tag { position: absolute; top: 28px; right: 24px; margin: 0; }
.dist-ico--store { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10'/%3E%3Cpath d='M2.5 10 4.5 4h15l2 6z'/%3E%3Cpath d='M9.5 20v-5.5h5V20'/%3E%3C/svg%3E"); }
.dist-ico--megaphone { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5v3a1 1 0 0 0 1 1h3l6 4.5V5L7 9.5H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M16.5 9a4 4 0 0 1 0 6'/%3E%3Cpath d='M19.5 6a8 8 0 0 1 0 12'/%3E%3C/svg%3E"); }
.dist-ico--headset { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15v-3a8 8 0 0 1 16 0v3'/%3E%3Crect x='3' y='14' width='4.5' height='6' rx='1.5'/%3E%3Crect x='16.5' y='14' width='4.5' height='6' rx='1.5'/%3E%3C/svg%3E"); }
.dist-ico--truck { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h12v10H2z'/%3E%3Cpath d='M14 9.5h4.5L22 13v3h-8z'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E"); }
.dist-ico--percent { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5 5 19'/%3E%3Ccircle cx='7' cy='7' r='2.5'/%3E%3Ccircle cx='17' cy='17' r='2.5'/%3E%3C/svg%3E"); }
.dist-ico--chart { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v16h16'/%3E%3Cpath d='m8 15 4-4 3 3 5-6'/%3E%3C/svg%3E"); }
.dist-ico--globe { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E"); }
.dist-ico--card { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19'/%3E%3Cpath d='M6.5 15h4'/%3E%3C/svg%3E"); }
.dist-ico--pin { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.dist-ico--search { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E"); }
.dist-ico--shield { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.dist-ico--sliders { --dist-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='10' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E"); }
.dist-seller-cats { margin: 56px 0 0; }
.dist-seller-cats__head { max-width: 720px; margin: 0 0 24px; }
.dist .dist-seller-cats__head h2 { margin: 0 0 10px; }
.dist-seller-cats__head p:last-child { margin: 0; font-size: 18px; color: var(--d-muted); }
.dist .entry-content a.dist-cat { color: var(--d-ink); text-decoration: none; }
@media (max-width: 767px) {
	.dist-ico { width: 46px; height: 46px; margin-bottom: 14px; }
	.dist-ico::before { width: 23px; height: 23px; }
	.dist-seller-cats { margin-top: 40px; }
	.dist-seller-cats__head p:last-child { font-size: 16px; }
}

/* ---------- Mappa del sito: [dist_sitemap] (20260925) ---------- */
.dist .dist-sitemap-hero .dist-archive-hero__img img { aspect-ratio: 4 / 3; }
.dist-sitemap-block { margin: 56px 0 0; scroll-margin-top: 24px; }
.dist .dist-sitemap-block h2 { margin: 0 0 20px; }
.dist-sitemap-block__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; }
.dist .dist-sitemap-block__head h2 { margin: 0; }
.dist-sitemap-lead { margin: -8px 0 24px; max-width: 720px; font-size: 17px; color: var(--d-muted); }
.dist-sitemap-links { margin: 0; padding: 0; list-style: none; }
.dist-sitemap-links li { margin: 0; border-top: 1px solid rgba(30, 26, 22, .1); }
.dist .dist-sitemap-links a { display: flex; justify-content: space-between; align-items: center; padding: 11px 0; color: var(--d-ink); font-weight: 600; text-decoration: none; }
.dist .dist-sitemap-links a::after { content: "→"; color: var(--d-accent); transition: transform .15s; }
.dist .dist-sitemap-links a:hover::after { transform: translateX(4px); }
.dist-seller-card--olive .dist-sitemap-links li, .dist-seller-card--accent .dist-sitemap-links li { border-color: rgba(255, 255, 255, .2); }
.dist .dist-seller-card--olive .dist-sitemap-links a, .dist .dist-seller-card--accent .dist-sitemap-links a, .dist .dist-seller-card--olive .dist-sitemap-links a::after, .dist .dist-seller-card--accent .dist-sitemap-links a::after { color: #fff; }
.dist-sitemap-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.dist-sitemap-cat { overflow: hidden; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); }
.dist-sitemap-cat:nth-child(3n+2) { background: var(--d-sand); border-color: var(--d-sand); }
.dist .dist-sitemap-cat__img { display: block; overflow: hidden; }
.dist .dist-sitemap-cat__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .3s; }
.dist .dist-sitemap-cat__img:hover img { transform: scale(1.04); }
.dist-sitemap-cat__body { padding: 18px 20px 20px; }
.dist .dist-sitemap-cat h3 { margin: 0 0 2px; font-size: 21px; }
.dist .dist-sitemap-cat h3 a { color: var(--d-ink); text-decoration: none; }
.dist .dist-sitemap-cat h3 a:hover { color: var(--d-accent); }
.dist-sitemap-cat__count { display: block; font-size: 14px; color: var(--d-muted); }
.dist-sitemap-subs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.dist-sitemap-subs li { margin: 0; }
.dist .dist-sitemap-subs a { display: inline-block; padding: 5px 12px; border-radius: var(--d-pill); background: var(--d-ground); border: 1px solid var(--d-line); color: var(--d-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.dist .dist-sitemap-cat:nth-child(3n+1) .dist-sitemap-subs a, .dist .dist-sitemap-cat:nth-child(3n) .dist-sitemap-subs a { background: var(--d-sand); border-color: var(--d-sand); }
.dist .dist-sitemap-subs a:hover { background: var(--d-olive); border-color: var(--d-olive); color: #fff; }
.dist-sitemap-products { margin: 14px 0 0; }
.dist-sitemap-products summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; color: var(--d-accent); font-size: 14px; font-weight: 700; }
.dist-sitemap-products summary::-webkit-details-marker { display: none; }
.dist-sitemap-products summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.dist-sitemap-products[open] summary::after { transform: translateY(1px) rotate(-135deg); }
.dist-sitemap-products ul { margin: 10px 0 0; padding: 0; list-style: none; }
.dist-sitemap-products li { margin: 0; padding: 5px 0; border-top: 1px dashed rgba(30, 26, 22, .12); font-size: 14px; line-height: 1.4; }
.dist .dist-sitemap-products a { color: var(--d-ink); text-decoration: none; }
.dist .dist-sitemap-products a:hover { color: var(--d-accent); text-decoration: underline; }
.dist-sitemap-vendors { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.dist .entry-content a.dist-sitemap-vendor { display: flex; align-items: center; gap: 18px; padding: 14px; border-radius: var(--d-radius); background: var(--d-olive); color: #fff; text-decoration: none; transition: transform .15s; }
.dist .entry-content a.dist-sitemap-vendor:hover { transform: translateY(-2px); color: #fff; }
.dist .dist-sitemap-vendor img.dist-sitemap-vendor__img { flex: none; width: 140px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.dist-sitemap-vendor__text { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--d-olive-ink); }
.dist-sitemap-vendor__text strong { font-family: Fraunces, Georgia, serif; font-size: 22px; font-weight: 600; color: #fff; }
.dist-sitemap-posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.dist-sitemap-posts li { margin: 0; }
.dist .dist-sitemap-posts a { display: flex; align-items: center; gap: 16px; height: 100%; box-sizing: border-box; padding: 12px; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); color: var(--d-ink); text-decoration: none; transition: border-color .15s; }
.dist .dist-sitemap-posts a:hover { border-color: var(--d-accent); }
.dist .dist-sitemap-posts img, .dist-sitemap-posts__ph { flex: none; width: 76px; height: 76px; object-fit: cover; border-radius: 12px; background: var(--d-sand); }
.dist-sitemap-posts strong { display: block; font-size: 16px; line-height: 1.35; }
.dist-sitemap-posts time { display: block; margin-top: 4px; font-size: 13px; color: var(--d-muted); }
@media (max-width: 1023px) {
	.dist-sitemap-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dist-sitemap-cat:nth-child(n) { background: var(--d-paper); border-color: var(--d-line); }
	.dist-sitemap-cat:nth-child(4n+2), .dist-sitemap-cat:nth-child(4n+3) { background: var(--d-sand); border-color: var(--d-sand); }
	.dist-sitemap-posts { grid-template-columns: 1fr; }
	.dist-sitemap-hero .dist-archive-hero__img { display: block; }
}
@media (min-width: 768px) {
	.dist-sitemap-block .dist-seller-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.dist-sitemap-block { margin-top: 40px; }
	.dist-sitemap-hero .dist-archive-hero__img { display: none; }
	.dist-sitemap-cats { grid-template-columns: 1fr; }
	.dist-sitemap-cat:nth-child(n) { background: var(--d-paper); border-color: var(--d-line); }
	.dist-sitemap-cat:nth-child(even) { background: var(--d-sand); border-color: var(--d-sand); }
	.dist-sitemap-block__head { flex-direction: column; align-items: flex-start; }
	.dist-sitemap-vendors { grid-template-columns: 1fr; }
	.dist .dist-sitemap-vendor img.dist-sitemap-vendor__img { width: 104px; }
	.dist .dist-sitemap-posts img, .dist-sitemap-posts__ph { width: 64px; height: 64px; }
}

/* ---------- Blog: pagina /blog/, categorie, articolo (20260925) ---------- */
.dist-blog-hero__count { margin: -8px 0 18px !important; font-size: 15px !important; }
.dist-blog-hero__count strong { color: var(--d-accent); }
.dist .dist-blog-hero .dist-archive-hero__img img { aspect-ratio: 4 / 3; }
.dist-blog-featured { margin: 0 0 56px; }
.dist .dist-blog-title { margin: 0 0 20px; }
.dist-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dist-post-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); transition: transform .15s, box-shadow .15s; }
.dist-post-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(30, 26, 22, .1); }
.dist-post-grid .dist-post-card:nth-child(3n+2) { background: var(--d-sand); border-color: var(--d-sand); }
.dist .dist-post-card__img { display: block; overflow: hidden; }
.dist .dist-post-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; transition: transform .3s; }
.dist .dist-post-card:hover .dist-post-card__img img { transform: scale(1.04); }
.dist-post-card__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 18px 20px 20px; }
.dist a.dist-post-card__cat { margin: 0 0 10px; padding: 4px 12px; border-radius: var(--d-pill); background: var(--d-olive); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.dist a.dist-post-card__cat:hover { background: var(--d-accent); color: #fff; }
.dist .dist-post-card__title { margin: 0 0 8px; font-size: 22px; line-height: 1.25; }
.dist .dist-post-card__title a { color: var(--d-ink); text-decoration: none; }
.dist .dist-post-card__title a:hover { color: var(--d-accent); }
.dist-post-card__body p { margin: 0 0 14px; font-size: 15px; color: var(--d-muted); }
.dist-post-card__meta { margin-top: auto; font-size: 13px; color: var(--d-muted); }
.dist-post-card--featured { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: var(--d-olive); border-color: var(--d-olive); }
.dist .dist-post-card--featured .dist-post-card__img img { height: 100%; aspect-ratio: 4 / 3; }
.dist-post-card--featured .dist-post-card__body { justify-content: center; padding: 40px; }
.dist .dist-post-card--featured a.dist-post-card__cat { background: var(--d-accent); }
.dist .dist-post-card--featured .dist-post-card__title { font-size: clamp(26px, 2.6vw, 36px); }
.dist .dist-post-card--featured .dist-post-card__title a { color: #fff; }
.dist-post-card--featured .dist-post-card__body p { font-size: 17px; color: var(--d-olive-ink); }
.dist-post-card--featured .dist-post-card__meta { margin: 0 0 22px; color: var(--d-olive-ink); }
.dist .dist-blog-band, .dist .dist-landing > section.dist-blog-band { margin-top: 56px; } /* .dist-landing > section azzera il margine sopra */
.dist-blog-page .navigation.pagination { margin-top: 32px; }
/* articolo singolo */
.dist .dist-post-hero { margin-top: 8px; }
.dist .dist-post-hero h1 { font-size: clamp(30px, 3.6vw, 48px); }
.dist .dist-post-hero .dist-archive-hero__img img { aspect-ratio: 4 / 3; }
.dist .dist-post-hero a.dist-eyebrow { display: inline-block; color: var(--d-accent); text-decoration: none; }
.dist .dist-blog-band > img { width: 100%; }
.dist .dist-post-hero a.dist-eyebrow:hover { color: var(--d-accent-dark); }
.dist .type-post .entry-content { font-size: 18px; line-height: 1.7; }
.dist .type-post .entry-content > p:first-child { font-size: 20px; color: var(--d-ink); }
.dist .type-post .entry-content h2 { padding-top: 12px; border-top: 1px solid var(--d-line); }
.dist .type-post .entry-content h2::before { content: ""; display: block; width: 40px; height: 3px; margin: -13px 0 20px; background: var(--d-accent); }
.dist .type-post .entry-content figure { margin: 32px 0; }
.dist .type-post .entry-content figcaption { font-size: 14px; color: var(--d-muted); text-align: center; }
.dist .type-post .entry-content blockquote { margin: 28px 0; padding: 20px 24px; border: 0; border-left: 4px solid var(--d-accent); border-radius: 0 var(--d-radius) var(--d-radius) 0; background: var(--d-sand); font-style: normal; }
.dist-post-related { margin-top: 56px; }
@media (max-width: 1023px) {
	.dist-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dist-post-grid .dist-post-card:nth-child(n) { background: var(--d-paper); border-color: var(--d-line); }
	.dist-post-grid .dist-post-card:nth-child(4n+2), .dist-post-grid .dist-post-card:nth-child(4n+3) { background: var(--d-sand); border-color: var(--d-sand); }
	.dist-post-card--featured { grid-template-columns: 1fr; }
	.dist-post-card--featured .dist-post-card__body { padding: 28px; }
	.dist .dist-post-related .dist-post-grid .dist-post-card:nth-child(3) { display: none; }
}
@media (max-width: 767px) {
	.dist-post-grid { grid-template-columns: 1fr; gap: 14px; }
	.dist-post-grid .dist-post-card:nth-child(n) { background: var(--d-paper); border-color: var(--d-line); }
	.dist-post-grid .dist-post-card:nth-child(even) { background: var(--d-sand); border-color: var(--d-sand); }
	.dist .dist-post-related .dist-post-grid .dist-post-card:nth-child(3) { display: flex; }
	.dist-post-card--featured .dist-post-card__body { padding: 22px 20px 24px; }
	.dist-blog-featured { margin-bottom: 40px; }
	.dist .type-post .entry-content { font-size: 17px; }
	.dist .type-post .entry-content > p:first-child { font-size: 18px; }
	.dist .dist-post-hero .dist-archive-hero__img { order: -1; }
}

/* ---------- Pagina 404 (20260925) ---------- */
.dist-404-hero { margin-top: 8px; }
.dist .dist-404-hero h1 { font-size: clamp(32px, 4vw, 50px); }
.dist .dist-404-hero .dist-archive-hero__img { position: relative; }
.dist .dist-404-hero .dist-archive-hero__img img { aspect-ratio: 4 / 3; }
.dist-404-num { position: absolute; z-index: 1; left: 18px; bottom: 14px; padding: 4px 18px 8px; border-radius: var(--d-radius); background: rgba(250, 246, 238, .92); color: var(--d-accent); font-family: Fraunces, Georgia, serif; font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: -.02em; box-shadow: 0 8px 24px rgba(30, 26, 22, .18); }
.dist-404-search { display: flex; gap: 8px; max-width: 560px; margin: 0 0 16px; padding: 6px; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); }
.dist .dist-404-search input[type="search"] { flex: 1; width: 100%; min-width: 0; margin: 0; padding: 10px 16px; border: 0; background: transparent; box-shadow: none; font-size: 16px; }
.dist .dist-404-search input[type="search"]:focus { outline: none; }
.dist-404-search:focus-within { border-color: var(--d-accent); box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
.dist .dist-404-search button { margin: 0; padding: 10px 22px; border: 0; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-weight: 600; }
.dist .dist-404-search button:hover { background: var(--d-accent-dark); }
.dist-404-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; }
.dist .dist-404-cta .dist-btn { text-decoration: none; }
.dist-404-block { margin: 56px 0 0; }
.dist .dist-404-block h2 { margin: 0 0 20px; }
.dist .dist-404-links a.dist-seller-card { display: block; color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.dist .dist-404-links a.dist-seller-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(30, 26, 22, .12); }
.dist .dist-404-links .dist-seller-card--sand h3 { color: var(--d-ink); }
.dist-404-page .dist-cats--tiles a.dist-cat { color: var(--d-ink); text-decoration: none; }
@media (max-width: 1023px) {
	.dist-404-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.dist-404-hero { grid-template-columns: minmax(0, 1fr); }
	.dist .dist-404-hero .dist-archive-hero__img { order: -1; }
	.dist .dist-404-hero .dist-archive-hero__img img { aspect-ratio: 16 / 10; }
	.dist-404-num { font-size: 40px; left: 12px; bottom: 10px; padding: 2px 14px 6px; }
	.dist-404-block { margin-top: 40px; }
	.dist-404-links { grid-template-columns: 1fr; }
	.dist-404-cta .dist-btn { flex: 1 1 auto; justify-content: center; text-align: center; }
}

/* ---------- Controllo telefono 20260925: sbordamenti, leggibilita', spazi, aree da toccare ---------- */
/* reCAPTCHA: badge nascosto (copriva pulsanti e campi a destra), dicitura richiesta da Google nel footer */
.grecaptcha-badge { visibility: hidden !important; }
.dist-footer__recaptcha { flex-basis: 100%; font-size: 13px; }
.dist .dist-footer__recaptcha a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* pagine legali: la tabella dei cookie allargava la colonna oltre lo schermo e tagliava tutto il testo */
@media (max-width: 1023px) {
	.dist-legal { grid-template-columns: minmax(0, 1fr); }
	.dist .dist-legal__body table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.dist .dist-legal__body th, .dist .dist-legal__body td { min-width: 120px; }
	.dist-legal__body { overflow-wrap: anywhere; }
	.dist-legal__toc li { margin: 0; }
	.dist .dist-legal__toc a { display: block; padding: 7px 0; }
	.dist-legal__toc summary { display: flex; align-items: center; justify-content: space-between; }
	.dist-legal__toc summary::after { content: ""; width: 9px; height: 9px; margin-right: 4px; border-right: 2px solid var(--d-accent); border-bottom: 2px solid var(--d-accent); transform: translateY(-3px) rotate(45deg); transition: transform .15s; }
	.dist-legal__toc[open] summary::after { transform: translateY(2px) rotate(-135deg); }
}
/* il mio account: niente spazio doppio tra apertura e "Accedi" */
.dist-account-page #customer_login h2 { margin-top: 0; }
@media (max-width: 767px) {
	/* ordinamento: la tendina usciva dallo schermo (negozio, categorie, ricerca) */
	.dist-filters__sort { flex-wrap: wrap; gap: 8px 12px; }
	.dist .dist-filters__sort .woocommerce-ordering { flex: 1 1 200px; min-width: 0; }
	.dist .dist-filters__sort .woocommerce-ordering select { width: 100%; max-width: 100%; }
	/* negozio e categorie prodotto: via la foto, prodotti e filtri subito sotto il titolo */
	.dist-archive-hero:not(.dist-blog-hero):not(.dist-legal-hero):not(.dist-cart-hero):not(.dist-checkout-hero):not(.dist-account-hero):not(.dist-post-hero):not(.dist-404-hero) .dist-archive-hero__img { display: none; }
	.dist-archive-hero:not(.dist-blog-hero):not(.dist-legal-hero):not(.dist-cart-hero):not(.dist-checkout-hero):not(.dist-account-hero):not(.dist-post-hero):not(.dist-404-hero) { gap: 0; }
	/* pagina venditore: paginazione Dokan che andava a capo fuori schermo, pulsanti leggibili */
	.dist ul.dokan-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
	.dist ul.dokan-pagination li a, .dist ul.dokan-pagination li span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; box-sizing: border-box; border-radius: var(--d-pill); }
	.dist .dokan-modules-button .dokan-btn { font-size: 14px; }
	/* carrello: la riga prodotto diventa una scheda (foto, nome, prezzo | quantita', totale) invece della tabella spezzata */
	.dist-cart-page table.cart, .dist-cart-page table.cart tbody { display: block; }
	.dist-cart-page table.cart tr.cart_item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb price price" "qty qty subtotal"; gap: 6px 14px; align-items: start; padding: 16px; border-bottom: 1px solid var(--d-line); }
	.dist-cart-page table.cart tr.cart_item td { display: block; padding: 0; border: 0; background: none; text-align: left; }
	.dist-cart-page table.cart tr.cart_item td::before { content: none; display: none; }
	.dist-cart-page table.cart td.product-thumbnail { grid-area: thumb; display: block !important; }
	.dist-cart-page table.cart td.product-thumbnail img { width: 72px; height: 72px; max-width: none; }
	.dist-cart-page table.cart td.product-name { grid-area: name; }
	.dist-cart-page table.cart td.product-price { grid-area: price; font-size: 14px; color: var(--d-muted); }
	.dist-cart-page table.cart td.product-quantity { grid-area: qty; margin-top: 8px; }
	.dist-cart-page table.cart td.product-subtotal { grid-area: subtotal; align-self: center; margin-top: 8px; font-weight: 700; text-align: right; }
	.dist-cart-page table.cart td.product-remove { grid-area: remove; margin: -6px -6px 0 0; }
	.dist-cart-page table.cart tr:not(.cart_item) { display: block; }
	.dist-cart-page table.cart td.actions { display: block; padding: 16px; }
	.dist-cart-page table.cart td.actions .coupon { flex-wrap: wrap; }
	.dist-cart-page table.cart td.actions .coupon #coupon_code { flex: 1 1 100%; width: 100%; margin: 0; }
	.dist-cart-page table.cart td.actions .coupon .button { flex: 1 1 100%; width: 100%; margin: 0; }
	.dist-cart-page table.cart td.actions > .button { width: 100%; margin-top: 10px; }
	.dist-cart-page .cart_totals small, .dist-checkout-page .woocommerce-checkout-review-order-table small { font-size: 13px; }
	/* landing: le categorie scorrono di lato invece di occupare cinque schermate */
	.dist-seller-cats .dist-cats--tiles, .dist-404-block .dist-cats--tiles, .dist-section[aria-labelledby="dist-cats-title"] .dist-cats--tiles { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 44%; gap: 10px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
	.dist-seller-cats .dist-cats--tiles li, .dist-404-block .dist-cats--tiles li, .dist-section[aria-labelledby="dist-cats-title"] .dist-cats--tiles li { scroll-snap-align: start; }
	/* schede con icona piu' compatte */
	.dist-seller-card { padding: 22px 20px; }
	/* footer: voci piu' facili da toccare */
	.dist-footer nav { gap: 2px; }
	.dist .dist-footer nav a { padding: 6px 0; }
	/* mappa del sito: "Vedi i prodotti" piu' comodo da toccare */
	.dist-sitemap-products summary { padding: 8px 0; }
}

/* checkout: intestazioni di sezione in h2 (prima h3), stesso aspetto */
.dist .entry-content h2.dist-checkout-section { margin: 1.4em 0 .4em; font-size: 26px; }
.dist-checkout-page form.checkout .col2-set h2.dist-checkout-section { margin-top: 0; }

/* ---------- Categorie: guida sotto la griglia, sottocategorie nel menu e in home (2026-09-25) ---------- */
.dist-cat-guide { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: start; margin: 56px 0 24px; padding-top: 48px; border-top: 1px solid var(--d-line); }
.dist-cat-guide--single { grid-template-columns: minmax(0, 820px); }
.dist .dist-cat-guide h2 { margin: 0 0 16px; font-size: clamp(26px, 2.6vw, 34px); }
.dist .dist-cat-guide h3 { margin: 28px 0 10px; font-size: 22px; }
.dist-cat-guide__text p, .dist-cat-guide__text li { font-size: 17px; line-height: 1.65; }
.dist-cat-guide__text ul { margin: 0 0 18px 1.2em; }
.dist-cat-guide__text li { margin-bottom: 8px; }
.dist .dist-cat-guide__text a { text-decoration: underline; text-underline-offset: 2px; }
.dist-cat-guide__faq { position: sticky; top: 24px; display: grid; gap: 12px; padding: 32px; border-radius: var(--d-radius-lg); background: var(--d-sand); }
.dist .dist-cat-guide__faq h2 { margin: 0 0 4px; }
.dist-cat-guide__faq .dist-faq, .dist-cat-guide__faq .dist-faq[open] { background: var(--d-paper); border-color: var(--d-paper); }
.dist-cat-guide__faq .dist-faq summary { padding: 16px 56px 16px 18px; font-size: 18px; }
.dist-cat-guide__faq .dist-faq summary::after { right: 14px; }
.dist-cat-guide__faq .dist-faq__answer { padding: 0 18px 18px; }
@media (max-width: 1023px) {
	.dist-cat-guide { grid-template-columns: 1fr; gap: 32px; margin-top: 40px; padding-top: 32px; }
	.dist-cat-guide__faq { position: static; padding: 20px; }
}

/* menu Categorie: sottocategorie sotto ogni categoria (pannello a colonne su desktop) */
@media (min-width: 1024px) {
	.dist-nav__list > li.dist-nav__cats > .sub-menu { width: 520px; padding: 16px; columns: 2; column-gap: 12px; }
	.dist-nav__list > li.dist-nav__cats > .sub-menu > li { break-inside: avoid; padding-bottom: 6px; }
	.dist-nav__list > li.dist-nav__cats > .sub-menu > li > a { font-weight: 600; }
	.dist-nav__list .sub-menu .sub-menu { position: static; min-width: 0; margin: -4px 0 0; padding: 0 0 0 12px; border: 0; border-radius: 0; box-shadow: none; background: transparent; opacity: 1; visibility: inherit; transform: none; transition: none; }
	.dist-nav__list .sub-menu .sub-menu a { padding: 5px 12px; font-size: 14px; font-weight: 400; color: var(--d-muted); }
	.dist-nav__list .sub-menu .sub-menu a:hover, .dist-nav__list .sub-menu .sub-menu .current-menu-item > a { color: var(--d-accent); }
}
@media (min-width: 1280px) {
	.dist-nav__list > li.dist-nav__cats > .sub-menu { width: 760px; columns: 3; }
}
@media (max-width: 1023px) {
	.dist-nav__list .sub-menu .sub-menu { display: block; padding: 0 0 4px 14px; }
	.dist-nav__list .sub-menu .sub-menu a { padding: 8px 0; font-size: 15px; color: var(--d-muted); }
	.dist-nav__list .sub-menu .sub-menu .current-menu-item > a { color: var(--d-accent); }
}

/* home: scorciatoie alle sottocategorie sotto le schede */
.dist-home-subcats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; }
.dist-home-subcats__label { margin-right: 4px; font-size: 14px; font-weight: 600; color: var(--d-muted); }
@media (max-width: 767px) {
	.dist-home-subcats__label { flex-basis: 100%; }
}

/* articoli: tabelle leggibili, a scorrimento laterale su telefono */
.dist .type-post .entry-content table { width: 100%; margin: 28px 0; border-collapse: collapse; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); font-size: 15px; line-height: 1.5; }
.dist .type-post .entry-content th, .dist .type-post .entry-content td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--d-line); text-align: left; vertical-align: top; }
.dist .type-post .entry-content thead th { background: var(--d-sand); font-weight: 700; }
.dist .type-post .entry-content tbody td:first-child { font-weight: 600; }
@media (max-width: 767px) {
	.dist .type-post .entry-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 14px; }
	.dist .type-post .entry-content th, .dist .type-post .entry-content td { min-width: 120px; }
}

/* ---------- Dashboard venditore: tabelle React di Dokan (DataViews / componenti WordPress) ----------
   Tutta la dashboard a tutta pagina (.dokan-fullwidth-container: React, report WooCommerce, pagine classiche)
   e i popup React (.dokan-layout) e' escluso con :where() da bottoni, campi e misure
   dei titoli del tema: lì valgono gli stili di Dokan/WordPress.
   I pulsanti .components-button sono esclusi dallo stile generale dei bottoni (sopra, con :where, senza
   cambiare la specificita'); qui solo testo del tema e colonne che vanno a capo. (20260925) */
.dist .dokan-dashboard-content .components-button { font-family: var(--d-sans); }
.dist .dokan-dashboard-content .dataviews-view-table td,
.dist .dokan-dashboard-content .dataviews-view-table td .dataviews-view-table__cell-content-wrapper { white-space: normal; overflow-wrap: anywhere; vertical-align: middle; }
.dist .dokan-dashboard-content .dataviews-view-table td .text-wrap { max-width: 32rem; }
/* zone di spedizione: la colonna delle regioni prende lo spazio, il nome zona resta stretto */
.dist .dokan-dashboard-content .dataviews-view-table:has(.dataviews-view-table__col-formatted_zone_location) th:nth-child(1) { width: 20%; }
.dist .dokan-dashboard-content .dataviews-view-table:has(.dataviews-view-table__col-formatted_zone_location) th:nth-child(3) { width: 50%; }
/* titoli delle pagine classiche (Strumenti, Pagamento, Reso e garanzia...): Storefront li porta a ~42px */
.dist .dokan-dashboard-content .entry-title { font-size: 28px; line-height: 1.2; }
.dist .dokan-dashboard-content .dokan-import-export-header .entry-title { font-size: 22px; }
/* altri titoli delle pagine classiche (es. "Metodi di pagamento"): specificita' zero, i titoli React con classi
   Tailwind (text-xl...) restano come sono */
:where(.dist .dokan-dashboard-content) h2 { font-size: 22px; }
:where(.dist .dokan-dashboard-content) h3 { font-size: 18px; }
/* barra "Profilo completato": a 0% la barra e' larga 0 e il testo sparisce; la pillola resta leggibile */
.dist .dokan-profile-completeness .dokan-progress { height: auto; min-height: 22px; margin-bottom: 12px; border-radius: 999px; background: var(--d-line); box-shadow: none; overflow: hidden; }
.dist .dokan-profile-completeness .dokan-progress-bar { min-width: fit-content; padding: 0 12px; border-radius: 999px; background: var(--d-accent); background-image: none; color: #fff; font-size: 12px; font-weight: 600; line-height: 22px; white-space: nowrap; box-shadow: none; }

/* Editor di testo (Quill) nel modulo prodotto del venditore: senza lo stile generale dei bottoni, con le
   misure della toolbar di Quill (icone 18px, tratto sottile). (20260925) */
.dist .ql-toolbar button { display: inline-block; float: left; width: 28px; height: 24px; min-height: 0; padding: 3px 5px; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.dist .ql-toolbar button svg { display: block; float: left; width: 18px; height: 18px; }
.dist .ql-toolbar .ql-stroke { stroke-width: 2; }
.dist .ql-toolbar .ql-formats { margin-right: 12px; }
/* editor prodotto: colonna principale + colonna laterale (Stato, Immagine) vanno a capo quando lo spazio non
   basta, invece di uscire a destra (schermi 1024-1200px) */
.dist .dokan-product-product-editor .dataforms-layouts-row__field > [class*="__stack"] { flex-wrap: wrap; }
.dist .dokan-product-product-editor .dataforms-layouts-row__field-control { min-width: 0; flex: 1 1 480px; }
/* dashboard venditore su telefono: i filtri dei report WooCommerce hanno margin -8px (tagliati dal contenitore
   Dokan) e i pulsanti con testo lungo non vanno a capo */
@media (max-width: 782px) {
	.dist .dokan-dashboard-content .woocommerce-filters { margin-left: 0; margin-right: 0; }
	.dist .dokan-dashboard-content button.dokan-btn, .dist .dokan-dashboard-content a.dokan-btn { max-width: 100%; height: auto; white-space: normal; text-align: center; }
	.dist .dokan-dashboard-content .dokan-dashboard-header { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
	.dist .dokan-dashboard-content .dokan-dashboard-header .dokan-btn { float: none; max-width: none; white-space: nowrap; }
	.dist .dokan-dashboard-content .payment-methods-listing-header { flex-wrap: wrap; gap: 8px; }
}

/* ---------- Allergeni (inc/allergeni.php): blocco con icone nella scheda prodotto e filtro "Senza..." (20260925) ---------- */
.dist-allergeni { margin: 16px 0; padding: 14px 16px; border: 1px solid var(--d-line); border-radius: 16px; background: var(--d-paper); }
.dist-allergeni__title { margin: 0 0 10px; color: var(--d-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dist-allergeni__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dist-allergene { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 5px 12px 5px 8px; border-radius: var(--d-pill); background: var(--d-sand); font-size: 14px; font-weight: 500; line-height: 1.2; }
.dist-allergene__icon { flex: none; color: var(--d-accent); }
.dist-allergeni__none { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; }
.dist-allergeni__none .dist-allergene__icon { color: var(--d-olive); }
.dist-allergeni__note { margin: 10px 0 0; color: var(--d-muted); font-size: 12.5px; line-height: 1.4; }
.dist-filter__hint { margin: 0 0 8px; color: var(--d-muted); font-size: 13px; line-height: 1.35; }
.dist-filter--allergeni .dist-check { align-items: center; }
.dist-filter--allergeni .dist-check .dist-allergene__icon { width: 18px; height: 18px; margin: 0 2px; color: var(--d-muted); }
.dist-filter--allergeni .dist-filter__panel { min-width: 300px; }
/* caratteristiche del prodotto (inc/caratteristiche.php): piccantezza, certificazioni, dieta, conservazione */
.dist-feats { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; padding: 0; list-style: none; }
.dist-feat { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 14px 7px 10px; border: 1px solid var(--d-line); border-radius: var(--d-pill); background: var(--d-paper); font-size: 15px; font-weight: 600; line-height: 1.2; }
.dist-feat__icons { display: inline-flex; gap: 0; color: var(--d-muted); }
.dist-feat__icons .dist-feat__icon + .dist-feat__icon { margin-left: -6px; }
.dist-feat--hot .dist-feat__icons { color: #B3261E; }
.dist-feat--mild .dist-feat__icons { color: var(--d-olive); opacity: .7; }
.dist-feat--bio .dist-feat__icons, .dist-feat--diet .dist-feat__icons { color: var(--d-olive); }
.dist-feat--cert .dist-feat__icons { color: var(--d-accent); }
.dist-feat--cold .dist-feat__icons { color: #2F6690; }
/* scheda prodotto riorganizzata (20260925): un solo riquadro produttore + venditore + riconoscimenti */
.dist-origin { display: grid; gap: 14px; margin: 20px 0 0; padding: 16px 18px; border: 1px solid var(--d-line); border-radius: 18px; background: var(--d-paper); }
.dist .dist-origin a.dist-producer { margin: 0; }
.dist .dist-origin a.dist-producer:not(.dist-producer--logo) { font-size: 15px; }
.dist a.dist-origin__vendor { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--d-line); color: var(--d-ink); text-decoration: none; }
.dist-origin a.dist-producer + a.dist-origin__vendor { margin-top: 0; }
.dist-origin > a.dist-origin__vendor:first-child { padding-top: 0; border-top: 0; }
.dist-origin__avatar { flex: none; width: 44px; height: 44px; border: 1px solid var(--d-line); border-radius: 50%; background: #fff; object-fit: contain; }
.dist-origin__avatar--initial { display: inline-flex; align-items: center; justify-content: center; border: 0; background: var(--d-olive); color: var(--d-olive-ink); font-family: var(--d-serif); font-size: 18px; font-weight: 600; }
.dist-origin__text { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; line-height: 1.3; }
.dist-origin__label { color: var(--d-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.dist-origin__text strong { font-size: 16px; }
.dist-origin__place { color: var(--d-muted); font-size: 14px; }
.dist-origin__go { display: inline-flex; flex: none; align-items: center; gap: 4px; color: var(--d-accent); font-size: 14px; font-weight: 600; }
.dist-origin__go .dist-icon { width: 16px; height: 16px; }
.dist a.dist-origin__vendor:hover .dist-origin__go { text-decoration: underline; text-underline-offset: 3px; }
.dist-badges--label { gap: 8px; margin: 0; }
.dist-badges--label .dist-badge { display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px 4px 4px; border-radius: var(--d-pill); background: var(--d-sand); font-size: 14px; font-weight: 600; line-height: 1.2; cursor: help; }
.dist-badges--label .dist-badge img { width: 36px; height: 36px; }
.dist-badges--label .dist-badge img:hover { transform: none; }
.dist-origin + .dist-allergeni { margin-top: 14px; }
@media (max-width: 480px) {
	.dist-origin { padding: 14px; }
	.dist a.dist-origin__vendor { flex-wrap: wrap; }
	.dist-origin__go { flex-basis: 100%; padding-left: 56px; }
}

/* ---------- Produttori: logo nella scheda prodotto e fascia nel negozio (inc/produttori.php) ---------- */
.dist a.dist-producer { display: flex; align-items: center; gap: 12px; width: fit-content; max-width: 100%; margin: 10px 0 0; font-size: 15px; color: var(--d-muted); text-decoration: none; }
.dist a.dist-producer:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.dist-producer__logo { flex: 0 0 auto; display: grid; place-items: center; width: 96px; height: 52px; padding: 6px 8px; border: 1px solid var(--d-line); border-radius: 12px; background: var(--d-paper); }
.dist-producer__logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.dist-producers { margin: 28px 0 32px; }
.dist-producers__head { margin-bottom: 14px; }
.dist .dist-producers__title { margin: 4px 0 0; font-family: var(--d-serif); font-size: 26px; font-weight: 600; line-height: 1.2; }
.dist .dist-producers__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.dist .dist-producers__list li { margin: 0; }
.dist a.dist-producers__item { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 8px; height: 100%; padding: 14px 12px 12px; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); color: var(--d-muted); text-decoration: none; transition: border-color .15s, transform .15s; }
.dist a.dist-producers__item:hover { border-color: var(--d-accent); transform: translateY(-2px); }
.dist-producers__logo { display: grid; place-items: center; width: 100%; height: 72px; }
.dist-producers__logo img { width: auto; height: auto; max-width: 100%; max-height: 72px; object-fit: contain; }
.dist-producers__name { display: grid; place-items: center; height: 72px; font-family: var(--d-serif); font-size: 19px; font-weight: 600; line-height: 1.15; color: var(--d-ink); text-align: center; }
.dist-producers__count { font-size: 13px; }
@media (max-width: 767px) {
	.dist .dist-producers__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
	.dist .dist-producers__list li { flex: 0 0 150px; scroll-snap-align: start; }
	.dist .dist-producers__title { font-size: 22px; }
}
/* "Contatta" (assistenza negozio Dokan) sotto il carrello: link con fumetto, non un secondo pulsante */
.dist.single-product form.cart .dokan-store-support-btn-product { flex-basis: 100%; justify-content: flex-start; gap: 8px; width: auto; min-height: 0; margin: 4px 0 0; padding: 4px 0; border: 0; background: none; color: var(--d-accent); font-size: 15px; font-weight: 600; }
.dist.single-product form.cart .dokan-store-support-btn-product::before { content: ""; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/svg%3E") center / contain no-repeat; }
.dist.single-product form.cart .dokan-store-support-btn-product:hover { background: none; color: var(--d-accent-dark); text-decoration: underline; text-underline-offset: 3px; }
/* landing SEO (inc/landing.php): "Vedi anche" sotto i prodotti */
.dist-landing-related { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }

/* ---------- Riconoscimenti dei venditori (inc/badges.php): badge cliccabili e pagina elenco (20260925) ---------- */
.dist .dist-badge a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; line-height: 1.2; }
.dist .dist-badges:not(.dist-badges--label) .dist-badge a { display: block; line-height: 0; }
.dist .dist-badges--label .dist-badge:hover { background: var(--d-line); }
.dist .dist-badges--label .dist-badge a:hover span, .dist .dist-badges--label .dist-badge a:focus-visible span { text-decoration: underline; text-underline-offset: 3px; }
.dist-badge-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; margin: 28px 0; }
.dist-badge-card { display: flex; align-items: flex-start; gap: 16px; padding: 18px; border: 1px solid var(--d-line); border-radius: 18px; background: var(--d-paper); scroll-margin-top: 110px; }
.dist-badge-card:target { border-color: var(--d-accent); box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
.dist-badge-card img { flex: none; width: 72px; height: 72px; border-radius: 50%; }
.dist .dist-badge-list .dist-badge-card .dist-badge-card__name { margin: 2px 0 6px; font-size: 20px; line-height: 1.25; }
.dist-badge-card p { margin: 0; color: var(--d-muted); font-size: 15px; line-height: 1.5; }
.dist-badge-card__levels { display: grid; gap: 2px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 14px; }
.dist-badge-card__levels strong { display: inline-block; min-width: 72px; color: var(--d-accent); font-weight: 600; }

/* ---------- Guide per chi compra (inc/guide.php): etichette cliccabili, pagine guida (20260925) ---------- */
.dist a.dist-guide-link { display: inline-flex; align-items: center; gap: inherit; color: inherit; text-decoration: none; }
.dist a.dist-guide-link:hover, .dist a.dist-guide-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.dist-feat:has(> a.dist-guide-link:hover), .dist-allergene:has(> a.dist-guide-link:hover) { border-color: var(--d-accent); }
.dist-filter__hint a { color: var(--d-accent); white-space: nowrap; }
.dist-filter__hint--foot { margin: 8px 0 0; padding-top: 8px; border-top: 1px solid var(--d-line); }
.dist-guide-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 14px; margin: 20px 0 32px; }
.dist-guide-item { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; border: 1px solid var(--d-line); border-radius: 18px; background: var(--d-paper); scroll-margin-top: 110px; }
.dist-guide-item:target { border-color: var(--d-accent); box-shadow: 0 0 0 3px rgba(168, 70, 31, .15); }
.dist-guide-item__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 8px; border-radius: 26px; background: var(--d-sand); color: var(--d-accent); }
.dist-guide-item__icon svg { width: 26px; height: 26px; }
.dist-guide-item__icon svg + svg { margin-left: -8px; }
.dist .dist-guide-list .dist-guide-item .dist-guide-item__title { margin: 2px 0 6px; font-size: 19px; line-height: 1.25; }
.dist-guide-item p { margin: 0 0 6px; color: var(--d-muted); font-size: 15px; line-height: 1.5; }
.dist-guide-item p:last-child { margin-bottom: 0; }
.dist-guide-item .dist-guide-item__def { color: var(--d-ink); }
.dist-guide-group { scroll-margin-top: 110px; }

/* ---------- Dashboard venditore: riquadro "Come funziona questa pagina" (inc/dashboard-guida.php) ---------- */
.dist-guide-wrap { display: flex; flex-direction: column; gap: 16px; margin: 0 0 24px; }
.dist-guide { margin: 0; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-sand); color: var(--d-ink); font-family: var(--d-sans); }
.dist-guide__summary { display: flex; align-items: center; gap: 14px; padding: 14px 18px; cursor: pointer; list-style: none; }
.dist-guide__summary::-webkit-details-marker { display: none; }
.dist-guide__summary:focus-visible { outline: 2px solid var(--d-accent); outline-offset: 2px; border-radius: var(--d-radius); }
.dist-guide__icon { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--d-accent); color: #fff; font-family: var(--d-serif); font-size: 19px; font-weight: 600; line-height: 1; }
.dist-guide__label { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dist-guide__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--d-accent); }
.dist-guide__title { font-family: var(--d-serif); font-size: 20px; font-weight: 600; line-height: 1.2; }
.dist-guide__toggle { margin-left: auto; font-size: 14px; font-weight: 600; color: var(--d-muted); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.dist-guide[open] .dist-guide__toggle-show, .dist-guide:not([open]) .dist-guide__toggle-hide { display: none; }
.dist-guide__body { padding: 0 22px 18px 66px; font-size: 15px; line-height: 1.55; }
.dist-guide .dist-guide__intro { margin: 0 0 10px; font-size: 16px; }
.dist-guide ul.dist-guide__list , .dokan-dashboard .dist-guide ul.dist-guide__list { margin: 0; padding: 0; columns: 2 320px; column-gap: 36px; list-style: none; }
.dist-guide ul.dist-guide__list > li , .dokan-dashboard .dist-guide ul.dist-guide__list > li { position: relative; margin: 0 0 8px; padding-left: 16px; break-inside: avoid; }
.dist-guide ul.dist-guide__list > li::before , .dokan-dashboard .dist-guide ul.dist-guide__list > li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--d-accent); }
.dist-guide .dist-guide__note { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--d-accent); border-radius: 10px; background: var(--d-paper); font-weight: 500; }
.dist-guide .dist-guide__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 14px 0 0; font-size: 14px; color: var(--d-muted); }
.dist-guide .dist-guide__links a { color: var(--d-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.dist-guide .dist-guide__service { margin: 14px 0 0; padding: 10px 14px; border-left: 3px solid var(--d-olive); border-radius: 10px; background: var(--d-paper); }
.dist-guide .dist-guide__service a { color: var(--d-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.dist-guide .dist-guide__stripe { margin: 14px 0 0; padding: 10px 14px; border-left: 3px solid var(--d-danger); border-radius: 10px; background: var(--d-paper); font-weight: 600; }
.dist-guide .dist-guide__stripe a { color: var(--d-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.dist-stripe { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; padding: 24px 28px; border: 2px solid var(--d-accent); border-radius: var(--d-radius); background: var(--d-paper); color: var(--d-ink); font-family: var(--d-sans); font-size: 15px; line-height: 1.55; }
.dist-stripe .dist-stripe__eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--d-accent); }
.dist-stripe h2.dist-stripe__title { margin: 4px 0 8px; font-family: var(--d-serif); font-size: 26px; font-weight: 600; line-height: 1.2; color: var(--d-ink); }
.dist-stripe .dist-stripe__intro { margin: 0 0 14px; font-size: 16px; }
.dist-stripe ul.dist-stripe__list, .dokan-dashboard .dist-stripe ul.dist-stripe__list { margin: 0; padding: 0; list-style: none; }
.dist-stripe ul.dist-stripe__list > li, .dokan-dashboard .dist-stripe ul.dist-stripe__list > li { position: relative; margin: 0 0 10px; padding-left: 26px; }
.dist-stripe ul.dist-stripe__list > li::before, .dokan-dashboard .dist-stripe ul.dist-stripe__list > li::before { content: ""; position: absolute; left: 2px; top: .35em; width: 14px; height: 8px; border-left: 2px solid var(--d-olive); border-bottom: 2px solid var(--d-olive); transform: rotate(-45deg); }
.dist-stripe .dist-stripe__bring { margin: 6px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--d-sand); font-size: 14px; }
.dist-stripe__side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px; border-radius: var(--d-radius); background: var(--d-sand); text-align: center; }
.dist-stripe .dist-stripe__price { margin: 0; font-family: var(--d-serif); font-size: 44px; font-weight: 600; line-height: 1; color: var(--d-accent); }
.dist-stripe .dist-stripe__price-note { margin: 0 0 8px; font-size: 14px; color: var(--d-muted); }
.dist .dist-stripe a.dist-stripe__btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; padding: 0 20px; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-weight: 700; text-decoration: none; }
.dist .dist-stripe a.dist-stripe__btn:hover { background: var(--d-accent-dark); }
.dist-stripe .dist-stripe__price { font-size: 38px; }
.dist-stripe .dist-stripe__how { margin: 4px 0 0; font-size: 13px; line-height: 1.45; }
.dist-stripe .dist-stripe__alt { margin: 0; font-size: 13px; color: var(--d-muted); }
.dist .dist-stripe a.dist-stripe__self { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--d-ink); text-decoration: underline; text-underline-offset: 3px; }
.dist-service { padding: 24px 28px; border-radius: var(--d-radius); background: var(--d-olive); color: var(--d-olive-ink); font-family: var(--d-sans); font-size: 15px; line-height: 1.55; }
.dist-service .dist-service__eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--d-sand); opacity: .85; }
.dist-service h2.dist-service__title { margin: 4px 0 8px; font-family: var(--d-serif); font-size: 26px; font-weight: 600; line-height: 1.2; color: #fff; }
.dist-service .dist-service__intro { margin: 0 0 14px; font-size: 16px; }
.dist-service ul.dist-service__list, .dokan-dashboard .dist-service ul.dist-service__list { margin: 0; padding: 0; columns: 2 320px; column-gap: 36px; list-style: none; }
.dist-service ul.dist-service__list > li, .dokan-dashboard .dist-service ul.dist-service__list > li { position: relative; margin: 0 0 10px; padding-left: 26px; break-inside: avoid; }
.dist-service ul.dist-service__list > li::before, .dokan-dashboard .dist-service ul.dist-service__list > li::before { content: ""; position: absolute; left: 2px; top: .35em; width: 14px; height: 8px; border-left: 2px solid var(--d-sand); border-bottom: 2px solid var(--d-sand); transform: rotate(-45deg); }
.dist-service .dist-service__note { margin: 6px 0 0; padding: 10px 14px; border-radius: 10px; background: rgba(255, 255, 255, .08); }
.dist-service .dist-service__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 18px 0 0; }
.dist .dist-service a.dist-service__btn { display: inline-flex; align-items: center; min-height: 46px; padding: 0 24px; border-radius: var(--d-pill); background: var(--d-accent); color: #fff; font-weight: 700; text-decoration: none; }
.dist .dist-service a.dist-service__btn:hover { background: var(--d-accent-dark); }
.dist-service .dist-service__alt { font-size: 14px; opacity: .85; }
@media (max-width: 767px) {
	.dist-guide__summary { padding: 12px 14px; gap: 10px; }
	.dist-guide__title { font-size: 18px; }
	.dist-guide__body { padding: 0 14px 16px; }
	.dist-service { padding: 20px 18px; }
	.dist-stripe { grid-template-columns: 1fr; gap: 18px; padding: 20px 18px; }
	.dist-stripe h2.dist-stripe__title { font-size: 22px; }
	.dist-service h2.dist-service__title { font-size: 22px; }
}

/* ---------- Guida "Come collegare Stripe" (pagina /collegare-stripe/, contenuto in .dist-howto) ---------- */
.dist .dist-howto { max-width: 820px; margin: 0 auto; font-size: 17px; line-height: 1.65; }
.dist .dist-howto h2 { margin: 40px 0 14px; font-family: var(--d-serif); font-size: 28px; line-height: 1.2; }
.dist .dist-howto .dist-howto__lead { font-size: 19px; }
.dist .dist-howto__box { margin: 24px 0; padding: 18px 22px; border-radius: var(--d-radius); }
.dist .dist-howto__box p { margin: 0; }
.dist .dist-howto__box--offer { border: 2px solid var(--d-accent); background: var(--d-paper); }
.dist .dist-howto__box--ok { background: var(--d-olive); color: var(--d-olive-ink); }
.dist .dist-howto__box--ok strong { color: #fff; }
.dist .dist-howto ol.dist-howto__steps { margin: 0; padding: 0; list-style: none; counter-reset: dist-step; }
.dist .dist-howto ol.dist-howto__steps > li { position: relative; margin: 0 0 14px; padding: 2px 0 0 52px; min-height: 36px; counter-increment: dist-step; }
.dist .dist-howto ol.dist-howto__steps > li::before { content: counter(dist-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--d-accent); color: #fff; font-family: var(--d-serif); font-size: 17px; font-weight: 600; }
.dist .dist-howto .dist-howto__small { font-size: 14px; color: var(--d-muted); }
.dist .dist-howto__faq { margin: 0 0 10px; border: 1px solid var(--d-line); border-radius: 14px; background: var(--d-paper); }
.dist .dist-howto__faq > summary { padding: 14px 18px; font-weight: 700; cursor: pointer; }
.dist .dist-howto__faq > p { margin: 0; padding: 0 18px 16px; }
@media (max-width: 767px) {
	.dist .dist-howto { font-size: 16px; }
	.dist .dist-howto h2 { font-size: 24px; }
	.dist .dist-howto .dist-howto__lead { font-size: 17px; }
}
.dist .dist-howto__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 14px 0 0; font-size: 15px; }
.dist .entry-content .dist-howto__cta a.dist-btn { text-decoration: none; }
