/* Tema De Carlo · generato da _fai-tema-decarlo.py: NON modificare a mano, cambia _fai-demo-sito.py */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* De Carlo · stile comune. Titoli e testo in Instrument Sans (22/10: via il Bodoni) (lo stesso di Malhè), fondo panna,
   scritte moro, tasti marroncino, il tortora del logo per i dettagli, foto in cornice bianca. */
:root {
  --panna: #f5efe7; --panna-2: #ece3d8; --carta: #fbf8f3; --sabbia: #dfd1bf; --tortora: #b09782; --tortora-scuro: #86705d;
  --marroncino: #5f4a3c; --moro: #2a221e; --grigio: #6c5b4e; --linea: rgba(42,34,30,.13); --ok: #2f7a4d; --no: #9a3d1d;
  --bodoni: var(--sans);   /* 22/10 Francesco: titoli nello stesso carattere del menu, niente serif né corsivo */
  --sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --largo: 1400px; --testata: 76px;
  color-scheme: light;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--marroncino); color: var(--moro); font: 15px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
body.chiuso { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--marroncino); outline-offset: 3px; border-radius: 3px; }
h1, h2, h3, p { margin: 0; }
h1, h2, .bodoni { font-family: var(--sans); font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
h1 em, h2 em, .bodoni em { font-style: normal; }
.dentro { max-width: var(--largo); margin-inline: auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.occhiello { font-size: .6875rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--tortora-scuro); }
.sezione { padding-block: clamp(4rem, 8vw, 7rem); }
.titolo { display: flex; align-items: end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem); }
.titolo h2 { font-size: clamp(1.76rem, 2.9vw, 2.51rem); line-height: 1.08; margin-top: .6rem; }
.link { font-size: .875rem; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgba(42,34,30,.35); white-space: nowrap; }
.link:hover { text-decoration-color: var(--moro); }
.tasto { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; padding: 0 1.6rem; border: 0; border-radius: 0; background: var(--marroncino); color: var(--panna); font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background-color .15s; text-align: center; }
.tasto:hover { background: var(--moro); }
.tasto:active { transform: scale(.98); }
.tasto:disabled { opacity: .4; cursor: not-allowed; }
.tasto--chiaro { background: var(--panna); color: var(--moro); }
.tasto--chiaro:hover { background: #fff; }
.tasto--vuoto { background: transparent; color: var(--moro); box-shadow: inset 0 0 0 1px var(--moro); }
.tasto--vuoto:hover { background: var(--moro); color: var(--panna); }
.tasto--largo { width: 100%; }
.tasto svg { width: 17px; height: 17px; fill: currentColor; }
.cornice { background: #fff; padding: clamp(6px, .7vw, 10px); box-shadow: 0 1px 2px rgba(42,34,30,.08), 0 18px 40px rgba(42,34,30,.14); }
.pagina { position: relative; z-index: 1; background: var(--panna); min-height: 70vh; }

/* barra a messaggi (Malhè), ferma: si cambia con le frecce */
.barra { background: var(--moro); color: var(--panna); }
.barra .dentro { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; height: 38px; }
.barra p { text-align: center; font-size: .75rem; letter-spacing: .04em; }
.barra button { background: none; border: 0; color: var(--sabbia); cursor: pointer; height: 32px; font-size: 1rem; }

/* testata */
.testata { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: rgba(245,239,231,.92); -webkit-backdrop-filter: saturate(150%) blur(16px); backdrop-filter: saturate(150%) blur(16px); border-bottom: 1px solid var(--linea); }
.testata .dentro { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--testata); }
.menu { display: flex; gap: 1.6rem; font-size: .8125rem; font-weight: 500; align-items: center; }
.menu > a, .menu__voce > a { position: relative; padding-block: .4rem; }
.menu > a::after, .menu__voce > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.menu > a:hover::after, .menu > a[aria-current]::after, .menu__voce:hover > a::after, .menu__voce > a[aria-current]::after { transform: scaleX(1); }
.menu__voce { position: relative; }
.tendina { position: absolute; top: calc(100% + 24px); left: -1.25rem; min-width: 280px; background: var(--carta); border: 1px solid var(--linea); box-shadow: 0 18px 40px rgba(42,34,30,.12); padding: .75rem; display: grid; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s, transform .18s, visibility .18s; }
.tendina::before { content: ""; position: absolute; inset: -26px 0 auto; height: 26px; }
.menu__voce:hover .tendina, .menu__voce:focus-within .tendina { opacity: 1; visibility: visible; transform: none; }
.tendina a { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .6rem; font-size: .9375rem; }
.tendina a span { color: var(--grigio); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.tendina a:hover { background: var(--panna-2); }
.tendina a b { font-weight: 600; }
.logo { color: var(--tortora); display: block; }
.logo svg { height: 48px; width: auto; display: block; }
.destra { display: flex; justify-content: end; align-items: center; gap: 1.2rem; }
.icona { width: 21px; height: 21px; fill: none; stroke: var(--moro); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; display: block; }
.borsa-tasto { position: relative; background: none; border: 0; padding: 0; cursor: pointer; }
.borsa-tasto b { position: absolute; top: -7px; right: -9px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--marroncino); color: var(--panna); font-size: .625rem; display: grid; place-items: center; padding-inline: 4px; }
.borsa-tasto b:empty { display: none; }
.solo-tel { display: none; }
.tel-velo { position: fixed; inset: 0; z-index: 59; background: rgba(42,34,30,.4); }
.tel-menu { position: fixed; z-index: 60; top: 0; bottom: 0; left: 0; width: min(88vw, 400px); background: var(--panna); display: flex; flex-direction: column; gap: 1.4rem; padding: calc(env(safe-area-inset-top, 0px) + .9rem) 1.25rem calc(env(safe-area-inset-bottom, 0px) + 1.25rem) max(1.25rem, env(safe-area-inset-left, 0px)); overflow-y: auto; transform: translateX(-100%); transition: transform .32s cubic-bezier(.2,.8,.2,1); box-shadow: 20px 0 50px rgba(20,14,10,.18); }
.tel-menu.is-aperto { transform: none; }
.tel-menu__testa { display: flex; justify-content: space-between; align-items: center; }
.tel-menu__logo { color: var(--tortora); }
.tel-menu__logo svg { height: 34px; width: auto; display: block; }
.tel-menu__x { width: 40px; height: 40px; margin-right: -8px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.tel-menu__x svg { width: 20px; height: 20px; stroke: var(--moro); stroke-width: 1.4; fill: none; stroke-linecap: round; }
.tel-menu__rep { display: grid; margin-top: .4rem; }
.tel-menu__rep a { display: flex; justify-content: space-between; align-items: baseline; padding-block: .5rem; font-size: 1.0625rem; font-weight: 500; }
.tel-menu__rep a:active { color: var(--tortora-scuro); }
.tel-menu__rep small { font-size: .75rem; font-weight: 400; color: var(--grigio); font-variant-numeric: tabular-nums; }
.tel-menu__foto { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.tel-menu__foto a { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--marroncino); }
.tel-menu__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.tel-menu__foto .et { position: absolute; left: .55rem; bottom: .55rem; background: var(--carta); font-size: .625rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: .3rem .5rem; }
.tel-menu__carta { position: absolute; inset: 22% 14% auto; aspect-ratio: 1.58; background: var(--panna); color: var(--tortora); display: grid; place-items: center; transform: rotate(-5deg); box-shadow: 0 10px 20px rgba(0,0,0,.3); }
.tel-menu__carta svg { width: 78%; height: auto; }
.tel-menu__altro { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .875rem; color: var(--grigio); }
.tel-menu__piede { margin-top: auto; display: grid; gap: .45rem; padding-top: 1rem; border-top: 1px solid var(--linea); font-size: .8125rem; color: var(--grigio); }
.stato { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; }
.stato::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #b3a597; }
.stato.is-aperto::before { background: var(--ok); }
.tel-menu__piede .stato { color: var(--moro); }
.tel-menu__piede .tasto { margin-top: .4rem; }
@media (max-width: 900px) { .menu, .solo-pc { display: none; } .solo-tel { display: block; } .logo svg { height: 38px; } }
@media (min-width: 901px) { .tel-menu, .tel-velo { display: none !important; } }
.menu-tasto { background: none; border: 0; padding: 0; cursor: pointer; }

/* briciole */
.briciole { font-size: .8125rem; color: var(--grigio); padding-top: 1.5rem; }
.briciole a:hover { color: var(--moro); text-decoration: underline; text-underline-offset: 4px; }

/* schede dei capi nelle griglie */
.capi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem 1.25rem; }
.capo { display: grid; align-content: start; min-width: 0; }
.capo__foto { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--panna-2); margin-bottom: .9rem; }
.capo__foto img, .capo__foto video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.capo__foto video { opacity: 0; transition: opacity .35s; }
.capo__foto.is-vivo video { opacity: 1; }
.capo__eti { position: absolute; z-index: 1; top: .75rem; left: .75rem; font-size: .625rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; background: var(--carta); padding: .35rem .55rem; }
.capo__riga { display: flex; justify-content: space-between; gap: .75rem; align-items: start; }
.capo h3 { font-size: .9375rem; font-weight: 500; line-height: 1.3; }
.pallini { display: inline-flex; gap: 4px; align-items: center; padding-top: .3rem; flex-shrink: 0; }
.pallini span { width: 11px; height: 11px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(42,34,30,.2); }
.pallini i { font-style: normal; font-size: .6875rem; color: var(--grigio); }
.capo__prezzo { font-size: .875rem; color: var(--grigio); margin-top: .15rem; font-variant-numeric: tabular-nums; }
.taglie { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .6rem; }
.taglie button { min-width: 34px; height: 30px; padding: 0 .45rem; border: 1px solid var(--linea); background: transparent; font-size: .75rem; cursor: pointer; font-variant-numeric: tabular-nums; }
.taglie button:hover:not(:disabled) { border-color: var(--moro); }
.taglie button:disabled { color: #b7a89a; text-decoration: line-through; cursor: not-allowed; }
.taglie button[aria-pressed="true"] { background: var(--marroncino); border-color: var(--marroncino); color: var(--panna); }
@media (max-width: 900px) { .capi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem .9rem; } }

/* borsa a scomparsa (su tutte le pagine) */
.velo { position: fixed; inset: 0; z-index: 70; background: rgba(42,34,30,.42); }
.borsa { position: fixed; z-index: 71; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: var(--carta); display: grid; grid-template-rows: auto auto 1fr auto; box-shadow: -20px 0 50px rgba(20,14,10,.25); padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); transform: translateX(100%); transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.borsa.is-aperta { transform: none; }
.borsa__testa { display: flex; justify-content: space-between; align-items: center; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--linea); }
.borsa__testa h2 { font-size: 1.4rem; }
.borsa__chiudi { background: none; border: 0; cursor: pointer; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.soglia { padding: .9rem 1.25rem; border-bottom: 1px solid var(--linea); font-size: .8125rem; }
.soglia__barra { height: 3px; background: var(--panna-2); margin-top: .5rem; }
.soglia__barra i { display: block; height: 100%; background: var(--marroncino); transition: width .3s; }
.borsa__righe { overflow-y: auto; padding: .5rem 1.25rem; }
.riga { display: grid; grid-template-columns: 72px 1fr auto; gap: .9rem; padding-block: .9rem; border-bottom: 1px solid var(--linea); }
.riga img { width: 72px; height: 96px; object-fit: cover; object-position: 50% 30%; }
.riga__nome { font-weight: 500; }
.riga__var { font-size: .8125rem; color: var(--grigio); }
.riga__q { display: inline-flex; align-items: center; border: 1px solid var(--linea); margin-top: .5rem; }
.riga__q button { width: 30px; height: 30px; border: 0; background: none; cursor: pointer; }
.riga__q span { min-width: 22px; text-align: center; font-size: .875rem; font-variant-numeric: tabular-nums; }
.riga__dx { display: grid; justify-items: end; align-content: space-between; font-variant-numeric: tabular-nums; }
.riga__togli { background: none; border: 0; font-size: .75rem; color: var(--grigio); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 0; }
.borsa__vuota { padding: 2rem 0; display: grid; gap: 1rem; justify-items: start; color: var(--grigio); }
.borsa__piede { padding: 1rem 1.25rem 1.25rem; border-top: 1px solid var(--linea); display: grid; gap: .6rem; }
.borsa__tot { display: flex; justify-content: space-between; align-items: baseline; }
.borsa__tot b { font-family: var(--bodoni); font-weight: 400; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.borsa__piede small { color: var(--grigio); font-size: .75rem; }

/* piede */
.lettera { background: var(--marroncino); color: var(--panna); }
.lettera .dentro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem 2rem; align-items: center; padding-block: clamp(3rem, 6vw, 4.5rem); }
.lettera h2 { font-size: clamp(1.56rem, 2.39vw, 2.18rem); line-height: 1.08; }
.lettera p { color: #e5d8c9; margin-top: .75rem; }
.lettera form { display: flex; }
.lettera label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lettera input { flex: 1; min-width: 0; height: 52px; border: 1px solid rgba(245,239,231,.5); border-right: 0; background: transparent; color: var(--panna); padding: 0 1rem; }
.lettera input::placeholder { color: #cdbcaa; }
.lettera small { grid-column: 2; font-size: .75rem; color: #d5c6b5; min-height: 1.2em; }
@media (max-width: 760px) { .lettera .dentro { grid-template-columns: 1fr; } .lettera small { grid-column: 1; } }
.piede { background: var(--moro); color: var(--panna); padding-top: clamp(3rem, 6vw, 4.5rem); }
.piede__alto { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 2.5rem; }
.piede__alto > div { min-width: 0; }
.piede__logo { display: block; width: 150px; color: var(--sabbia); margin-bottom: 1.2rem; }
.piede__logo svg { display: block; width: 100%; height: auto; }
.piede__noi { font-size: .9375rem; color: #d9cbbb; max-width: 38ch; }
.piede__social { display: flex; gap: .55rem; margin-top: 1.4rem; }
.piede__social a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(245,239,231,.3); display: grid; place-items: center; transition: background-color .15s, border-color .15s, color .15s; }
.piede__social a:hover { background: var(--panna); border-color: var(--panna); color: var(--moro); }
.piede__social svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.piede h3 { font-size: .6875rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #cdb69c; margin: 0 0 1rem; }
.piede ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; font-size: .875rem; color: #e5d8c9; }
.piede ul a:hover { color: var(--panna); text-decoration: underline; text-underline-offset: 4px; }
.piede__orari li { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.piede__pag { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1.2rem; }
.piede__pag span { font-size: .625rem; font-weight: 600; letter-spacing: .05em; border: 1px solid rgba(245,239,231,.3); padding: .2rem .45rem; color: #d9cbbb; }
.piede__legale { display: flex; justify-content: space-between; gap: .5rem 2rem; flex-wrap: wrap; margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-block: 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(245,239,231,.16); font-size: .75rem; color: #bfae9c; }
@media (max-width: 900px) { .piede__alto { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; } .piede__uno { grid-column: 1 / -1; } }
@media (max-width: 560px) { .piede__alto { grid-template-columns: 1fr; } .piede__legale { flex-direction: column; } }

.avviso { position: fixed; z-index: 80; top: calc(var(--testata) + 52px); right: max(20px, env(safe-area-inset-right, 0px)); background: var(--moro); color: var(--panna); padding: .8rem 1.1rem; font-size: .8125rem; box-shadow: 0 12px 30px rgba(20,14,10,.3); opacity: 0; transform: translateY(-6px); transition: opacity .2s, transform .2s; pointer-events: none; max-width: calc(100% - 40px); }
.avviso.is-visto { opacity: 1; transform: none; }
.demo-nascosta { position: fixed; z-index: 40; left: 50%; transform: translateX(-50%); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--moro); color: var(--panna); padding: .55rem .9rem; font-size: .75rem; box-shadow: 0 8px 26px rgba(0,0,0,.3); max-width: calc(100% - 24px); text-align: center; pointer-events: none; }
@media (max-width: 900px) { .demo { display: none; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---- WooCommerce dentro il tema De Carlo: cassa, carrello, account, avvisi ---- */
.dc-pagina-wp { padding-block: 1.5rem 5rem; }
.dc-pagina-wp > h1 { font-size: clamp(2.25rem, 4vw, 3.25rem); line-height: 1; margin: 1rem 0 2rem; }
.dc-pagina-wp .wp-block-woocommerce-checkout, .dc-pagina-wp .wp-block-woocommerce-cart { font-family: var(--sans); }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--marroncino) !important; color: var(--panna) !important; border-radius: 0 !important; font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; min-height: 52px; }
.wc-block-components-button:not(.is-link):hover { background: var(--moro) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select, .wc-block-components-textarea { border-radius: 0 !important; border-color: rgba(42,34,30,.25) !important; background: #fff !important; }
.wc-block-components-radio-control__option, .wc-block-checkout__shipping-method-option, .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--sans) !important; font-weight: 500 !important; font-size: 1.35rem !important; letter-spacing: -.02em; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--sans); font-weight: 500; font-size: 1.3rem; }
.wc-block-components-notice-banner { border-radius: 0; }
.woocommerce-coming-soon-banner, .wp-block-woocommerce-coming-soon { font-family: var(--sans); }
.dc-wa-flottante { display: none; }
.lettera .lettera__consenso { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
.lettera__consenso { display: flex; gap: .55rem; align-items: flex-start; font-size: .75rem; color: #e5d8c9; cursor: pointer; }
.lettera .lettera__consenso input { flex: none; width: 16px; height: 16px; min-width: 16px; margin: .15rem 0 0; padding: 0; border: 0; accent-color: var(--panna); }
.lettera__consenso a { text-decoration: underline; text-underline-offset: 3px; }
.lettera label[for=email] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* ---- l'iscrizione −10% (1.5.5): computer, tablet, telefono; i controlli sono nel pezzo «Iscrizione −10%» di Elementor ---- */
.lettera .dentro { display: grid; gap: 1rem 2rem; align-items: center; }
.lettera__testo { grid-area: testo; min-width: 0; }
.lettera form { grid-area: modulo; display: flex; align-items: stretch; min-width: 0; }
.lettera .lettera__consenso { grid-area: consenso; justify-self: var(--dc-allinea, start); }
.lettera small { grid-area: esito; }
.lettera input[type=email] { min-width: 7rem; height: var(--dc-l-alto, 52px); border: 1px solid rgba(245,239,231,.5); border-radius: var(--dc-l-r-casella, 0px); }
.lettera .tasto { min-height: var(--dc-l-alto, 52px); padding-block: .4rem; border-radius: var(--dc-l-r-tasto, 0px); white-space: normal; overflow-wrap: normal; word-break: normal; hyphens: manual; text-wrap: balance; }
@media (min-width: 1025px) {
  .lettera .dentro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "testo modulo" ". consenso" ". esito"; }
  .lettera form { flex-direction: row; gap: var(--dc-l-spazio, 0px); }
  .lettera input[type=email] { flex: 1 1 0; width: auto; border-right-width: min(1px, var(--dc-l-spazio, 0px)); border-top-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .lettera .tasto { flex: 0 0 auto; width: auto; max-width: calc(100% - 7rem - var(--dc-l-spazio, 0px)); border-top-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-disp-fianco .lettera .dentro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "testo modulo" ". consenso" ". esito"; }
  .dc-l-disp-sotto .lettera .dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "testo" "modulo" "consenso" "esito"; }
  .dc-l-mod-fianco .lettera form { flex-direction: row; gap: var(--dc-l-spazio, 0px); }
  .dc-l-mod-fianco .lettera input[type=email] { flex: 1 1 0; width: auto; border-right-width: min(1px, var(--dc-l-spazio, 0px)); border-top-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-fianco .lettera .tasto { flex: 0 0 auto; width: auto; max-width: calc(100% - 7rem - var(--dc-l-spazio, 0px)); border-top-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-sotto .lettera form { flex-direction: column; gap: var(--dc-l-spazio, 10px); }
  .dc-l-mod-sotto .lettera input[type=email] { flex: none; width: 100%; border-right-width: 1px; border-radius: var(--dc-l-r-casella, 0px); }
  .dc-l-mod-sotto .lettera .tasto { flex: none; width: 100%; max-width: none; border-radius: var(--dc-l-r-tasto, 0px); }
}
@media (min-width: 600px) and (max-width: 1024px) {
  .lettera .dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "testo" "modulo" "consenso" "esito"; }
  .lettera form { flex-direction: row; gap: var(--dc-l-spazio, 0px); }
  .lettera input[type=email] { flex: 1 1 0; width: auto; border-right-width: min(1px, var(--dc-l-spazio, 0px)); border-top-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .lettera .tasto { flex: 0 0 auto; width: auto; max-width: calc(100% - 7rem - var(--dc-l-spazio, 0px)); border-top-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-disp-tablet-fianco .lettera .dentro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "testo modulo" ". consenso" ". esito"; }
  .dc-l-disp-tablet-sotto .lettera .dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "testo" "modulo" "consenso" "esito"; }
  .dc-l-mod-tablet-fianco .lettera form { flex-direction: row; gap: var(--dc-l-spazio, 0px); }
  .dc-l-mod-tablet-fianco .lettera input[type=email] { flex: 1 1 0; width: auto; border-right-width: min(1px, var(--dc-l-spazio, 0px)); border-top-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-tablet-fianco .lettera .tasto { flex: 0 0 auto; width: auto; max-width: calc(100% - 7rem - var(--dc-l-spazio, 0px)); border-top-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-tablet-sotto .lettera form { flex-direction: column; gap: var(--dc-l-spazio, 10px); }
  .dc-l-mod-tablet-sotto .lettera input[type=email] { flex: none; width: 100%; border-right-width: 1px; border-radius: var(--dc-l-r-casella, 0px); }
  .dc-l-mod-tablet-sotto .lettera .tasto { flex: none; width: 100%; max-width: none; border-radius: var(--dc-l-r-tasto, 0px); }
}
@media (max-width: 599px) {
  .lettera .dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "testo" "modulo" "consenso" "esito"; }
  .lettera form { flex-direction: column; gap: var(--dc-l-spazio, 10px); }
  .lettera input[type=email] { flex: none; width: 100%; border-right-width: 1px; border-radius: var(--dc-l-r-casella, 0px); }
  .lettera .tasto { flex: none; width: 100%; max-width: none; border-radius: var(--dc-l-r-tasto, 0px); }
  .dc-l-disp-mobile-fianco .lettera .dentro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "testo modulo" ". consenso" ". esito"; }
  .dc-l-disp-mobile-sotto .lettera .dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "testo" "modulo" "consenso" "esito"; }
  .dc-l-mod-mobile-fianco .lettera form { flex-direction: row; gap: var(--dc-l-spazio, 0px); }
  .dc-l-mod-mobile-fianco .lettera input[type=email] { flex: 1 1 0; width: auto; border-right-width: min(1px, var(--dc-l-spazio, 0px)); border-top-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-right-radius: min(var(--dc-l-r-casella, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-mobile-fianco .lettera .tasto { flex: 0 0 auto; width: auto; max-width: calc(100% - 7rem - var(--dc-l-spazio, 0px)); border-top-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); border-bottom-left-radius: min(var(--dc-l-r-tasto, 0px), calc(var(--dc-l-spazio, 0px) * 1000)); }
  .dc-l-mod-mobile-sotto .lettera form { flex-direction: column; gap: var(--dc-l-spazio, 10px); }
  .dc-l-mod-mobile-sotto .lettera input[type=email] { flex: none; width: 100%; border-right-width: 1px; border-radius: var(--dc-l-r-casella, 0px); }
  .dc-l-mod-mobile-sotto .lettera .tasto { flex: none; width: 100%; max-width: none; border-radius: var(--dc-l-r-tasto, 0px); }
}
/* presto disponibile: la pagina d'attesa prima dell'apertura online */
.presto { min-height: 100vh; min-height: 100dvh; background: var(--panna); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(2rem, 6vw, 5rem); padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); max-width: 1320px; margin: 0 auto; box-sizing: border-box; }
html:has(.presto), html:has(.presto) body { background: var(--panna); }
.presto__testo { display: grid; justify-items: start; gap: 1rem; max-width: 560px; }
.presto__logo { color: var(--tortora); width: min(220px, 60vw); margin-bottom: 1.5rem; }
.presto__logo svg { width: 100%; height: auto; display: block; }
.presto h1 { font-family: var(--sans); font-weight: 500; font-size: clamp(2.2rem, 4.2vw, 3.4rem); line-height: 1.05; letter-spacing: -.035em; margin: 0; text-wrap: balance; }
.presto__sotto { font-size: 1.0625rem; line-height: 1.6; color: var(--grigio); max-width: 46ch; margin: 0; }
.presto__tasti { display: flex; flex-wrap: wrap; gap: .6rem; margin: .75rem 0 1.25rem; }
.presto__tasti svg { width: 16px; height: 16px; fill: currentColor; margin-right: .5rem; }
.presto .orari { width: 100%; margin: .25rem 0 0; }
.presto__foto { margin: 0; }
.presto__foto img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; display: block; }
.presto .stato { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; }
.presto .stato::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #b3a597; }
.presto .stato.is-aperto::before { background: var(--ok); }
.presto .orari { list-style: none; padding: 0; border-top: 1px solid var(--linea); }
.presto .orari li { display: flex; justify-content: space-between; gap: 1rem; padding-block: .55rem; border-bottom: 1px solid var(--linea); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.presto .orari li span:last-child { color: var(--grigio); text-align: right; }
.presto .orari li.is-oggi span { color: var(--moro); font-weight: 600; }
@media (max-width: 860px) { .presto { grid-template-columns: 1fr; } .presto__foto { order: -1; } .presto__logo { margin-bottom: .5rem; } }
/* ---- la home fatta con Elementor: i pezzi normali di Elementor vestiti come il sito (chi li cambia in Elementor vince) ---- */
.dc-home .elementor-widget-heading .elementor-heading-title, .dc-home .elementor-widget-text-editor, .dc-home .elementor-button { font-family: var(--sans); }
.dc-home .elementor-widget-text-editor p { margin: 0; }
.dc-home .elementor-widget-text-editor p + p { margin-top: 1rem; }
.dc-home .dc-occhiello { font-size: .6875rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--tortora-scuro); line-height: 1.4; }
.dc-home .dc-h2 .elementor-heading-title { font-size: clamp(1.76rem, 2.9vw, 2.51rem); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; color: var(--moro); text-wrap: balance; }
.dc-home .dc-h2--grande .elementor-heading-title { font-size: clamp(1.95rem, 3.15vw, 2.85rem); }
.dc-home .dc-testo { color: var(--grigio); font-size: 1rem; line-height: 1.55; max-width: 46ch; }
.dc-home .dc-firma { font-size: 1.2rem; color: var(--marroncino); margin-top: .4rem; }
.dc-home .elementor-widget-button .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; padding: 0 1.6rem; border: 0; border-radius: 0; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1; transition: background-color .15s, color .15s; }
.dc-home .dc-tasto .elementor-button { background: var(--marroncino); color: var(--panna); }
.dc-home .dc-tasto .elementor-button:hover { background: var(--moro); color: var(--panna); }
.dc-home .dc-tasto-vuoto .elementor-button { background: transparent; color: var(--moro); box-shadow: inset 0 0 0 1px var(--moro); }
.dc-home .dc-tasto-vuoto .elementor-button:hover { background: var(--moro); color: var(--panna); }
.dc-home .dc-tasto-chiaro .elementor-button { background: var(--panna); color: var(--moro); }
.dc-home .dc-tasto-chiaro .elementor-button:hover { background: #fff; color: var(--moro); }
.dc-home .dc-tasto-chiaro-vuoto .elementor-button { background: transparent; color: var(--panna); box-shadow: inset 0 0 0 1px rgba(245,239,231,.75); }
.dc-home .dc-tasto-chiaro-vuoto .elementor-button:hover { background: var(--panna); color: var(--moro); }
.dc-home .dc-link .elementor-button { background: none; min-height: 0; padding: 0; color: var(--moro); font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgba(42,34,30,.35); white-space: nowrap; }
.dc-home .dc-link .elementor-button:hover { background: none; color: var(--moro); text-decoration-color: var(--moro); }
.dc-home .elementor-widget-image figure { margin: 0; }
.dc-home .elementor-widget-image img { display: block; width: 100%; height: auto; }
.dc-home .e-con > .dc-colonna, .dc-home .e-con > .dc-ritratti, .dc-home .e-con > .dc-negozio-foto { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) { .dc-home .e-con > .dc-colonna, .dc-home .e-con > .dc-ritratti, .dc-home .e-con > .dc-negozio-foto { flex: none; width: 100%; } }
.dc-home .dc-titolo > .e-con { --width: auto; width: auto; flex: 0 1 auto; max-width: 100%; }
/* l'apertura: i video dietro (pezzo «Video dell'apertura»), scritta e tasti sopra */
.dc-home .apertura > .elementor-widget-decarlo-apertura { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; margin: 0 !important; }
.dc-home .apertura > .elementor-widget-decarlo-apertura > .elementor-widget-container { height: 100%; }
.dc-home .apertura > .apertura__testo { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; width: auto; max-width: var(--largo); margin-inline: auto; padding: 0 max(20px, env(safe-area-inset-right, 0px)) clamp(2.25rem, 5vw, 4rem) max(20px, env(safe-area-inset-left, 0px)); }
.dc-home .apertura .dc-occhiello { color: var(--sabbia); }
.dc-home .dc-h1-apertura .elementor-heading-title { font-size: clamp(2.4rem, 4.6vw, 4.25rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; color: var(--panna); max-width: 14ch; }
.dc-home .dc-sotto { font-size: 1.0625rem; color: #eee3d6; max-width: 40ch; }
.dc-home .dc-tasti-apertura { margin-top: .6rem; }
@media (max-width: 700px) { .dc-home .dc-tasti-apertura > .elementor-widget-button { flex: 1 1 auto; } .dc-home .dc-tasti-apertura .elementor-button { width: 100%; padding-inline: 1rem; } }
/* chi siamo: le due foto in cornice, storte */
.dc-home .dc-ritratti { position: relative; min-height: clamp(420px, 46vw, 640px); }
.dc-home .dc-ritratti > .elementor-widget-image { position: absolute !important; width: 56% !important; max-width: none !important; margin: 0; background: #fff; padding: clamp(6px, .7vw, 10px); box-shadow: 0 1px 2px rgba(42,34,30,.08), 0 18px 40px rgba(42,34,30,.14); }
.dc-home .dc-ritratti > .elementor-widget-image:nth-child(1) { left: 0; bottom: 0; transform: rotate(-2.5deg); }
.dc-home .dc-ritratti > .elementor-widget-image:nth-child(2) { right: 0; top: 0; transform: rotate(2deg); }
.dc-home .dc-ritratti img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 25%; }
.dc-home .dc-ritratti figcaption { font-size: 1rem; padding: .5rem .2rem .1rem; text-align: left; color: var(--moro); margin: 0; }
@media (max-width: 767px) { .dc-home .dc-ritratti { min-height: 0; width: 100%; aspect-ratio: 1 / .95; } }
/* foto in cornice: completo e negozio */
.dc-home .dc-cornice { background: #fff; padding: clamp(6px, .7vw, 10px); box-shadow: 0 1px 2px rgba(42,34,30,.08), 0 18px 40px rgba(42,34,30,.14); }
.dc-home .dc-completo-foto { transform: rotate(-1.5deg); }
.dc-home .dc-completo-foto img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; }
.dc-home .completo { background: transparent; }
.dc-home .dc-servizi > .elementor-widget-decarlo-servizio { flex: 1 1 0; min-width: 0; }
.dc-home .elementor-widget-decarlo-servizio .serv { height: 100%; }
.dc-home .dc-negozio-foto { position: relative; padding-bottom: 10%; }
.dc-home .dc-negozio-grande img { aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 30%; }
.dc-home .dc-negozio-piccola { position: absolute !important; right: -3%; bottom: 0; width: 32% !important; max-width: none !important; transform: rotate(3deg); }
.dc-home .dc-negozio-piccola img { aspect-ratio: 3 / 4; object-fit: cover; }
@media (max-width: 767px) { .dc-home .dc-negozio-piccola { right: 0; } .dc-home .dc-negozio-foto { width: 100%; } }
.dc-home .orari-pezzo .orari { margin: 1rem 0 .5rem; }
.dc-home .dc-garanzie { border-top: 1px solid var(--linea); padding-top: 2rem; }
.dc-home .dc-garanzie > .dc-garanzia { flex: 1 1 200px; min-width: 0; }
.dc-home .dc-garanzia { font-size: .875rem; color: var(--grigio); }
.dc-home .dc-garanzia b { display: block; font-weight: 400; font-size: 1.1rem; color: var(--moro); margin-bottom: .25rem; }
/* la frase in alto: scorre da sola (come la fascia della home), si ferma col mouse sopra */
.barra { overflow: hidden; }
.barra__giro { display: flex; width: max-content; animation: barra-giro 70s linear infinite; }
.barra:hover .barra__giro { animation-play-state: paused; }
.barra ul { display: flex; list-style: none; margin: 0; padding: 0; }
.barra li { display: flex; align-items: center; gap: 2.4rem; padding-left: 2.4rem; height: 38px; font-size: .75rem; letter-spacing: .04em; white-space: nowrap; color: var(--panna); }
.barra li::after { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--tortora); }
@keyframes barra-giro { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .barra__giro { animation: none; width: auto; justify-content: center; } .barra ul + ul, .barra li:nth-child(n+2) { display: none; } .barra li::after { display: none; } }
/* le garanzie: una fascia con le icone (ritiro, spedizione, cambi, pagamenti) */
.garanzie-fascia { background: var(--panna-2); border-top: 1px solid var(--linea); }
.garanzie-griglia, .e-con.garanzie-griglia { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; }
.garanzie-griglia > * { min-width: 0; width: auto !important; max-width: none !important; margin: 0 !important; }
.garanzie-griglia > * + * { border-left: 1px solid var(--linea); }
.garanzia { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 1rem; align-items: start; padding: 2.4rem clamp(1rem, 2.2vw, 2.25rem); }
.garanzie-griglia > :first-child .garanzia, .garanzie-griglia > .garanzia:first-child { padding-left: 0; }
.garanzia .garanzia__ico { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--panna); box-shadow: inset 0 0 0 1px rgba(176,151,130,.6); color: var(--marroncino); }
.garanzia .garanzia__ico svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.garanzia > div > b { display: block; font-size: 1rem; font-weight: 500; letter-spacing: -.01em; color: var(--moro); margin: .2rem 0 .3rem; }
.garanzia > div > span { display: block; font-size: .875rem; line-height: 1.5; color: var(--grigio); }
@media (max-width: 960px) { .garanzie-griglia, .e-con.garanzie-griglia { grid-template-columns: 1fr 1fr; } .garanzie-griglia > :nth-child(3) { border-left: 0; } .garanzie-griglia > :nth-child(n+3) { border-top: 1px solid var(--linea); } .garanzie-griglia > :nth-child(3) .garanzia, .garanzie-griglia > .garanzia:nth-child(3) { padding-left: 0; } }
@media (max-width: 520px) { .garanzie-griglia, .e-con.garanzie-griglia { grid-template-columns: 1fr; } .garanzie-griglia > * + * { border-left: 0; border-top: 1px solid var(--linea); } .garanzia { padding: 1.4rem 0; } }
/* recensioni vere di Google: home (pezzo «Recensioni Google») e scheda del capo */
.stelle { color: var(--tortora); letter-spacing: .08em; font-size: .95rem; white-space: nowrap; }
.stelle i { font-style: normal; color: rgba(42,34,30,.18); }
.stelle .mezza { color: transparent; background: linear-gradient(90deg, var(--tortora) 50%, rgba(42,34,30,.18) 50%); -webkit-background-clip: text; background-clip: text; }
.recensioni { display: grid; gap: 1.75rem; }
.recensioni__voto { display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem .9rem; margin: 0; }
.recensioni__voto b { font-size: 2.75rem; font-weight: 500; letter-spacing: -.03em; line-height: 1; color: var(--moro); }
.recensioni__voto .stelle { font-size: 1.15rem; }
.recensioni__voto span:last-child { color: var(--grigio); font-size: .9375rem; }
.recensioni__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.recensione { display: grid; align-content: start; gap: .9rem; padding: 1.5rem 1.4rem; background: var(--carta); border: 1px solid var(--linea); }
.recensione blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.5; color: var(--moro); }
.recensione p { margin: 0; font-size: .8125rem; color: var(--grigio); }
.recensione p b { color: var(--moro); font-weight: 600; }
.recensioni__tasti { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; }
@media (max-width: 860px) { .recensioni__lista { grid-template-columns: 1fr; } }
.fiducia { display: inline-flex; align-items: center; gap: .6rem; margin-top: .9rem; font-size: .8125rem; color: var(--grigio); }
.fiducia b { color: var(--moro); font-weight: 600; }
.fiducia:hover span { text-decoration: underline; text-underline-offset: 3px; }
/* ---- le pagine interne fatte con Elementor (chi siamo, il negozio, aiuto, carta regalo) ---- */
.dc-home .dc-h1 .elementor-heading-title { font-size: clamp(2.34rem, 3.78vw, 3.69rem); font-weight: 500; line-height: 1.08; letter-spacing: -.03em; color: var(--moro); text-wrap: balance; }
.dc-home .dc-h2--piccolo .elementor-heading-title { font-size: clamp(1.4rem, 2vw, 1.8rem); }
.dc-home .dc-testo--grande { font-size: 1.0625rem; }
.dc-home .dc-testo--lungo { max-width: 64ch; }
.dc-home .dc-testo a { color: var(--moro); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; text-decoration-color: rgba(42,34,30,.35); }
.dc-home .dc-testo a:hover { text-decoration-color: var(--moro); }
.dc-home .dc-trio { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); align-items: start; }
.dc-home .dc-trio > .elementor-widget-image { width: auto !important; max-width: none !important; margin: 0; background: #fff; padding: clamp(6px, .7vw, 10px); box-shadow: 0 1px 2px rgba(42,34,30,.08), 0 18px 40px rgba(42,34,30,.14); }
.dc-home .dc-trio > .elementor-widget-image:nth-child(1) { transform: rotate(-2deg); margin-top: 3rem; }
.dc-home .dc-trio > .elementor-widget-image:nth-child(3) { transform: rotate(1.5deg); margin-top: 1.5rem; }
.dc-home .dc-trio img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 25%; }
.dc-home .dc-trio figcaption { font-size: 1rem; padding: .5rem .2rem .1rem; text-align: left; color: var(--moro); margin: 0; }
@media (max-width: 767px) { .dc-home .dc-trio { grid-template-columns: 1fr 1fr; } .dc-home .dc-trio > .elementor-widget-image:nth-child(3) { display: none; } .dc-home .dc-trio > .elementor-widget-image:nth-child(1) { margin-top: 1.5rem; } }
.dc-home .dc-anni { border-top: 1px solid var(--linea); }
.dc-home .dc-anni > .elementor-widget, .dc-home .dc-tre > .elementor-widget { width: auto !important; max-width: none !important; margin: 0; }
.tappa { display: grid; grid-template-columns: minmax(120px, .5fr) minmax(0, 1fr); gap: 2rem; padding-block: 2rem; border-bottom: 1px solid var(--linea); }
.tappa b { font-weight: 500; font-size: clamp(1.95rem, 3.78vw, 3.35rem); line-height: 1.08; letter-spacing: -.03em; color: var(--marroncino); }
.tappa h3 { font-size: 1.4rem; font-weight: 500; letter-spacing: -.02em; margin: 0 0 .4rem; }
.tappa p { color: var(--grigio); max-width: 56ch; margin: 0; }
@media (max-width: 767px) { .tappa { grid-template-columns: 1fr; gap: .5rem; padding-block: 1.5rem; } }
.dc-home .dc-tre { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
@media (max-width: 767px) { .dc-home .dc-tre { grid-template-columns: 1fr; gap: 1.5rem; } }
.punto { display: grid; gap: .6rem; align-content: start; border-top: 1px solid var(--linea); padding-top: 1.25rem; height: 100%; }
.punto__n { font-size: 2.4rem; color: var(--tortora-scuro); line-height: 1.08; letter-spacing: -.03em; }
.punto h3 { font-size: 1.125rem; font-weight: 600; margin: 0; }
.punto p { color: var(--grigio); margin: 0; }
.dc-home .dc-passi ol { margin: .4rem 0 0; padding-left: 1.2rem; display: grid; gap: .4rem; }
.dc-home .dc-indice { position: sticky; top: calc(var(--testata) + 1.5rem); flex: 0 0 240px !important; width: 240px !important; max-width: 240px; }
.dc-home .dc-indice__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; font-size: .9375rem; }
.dc-home .dc-indice__lista a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) { .dc-home .dc-indice { position: static; flex: none !important; width: 100% !important; max-width: 100%; } .dc-home .dc-indice__lista { grid-auto-flow: column; overflow-x: auto; gap: 1.2rem; white-space: nowrap; padding-bottom: .5rem; } }
.dc-home .dc-aiuto-testo { max-width: 760px; }
.dc-home .dc-argomento { border-top: 1px solid var(--linea); padding-top: 1.5rem !important; scroll-margin-top: calc(var(--testata) + 1.5rem); }
.cr-acquisto { display: grid; gap: 1.2rem; }
.presto__credito { font-size: .75rem; color: var(--grigio); margin: 1rem 0 0; }
.presto__credito a { text-decoration: underline; text-underline-offset: 3px; }
.piede__legale a, .dc-piede-el .elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }
/* il modello «Scritte della scheda capo e del catalogo» in Elementor: le scritte una sotto l'altra */
.dc-scritte { background: #fff; border: 1px solid var(--linea); padding: 1.5rem; }
.dc-scritte__titolo { font-weight: 600; margin: 0 0 1rem; font-size: 1rem; }
.dc-scritte dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: .55rem 1.5rem; margin: 0; font-size: .875rem; }
.dc-scritte dt { color: var(--grigio); }
.dc-scritte dd { margin: 0; color: var(--moro); }
.dc-libreria { background: var(--panna); min-height: 100vh; }
/* l'iscrizione dentro il piede di Elementor */
.dc-lettera-el > .elementor-widget, .dc-lettera-el .elementor-widget-container { width: 100%; margin: 0; }
/* «Modifica il sito»: la riga sopra l'anteprima di ogni parte */
.dc-parte__nota { margin: 0; padding: .45rem .75rem; background: #2271b1; color: #fff; font: 600 12px/1.4 -apple-system, BlinkMacSystemFont, sans-serif; }
.dc-parte-vuota { display: grid; gap: .4rem; padding: 4rem 2rem; text-align: center; background: var(--panna-2); color: var(--grigio); }
.dc-parte-vuota b { color: var(--moro); font-size: 1.4rem; font-weight: 500; }
/* gli orari corti (piede) e l'«adesso aperto» valgono su tutte le pagine */
/* (ul.orari.orari--corti: più forte delle regole .orari dei fogli delle singole pagine) giorno a sinistra, ore a destra, le due fasce una sotto l'altra */
ul.orari.orari--corti { list-style: none; margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: max-content 1fr; column-gap: 1.25rem; row-gap: .6rem; font-size: .9375rem; line-height: 1.45; font-variant-numeric: tabular-nums; }
ul.orari.orari--corti li { display: contents; }
ul.orari.orari--corti li span { padding: 0; border: 0; }
ul.orari.orari--corti li span:last-child { text-align: right; color: inherit; }
.piede ul.orari--corti li span, .dc-piede-el ul.orari--corti li span { color: #e5d8c9; }
/* nell'editor dell'header o del footer: tornare alla pagina da cui si è partiti */
/* nell'editor dell'header, del footer e delle scritte lo sfondo intorno è chiaro come le pagine (non marrone) */
body.single-elementor-hf, body.single-elementor_library { background: var(--panna) !important; }
/* iPad verticale (700–900): foto e acquisto affiancati, così nome, prezzo e tasto si vedono subito */
@media (min-width: 700px) and (max-width: 900px) {
  .capo-p { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 1.75rem; }
  .capo-p .galleria { position: sticky; top: calc(var(--testata) + 1rem); }
}
.info-col { display: grid; gap: 1.25rem; align-content: start; min-width: 0; }
/* ---- la scheda del capo fatta con Elementor (modello «Pagina del capo»): i contenitori hanno le classi della scheda del tema
   (.dentro, .capo-p, .info) e qui si tolgono le misure di Elementor, così la pagina esce identica al pixel ---- */
.e-con.dc-el-dentro { max-width: var(--largo) !important; width: 100% !important; margin-inline: auto !important; padding: 0 max(20px, env(safe-area-inset-right, 0px)) 0 max(20px, env(safe-area-inset-left, 0px)) !important; display: block !important; }
.e-con.dc-el-dentro > .elementor-widget { width: 100%; }
.e-con.capo-p { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; gap: clamp(2rem, 5vw, 5rem) !important; padding: 1.5rem 0 5rem !important; align-items: start !important; }
.e-con.capo-p > .e-con { width: auto !important; min-width: 0; padding: 0 !important; --width: auto; }
.e-con.capo-p > .dc-scheda__foto { display: block !important; position: sticky !important; top: calc(var(--testata) + 1rem); align-self: start; }
.e-con.capo-p .galleria { position: static !important; }
.e-con.info { display: grid !important; gap: 1.25rem !important; align-content: start !important; }
.e-con.info > .elementor-widget, .e-con.dc-scheda__foto > .elementor-widget { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.e-con.info > .elementor-widget:empty, .e-con.info > .elementor-widget:has(> .elementor-widget-container:empty) { display: none; }
.e-con.info .elementor-widget-container > .fiducia { display: flex; }   /* nel tema è un elemento della griglia: largo quanto la colonna */
@media (max-width: 900px) { .e-con.capo-p { grid-template-columns: 1fr !important; padding-top: .75rem !important; } .e-con.capo-p > .dc-scheda__foto { position: static !important; } }
@media (min-width: 700px) and (max-width: 900px) { .e-con.capo-p { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 1.75rem !important; } .e-con.capo-p > .dc-scheda__foto { position: sticky !important; } }
/* ---- catalogo e 404 fatti con Elementor: i contenitori non aggiungono niente, i pezzi scorrono come nella pagina del tema ---- */
.e-con.dc-el-blocco { display: block !important; padding: 0 !important; width: 100% !important; max-width: none !important; }
.e-con.dc-el-blocco > .elementor-widget { width: 100% !important; margin: 0 !important; }
.e-con.dc-el-404 { display: grid !important; gap: 1rem !important; justify-items: start !important; max-width: var(--largo) !important; width: 100% !important; margin-inline: auto !important; padding: 4rem max(20px, env(safe-area-inset-right, 0px)) 6rem max(20px, env(safe-area-inset-left, 0px)) !important; }
.e-con.dc-el-404 > .elementor-widget { width: auto !important; max-width: 100% !important; margin: 0 !important; }
.dc-x-titolo, .dc-pagina-wp > .dc-x-titolo { font-size: clamp(2.5rem, 5vw, 4rem); }   /* nel CSS e non scritto nel pezzo: così «Caratteri» e «Colore» di Elementor contano */
.dc-x-frase { color: var(--grigio); }
.dc-pagina-wp .dc-x-titolo { line-height: 1; margin: 1rem 0 2rem; }   /* come «.dc-pagina-wp > h1» della pagina del tema */
.elementor .elementor-widget .cat-rottura { margin: 3rem 0 0 !important; }   /* Elementor toglie i margini alle figure dentro i pezzi */
/* ---- pagine legali: i dati del negozio; la riga in fondo del footer ---- */
.dc-dati { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1.5rem; margin: .5rem 0 0; padding: 1.1rem 1.25rem; background: var(--panna-2); font-size: .9375rem; }
.dc-dati dt { color: var(--grigio); } .dc-dati dd { margin: 0; } .dc-dati a { text-decoration: underline; text-underline-offset: 3px; }
.dc-riga-legale { margin: 0; font-size: .75rem; line-height: 1.6; color: #BFAE9C; }
.dc-manca { color: #e9a07d; font-weight: 600; }
@media (max-width: 480px) { .dc-dati { grid-template-columns: 1fr; gap: .15rem; } .dc-dati dd { margin-bottom: .5rem; } }
.dc-woo { font-family: var(--sans); }
/* ---- tasti da toccare col dito: almeno 44 px di area (il disegno resta quello) ---- */
.destra > a, .borsa-tasto, .menu-tasto, .borsa__chiudi, .riga__togli, .link-tocco, .filtri__chiudi, .tel-menu__x { position: relative; }
.destra > a::before, .borsa-tasto::before, .menu-tasto::before, .borsa__chiudi::before, .riga__togli::before, .link-tocco::before, .filtri__chiudi::before, .tel-menu__x::before { content: ""; position: absolute; inset: -12px; }
.link-tocco { background: none; border: 0; padding: 0; cursor: pointer; font-size: .8125rem; text-decoration: underline; text-underline-offset: 4px; color: inherit; }
.gruppo__testa .link-tocco::before { bottom: -9px; }   /* «Guida alle taglie» sta sopra le taglie: l'area invisibile non deve toccare i tasti L e XL */
.dc-link .elementor-button { padding-block: .8rem !important; margin-block: -.8rem; }
@media (pointer: coarse) {
  .taglie button { min-height: 40px; }
  .spunta { min-height: 40px; }
  .ordina select { height: 44px; }
  .riga__q button { width: 40px; height: 40px; }
  .tel-menu__altro a { padding-block: .7rem; display: block; }
  .tel-menu__rep a { padding-block: .7rem; }
  .dc-piede .elementor-icon-list-item > a { min-height: 40px; display: flex; align-items: center; }
  .lettera__consenso input { width: 22px !important; height: 22px !important; min-width: 22px !important; }
}
/* nelle schede dei capi: le taglie in righe pari (niente «XL» da sola sotto), i nomi senza una parola sola in fondo */
.capo .taglie { display: grid; grid-template-columns: repeat(auto-fill, minmax(34px, 1fr)); }
.capo__nome, .arrivo__nome, .riga__nome, .info h1, .dc-h1, .dc-h2 { text-wrap: balance; }
/* la scheda: i due tasti affiancati solo se c'è posto, sennò uno sotto l'altro (mai scritte su tre righe) */
.azioni__due { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; }
.azioni__due .tasto { white-space: nowrap; }
.mini small { white-space: nowrap; letter-spacing: 0; left: 3px !important; right: 3px; bottom: 3px !important; text-align: center; font-size: .5625rem !important; padding: .1rem 0 !important; }
/* il pannello dei filtri sul telefono: chiuso non si vede (niente ombra sul bordo, niente tasto Tab dentro); il tasto «Mostra» sempre in fondo */
@media (max-width: 900px) {
  #filtri.filtri { visibility: hidden; box-shadow: none; transition: transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s; }
  #filtri.filtri.is-aperto { visibility: visible; box-shadow: 20px 0 50px rgba(20,14,10,.25); transition: transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s; }
  #filtri .filtri__piede { position: sticky; bottom: calc(-1rem - env(safe-area-inset-bottom, 0px)); z-index: 2; margin: 1rem -1.25rem calc(-1rem - env(safe-area-inset-bottom, 0px)); padding: .85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom, 0px)); background: var(--carta); box-shadow: 0 -10px 24px rgba(42,34,30,.08); }
}
/* l'avviso «Nella borsa…» sul telefono sta in basso, non copre i capi */
@media (max-width: 767px) { .avviso { top: auto; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); left: 16px; right: 16px; max-width: none; text-align: center; transform: translateY(6px); } }
/* la tendina delle collezioni aperta col dito; il menu sta largo anche sugli schermi da 1024 */
.menu__voce.is-aperta .tendina { opacity: 1; visibility: visible; transform: none; }
@media (min-width: 901px) and (max-width: 1180px) { .menu { gap: 1.05rem; font-size: .78rem; } }
/* le frecce delle file: spente all'inizio e alla fine */
.frecce button:disabled { opacity: .35; cursor: default; }
/* recensioni: «Lascia una recensione» è un tasto vero, «Leggi tutte» un link sottolineato */
.recensioni__tasti .tasto--vuoto { border: 1px solid var(--moro); background: transparent; color: var(--moro); padding: .95rem 1.5rem; }
.recensioni__tasti .link { text-decoration: underline !important; text-underline-offset: 6px; text-decoration-color: rgba(42,34,30,.4); }
/* prenota una prova: sul telefono si sceglie toccando, la nota «Cmd o Ctrl» non serve */
@media (hover: none) { .prova-f select[multiple] + small { display: none; } }
/* la ricerca nel menu del telefono */
.tel-menu__cerca { display: flex; border: 1px solid var(--linea); background: #fff; }
.tel-menu__cerca input { flex: 1; min-width: 0; border: 0; background: transparent; padding: .8rem .9rem; font: inherit; font-size: 1rem; }
.tel-menu__cerca button { border: 0; background: none; padding: 0 .9rem; cursor: pointer; }
/* il mio account: i colori del negozio */
.woocommerce-account .woocommerce input.input-text, .woocommerce-account .woocommerce select { width: 100%; min-height: 48px; padding: .6rem .8rem; border: 1px solid rgba(42,34,30,.25); border-radius: 0; background: #fff; font: inherit; }
.woocommerce-account .woocommerce button.button, .woocommerce-account .woocommerce a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.6rem; border: 0; border-radius: 0; background: var(--marroncino); color: var(--panna); font: 600 .75rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.woocommerce-account .woocommerce button.button:hover, .woocommerce-account .woocommerce a.button:hover { background: var(--moro); }
.woocommerce-account .woocommerce form .form-row { display: grid; gap: .35rem; margin: 0 0 1rem; }
.woocommerce-account .woocommerce h2 { font-size: 1.5rem; font-weight: 500; letter-spacing: -.02em; margin: 0 0 1rem; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { max-width: 460px; padding: 1.5rem; background: var(--carta); border: 1px solid var(--linea); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: underline; text-underline-offset: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { font-weight: 600; text-decoration: none; }
.woocommerce-account .woocommerce-LostPassword a, .woocommerce-account .woocommerce-privacy-policy-text a { text-decoration: underline; }
/* la borsa vuota (blocco di WooCommerce): le novità coi colori del negozio, foto tutte uguali */
.wc-block-grid__product-image img, .wc-block-components-product-image img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 25%; width: 100%; height: auto; }
.wc-block-grid__product .wp-block-button__link, .wc-block-components-product-button .wp-block-button__link, .wp-block-woocommerce-empty-cart-block .wp-block-button__link { background: var(--marroncino) !important; color: var(--panna) !important; border-radius: 0 !important; font: 600 .6875rem/1 var(--sans) !important; letter-spacing: .14em; text-transform: uppercase; padding: .9rem 1.2rem !important; }
.wc-block-grid__product .wp-block-button__link:hover { background: var(--moro) !important; }
.wc-block-grid__product-title, .wc-block-components-product-name { font-family: var(--sans); font-weight: 500; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { border: 0; }
/* l'ordine ricevuto sul telefono: la tabella respira */
@media (max-width: 600px) { .woocommerce-order table, .wc-block-order-confirmation-totals table { font-size: .875rem; } .woocommerce-order table td, .woocommerce-order table th { padding: .6rem .35rem; } }
/* nell'editor di Elementor: il tasto per modificare testata e piede (si vede solo lì) */
/* dentro la parte (in alto a sinistra), così non copre la pagina mentre scorri; sparisce quando stai già modificando quella parte */
.dc-modifica-parte { position: absolute; z-index: 9999; left: 12px; top: 6px; padding: .4rem .85rem; border-radius: 999px; background: var(--tortora); color: #fff !important; font: 600 .8125rem/1.2 var(--sans); letter-spacing: 0; text-transform: none; text-decoration: none !important; box-shadow: 0 6px 18px rgba(0,0,0,.3); cursor: pointer; white-space: nowrap; }
.dc-modifica-parte:hover { background: var(--marroncino); }
.dc-piede-el { position: relative; }
.dc-piede-el > .dc-modifica-parte { top: 12px; }
.elementor-editor-active .dc-testata-el, .elementor-editor-active .dc-piede-el { cursor: pointer; }
.elementor-editor-active .dc-testata-el::after, .elementor-editor-active .dc-piede-el::after { content: ""; position: absolute; inset: 0; z-index: 85; pointer-events: none; outline: 2px dashed transparent; outline-offset: -2px; transition: outline-color .15s, background-color .15s; }
.elementor-editor-active .dc-testata-el:hover::after, .elementor-editor-active .dc-piede-el:hover::after { outline-color: var(--tortora); background: rgba(176,151,130,.08); }
.dc-testata-el.is-attivo::after, .dc-piede-el.is-attivo::after, .is-attivo > .dc-modifica-parte { display: none !important; }
.elementor-editor-active .dc-testata-el.is-attivo, .elementor-editor-active .dc-piede-el.is-attivo { cursor: auto; }
/* la testata fatta con Elementor (Ultimate Addons): ferma in alto come quella del tema; la frase in alto scorre via */
.dc-testata-el { position: sticky; top: calc(env(safe-area-inset-top, 0px) - 38px); z-index: 20; }
.dc-testata-el #masthead { display: block; margin: 0; }
.dc-testata-el .bhf-hidden { display: none !important; }
.dc-barra-el, .dc-barra-el > .e-con-inner { padding: 0 !important; gap: 0 !important; }
.dc-testata-riga { background: rgba(245,239,231,.92); -webkit-backdrop-filter: saturate(150%) blur(16px); backdrop-filter: saturate(150%) blur(16px); border-bottom: 1px solid var(--linea); padding-block: 0 !important; }
.dc-testata-riga > .e-con-inner { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; min-height: var(--testata); padding: 0 !important; }
.dc-testata-riga .elementor-element { width: auto !important; max-width: none !important; margin: 0; }
.dc-testata-riga > .e-con-inner > .elementor-element, .dc-testata-riga > .elementor-element { align-self: center !important; height: auto !important; }
.dc-testata-riga .elementor-widget-container { height: auto !important; display: flex; align-items: center; }
.dc-testata-riga .elementor-widget-decarlo-icone .elementor-widget-container { justify-content: flex-end; }
.dc-testata-riga .elementor-widget-decarlo-menu .elementor-widget-container, .dc-testata-riga .elementor-widget-decarlo-menu { display: flex; align-items: center; }
.dc-testata-riga .elementor-widget-decarlo-logo { justify-self: center; }
.dc-testata-riga .elementor-widget-decarlo-icone { justify-self: end; }
.dc-testata-riga .elementor-widget-container, .dc-barra-el .elementor-widget-container { margin: 0; padding: 0; }
/* il piede fatto con Elementor (Ultimate Addons): il carattere del sito, i colori e le misure stanno in Elementor */
.dc-piede-el { background: var(--moro); }
.dc-piede-el #colophon, .dc-piede-el .footer-width-fixer { width: 100%; margin: 0; }
.dc-piede-el .elementor-widget-heading .elementor-heading-title, .dc-piede-el .elementor-widget-text-editor, .dc-piede-el .elementor-icon-list-text, .dc-piede-el .elementor-widget-container { font-family: var(--sans); }
.dc-piede-el .elementor-widget-text-editor p { margin: 0; }
.dc-piede-el .elementor-icon-list-item a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 4px; }
.dc-piede-el .dc-pag { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0 0; }
.dc-piede-el .elementor-widget-decarlo-pagamenti .dc-pag { margin-top: 0; }   /* come nell'«Editor di testo» di prima: misure identiche */
.dc-pag--loghi { align-items: center; gap: .5rem; } .dc-pag--loghi img { height: 22px; width: auto; display: block; }   /* «Pagamenti accettati» coi loghi caricati */
/* il menu del telefono fatto in Elementor (modello «Menu del telefono»): stessa colonna e stessi spazi del menu del tema */
.tel-menu__el { flex: 1 0 auto; display: flex; flex-direction: column; position: relative; }
.tel-menu__el > .elementor { flex: 1 0 auto; display: flex; flex-direction: column; }
.tel-menu__el .e-con.dc-el-menutel { flex: 1 0 auto !important; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; gap: 1.4rem !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; --width: 100%; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.tel-menu__el .e-con.dc-el-menutel > .elementor-widget { width: 100%; max-width: 100%; margin: 0 !important; }
.tel-menu__el .e-con.dc-el-menutel > .elementor-widget-decarlo-tel-piede { margin-top: auto !important; }
.tel-menu__el .dc-modifica-parte { position: absolute; z-index: 5; top: -2rem; right: 0; }
/* l'admin la vede col menu sopra la barra nera di WordPress (la ✕ non resta sotto) */
body.admin-bar .tel-menu { z-index: 100001; }
body.admin-bar .tel-velo { z-index: 100000; }
/* nell'editor, aprendo il modello «Menu del telefono» da solo: il pannello aperto, fermo, al centro */
.dc-menutel-anteprima { padding: 2rem 1rem 4rem; display: flex; justify-content: center; background: var(--panna-2); }
.tel-menu.tel-menu--anteprima { position: relative; transform: none; inset: auto; min-height: 760px; box-shadow: 0 20px 50px rgba(20,14,10,.18); z-index: 1; }
@media (min-width: 901px) {   /* sul computer il menu del telefono è spento, ma nell'editor si apre per modificarlo */
  body.elementor-editor-active .tel-menu.is-aperto, .tel-menu.tel-menu--anteprima { display: flex !important; }
  body.elementor-editor-active .tel-velo:not([hidden]) { display: block !important; }
}
/* ricerca dal vivo: il pannello in alto (computer) e i risultati sotto il campo del menu del telefono */
.cerca-velo { position: fixed; inset: 0; z-index: 64; background: rgba(42,34,30,.35); }
.cerca-vivo { position: fixed; z-index: 65; left: 0; right: 0; top: 0; background: var(--panna); box-shadow: 0 20px 50px rgba(20,14,10,.18); padding-block: 1.25rem 1.5rem; max-height: 85vh; overflow-y: auto; }
body.admin-bar .cerca-vivo { top: var(--wp-admin--admin-bar--height, 32px); }
.cerca-vivo__form { display: flex; align-items: center; gap: .75rem; border-bottom: 1px solid var(--moro); padding-bottom: .6rem; }
.cerca-vivo__form .icona { width: 22px; height: 22px; flex: none; }
.cerca-vivo__form input { flex: 1; min-width: 0; font: inherit; font-size: clamp(1.25rem, 2.2vw, 1.6rem); border: 0; background: none; color: var(--moro); padding: .2rem 0; outline: none; }
.cerca-vivo__form input::-webkit-search-cancel-button { display: none; }
.cerca-vivo__x { width: 40px; height: 40px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; flex: none; }
.cerca-vivo__x svg { width: 20px; height: 20px; stroke: var(--moro); stroke-width: 1.4; fill: none; stroke-linecap: round; }
.cerca-vivo__esiti { padding-top: 1rem; }
.cerca-vivo__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6rem 1.5rem; }
.cerca-vivo__lista a { display: grid; grid-template-columns: 56px 1fr; gap: .9rem; align-items: center; padding: .35rem 0; color: var(--moro); text-decoration: none; }
.cerca-vivo__lista a:hover b, .cerca-vivo__lista a:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.cerca-vivo__lista img, .cerca-vivo__vuota { width: 56px; aspect-ratio: 3 / 4; object-fit: cover; background: var(--panna-2); display: block; }
.cerca-vivo__lista span { display: grid; gap: .15rem; min-width: 0; }
.cerca-vivo__lista b { font-weight: 500; font-size: .9375rem; overflow-wrap: anywhere; }
.cerca-vivo__lista small { font-size: .8125rem; color: var(--grigio); font-variant-numeric: tabular-nums; }
.cerca-vivo__nota { margin: 0 0 .5rem; color: var(--grigio); font-size: .9375rem; }
.cerca-vivo__tutti { display: inline-block; margin-top: 1rem; font-weight: 600; }
.cerca-vivo__esiti--tel { padding-top: .75rem; }
.tel-menu__cerca input::-webkit-search-cancel-button { display: none; }
.cerca-vivo__esiti--tel .cerca-vivo__lista { grid-template-columns: 1fr; gap: .2rem; }
.cerca-vivo__esiti--tel .cerca-vivo__lista a { grid-template-columns: 44px 1fr; }
.cerca-vivo__esiti--tel .cerca-vivo__lista img, .cerca-vivo__esiti--tel .cerca-vivo__vuota { width: 44px; }
/* «Garanzia» con link e con un'icona della libreria di Elementor */
a.garanzia--link { color: inherit; text-decoration: none; }
a.garanzia--link:hover b, a.garanzia--link:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.garanzia__ico--el i { font-size: 20px; line-height: 1; color: currentColor; }
.garanzia .garanzia__ico--el svg { width: 21px; height: 21px; fill: currentColor; stroke: none; }
/* catalogo: capi per riga scelti nel pezzo «Catalogo · filtri e capi» */
@media (min-width: 901px) { .capi--cat.capi--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .capi--cat.capi--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .capi--cat.capi--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .capi--cat.capi--n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 900px) { .capi--cat.capi--t1 { grid-template-columns: minmax(0, 1fr); } }
/* telefono e iPad (26/10, come Origine 1.3.1): i contenitori «in colonna» di Elementor non vanno a capo (inc/telefono.php)
   e la rete di sicurezza: niente allarga la pagina oltre lo schermo. clip e NON hidden: hidden romperebbe l'header che resta in alto */
.e-con.dc-no-acapo, .e-con-inner.dc-no-acapo { flex-wrap: nowrap !important; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
/* telefono e iPad (26/10): i tasti piccoli si toccano su un'area di almeno ~44 px, INVISIBILE (aspetto identico), solo sugli schermi touch */
@media (pointer: coarse) {
  .taglie button, .capo__riga h3 a, .riga__nome2 a, .briciole a, a.link, a.fiducia, .fisarmonica summary, .filtri summary { position: relative; }
  .taglie button::after { content: ""; position: absolute; inset: -2px; }
  .capo__riga h3 a::after, .riga__nome2 a::after { content: ""; position: absolute; inset: -12px 0; }
  .briciole a::after { content: ""; position: absolute; inset: -14px -6px; }
  a.link::after { content: ""; position: absolute; inset: -11px -4px; }
  a.fiducia::after { content: ""; position: absolute; inset: -10px 0; }
  .fisarmonica summary::before, .filtri summary::before { content: ""; position: absolute; inset: -11px 0; }   /* ::after c'è già: è il + / − */
  .menu > a::before, .menu__voce > a::before { content: ""; position: absolute; inset: -6px -4px; }   /* ::after c'è già: è la riga sotto */
}
@media (pointer: coarse) {   /* gli ultimi: indici delle pagine, dati del negozio, iscrizione, account di WooCommerce, borsa vuota, filtri attivi */
  .dc-indice__lista a, .dc-dati a, .lettera__consenso, .woocommerce-form__label-for-checkbox, .woocommerce-LostPassword a, .wp-block-woocommerce-empty-cart-block p a, .pastiglie button { position: relative; }
  .dc-indice__lista a::after, .dc-dati a::after { content: ""; position: absolute; inset: -9px -4px; }   /* il link è alto 19 px: l'area arriva a 37 (fra due voci vicine si sfiorano a metà) */
  .lettera__consenso::after { content: ""; position: absolute; inset: -10px 0; }
  .woocommerce-form__label-for-checkbox::after { content: ""; position: absolute; inset: -7px 0; }
  .woocommerce-LostPassword a::after, .wp-block-woocommerce-empty-cart-block p a::after { content: ""; position: absolute; inset: -12px -4px; }
  .show-password-input::after { content: ""; position: absolute; inset: -11px; }   /* ::before è l'occhio */
  .pastiglie button::before { content: ""; position: absolute; inset: -7px 0; }   /* ::after è la × */
}
@media (pointer: coarse) and (max-width: 767px) { .dc-home .dc-indice__lista a::after { inset: -12px -4px; } }   /* sul telefono l'indice è una riga sola che scorre */
/* borsa e cassa di WooCommerce (26/10): i comandi piccoli del blocco hanno un'area di tocco invisibile più grande, l'aspetto resta quello */
@media (pointer: coarse) {
  a.wc-block-components-product-name, .wc-block-components-quantity-selector__button, .wc-block-cart-item__remove-link, .wc-block-components-address-form__address_2-toggle { position: relative; }
  a.wc-block-components-product-name::after { content: ""; position: absolute; inset: -12px 0; }
  .wc-block-components-quantity-selector__button::after { content: ""; position: absolute; inset: -9px 0; }
  .wc-block-components-quantity-selector__button--minus::after { left: -6px; } .wc-block-components-quantity-selector__button--plus::after { right: -6px; }   /* più larghi verso fuori, non sopra il numero */
  .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { padding-block: calc(.4em + 9px) !important; margin-block: -9px !important; }   /* il campo del numero (Woo: .4em sopra e sotto) si allunga di 9 px senza spostare niente */
  .wc-block-cart-item__remove-link::after { content: ""; position: absolute; inset: -10px; }
  .wc-block-components-panel__button::after, .wc-block-components-address-form__address_2-toggle::after { content: ""; position: absolute; inset: -13px 0; }
  .wc-block-components-checkbox label::after { content: ""; position: absolute; inset: -12px 0; }
}
/* colore, taglia e la riga dell'IVA nella borsa e nella cassa: Woo le fa a 11 px, sul telefono si leggono male */
.wc-block-components-product-metadata { --wp--preset--font-size--x-small: .8125rem; }   /* Woo usa questa misura per «Colore / Taglia»: cambiata solo qui dentro */
.wc-block-components-totals-footer-item-tax, .wc-block-components-totals-footer-item-shipping { font-size: .8125rem; }
.wc-block-components-totals-item .wc-block-components-totals-shipping .wc-block-components-shipping-placeholder__value, .wc-block-components-totals-shipping .wc-block-components-totals-item .wc-block-components-shipping-placeholder__value { font-size: .8125rem; }   /* «Inserisci l'indirizzo…»: Woo la fa .875em con due classi */
/* ---- 27/10 SCHEDA DELL'ARTICOLO come la pagina prodotto di Origine (il socio: «la foto prende mezza pagina e oltre») ----
   sul computer foto e colonna dell'acquisto quasi uguali e centrate (Origine: foto 420, scheda 520, 72 in mezzo), la foto non più alta dello schermo */
@media (min-width: 901px) {
  .capo-p, .e-con.capo-p { grid-template-columns: var(--dc-foto-col, minmax(0, 480px)) minmax(0, 520px) !important; justify-content: center; column-gap: var(--dc-foto-gap, clamp(2.5rem, 5vw, 4.5rem)) !important; }
  .capo-p .galleria { width: 100%; max-width: var(--dc-foto-max, calc((100vh - var(--testata) - 7rem) * var(--dc-foto-k, .8) + 96px)); }
}
/* 28/10 (Francesco: «per la foto devo passare dall'avanzato»): larghezza, forma, miniature e angoli si cambiano nel pezzo «Scheda · foto»
   (inc/elementor.php): il pezzo scrive le variabili qui sopra sulla riga della foto, il tema non le blocca più */
.elementor-widget-decarlo-scheda-foto:not(.dc-mini-yes) .mini { display: none !important; }
.elementor-widget-decarlo-scheda-foto:not(.dc-mini-yes) .galleria { grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 901px) { .capo-p:has(.elementor-widget-decarlo-scheda-foto:not(.dc-mini-yes)) .galleria { max-width: var(--dc-foto-max, calc((100vh - var(--testata) - 7rem) * var(--dc-foto-k, .8))); } }
/* «Guardalo con Flowit» accanto al prezzo (come Origine) */
.dc-prezzo-flowit { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.e-con.dc-prezzo-flowit > .elementor-widget { width: auto !important; max-width: none !important; margin: 0 !important; }
.dc-flowit { display: inline-flex; align-items: center; gap: .45rem; vertical-align: middle; font-size: .8125rem; font-weight: 600; color: var(--moro); text-decoration: none; border: 1px solid var(--linea); border-radius: 980px; padding: .3rem .8rem .3rem .4rem; background: transparent; }
.dc-flowit img { width: 16px; height: 18px; object-fit: contain; }
.dc-flowit:hover { border-color: var(--moro); }
.dc-flowit:active { transform: scale(.97); }
@media (pointer: coarse) { .dc-flowit { position: relative; } .dc-flowit::after { content: ""; position: absolute; inset: -8px -4px; } }
/* 28/10: rate e «paga più tardi», righe con l'icona, pagamenti (pezzi «Scheda · rate…», «Scheda · riga con icona», «Scheda · pagamenti») */
.dc-rate { display: grid; gap: .45rem; }
.dc-rate__riga { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; color: var(--grigio); font-size: .8125rem; line-height: 1.4; }
.dc-rate__riga strong { color: var(--moro); font-weight: 600; }
.dc-rate__marchio { display: inline-flex; align-items: center; padding: .15rem .45rem; border-radius: 6px; font-size: .75rem; font-weight: 700; line-height: 1.2; color: #17120f; background: #ffb3c7; }
.dc-rate__marchio--dopo { color: #fff; background: #003087; }
.dc-rate--spenta { opacity: .45; }
/* niente !important qui: spazi, riga sopra e distanza vengono dal contenitore «Spedizione e ritiro» e si cambiano lì, in Elementor;
   la scheda di riserva (senza Elementor) ha le stesse misure scritte qui */
.dc-righe:not(.e-con) { display: grid; gap: 9px; padding-top: 18px; border-top: 1px solid rgba(42,34,30,.13); }
/* 28/10 (prompt del socio, Parte 2): quantità accanto al carrello, «Prenota e prova in negozio», WhatsApp, riquadro dello sconto, video, «Abbinalo con» senza foto */
.azioni__compra { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; align-items: stretch; }
.qta { display: inline-grid; grid-template-columns: 44px 44px 44px; align-items: stretch; box-shadow: inset 0 0 0 1px var(--moro); min-height: 48px; }
.qta button { border: 0; background: transparent; color: var(--moro); font-size: 1.15rem; line-height: 1; cursor: pointer; }
.qta button:hover { background: var(--panna-2); }
.qta input { width: 100%; min-width: 0; border: 0; background: transparent; text-align: center; font: inherit; font-size: 1rem; color: var(--moro); -moz-appearance: textfield; appearance: textfield; padding: 0; }
.qta input::-webkit-outer-spin-button, .qta input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dc-prova { display: grid; gap: .6rem; }
/* Elementor toglie il bordo a tutti i link («.elementor a { box-shadow: none }»): i tasti col solo bordo fatti con un link lo riprendono */
.elementor a.tasto--vuoto { box-shadow: inset 0 0 0 1px var(--moro); }
.dc-wa { gap: .6rem; white-space: normal; line-height: 1.3; padding-block: .75rem; text-align: center; }
.dc-wa svg { flex: none; width: 18px; height: 18px; fill: #1f8f4e; }
.dc-wa:hover svg { fill: currentColor; }
.dc-sconto { display: grid; gap: .5rem; padding: 1.1rem 1.15rem 1rem; background: var(--carta); box-shadow: inset 0 0 0 1px var(--linea); }
.dc-sconto__titolo { margin: 0; font-family: var(--bodoni); font-size: 1.25rem; line-height: 1.15; color: var(--moro); }
.dc-sconto__frase { margin: 0; color: var(--grigio); font-size: .9375rem; }
.dc-sconto__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; margin-top: .25rem; }
.dc-sconto__form input[type=email] { min-width: 0; min-height: 46px; padding: 0 .9rem; border: 1px solid var(--linea); background: #fff; font: inherit; color: var(--moro); }
.dc-sconto__form .tasto { min-height: 46px; }
.dc-sconto__consenso { grid-column: 1 / -1; display: flex; gap: .55rem; align-items: flex-start; font-size: .8125rem; line-height: 1.4; color: var(--grigio); cursor: pointer; }
.dc-sconto__consenso input { margin-top: .15rem; accent-color: var(--marroncino); }
.dc-sconto__consenso a { color: inherit; }
.dc-sconto__esito { grid-column: 1 / -1; font-size: .8125rem; color: var(--moro); }
.dc-sconto__esito:empty { display: none; }
.dc-nascosto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 420px) { .dc-sconto__form { grid-template-columns: 1fr; } }
.dc-video__titolo { font-size: clamp(1.56rem, 2.27vw, 2.01rem); line-height: 1.08; margin: 0 0 1.5rem; }
.dc-video__fila { min-width: 0; }
.stessa--fila .dentro { display: block; }
.stessa--fila .capi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .stessa--fila .capi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.stato--sotto { margin-top: .75rem; }
.dc-piede-el .stato, .piede .stato { color: #E5D8C9; }
.dc-riga { display: flex; align-items: center; gap: .65rem; margin: 0; color: var(--grigio); font-size: .8125rem; line-height: 1.4; }
.dc-riga svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--tortora-scuro); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dc-riga strong { color: var(--moro); font-weight: 600; }
.dc-pagamenti { display: grid; gap: .55rem; }
.dc-pagamenti__titolo { display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--grigio); }
.dc-pagamenti__titolo svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.dc-pagamenti__loghi { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.dc-pagamenti__loghi li { display: grid; place-items: center; width: 46px; height: 30px; border-radius: 5px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); }
.dc-pagamenti__loghi svg { display: block; width: 40px; height: 21px; }
.dc-pagamenti__loghi img { display: block; max-width: 38px; max-height: 20px; object-fit: contain; }
/* «I più venduti» in home: se non ci sono (né vendite né scelti a mano) la sezione non si vede */
.dc-sez-venduti:not(:has(.capo)):not(:has(.dc-parte__nota)) { display: none !important; }
/* la borsa vuota (blocco di WooCommerce «Novità in negozio»): i capi in griglia come nel catalogo, non uno per riga a tutta pagina */
.wc-block-grid.wc-block-product-new { margin: 1.5rem auto 0; max-width: var(--largo); }
.wc-block-grid.wc-block-product-new .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 1.25rem; margin: 0 !important; padding: 0 !important; list-style: none; }
@media (max-width: 900px) { .wc-block-grid.wc-block-product-new .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem .9rem; } }
.wc-block-grid.wc-block-product-new .wc-block-grid__product { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; text-align: left !important; display: grid; align-content: start; }
.wc-block-grid.wc-block-product-new .wc-block-grid__product-image { margin: 0 0 .75rem !important; aspect-ratio: 3 / 4; overflow: hidden; background: var(--panna-2); }
.wc-block-grid.wc-block-product-new .wc-block-grid__product-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wc-block-grid.wc-block-product-new .wc-block-grid__product-title { font-family: var(--sans); font-size: .9375rem !important; font-weight: 500; line-height: 1.3; color: var(--moro); margin: 0 0 .25rem !important; }
.wc-block-grid.wc-block-product-new .wc-block-grid__product-price { font-size: .875rem !important; color: var(--grigio); margin: 0 !important; }
.wc-block-grid.wc-block-product-new .wc-block-grid__product-add-to-cart { margin: .75rem 0 0 !important; text-align: left; }
.wc-block-grid.wc-block-product-new .wp-block-button__link { font-size: .75rem !important; padding: .75rem 1.1rem !important; min-height: 44px; display: inline-flex; align-items: center; }
/* recesso online (art. 54-bis): il modulo nella pagina «Recedi dal contratto» e la riga sotto la cassa */
.dc-recesso { display: grid; gap: 1rem; max-width: 36rem; scroll-margin-top: calc(var(--testata) + 1.5rem); }   /* il salto a #recesso non finisce sotto l'header fisso */
.dc-recesso__titolo { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.2; }
.dc-recesso__modulo { display: grid; gap: 1rem; }
.dc-recesso .campo { display: grid; gap: .35rem; font-size: .8125rem; font-weight: 600; }
.dc-recesso .campo small { font-weight: 400; color: var(--grigio); }
.dc-recesso .campo input, .dc-recesso .campo textarea { font: inherit; font-size: 1rem; font-weight: 400; border: 1px solid rgba(42,34,30,.25); background: #fff; padding: .7rem .8rem; border-radius: 0; color: var(--moro); resize: vertical; min-height: 46px; box-sizing: border-box; width: 100%; }
.dc-recesso .campo input:focus, .dc-recesso .campo textarea:focus { outline: 2px solid var(--tortora); outline-offset: 1px; }
.dc-recesso__tasti { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: .25rem 0 0; }
.dc-recesso__riepilogo { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1.5rem; margin: 0; padding: 1rem 0; border-block: 1px solid var(--linea); }
.dc-recesso__riepilogo dt { font-size: .8125rem; font-weight: 600; } .dc-recesso__riepilogo dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 520px) { .dc-recesso__riepilogo { grid-template-columns: 1fr; gap: .15rem; } .dc-recesso__riepilogo dd { margin-bottom: .6rem; } }
.dc-recesso__ricevuta { white-space: pre-wrap; font: .875rem/1.6 ui-monospace, Menlo, monospace; background: #fff; border: 1px solid var(--linea); padding: 1rem; margin: 0; overflow-x: auto; }
.dc-recesso__errore { color: var(--no); margin: 0; padding-left: 1.1rem; }
p.dc-recesso__errore { padding-left: 0; }
.dc-recesso-nota { max-width: var(--largo); margin: 1rem auto 0; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); font-size: .8125rem; color: var(--grigio); box-sizing: border-box; }

.dc-piede-el .dc-pag span { font-size: .625rem; font-weight: 600; letter-spacing: .05em; border: 1px solid rgba(245,239,231,.3); padding: .2rem .45rem; color: #d9cbbb; line-height: 1.4; }
/* borsa: mentre il server risponde */
.borsa.is-occupata .borsa__righe { opacity: .55; pointer-events: none; transition: opacity .15s; }
/* ordine ricevuto */
.dc-ordine { max-width: 980px; }
.dc-ordine .wc-block-order-confirmation-status h1, .dc-ordine .wc-block-order-confirmation-status { font-family: var(--sans); font-weight: 500; letter-spacing: -.03em; }
.dc-ordine .wc-block-order-confirmation-status h1 { font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.05; margin: 1rem 0 .75rem; }
.dc-ordine .wc-block-order-confirmation-status p { font-family: var(--sans); font-size: 1.125rem; font-weight: 400; letter-spacing: 0; }   /* la frase sotto il titolo: spaziatura normale (quella stretta è solo per i titoli) */
.dc-ordine h2, .dc-ordine h3 { font-family: var(--sans); font-weight: 500; letter-spacing: -.02em; font-size: 1.4rem; margin: 2.5rem 0 1rem; }
.dc-ordine h3 { font-size: 1.375rem; }
.dc-ordine .wc-block-order-confirmation-summary-list { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; list-style: none; padding: 1.25rem 0; margin: 1.5rem 0 0; border-block: 1px solid var(--linea); font-size: .9375rem; }
.dc-ordine .wc-block-order-confirmation-summary-list-item__key { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--grigio); }
.dc-ordine table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.dc-ordine th, .dc-ordine td { text-align: left; padding: .8rem 0; border-bottom: 1px solid var(--linea); }
.dc-ordine td:last-child, .dc-ordine th:last-child { text-align: right; }
.dc-ordine address { font-style: normal; line-height: 1.6; }
.dc-ordine .wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; }
.dc-ordine__dopo { margin-top: 3rem; color: var(--grigio); }
/* te lo teniamo da parte: il modulo nella scheda del capo */
.da-parte span { color: var(--grigio, #6d5d52); }
.campo-p { display: grid; gap: .3rem; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-top: .45rem; }
.campo-p input { font: inherit; font-size: 1rem; font-weight: 400; letter-spacing: 0; text-transform: none; padding: .7rem .8rem; border: 1px solid rgba(42,34,30,.25); background: #fff; border-radius: 0; color: var(--moro); }
.campo-p input:focus { outline: 2px solid var(--tortora); outline-offset: 1px; }
.da-parte .tasto { margin-top: .7rem; }
.da-parte__esito { font-size: .875rem; min-height: 1.2em; margin: .2rem 0 0; }
.da-parte__esito:empty { display: none; }

/* ---- 1.5.6: le taglie sulle schede degli articoli. Sul telefono al massimo 4 (pezzo «Catalogo · filtri e articoli»), poi «+N» che apre l'articolo ---- */
.taglie__piu { display: none; }
.capo .taglie button[data-taglia="Unica"] { grid-column: span 2; padding-inline: .6rem; white-space: nowrap; }   /* «Unica» intera, mai tagliata */
@media (max-width: 599px) {
  .taglie .taglie__oltre { display: none; }
  .taglie__piu { display: inline-flex; align-items: center; justify-content: center; min-width: 0; height: 30px; padding: 0 .2rem; border: 1px solid var(--linea); color: var(--grigio); font-size: .75rem; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; position: relative; }
  .capo .taglie:has(.taglie__piu) { display: flex; flex-wrap: nowrap; }   /* le taglie e il «+N» stanno su una riga sola */
  .capo .taglie:has(.taglie__piu) > * { flex: 1 1 0; min-width: 0; padding-inline: .1rem; }
}
@media (max-width: 599px) and (pointer: coarse) { .taglie__piu { min-height: 40px; } .taglie__piu::after { content: ""; position: absolute; inset: -2px; } }
/* ---- 1.5.6: il riquadro del completo in mezzo agli articoli: si tocca tutto (foto, scritte), porta al link del pezzo ---- */
.cat-rottura { position: relative; }
.cat-rottura a.cat-rottura__link { position: static; }
.cat-rottura a.cat-rottura__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.cat-rottura:hover a.cat-rottura__link { text-decoration-thickness: 2px; }
.cat-rottura:active { transform: scale(.995); }
/* ---- 1.5.6: il pannello dei filtri sul telefono: si scorre solo su e giù, la pagina sotto sta ferma ---- */
@media (max-width: 900px) {
  #filtri.filtri { overflow-x: hidden; overscroll-behavior: contain; touch-action: pan-y; }
  .filtri-velo { touch-action: none; overscroll-behavior: contain; }
  html.dc-ferma, html.dc-ferma body { overflow: hidden; }
}
/* ---- 1.5.6: il menu del telefono: in cima i link principali (pezzo «Menu del telefono · link in alto»), poi le collezioni ---- */
.tel-menu__link { display: grid; border-top: 1px solid var(--linea); }
.tel-menu__link a { display: block; padding-block: .8rem; font-size: 1.25rem; font-weight: 500; letter-spacing: -.01em; line-height: 1.2; border-bottom: 1px solid var(--linea); }
.tel-menu__link a:active { color: var(--tortora-scuro); }
/* ---- 1.5.6: la Home, «Collezioni»: sul telefono 2 collezioni intere e un pezzo della terza (pezzo «Collezioni» › Stile › Sul telefono) ---- */
@media (max-width: 599px) { ul.reparti { grid-auto-columns: calc((100% - (var(--dc-rep-tel, 2.3) - 1) * 1.25rem) / var(--dc-rep-tel, 2.3)); } }
/* ---- 1.5.6: la pagina dell'articolo: la foto grande si sfoglia col dito (assets/js/decarlo.js); meno spazio tra la parte in alto e le sezioni sotto ---- */
.palco { touch-action: pan-y pinch-zoom; }
.e-con.capo-p { padding-bottom: var(--dc-capo-sotto, 5rem) !important; }
@media (max-width: 599px) {
  .e-con.capo-p { padding-bottom: var(--dc-capo-sotto, 2rem) !important; }
  .elementor-widget-decarlo-scheda-video .sezione, .elementor-widget-decarlo-scheda-stessa .sezione, .elementor-widget-decarlo-scheda-simili .sezione, #scheda-capo > .sezione { padding-block: 2.5rem; }
}
/* ---- 1.5.6: la pagina Bestseller ancora senza articoli ---- */
.vuoto--best .link { font-size: 1rem; }
