/* ============================================== */
/* === CARRELLO — drawer + pagina === */
/* ============================================== */

/* === Icona carrello in header === */
.cart-icon-link {
    position: relative;
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
}
.cart-icon-link svg { display: block; }
.cart-icon-counter {
    position: absolute;
    top: -2px;
    right: -4px;
    background: #9b2a1f;
    color: #fff;
    font-family: var(--font-ui);
    font-size: 10px;
    font-weight: 600;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    line-height: 1;
}
.cart-icon-counter.is-empty { display: none; }

/* === Drawer (sidebar scorrevole da destra) === */
.cart-drawer {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
}
.cart-drawer.is-open { display: block; }
.cart-drawer-overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 18, 21, 0.45);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.cart-drawer.is-open .cart-drawer-overlay { opacity: 1; }
.cart-drawer-panel {
    position: absolute;
    top: 0; right: 0;
    width: 100%;
    max-width: 460px;
    height: 100%;
    background: #fdfcfa;
    box-shadow: -4px 0 24px rgba(0,0,0,0.08);
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.cart-drawer.is-open .cart-drawer-panel { transform: translateX(0); }

.cart-drawer-content { display: flex; flex-direction: column; height: 100%; }
.cart-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px 18px;
    border-bottom: 1px solid #e2ded5;
}
.cart-drawer-title {
    font-family: var(--font-uppercase);
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1a1815;
    margin: 0;
}
.cart-drawer-close {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #7a776f;
    padding: 4px;
    transition: color 0.2s;
}
.cart-drawer-close:hover { color: #1a1815; }

.cart-drawer-list {
    flex: 1;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 8px 28px;
}
.cart-drawer-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #ede9df;
}
.cart-drawer-item:last-child { border-bottom: none; }
.cart-drawer-photo {
    aspect-ratio: 1;
    background: #ede8df;
    overflow: hidden;
}
.cart-drawer-photo img { width: 100%; height: 100%; object-fit: cover; }
.cart-drawer-photo-empty { width: 100%; height: 100%; background: #e2ded5; }
.cart-drawer-info { display: flex; flex-direction: column; gap: 4px; }
.cart-drawer-item-name {
    font-family: var(--font-uppercase);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #1a1815;
    margin: 0;
    text-transform: uppercase;
}
.cart-drawer-item-desc {
    font-family: var(--font-ui);
    font-size: 11px;
    color: #7a776f;
    margin: 0;
    line-height: 1.4;
}
.cart-drawer-item-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 4px;
}
.cart-drawer-qty {
    font-family: var(--font-ui);
    font-size: 11px;
    color: #aaa6a0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cart-drawer-price {
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    color: #1a1815;
}
.cart-drawer-remove {
    background: transparent;
    border: none;
    color: #7a776f;
    font-family: var(--font-ui);
    font-size: 11px;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    align-self: flex-start;
    margin-top: 4px;
    transition: color 0.2s;
}
.cart-drawer-remove:hover { color: #9b2a1f; }

.cart-drawer-footer {
    border-top: 1px solid #e2ded5;
    padding: 20px 28px 28px;
    background: #faf8f3;
}
.cart-drawer-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 6px;
}
.cart-drawer-subtotal span:first-child {
    font-family: var(--font-ui);
    font-size: 12px;
    color: #7a776f;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cart-drawer-subtotal-value {
    font-family: var(--font-uppercase);
    font-size: 20px;
    font-weight: 500;
    color: #1a1815;
}
.cart-drawer-note {
    font-family: var(--font-ui);
    font-size: 11px;
    color: #aaa6a0;
    margin: 0 0 16px;
}
.cart-drawer-checkout {
    display: block;
    background: #1a1815;
    color: #fff;
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    padding: 16px;
    transition: opacity 0.2s;
}
.cart-drawer-checkout:hover { opacity: 0.85; }

.cart-drawer-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px;
}
.cart-drawer-empty p {
    font-family: var(--font-ui);
    font-size: 14px;
    color: #7a776f;
    margin: 0 0 18px;
}
.cart-drawer-empty-link {
    color: #9b2a1f;
    font-family: var(--font-uppercase);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    text-decoration: none;
    border-bottom: 1px solid #9b2a1f;
    padding-bottom: 2px;
}

/* ============================================== */
/* === PAGINA CARRELLO === */
/* ============================================== */
.carrello-page {
    max-width: 1320px;
    margin: 0 auto;
    padding: 80px 32px 96px;
}
.carrello-page-header { margin: 0 0 56px; }
.carrello-page-kicker {
    font-family: var(--font-uppercase);
    font-size: 11px;
    letter-spacing: 1.8px;
    color: #aaa6a0;
    text-transform: uppercase;
    margin: 0 0 14px;
    font-weight: 500;
}
.carrello-page-title {
    font-family: var(--font-uppercase);
    font-size: clamp(36px, 4.5vw, 64px);
    font-weight: 500;
    line-height: 0.95;
    letter-spacing: -0.6px;
    color: #1a1815;
    text-transform: uppercase;
    margin: 0;
}

.carrello-content {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 56px;
    align-items: start;
}

.carrello-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e2ded5;
}
.carrello-item {
    display: grid;
    grid-template-columns: 120px 1fr 140px 140px;
    gap: 24px;
    padding: 24px 0;
    border-bottom: 1px solid #e2ded5;
    align-items: start;
}
.carrello-item-photo { aspect-ratio: 1; background: #ede8df; overflow: hidden; }
.carrello-item-photo img { width: 100%; height: 100%; object-fit: cover; }
.carrello-item-name-link { color: inherit; text-decoration: none; }
.carrello-item-name {
    font-family: var(--font-uppercase);
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 6px;
}
.carrello-item-desc { font-family: var(--font-ui); font-size: 13px; color: #7a776f; margin: 0 0 10px; }
.carrello-item-unit { font-family: var(--font-ui); font-size: 12px; color: #aaa6a0; margin: 0; }

.carrello-item-qty label {
    display: block;
    font-family: var(--font-ui);
    font-size: 11px;
    text-transform: uppercase;
    color: #aaa6a0;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}
.carrello-qty-input {
    display: inline-flex;
    border: 1px solid #d6d2c8;
}
.qty-btn {
    background: transparent;
    border: none;
    width: 32px;
    height: 36px;
    font-size: 16px;
    cursor: pointer;
    color: #1a1815;
}
.qty-btn:hover { background: #ede9df; }
.carrello-qty-input input {
    width: 40px;
    text-align: center;
    border: none;
    border-left: 1px solid #d6d2c8;
    border-right: 1px solid #d6d2c8;
    font-family: var(--font-ui);
    font-size: 14px;
    color: #1a1815;
    background: transparent;
}

.carrello-item-total { text-align: right; }
.carrello-item-price {
    font-family: var(--font-uppercase);
    font-size: 18px;
    font-weight: 500;
    color: #1a1815;
    margin: 0 0 10px;
}
.carrello-item-remove {
    background: transparent;
    border: none;
    color: #7a776f;
    font-family: var(--font-ui);
    font-size: 11px;
    text-decoration: underline;
    cursor: pointer;
}
.carrello-item-remove:hover { color: #9b2a1f; }

.carrello-summary {
    background: #faf8f3;
    padding: 28px;
    position: sticky;
    top: 32px;
}
.carrello-summary-title {
    font-family: var(--font-uppercase);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1a1815;
    margin: 0 0 18px;
}
.carrello-summary-list { margin: 0 0 24px; }
.summary-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #ede9df; font-family: var(--font-ui); font-size: 14px; }
.summary-row dt, .summary-row dd { margin: 0; }
.summary-muted { color: #aaa6a0; font-size: 12px; }
.summary-total { border-top: 1px solid #d6d2c8; border-bottom: none; padding-top: 16px; margin-top: 6px; font-size: 18px; font-weight: 500; }
.summary-total dt, .summary-total dd { color: #1a1815; }

.carrello-summary-cta {
    display: block;
    background: #1a1815;
    color: #fff;
    font-family: var(--font-uppercase);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    padding: 18px;
    transition: opacity 0.2s;
}
.carrello-summary-cta:hover { opacity: 0.85; }
.carrello-summary-note { font-family: var(--font-ui); font-size: 11px; color: #aaa6a0; text-align: center; margin: 12px 0 0; }

.carrello-empty { text-align: center; padding: 80px 32px; }
.carrello-empty-text { font-family: var(--font-ui); font-size: 16px; color: #7a776f; margin: 0 0 24px; }
.carrello-empty-cta {
    display: inline-block;
    color: #9b2a1f;
    font-family: var(--font-uppercase);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    text-decoration: none;
    border-bottom: 1px solid #9b2a1f;
    padding-bottom: 3px;
}

/* Responsive */
@media (max-width: 900px) {
    .carrello-content { grid-template-columns: 1fr; gap: 40px; }
    .carrello-item { grid-template-columns: 80px 1fr; gap: 16px; }
    .carrello-item-qty, .carrello-item-total { grid-column: 2; }
    .carrello-item-total { text-align: left; }
    .cart-drawer-panel { max-width: 100%; }
}

/* ============================================== */
/* === BOTTONI PRODOTTO: ADD TO CART + CONSULENZA === */
/* ============================================== */
.pd-cta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 12px;
}
.pd-cta-add-cart {
    background: #9b2a1f;
    color: #fff;
    border: none;
    padding: 18px;
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.pd-cta-add-cart:hover:not(:disabled) { opacity: 0.92; }
.pd-cta-add-cart:active:not(:disabled) { transform: scale(0.98); }
.pd-cta-add-cart:disabled { background: #d6d2c8; cursor: not-allowed; }
.pd-cta-add-cart.is-loading { opacity: 0.6; cursor: wait; }
.pd-cta-add-cart.is-success { background: #5a6b4e; }

.pd-cta-consulenza {
    background: transparent;
    color: #1a1815;
    border: 1px solid #1a1815;
    padding: 18px;
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.pd-cta-consulenza:hover { background: #1a1815; color: #fff; }

.pd-cta-row-single .pd-cta-consulenza { grid-column: 1 / -1; }

.pd-cta-preventivo {
    background: #9b2a1f;
    color: #fff;
    border: none;
    padding: 18px;
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.pd-cta-preventivo:hover { opacity: 0.92; }
.pd-cta-preventivo:active { transform: scale(0.98); }
.pd-cta-row-single .pd-cta-preventivo { grid-column: 1 / -1; }


.pd-cta-prezzo {
    margin: 0 0 14px;
    text-align: center;
}
.pd-cta-prezzo-label {
    font-family: var(--font-ui);
    font-size: 11px;
    text-transform: uppercase;
    color: #aaa6a0;
    letter-spacing: 0.12em;
    margin: 0 0 4px;
}
.pd-cta-prezzo-value {
    font-family: var(--font-uppercase);
    font-size: 24px;
    font-weight: 500;
    color: #1a1815;
    margin: 0;
}
.pd-cta-sub-feedback {
    text-align: center;
    margin: 8px 0 0;
    font-family: var(--font-ui);
    font-size: 12px;
    color: #5a6b4e;
}

/* carrello · rifinitura padding telefono */
@media (max-width: 600px) {
  .carrello-page { padding: 40px 20px 72px; }
  .carrello-page-header { margin: 0 0 36px; }
}

/* carrello · padding tablet (601-900) */
@media (min-width: 601px) and (max-width: 900px) {
  .carrello-page { padding: 52px 28px 80px; }
}

/* ============================================================
   CARRELLO 2.0 — restyle (23/09/2026), stile sito
   ============================================================ */
.cart2{--cream:#f4efe7;--warm:#f1e9dc;--ink:#1c1610;--tx:#3a2f22;--mut:#8a8074;--line:rgba(28,22,16,.13);--key:#9a3a2e;--ez:cubic-bezier(.2,.7,.2,1);background:#f1e9dc}
body:has(.cart2){background:#f1e9dc}
html.palette-f:has(.cart2){--bg:#f1e9dc !important;--bg-soft:#f1e9dc !important}
html:has(.cart2) body{background:#f1e9dc !important}
.cart2-wrap{max-width:1200px;margin:0 auto;padding:clamp(40px,6vh,70px) clamp(20px,3vw,44px) 90px}
.cart2-head{margin-bottom:36px}
.cart2-kicker{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--key);margin:0 0 12px}
.cart2-title{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.02em;line-height:1;color:var(--ink);margin:0}
.cart2-grid{display:grid;grid-template-columns:1fr 380px;gap:clamp(30px,4vw,60px);align-items:start}
.cart2-list{list-style:none;margin:0;padding:0}
.cart2-item{display:grid;grid-template-columns:96px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.cart2-item:first-child{border-top:1px solid var(--line)}
.cart2-thumb{width:96px;height:120px;border-radius:10px;overflow:hidden;background:#e7ddcb;display:block;flex:0 0 auto}
.cart2-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ez)}
.cart2-thumb:hover img{transform:scale(1.05)}
.cart2-info{min-width:0}
.cart2-name{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;transition:color .2s}
a.cart2-name:hover{color:var(--key)}
.cart2-desc{color:var(--mut);font-size:.9rem;margin:3px 0 0;line-height:1.4}
.cart2-unit{color:var(--mut);font-size:.82rem;margin:8px 0 0}
.cart2-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.cart2-price{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);margin:0}
.cart2-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.cart2-qty .qbtn{width:36px;height:36px;border:0;background:none;font-size:1.1rem;line-height:1;color:var(--ink);cursor:pointer;transition:background .15s}
.cart2-qty .qbtn:hover{background:#f1e9dc}
.cart2-qty input{width:36px;text-align:center;border:0;background:none;font:inherit;font-weight:600;color:var(--ink);-moz-appearance:textfield}
.cart2-qty input::-webkit-outer-spin-button,.cart2-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart2-remove{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);background:none;border:0;cursor:pointer;transition:color .2s}
.cart2-remove:hover{color:var(--key)}
.cart2-continue{margin-top:24px}
.cart2-continue a{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--mut);transition:color .2s}
.cart2-continue a:hover{color:var(--ink)}
/* riepilogo */
.cart2-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,2.4vw,34px);position:sticky;top:20px}
.cart2-summary h2{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin:0 0 18px}
.cart2-srow{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;font-size:.98rem;color:var(--ink)}
.cart2-srow .muted{color:var(--mut);font-size:.9rem}
.cart2-stot{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 4px;margin-top:8px;border-top:1px solid var(--line);font-family:'Space Grotesk',system-ui,sans-serif;font-weight:800;font-size:1.5rem;color:var(--ink)}
.cart2-note{font-size:.8rem;color:var(--mut);margin:8px 0 20px;line-height:1.45}
.cart2-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 24px;border-radius:999px;background:#8a2f36;color:#fff;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.98rem;letter-spacing:-.005em;text-transform:none;text-decoration:none;transition:transform .2s}
.cart2-cta:hover{transform:translateY(-2px);background:#731f27}
.cart2-trust{display:flex;flex-direction:column;gap:9px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.cart2-trust div{display:flex;gap:9px;align-items:center;font-size:.82rem;color:var(--tx);line-height:1.35}
.cart2-trust svg{width:16px;height:16px;flex:0 0 auto;color:var(--key)}
/* vuoto */
.cart2-empty{text-align:center;padding:clamp(50px,10vh,110px) 20px}
.cart2-empty-ic{width:56px;height:56px;color:var(--mut);opacity:.6;margin:0 auto 22px;display:block}
.cart2-empty-text{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-.02em;color:var(--ink);margin:0}
.cart2-empty-sub{color:var(--mut);font-size:1rem;margin:12px auto 28px;max-width:44ch}
.cart2-empty-cta{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:999px;background:var(--ink);color:var(--cream);font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.98rem;letter-spacing:-.005em;text-transform:none;text-decoration:none;transition:transform .2s}
.cart2-empty-cta:hover{transform:translateY(-2px)}
@media(max-width:880px){.cart2-grid{grid-template-columns:1fr}.cart2-summary{position:static}.cart2-item{grid-template-columns:80px 1fr;grid-template-areas:'thumb info' 'thumb right'}.cart2-thumb{grid-area:thumb;width:80px;height:100px}.cart2-info{grid-area:info}.cart2-right{grid-area:right;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:8px}}

/* ============ Mini-drawer carrello — restyle (23/09/2026) ============ */
.cd2{--cream:#f4efe7;--ink:#1c1610;--tx:#3a2f22;--mut:#8a8074;--line:rgba(28,22,16,.13);--key:#9a3a2e}
.cart-drawer-panel{background:#f4efe7 !important}
.cd2 .cart-drawer-header{border-bottom:1px solid var(--line)}
.cd2 .cart-drawer-title{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.cd2 .cart-drawer-item{border-bottom:1px solid var(--line)}
.cd2 .cart-drawer-photo{border-radius:8px;overflow:hidden;background:#e7ddcb;display:block}
.cd2 .cart-drawer-photo img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.cd2 a.cart-drawer-photo:hover img{transform:scale(1.05)}
.cd2 .cart-drawer-item-name{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:1rem;letter-spacing:-.01em;text-transform:none;color:var(--ink);text-decoration:none}
.cd2 a.cart-drawer-item-name:hover{color:var(--key)}
.cd2 .cart-drawer-item-desc{color:var(--mut);font-size:.84rem}
.cd2 .cart-drawer-qty2{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.cd2 .cart-drawer-qty2 .qbtn{width:30px;height:30px;border:0;background:none;font-size:1rem;line-height:1;color:var(--ink);cursor:pointer;transition:background .15s}
.cd2 .cart-drawer-qty2 .qbtn:hover{background:#f1e9dc}
.cd2 .cart-drawer-qty2 input{width:30px;text-align:center;border:0;background:none;font:inherit;font-weight:600;font-size:.9rem;color:var(--ink);-moz-appearance:textfield}
.cd2 .cart-drawer-qty2 input::-webkit-outer-spin-button,.cd2 .cart-drawer-qty2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cd2 .cart-drawer-price{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;color:var(--ink)}
.cd2 .cart-drawer-remove{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.cd2 .cart-drawer-remove:hover{color:var(--key)}
.cd2 .cart-drawer-footer{border-top:1px solid var(--line);background:#f4efe7}
.cd2 .cart-drawer-subtotal{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;color:var(--ink)}
.cd2 .cart-drawer-subtotal-value{font-weight:800}
.cd2 .cart-drawer-note{color:var(--mut);font-size:.78rem}
.cd2 .cart-drawer-checkout{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink) !important;color:var(--cream) !important;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:15px 22px;text-decoration:none;transition:transform .2s}
.cd2 .cart-drawer-checkout:hover{transform:translateY(-2px)}
.cd2 .cart-drawer-viewcart{display:block;text-align:center;margin-top:12px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);text-decoration:none}
.cd2 .cart-drawer-viewcart:hover{color:var(--ink)}
.cd2 .cart-drawer-empty{text-align:center;padding:60px 24px}
.cd2 .cd2-empty-ic{width:44px;height:44px;color:var(--mut);opacity:.6;margin:0 auto 18px;display:block}
.cd2 .cart-drawer-empty p{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:1.05rem;color:var(--ink)}
.cd2 .cart-drawer-empty-link{display:inline-block;margin-top:14px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--key)}

/* ============================================================
   MINI-CARRELLO v3 curato — stile Shopify (23/09/2026)
   ============================================================ */
.cart-drawer{position:fixed;inset:0;z-index:1200;display:block;visibility:hidden;pointer-events:none}
.cart-drawer.is-open{visibility:visible;pointer-events:auto}
.cart-drawer-overlay{position:absolute;inset:0;background:rgba(20,14,8,.4);opacity:0;transition:opacity .4s ease}
.cart-drawer.is-open .cart-drawer-overlay{opacity:1;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.cart-drawer-panel{position:absolute;top:0;right:0;bottom:0;left:auto;width:min(460px,100%);height:100%;background:#f4efe7;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .5s cubic-bezier(.22,.61,.36,1);box-shadow:-30px 0 80px rgba(20,14,8,.28);overflow:hidden}
.cart-drawer.is-open .cart-drawer-panel{transform:translateX(0)}
.cd3{--cream:#f4efe7;--ink:#1c1610;--tx:#3a2f22;--mut:#8a8074;--line:rgba(28,22,16,.13);--key:#9a3a2e;display:flex;flex-direction:column;height:100%}
.cd3-top{display:flex;align-items:center;justify-content:space-between;padding:26px 28px 20px;border-bottom:1px solid var(--line);flex:0 0 auto}
.cd3-top h2{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;gap:10px;margin:0}
.cd3-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--ink);color:var(--cream);font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.7rem}
.cd3-x{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:none;cursor:pointer;display:grid;place-items:center;color:var(--ink);transition:background .2s}
.cd3-x:hover{background:#eae1d2}
.cd3-list{flex:1;overflow-y:auto;padding:6px 28px}
.cd3-item{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.cd3-ph{width:88px;height:108px;border-radius:10px;overflow:hidden;background:#e7ddcb;display:block;flex:0 0 auto}
.cd3-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
a.cd3-ph:hover img{transform:scale(1.05)}
.cd3-bd{min-width:0;display:flex;flex-direction:column;gap:4px}
.cd3-nm{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;line-height:1.15}
a.cd3-nm:hover{color:var(--key)}
.cd3-meta{color:var(--mut);font-size:.86rem;margin:0;line-height:1.35}
.cd3-price{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1rem;color:var(--ink);margin-top:2px}
.cd3-ctl{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px}
.cd3-qty{display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff}
.cd3-qty .qbtn{width:34px;height:34px;border:0;background:none;font-size:1.05rem;line-height:1;color:var(--ink);cursor:pointer;transition:background .15s}
.cd3-qty .qbtn:hover{background:#f1e9dc}
.cd3-qty input{width:32px;text-align:center;border:0;background:none;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.92rem;color:var(--ink);-moz-appearance:textfield}
.cd3-qty input::-webkit-outer-spin-button,.cd3-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cd3-rm{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;font-size:.86rem;color:var(--mut);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.cd3-rm:hover{color:var(--key)}
.cd3-foot2{flex:0 0 auto;border-top:1px solid var(--line);padding:22px 28px 26px;background:#f4efe7}
.cd3-sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.cd3-sub .l{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.cd3-sub .v{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:-.01em;color:var(--ink)}
.cd3-note{font-size:.82rem;color:var(--mut);margin:6px 0 18px;line-height:1.45}
.cd3-co{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#8a2f36;color:#fff;border:0;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:1rem;letter-spacing:-.005em;padding:17px;border-radius:999px;cursor:pointer;text-decoration:none;transition:transform .2s}
.cd3-co:hover{transform:translateY(-2px);background:#731f27}
.cd3-view{display:block;text-align:center;margin-top:12px;font-family:'Space Grotesk',system-ui,sans-serif;font-size:.9rem;color:var(--mut);text-decoration:underline;text-underline-offset:3px}
.cd3-view:hover{color:var(--ink)}
.cd3-pay{display:flex;gap:8px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.cd3-pay span{height:26px;padding:0 10px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:.6rem;letter-spacing:.06em;color:var(--mut);background:#fff}
.cd3-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}
.cd3-empty svg{width:46px;height:46px;color:var(--mut);opacity:.55;margin-bottom:18px}
.cd3-empty p{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink)}
.cd3-empty-link{display:inline-block;margin-top:14px;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.95rem;color:var(--key)}
@media(max-width:480px){.cart-drawer-panel{width:100%}}
/* codice sconto nel drawer e nella pagina carrello (23/09/2026) */
.cd3-promo,.cart2-promo{margin:0 0 14px}
.cd3-promo-row,.cart2-promo-row{display:flex;gap:8px}
.cd3-promo-row input,.cart2-promo-row input{flex:1;min-width:0;border:1px solid rgba(28,22,16,.2);border-radius:10px;background:#fff;padding:11px 13px;font:inherit;font-size:.92rem;color:#1c1610;outline:none}
.cd3-promo-row input:focus,.cart2-promo-row input:focus{border-color:#1c1610}
.cd3-promo-row button,.cart2-promo-row button{border:1px solid #1c1610;background:none;color:#1c1610;border-radius:10px;padding:0 16px;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s}
.cd3-promo-row button:hover,.cart2-promo-row button:hover{background:#1c1610;color:#f4efe7}
.cd3-promo-msg,.cart2-promo-msg{font-size:.82rem;color:#a3262d;margin-top:6px}
.cd3-promo-on,.cart2-promo-on{display:flex;justify-content:space-between;align-items:center;background:#eef5ee;border:1px solid rgba(46,125,50,.25);border-radius:10px;padding:10px 12px;font-size:.88rem;color:#2e7d32}
.cd3-promo-on b,.cart2-promo-on b{color:#1c1610}
.cd3-promo-x,.cart2-promo-x{border:0;background:none;color:#8a8074;font-size:1.1rem;cursor:pointer;line-height:1;padding:0 4px}
.cd3-promo-x:hover,.cart2-promo-x:hover{color:#a3262d}
.cd3-line{display:flex;justify-content:space-between;align-items:baseline;font-size:.92rem;color:#3a2f22;padding:3px 0}
.cd3-line-sc,.cart2-srow-sc{color:#2e7d32}
.cd3-line-sc span:last-child,.cart2-srow-sc span:last-child{color:#2e7d32;font-family:'Archivo',system-ui,sans-serif;font-weight:700}

/* ===== RESPONSIVE carrello (23/09/2026) ===== */
.cart2-main,.cart2-info,.cart2-summary{min-width:0}
@media(max-width:880px){
  .cart2-wrap{padding:28px 16px 60px}
  .cart2-title{font-size:2.2rem}
  .cart2-item{grid-template-columns:80px 1fr;grid-template-areas:'thumb info' 'thumb right';gap:14px;padding:18px 0}
  .cart2-thumb{grid-area:thumb;width:80px;height:100px}
  .cart2-info{grid-area:info}
  .cart2-right{grid-area:right;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:6px;gap:10px}
  .cart2-price{font-size:1.05rem}
  .cart2-summary{position:static;padding:20px}
  .cart2-promo-row input,.cd3-promo-row input{font-size:16px}
}
