/* Fagiano Antonio — server-rendered storefront tweaks on top of NIDO design system */

/* Card: stretched navigation link, keep quick-add clickable */
.card { position: relative; }
.card-link { position: absolute; inset: 0; z-index: 2; }
.card-badges { z-index: 3; }
.card-quick { z-index: 4; }
.card-body { position: relative; z-index: 1; }
.card-body .card-name, .card-body .card-cat { color: inherit; text-decoration: none; }

/* Drawer cart count default visible state handled via [hidden] */
.cart-count[hidden] { display: none; }

/* Free shipping label */
.fsb-label { color: var(--ink-2); }
.fsb-label b { color: var(--ink); }

/* Category grid items wrapper should behave like the card grid cell */
.grid-item[hidden] { display: none; }

/* Checkout / generic forms */
.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.field label { font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.field input, .field select, .field textarea {
  font-family: var(--f-body); font-size: 15px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: var(--r); background: var(--card); color: var(--ink);
}
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--clay); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .field-row { grid-template-columns: 1fr; } }
.form-error { color: var(--clay); font-size: 13.5px; margin: 4px 0 12px; }

.checkout-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; padding: 30px 0 60px; }
@media (max-width: 900px) { .checkout-grid { grid-template-columns: 1fr; } }
.pay-option { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--line); border-radius: var(--r); padding: 16px; margin-bottom: 12px; cursor: pointer; }
.pay-option.on { border-color: var(--clay); background: var(--clay-soft); }
.pay-option input { margin-top: 3px; }

/* Thank-you / IBAN box */
.iban-box { background: var(--panel); border-radius: var(--r); padding: 20px 22px; margin: 18px 0; font-family: var(--f-mono); font-size: 14px; }
.iban-box .row { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; }

/* Legal pages */
.legal { max-width: 820px; margin: 0 auto; padding: 24px 0 70px; }
.legal h1 { font-size: clamp(28px, 4vw, 42px); margin-bottom: 8px; }
.legal h2 { font-family: var(--f-display); font-size: 22px; margin: 30px 0 10px; }
.legal h3 { font-family: var(--f-display); font-size: 17px; margin: 20px 0 8px; }
.legal p, .legal li { color: var(--ink-2); line-height: 1.7; margin-bottom: 10px; }
.legal ul { padding-left: 20px; margin-bottom: 14px; }
.legal .updated { color: var(--ink-3); font-family: var(--f-mono); font-size: 12.5px; margin-bottom: 24px; }
.legal table { width: 100%; border-collapse: collapse; margin: 14px 0; }
.legal td, .legal th { border: 1px solid var(--line); padding: 10px 12px; text-align: left; font-size: 14.5px; }


/* === real product images === */
.card-media{position:relative;overflow:hidden}
.card-img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1;background:#f3f0ea}
.gallery-img{width:100%;height:auto;display:block;border-radius:14px;background:#f3f0ea;object-fit:contain;aspect-ratio:1/1}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.gallery-thumb{padding:0;overflow:hidden}


/* === eurobrico dati tecnici === */
.crumb{position:relative;padding-right:170px}
.crumb-brand-logo{position:absolute;top:50%;right:0;transform:translateY(-50%);max-height:48px;max-width:150px;object-fit:contain}
.pdp-brand-name{font-weight:600;color:var(--ink,#333);font-size:15px}
.line-media{overflow:hidden;border-radius:10px}
.line-img{width:100%;height:100%;object-fit:cover;display:block}
.hero-media{position:relative;overflow:hidden;border-radius:18px}
.hero-img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.tile{position:relative;overflow:hidden}
.tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-media{position:relative;overflow:hidden;border-radius:18px}
.editorial-img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
.pay-row{display:flex;gap:10px;align-items:center}
.pay-img{height:30px;width:auto;border-radius:5px;background:#fff;padding:2px}
.co-line{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #efe9e0}
.co-line-img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:8px;background:#fff}
.co-line-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.co-line-name{font-size:13.5px;line-height:1.3}
.co-line-price{white-space:nowrap;font-weight:600;color:var(--ink,#333)}
.cart-summary .summary-row>span:last-child,.cart-summary .summary-row>b{white-space:nowrap}
.pay-option{display:flex;align-items:center;gap:12px}
.pay-option>div{flex:1;min-width:0}
.pay-method-icon{height:30px;width:auto;border-radius:5px;background:#fff;padding:2px;flex:0 0 auto;object-fit:contain}
.dati-tecnici{margin:14px 0 18px;border:1px solid #ece7df;border-radius:12px;padding:14px 16px;background:#faf8f4}
.dati-tecnici-title{font-weight:700;margin-bottom:12px;font-size:15px}
.dati-tecnici-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}
.dt-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid #efe9e0;padding-bottom:10px}
.dt-icon{width:34px;height:34px;object-fit:contain;flex:0 0 34px}
.dt-text{display:flex;flex-direction:column;min-width:0}
.dt-k{font-size:12px;color:#9a8f7e;text-transform:uppercase;letter-spacing:.04em}
.dt-v{font-weight:600;color:var(--ink,#333)}
.misure-group{margin-bottom:18px}
.misure-group-title{font-weight:700;margin-bottom:8px}
@media(max-width:600px){.dati-tecnici-grid{grid-template-columns:1fr}}
/* === end eurobrico === */