/* ============================================================
   Heavy Equipment - Mezzi: foglio di stile
   Font-size e font-weight rimossi ovunque di proposito: tutti i
   testi ereditano la tipografia del tema (GeneratePress) tramite
   i tag semantici h1-h6/p usati nei template. Qui restano solo
   colori, spaziature, layout (flex/grid) e dimensioni non testuali.
   ============================================================ */

:root{
    --he-arancio:#f2871a;
    --he-nero:#1a1a1a;
    --he-grigio-bg:#f4f4f4;
    --he-bordo:#e5e5e5;
}

/* sistema full-width / container centrato */
.he-full-width{width:100%;}
.he-container{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box;}
.he-hero-bg{background:#fbfaf8;padding:40px 0 24px;}
.he-contatti-bg{background:var(--he-grigio-bg);padding:48px 0;margin:0 0 48px;}

/* fix layout: forza lo stacking verticale delle sezioni archivio,
   indipendentemente da eventuale display:flex applicato dal tema
   al proprio wrapper di contenuto (vedi nota nei template archivio) */
.he-archive-page{display:block;width:100%;}

/* hero categoria / archivio generale */
.he-cat-hero-bg{background:#fbfaf8;padding:36px 0;margin:0 0 24px;}
.he-cat-titolo{margin:0 0 8px;}
.he-cat-desc{color:#555;margin:0;line-height:1.5;}

/* breadcrumb */
.he-breadcrumb{color:#777;margin:0 0 24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.he-breadcrumb a{color:#777;text-decoration:none;}
.he-breadcrumb a:hover{color:var(--he-arancio);}
.he-breadcrumb-corrente{color:var(--he-nero);}

/* griglia categoria / archivio generale */
.he-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 32px;}
.he-cat-card{border:1px solid var(--he-bordo);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s;background:#fff;}
.he-cat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.he-cat-card-img{display:block;height:360px;overflow:hidden;background:var(--he-grigio-bg);}
.he-cat-card-img img{width:100%;height:100%;object-fit:cover;}
.he-cat-card-img-placeholder{width:100%;height:100%;background:var(--he-grigio-bg);}
.he-cat-card-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.he-cat-card-titolo{margin:0;}
.he-cat-card-desc{color:#666;line-height:1.5;margin:0;flex:1;}
.he-cat-card-btn{align-self:flex-start;margin-top:6px;padding:9px 20px;border-radius:6px;background:var(--he-arancio);color:#fff;text-decoration:none;}
.he-cat-card-btn:hover{opacity:.85;}

/* hero mezzo singolo */
.he-mezzo-hero{display:flex;flex-wrap:wrap;gap:40px;align-items:center;}
.he-mezzo-hero img{max-width:460px;width:100%;height:auto;border-radius:8px;order:2;}
.he-mezzo-hero-testo{flex:1;min-width:280px;order:1;}
.he-mezzo-marchio{color:var(--he-arancio);text-transform:uppercase;letter-spacing:.03em;}
.he-mezzo-hero-testo h1{margin:6px 0 14px;}
.he-mezzo-desc-breve{color:#555;margin:0 0 22px;line-height:1.5;max-width:480px;}
.he-mezzo-cta{display:flex;gap:14px;flex-wrap:wrap;}
.he-mezzo-cta a{display:inline-block;padding:13px 26px;border-radius:6px;text-decoration:none;transition:opacity .15s;}
.he-mezzo-cta a:hover{opacity:.85;}
.he-cta-primaria{background:var(--he-arancio);color:#fff;}
.he-cta-secondaria{background:#fff;border:2px solid var(--he-nero);color:var(--he-nero);}

/* barra info rapida */
.he-info-rapide{display:flex;flex-wrap:wrap;background:var(--he-nero);color:#fff;margin:0 0 24px;border-radius:6px;overflow:hidden;}
.he-info-voce{flex:1 1 0;min-width:160px;padding:18px 22px;border-right:1px solid rgba(255,255,255,.12);}
.he-info-voce:last-child{border-right:none;}
.he-info-etichetta{display:block;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin-bottom:6px;}
.he-info-valore{display:block;}

/* pulsanti email/telefono */
.he-contatto-rapido{display:flex;gap:12px;margin:0 0 32px;}
.he-contatto-rapido a{flex:1;text-align:center;padding:13px 20px;border-radius:30px;text-decoration:none;letter-spacing:.03em;}
.he-contatto-email{background:var(--he-arancio);color:#fff;}
.he-contatto-telefono{background:#fff;border:1px solid #ccc;color:var(--he-nero);}

/* descrizione lunga */
.he-mezzo-descrizione{max-width:900px;margin:0 0 32px;line-height:1.65;color:#333;}
.he-mezzo-descrizione h2{margin-bottom:12px;}

/* sezioni dati tecnici / dotazione / optional (v3.1)
   Impilate a tutta larghezza, ciascuna su 2 colonne interne. */
.he-mezzo-sezioni{margin:0 0 40px;}
.he-sezione{margin:0 0 44px;}
.he-sezione-titolo{display:flex;align-items:center;gap:14px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.06em;color:#666;}
.he-sezione-titolo::after{content:"";flex:1;border-bottom:1px solid var(--he-bordo);}

/* dati tecnici: righe etichetta/valore su 2 colonne */
.he-spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin:0;}
.he-spec-riga{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--he-bordo);}
.he-spec-riga dt{color:#666;margin:0;}
.he-spec-riga dd{margin:0;text-align:right;color:var(--he-nero);font-weight:600;font-variant-numeric:tabular-nums;}
.he-spec-gruppo{grid-column:1/-1;margin:22px 0 2px;color:var(--he-arancio);text-transform:uppercase;letter-spacing:.05em;}
.he-spec-gruppo--vuoto{margin:10px 0 0;}
.he-spec > .he-spec-gruppo:first-child{margin-top:0;}

/* dotazione e optional: elenco su 2 colonne con icona */
.he-checklist-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;}
.he-checklist-lista li{position:relative;margin:0;padding:10px 0 10px 30px;border-bottom:1px solid var(--he-bordo);line-height:1.45;}
.he-checklist-lista li::before{content:"";position:absolute;left:0;top:12px;width:18px;height:18px;background-repeat:no-repeat;background-size:18px 18px;}
.he-checklist--serie li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2871a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");}
.he-checklist--optional li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");}
.he-checklist--optional li{color:#444;}

/* neutralizza bordi e sfondi alternati eventualmente aggiunti dal tema */
.he-mezzo-sezioni dl,.he-mezzo-sezioni dt,.he-mezzo-sezioni dd,.he-mezzo-sezioni ul{border:0;background:none;}

/* FAQ accordion */
.he-faq{margin:8px 0 40px;}
.he-faq-titolo{margin-bottom:16px;}
.he-faq-item{border:1px solid var(--he-bordo);border-radius:8px;padding:16px 20px;margin-bottom:12px;}
.he-faq-domanda{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.he-faq-domanda::-webkit-details-marker{display:none;}
.he-faq-domanda::after{content:"+";flex-shrink:0;margin-left:12px;width:42px;height:42px;border-radius:50%;background:var(--he-arancio);color:#fff;display:flex;align-items:center;justify-content:center;}
.he-faq-item[open] .he-faq-domanda::after{content:"×";}
.he-faq-risposta{margin-top:14px;color:#444;line-height:1.6;}
.he-faq-risposta ul{padding-left:20px;}

/* sezione contatti */
.he-contatti-mezzo{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start;}
.he-contatti-mezzo-label{color:var(--he-arancio);text-transform:uppercase;letter-spacing:.03em;}
.he-contatti-mezzo h3{margin:6px 0 14px;}
.he-contatti-mezzo p{color:#555;line-height:1.55;}
.he-contatti-mezzo .wpcf7-form-control-wrap{display:block;}
.he-contatti-mezzo input[type=text],
.he-contatti-mezzo input[type=email],
.he-contatti-mezzo input[type=tel],
.he-contatti-mezzo textarea{width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:6px;margin-bottom:14px;font-family:inherit;}
.he-contatti-mezzo input[type=submit]{background:var(--he-arancio);color:#fff;border:none;padding:13px 28px;border-radius:6px;cursor:pointer;}

/* prodotti correlati */
.he-correlati{margin:0 0 48px;}
.he-correlati-titolo{color:var(--he-arancio);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px; text-align:center}
.he-correlati h3{margin:0 0 20px; text-align:center}
.he-correlati-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.he-correlato-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--he-bordo);border-radius:8px;padding:16px;text-decoration:none;color:inherit;transition:box-shadow .15s;}
.he-correlato-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.he-correlato-card img{width:100%;height:360px;object-fit:cover;border-radius:6px;margin-bottom:8px;}
.he-correlato-marchio{color:var(--he-arancio);text-transform:uppercase;}
.he-correlato-nome{margin-bottom:4px;}
.he-correlato-spec{color:#666;}
.he-correlato-cta{color:var(--he-arancio);margin-top:10px;letter-spacing:.03em;}

@media (max-width:782px){
    .he-spec,.he-checklist-lista{grid-template-columns:1fr;}
    .he-contatti-mezzo{grid-template-columns:1fr;}
    .he-contatti-bg{padding:32px 0;}
    .he-correlati-grid{grid-template-columns:1fr;}
    .he-cat-grid{grid-template-columns:1fr;}
    .he-mezzo-hero img{order:1;}
    .he-mezzo-hero-testo{order:2;}
}

/* ============================================================
   Carosello "Ultimi mezzi pubblicati" (shortcode [mezzi_carosello])
   ============================================================ */
.he-carosello-wrap{width:100%;padding:40px 2em;box-sizing:border-box;position:relative;}
.he-carosello-titolo{margin:0 0 16px;}
.he-carosello-nav{position:absolute;top:16px;right:2em;display:flex;gap:8px;}
.he-car-btn{width:52px;height:52px;border-radius:50%;border:1px solid #ef7d00;background:#ef7d00;cursor:pointer;flex-shrink:0;}
.he-car-btn:hover{background:#333;color:#fff;border-color:#333;}
.he-carosello{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;-ms-overflow-style:none;scrollbar-width:none;}
.he-carosello::-webkit-scrollbar{display:none;}
/* 5 card visibili per volta: larghezza calcolata sui 4 gap da 20px tra loro */
.he-car-card{flex:0 0 calc((100% - 80px) / 5);scroll-snap-align:start;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .15s;}
.he-car-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.he-car-card img{width:100%;height:360px;object-fit:cover;}
.he-car-card-body{padding:14px;display:flex;flex-direction:column;gap:4px;}
.he-car-marchio{color:#f2871a;text-transform:uppercase;}
.he-car-nome{margin:0;}
.he-car-desc{margin:0;color:#666;}
/* 3 card per volta sotto i 1024px, poi 1 card e mezza (con "peek") sotto i 700px */
@media (max-width:1024px){.he-car-card{flex:0 0 calc((100% - 40px) / 3);}}
@media (max-width:700px){.he-carosello-wrap{padding:32px 1em;}.he-carosello-nav{right:1em;}.he-car-card{flex:0 0 82%;}}

/* ============================================================
   Thumb prodotti (v3.1.1): immagine intera, non ritagliata,
   centrata su fondo neutro in archivio, correlati e carosello.
   ============================================================ */
.he-cat-card-img{height:300px;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:var(--he-grigio-bg);}
.he-cat-card-img img,
.he-correlato-card img,
.he-car-card img{object-fit:contain;object-position:center;}
.he-cat-card-img img{width:100%;height:100%;}
.he-correlato-card img{height:260px;padding:16px;box-sizing:border-box;background:var(--he-grigio-bg);}
.he-car-card img{height:260px;padding:16px;box-sizing:border-box;background:var(--he-grigio-bg);}

/* ============================================================
   Pagina archivio marchio: sezioni raggruppate per categoria
   ============================================================ */
.he-marchio-sezione{margin:0 0 40px;}
.he-marchio-sezione-titolo{margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--he-arancio);display:inline-block;}
