/*
Theme Name: Italnolo
Description: Tema custom per sito di noleggio generalista B2B/B2C. Nessun page builder o plugin di terze parti: catalogo condiviso, area riservata affiliati/staff, usato, offerte.
Author: Italnolo
Version: 0.1.0
Text Domain: italnolo
Requires PHP: 8.0
Requires at least: 6.4
*/

/* ==========================================================
   DESIGN TOKEN — stessi valori usati nei mockup HTML
   ========================================================== */
:root{
  --orange:#F26B21;
  --orange-dark:#C8531A;
  --orange-tint:#FDEADB;
  --black:#141414;
  --ink:#1F1F1F;
  --gray-700:#55534F;
  --gray-400:#9A9793;
  --gray-200:#E5E3DF;
  --gray-100:#F4F3F0;
  --white:#FFFFFF;
  --green:#2E7D32;
  --radius:3px;
  --maxw:1240px;
}

/* Il resto delle regole (layout, componenti: header, card prodotto,
   card usato, offerte, dashboard area riservata) viene portato qui
   dai file HTML già approvati, un template alla volta, così ogni
   pagina resta identica al mockup mano a mano che la costruiamo. */

*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;margin:0;line-height:1.08;letter-spacing:-.01em;}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;border-radius:var(--radius);border:2px solid transparent;transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--orange);color:var(--white);}
.btn-primary:hover{background:var(--orange-dark);}
.btn-outline{background:transparent;color:var(--black);border-color:var(--black);}
.btn-outline:hover{background:var(--black);color:var(--white);}

/* Topbar */
.topbar{background:var(--black);color:#D8D6D2;font-size:.82rem;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px;gap:16px;}
.topbar-3col{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:38px;gap:16px;}
.topbar-3col .topbar-left{justify-self:start;}
.topbar-3col .topbar-center{justify-self:center;white-space:nowrap;}
.topbar-3col .topbar-right{justify-self:end;white-space:nowrap;}
.topbar a{display:flex;align-items:center;gap:6px;color:#D8D6D2;}
.topbar a:hover{color:var(--white);}
.topbar-center i{color:var(--orange);}
.topbar-center strong{color:var(--white);font-weight:700;margin-right:2px;}
.topbar-center a{display:inline;color:var(--orange);text-decoration:underline;}

/* Header principale */
.header-trust{display:flex;align-items:center;gap:22px;flex-shrink:0;}
.trust-badge{display:flex;align-items:center;gap:10px;}
.trust-badge i{font-size:1.5rem;color:var(--orange);}
.trust-badge span{font-size:.8rem;font-weight:700;line-height:1.25;color:var(--ink);}
.rating-badge{display:flex;flex-direction:column;align-items:center;gap:2px;width:70px;height:70px;border:2px solid var(--orange-tint);border-radius:50%;justify-content:center;text-align:center;}
.rating-badge strong{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.15rem;color:var(--orange);line-height:1;}
.rating-badge .stars{color:var(--orange);font-size:.6rem;letter-spacing:1px;}
.rating-badge span:last-child{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--gray-700);line-height:1.1;}
.user-access{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--gray-100);border:1px solid var(--gray-200);color:var(--ink);font-size:1.05rem;flex-shrink:0;margin-left:12px;}
.user-access:hover{background:var(--black);color:var(--white);border-color:var(--black);}

/* Barra secondaria: Catalogo + ricerca + telefono */
.secondary-bar{background:var(--black);}
.secondary-row{display:flex;align-items:center;gap:16px;padding:12px 0;}
.catalogo-dropdown-wrap{position:relative;flex-shrink:0;}
.catalogo-btn{display:flex;align-items:center;gap:10px;background:var(--orange);color:var(--white);border:0;padding:12px 22px;border-radius:var(--radius);font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;}
.catalogo-btn:hover{background:var(--orange-dark);}
.catalogo-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--white);border-radius:var(--radius);box-shadow:0 16px 32px rgba(0,0,0,.2);padding:10px;min-width:260px;grid-template-columns:1fr 1fr;gap:2px;z-index:60;}
.catalogo-dropdown.open{display:grid;}
.catalogo-dropdown a{padding:9px 12px;border-radius:4px;font-size:.86rem;color:var(--ink);white-space:nowrap;}
.catalogo-dropdown a:hover{background:var(--gray-100);color:var(--orange);}
.catalogo-dropdown-all{grid-column:1/-1;border-top:1px solid var(--gray-200);margin-top:6px;padding-top:12px !important;font-weight:700;color:var(--orange) !important;}
.secondary-row .search-box{flex:1;background:var(--white);border:0;border-radius:30px;padding:11px 18px;}
.secondary-row .search-box input{color:var(--ink);}
.secondary-row .search-box input::placeholder{color:var(--gray-400);}
.secondary-row .search-box i{color:var(--gray-400);}
.secondary-phone{color:#D8D6D2;font-size:.88rem;white-space:nowrap;flex-shrink:0;}
.secondary-phone a{color:var(--orange);font-weight:700;}
@media (max-width:760px){
  .catalogo-btn span{display:none;}
  .secondary-row{gap:10px;}
}
@media (max-width:760px){.hide-mobile{display:none;}}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--gray-200);}
.header-row{display:flex;align-items:center;gap:28px;height:82px;}
.logo{display:flex;align-items:baseline;gap:2px;font-family:'Archivo',sans-serif;font-weight:900;font-size:1.7rem;letter-spacing:-.02em;flex-shrink:0;}
.logo .lo-black{color:var(--black);}
.logo .lo-accent{color:var(--orange);}
.logo .lo-sub{display:block;font-family:'Barlow Condensed',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-700);margin-top:-2px;}
.main-nav{display:flex;align-items:center;gap:24px;flex:1;}
.main-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;}
.main-nav a{font-weight:600;font-size:.92rem;}
.header-actions{display:flex;align-items:center;gap:14px;}
.search-box{display:flex;align-items:center;gap:8px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);padding:9px 14px;width:220px;}
.search-box input{border:0;background:transparent;font-family:inherit;font-size:.88rem;width:100%;outline:none;}
.burger{display:none;background:none;border:0;font-size:1.4rem;color:var(--black);margin-left:auto;position:relative;z-index:95;}
@media (max-width:1040px){
  .main-nav,.header-trust{display:none;}
  .burger{display:block;}
  .main-nav.open{
    display:flex;position:fixed;top:0;left:0;right:0;bottom:0;
    background:var(--white);flex-direction:column;align-items:flex-start;
    padding:80px 24px 24px;overflow:auto;z-index:90;
  }
  .main-nav.open ul{flex-direction:column;width:100%;gap:0;}
  .main-nav.open a{display:block;width:100%;padding:16px 0;border-bottom:1px solid var(--gray-200);font-size:1.05rem;}
}

/* Barra categorie (dinamica dalla tassonomia categoria_prodotto) */
.cat-bar{background:var(--orange);}
.cat-bar ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;}
.cat-bar a{display:block;padding:12px 16px;color:var(--white);font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;white-space:nowrap;}
.cat-bar a:hover{background:rgba(0,0,0,.14);}

/* Footer */
footer.site-footer{background:#0E0E0E;color:#B7B4AF;padding-top:56px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-col h5{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--white);font-size:.82rem;margin-bottom:16px;}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.foot-col a{font-size:.86rem;}
.foot-col a:hover{color:var(--white);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:.78rem;flex-wrap:wrap;gap:10px;}
.foot-bottom .legal{display:flex;gap:18px;flex-wrap:wrap;}
.foot-brand .logo{margin-bottom:14px;}
.foot-brand p{font-size:.86rem;line-height:1.6;max-width:260px;}
.foot-social{display:flex;gap:10px;margin-top:18px;}
.foot-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem;}
.foot-social a:hover{background:var(--orange);border-color:var(--orange);}
.foot-stores{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.store-badge{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:8px 14px;color:var(--white);}
.store-badge:hover{background:rgba(255,255,255,.12);}
.store-badge i{font-size:1.4rem;}
.store-badge span{display:flex;flex-direction:column;font-size:.66rem;line-height:1.3;color:#B7B4AF;}
.store-badge span strong{font-size:.86rem;color:var(--white);font-weight:700;}
.foot-contact li{display:flex;gap:10px;font-size:.86rem;margin-bottom:12px;align-items:flex-start;}
.foot-contact i{color:var(--orange);margin-top:3px;}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* Barra mobile sticky */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--black);border-top:1px solid rgba(255,255,255,.1);}
.mobile-bar ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;color:#D8D6D2;font-size:.66rem;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;}
.mobile-bar a i{font-size:1.05rem;color:var(--orange);}
@media (max-width:760px){.mobile-bar{display:block;}body{padding-bottom:58px;}}

/* ==========================================================
   HOMEPAGE — hero, sezioni, griglie
   ========================================================== */
html{scroll-behavior:smooth;}

.hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:56px 0 96px;}
.audience-toggle{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:40px;padding:4px;margin-bottom:26px;}
.audience-toggle button{background:transparent;border:0;color:#D8D6D2;padding:9px 20px;border-radius:40px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;transition:all .18s ease;}
.audience-toggle button.active{background:var(--orange);color:var(--white);}
.audience-panel{display:none;}
.audience-panel.active{display:block;}
.hero-eyebrow{color:var(--orange);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.hero-eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);display:inline-block;}
.hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--white);}
.hero h1 span{color:var(--orange);}
.hero p.lead{margin-top:18px;font-size:1.06rem;color:#D8D6D2;max-width:520px;line-height:1.55;}
.hero-cta{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px;flex-wrap:wrap;}
.hero-stats .stat{padding-right:36px;margin-right:36px;border-right:1px solid rgba(255,255,255,.16);}
.hero-stats .stat:last-child{border-right:0;}
.hero-stats .stat strong{display:block;font-family:'Archivo',sans-serif;font-size:1.6rem;font-weight:900;color:var(--white);}
.hero-stats .stat span{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--gray-400);}
.hero-visual{position:relative;z-index:2;}
.hero-card{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:26px;max-width:340px;margin-left:auto;box-shadow:0 24px 48px rgba(0,0,0,.35);}
.hero-card .review-score{display:flex;align-items:center;gap:12px;}
.hero-card .review-score strong{font-family:'Archivo',sans-serif;font-size:2rem;font-weight:900;}
.hero-card .stars{color:var(--orange);letter-spacing:2px;}
.hero-card .review-score small{display:block;color:var(--gray-700);font-size:.8rem;}
.hero-card hr{border:0;border-top:1px solid var(--gray-200);margin:18px 0;}
.hero-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.hero-card li{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:500;}
.hero-card li i{color:var(--orange);width:18px;text-align:center;}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;background:var(--white);clip-path:polygon(0 100%, 100% 100%, 100% 40%, 0 100%);z-index:1;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;padding:44px 0 90px;}.hero-card{margin:0;max-width:none;}.hero-stats{row-gap:18px;}.hero-stats .stat{padding-right:24px;margin-right:24px;}}

.section{padding:74px 0;}
.section-tight{padding:54px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap;}
.section-head .eyebrow{color:var(--orange);margin-bottom:10px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:900;}
.section-head p{color:var(--gray-700);margin-top:10px;max-width:480px;font-size:.96rem;}
.bg-gray{background:var(--gray-100);}
.bg-dark{background:var(--black);color:var(--white);}
.bg-dark .section-head p{color:var(--gray-400);}

.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--gray-200);border:1px solid var(--gray-200);}
.cat-tile{background:var(--white);padding:30px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;transition:background .18s ease;}
.cat-tile i{font-size:1.7rem;color:var(--orange);}
.cat-tile span{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.88rem;}
.cat-tile:hover{background:var(--black);}
.cat-tile:hover i,.cat-tile:hover span{color:var(--white);}
@media (max-width:900px){.cat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.cat-grid{grid-template-columns:repeat(2,1fr);}}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.p-card{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;background:var(--white);transition:box-shadow .2s ease, transform .2s ease;display:flex;flex-direction:column;}
.p-card:hover{box-shadow:0 16px 30px rgba(20,20,20,.12);transform:translateY(-3px);}
.p-media{position:relative;background:var(--orange-tint);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;}
.p-media i{font-size:2.6rem;color:var(--orange);}
.p-tag{position:absolute;top:10px;left:10px;background:var(--black);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 8px;border-radius:2px;}
.p-quick{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(6px);transition:all .18s ease;}
.p-card:hover .p-quick{opacity:1;transform:translateX(0);}
.p-quick button{width:32px;height:32px;border-radius:50%;background:var(--white);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--ink);}
.p-quick button:hover{background:var(--orange);color:var(--white);border-color:var(--orange);}
.p-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.p-cat{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;color:var(--orange);font-weight:700;}
.p-name{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.02rem;}
.p-spec{font-size:.82rem;color:var(--gray-700);}
.p-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;}
.p-avail{font-size:.78rem;color:var(--green);font-weight:600;display:flex;align-items:center;gap:6px;}
.p-avail i{font-size:.6rem;}
.p-link{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;color:var(--black);display:flex;align-items:center;gap:6px;}
.p-link i{color:var(--orange);font-size:.72rem;transition:transform .15s ease;}
.p-card:hover .p-link i{transform:translateX(3px);}
@media (max-width:980px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.product-grid{grid-template-columns:1fr;}}

/* Offerte (stile coupon) */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.offer-card{position:relative;background:var(--white);border:2px dashed var(--orange);border-radius:8px;padding:28px 24px;display:flex;flex-direction:column;gap:10px;}
.offer-pct{font-family:'Archivo',sans-serif;font-weight:900;font-size:2.2rem;color:var(--orange);}
.offer-card h4{font-size:1.02rem;font-weight:800;}
.offer-card p{font-size:.86rem;color:var(--gray-700);margin:0;line-height:1.5;}
.offer-valid{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--gray-400);margin-top:6px;}
@media (max-width:900px){.offer-grid{grid-template-columns:1fr;}}

/* Usato */
.used-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.used-card{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;background:var(--white);display:flex;flex-direction:column;}
.used-media{position:relative;background:var(--gray-100);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;}
.used-media i{font-size:2.4rem;color:var(--gray-400);}
.used-badge{position:absolute;top:10px;left:10px;background:var(--orange);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 8px;border-radius:2px;}
.used-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
.used-name{font-family:'Archivo',sans-serif;font-weight:800;font-size:.98rem;}
.used-cond{font-size:.78rem;color:var(--green);font-weight:600;}
.used-price{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.2rem;margin-top:4px;}
.used-price small{font-family:'Inter',sans-serif;font-weight:500;font-size:.72rem;color:var(--gray-400);}
@media (max-width:980px){.used-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.used-grid{grid-template-columns:1fr;}}

.split-banner{display:grid;grid-template-columns:1fr 1fr;}
.split-panel{padding:64px 48px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.split-panel.dark{background:var(--black);color:var(--white);}
.split-panel.accent{background:var(--orange);color:var(--white);}
.split-panel h3{font-size:1.7rem;font-weight:900;}
.split-panel p{color:rgba(255,255,255,.85);max-width:400px;font-size:.95rem;line-height:1.55;}
.split-panel .eyebrow{opacity:.8;margin-bottom:2px;}
@media (max-width:900px){.split-banner{grid-template-columns:1fr;}.split-panel{padding:48px 28px;}}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gray-200);border:1px solid var(--gray-200);}
.step{background:var(--white);padding:34px 28px;}
.step .num{font-family:'Archivo',sans-serif;font-weight:900;font-size:2.4rem;-webkit-text-stroke:2px var(--orange);color:transparent;line-height:1;margin-bottom:14px;display:block;}
.step h4{font-size:1.1rem;font-weight:800;margin-bottom:8px;}
.step p{font-size:.88rem;color:var(--gray-700);line-height:1.5;margin:0;}
@media (max-width:760px){.steps{grid-template-columns:1fr;}}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.feature{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.feature .ic{width:52px;height:52px;border-radius:50%;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.15rem;}
.feature h4{font-size:.98rem;font-weight:800;}
.feature p{font-size:.85rem;color:var(--gray-700);margin:0;line-height:1.5;}
@media (max-width:900px){.features{grid-template-columns:repeat(2,1fr);row-gap:34px;}}
@media (max-width:560px){.features{grid-template-columns:1fr;}}

.newsletter{background:var(--black);color:var(--white);}
.nl-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:44px 0;flex-wrap:wrap;}
.nl-row h3{font-size:1.4rem;font-weight:800;}
.nl-row p{color:var(--gray-400);margin-top:6px;font-size:.9rem;}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;}
.nl-form input{padding:13px 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:var(--white);font-family:inherit;min-width:250px;}
.nl-form input::placeholder{color:var(--gray-400);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1;transform:none;}

/* ==========================================================
   SCHEDA PRODOTTO
   ========================================================== */
.breadcrumb{padding:18px 0;font-size:.84rem;color:var(--gray-700);display:flex;gap:8px;flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--orange);}
.breadcrumb .sep{color:var(--gray-400);}

.p-hero{padding-bottom:56px;}
.p-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.gallery-main{position:relative;background:var(--orange-tint);border-radius:var(--radius);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-main i{font-size:5rem;color:var(--orange);}
.gallery-main .badge-cod{position:absolute;top:14px;left:14px;background:var(--black);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.05em;font-size:.8rem;padding:6px 10px;border-radius:2px;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;}
.thumb{background:var(--gray-100);border:2px solid transparent;border-radius:var(--radius);aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:1.1rem;overflow:hidden;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb.active{border-color:var(--orange);color:var(--orange);background:var(--orange-tint);}
.thumb-caption{grid-column:1/-1;font-size:.72rem;color:var(--gray-400);margin-top:-2px;}

.p-info .p-cat-label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--orange);font-weight:700;}
.p-info h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:900;margin-top:6px;}
.p-info .p-sub{color:var(--gray-700);margin-top:10px;font-size:.98rem;line-height:1.55;max-width:480px;}
.p-rating{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:.86rem;color:var(--gray-700);}
.p-rating .stars{color:var(--orange);letter-spacing:1px;}

.rate-table{margin-top:26px;border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;}
.rate-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.92rem;border-bottom:1px solid var(--gray-200);}
.rate-row:last-child{border-bottom:0;}
.rate-row.highlight{background:var(--orange-tint);}
.rate-row .label{font-weight:600;}
.rate-row .price{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.1rem;}
.rate-row .price small{font-family:'Inter',sans-serif;font-weight:500;font-size:.72rem;color:var(--gray-400);}
.rate-note{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.8rem;color:var(--green);font-weight:600;}

/* Pagina Offerte: filtri e dettagli card */
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:22px 0;}
.filter-tabs button{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--ink);padding:9px 18px;border-radius:30px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;}
.filter-tabs button.active{background:var(--black);color:var(--white);border-color:var(--black);}
.offer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.audience-tag{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700;background:var(--orange-tint);color:var(--orange-dark);padding:4px 10px;border-radius:20px;white-space:nowrap;}
.offer-meta{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:12px;border-top:1px solid var(--gray-200);}
.offer-meta span{font-size:.76rem;color:var(--gray-400);display:flex;align-items:center;gap:6px;}
.offer-meta i{color:var(--orange);width:14px;}

.cta-box{margin-top:26px;border:2px solid var(--black);border-radius:var(--radius);padding:22px;background:var(--gray-100);}
.cta-badges{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.cta-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:20px;padding:8px 14px;font-size:.84rem;font-weight:600;color:var(--ink);width:fit-content;}
.cta-box h3{font-size:1.05rem;font-weight:800;margin-bottom:6px;}
.cta-box p{font-size:.86rem;color:var(--gray-700);margin:0 0 16px;line-height:1.5;}

.avail-box{margin-top:24px;border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;}
.avail-box h4{font-size:.92rem;font-weight:800;margin-bottom:14px;}
.avail-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.avail-fields label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;color:var(--gray-400);display:block;margin-bottom:5px;}
.avail-fields select,.avail-fields input{width:100%;padding:10px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.86rem;background:var(--white);}
.avail-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
.avail-actions .btn{flex:1;min-width:180px;}
@media (max-width:560px){.avail-fields{grid-template-columns:1fr;}}

.p-tabs{margin-top:60px;}
.tab-nav{display:flex;gap:0;border-bottom:2px solid var(--gray-200);flex-wrap:wrap;}
.tab-btn{background:none;border:0;padding:14px 22px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;color:var(--gray-700);border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;}
.tab-btn.active{color:var(--black);border-color:var(--orange);}
.tab-panel{display:none;padding:32px 0;max-width:760px;}
.tab-panel.active{display:block;}
.tab-panel p{line-height:1.7;color:var(--gray-700);font-size:.96rem;}

.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--gray-200);}
.spec-table tr:last-child{border-bottom:0;}
.spec-table td{padding:12px 4px;font-size:.9rem;}
.spec-table td:first-child{color:var(--gray-700);width:45%;}
.spec-table td:last-child{font-weight:700;}

.doc-list{display:grid;gap:12px;}
.doc-item{display:flex;align-items:center;gap:14px;border:1px solid var(--gray-200);border-radius:var(--radius);padding:14px 16px;}
.doc-item i{font-size:1.4rem;color:var(--orange);}
.doc-item .doc-name{font-weight:700;font-size:.92rem;}
.doc-item .doc-meta{font-size:.78rem;color:var(--gray-400);}
.doc-item .btn{margin-left:auto;padding:9px 16px;}

.dotazione-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.dotazione-list li{display:flex;gap:10px;font-size:.92rem;align-items:flex-start;}
.dotazione-list i{color:var(--green);margin-top:3px;}

.sedi-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.sedi-chips span{background:var(--gray-100);border:1px solid var(--gray-200);padding:8px 14px;border-radius:20px;font-size:.82rem;display:flex;align-items:center;gap:6px;}
.sedi-chips i{color:var(--green);font-size:.6rem;}

@media (max-width:980px){.p-hero-grid{grid-template-columns:1fr;}}

/* Modale "Richiedi informazioni" */
dialog#infoDialog{border:0;border-radius:6px;padding:0;width:min(460px,92vw);}
dialog#infoDialog::backdrop{background:rgba(20,20,20,.55);}
.dialog-head{background:var(--black);color:var(--white);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;}
.dialog-head h3{font-size:1.05rem;}
.dialog-head button{background:none;border:0;color:var(--white);font-size:1.2rem;cursor:pointer;}
.dialog-body{padding:24px;display:grid;gap:14px;}
.dialog-body label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--gray-400);display:block;margin-bottom:5px;}
.dialog-body input,.dialog-body textarea{width:100%;padding:11px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.9rem;}
.dialog-body textarea{resize:vertical;min-height:80px;}
.btn-block{width:100%;}

/* ==========================================================
   PAGINE DI CONTENUTO GENERICHE (page.php)
   Chi siamo, Come affiliarsi, Come noleggiare, Customer Satisfaction,
   Lavorare in sicurezza, Lavora con noi, Termini e condizioni…
   ========================================================== */
.content-hero{background:var(--black);color:var(--white);padding:44px 0 40px;}
.content-hero .breadcrumb{color:#D8D6D2;padding-top:0;margin-bottom:14px;}
.content-hero .breadcrumb a{color:#D8D6D2;}
.content-hero .breadcrumb .sep{color:var(--gray-700);margin:0 6px;}
.content-hero h1{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:900;}
.content-hero p.lead{color:#D8D6D2;margin-top:10px;max-width:640px;font-size:1rem;line-height:1.6;}

.content-body{padding:56px 0 70px;}
.content-body .container{max-width:820px;}
.entry-content{font-size:1.02rem;line-height:1.75;color:var(--ink);}
.entry-content h2{font-size:1.5rem;font-weight:900;margin:40px 0 16px;}
.entry-content h2:first-child{margin-top:0;}
.entry-content h3{font-size:1.15rem;font-weight:800;margin:28px 0 12px;}
.entry-content p{margin:0 0 18px;color:var(--gray-700);}
.entry-content ul,.entry-content ol{margin:0 0 18px;padding-left:22px;color:var(--gray-700);}
.entry-content li{margin-bottom:8px;}
.entry-content a{color:var(--orange);text-decoration:underline;}
.entry-content strong{color:var(--ink);}
.entry-content blockquote{border-left:3px solid var(--orange);padding:4px 0 4px 20px;margin:24px 0;color:var(--gray-700);font-style:italic;}
.entry-content img{border-radius:var(--radius);margin:24px 0;}
.entry-content hr{border:0;border-top:1px solid var(--gray-200);margin:32px 0;}
.entry-content table{width:100%;border-collapse:collapse;margin:0 0 18px;}
.entry-content table th,.entry-content table td{padding:10px 14px;border:1px solid var(--gray-200);text-align:left;font-size:.92rem;}
.entry-content table th{background:var(--gray-100);}

.content-cta{margin-top:44px;padding:28px;background:var(--gray-100);border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.content-cta p{margin:0;font-weight:700;font-size:.98rem;}

/* ==========================================================
   DOVE TROVARCI — elenco sedi + mappa
   ========================================================== */
.locator-toolbar{display:flex;gap:12px;flex-wrap:wrap;padding:18px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);margin-bottom:28px;}
.locator-toolbar input{flex:1;min-width:200px;padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.88rem;}
.locator-toolbar select{padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.88rem;background:var(--white);min-width:160px;}
.locator-grid{display:grid;grid-template-columns:1fr .85fr;gap:32px;align-items:start;padding-bottom:60px;}
.sede-list{display:grid;gap:14px;max-height:720px;overflow-y:auto;padding-right:6px;}
.sede-card{border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;cursor:pointer;transition:border-color .15s ease;}
.sede-card:hover,.sede-card.is-active{border-color:var(--orange);}
.sede-card h3{font-size:1.02rem;font-weight:800;}
.sede-card .addr{font-size:.86rem;color:var(--gray-700);margin-top:6px;}
.sede-card .meta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.82rem;color:var(--gray-700);}
.sede-card .meta-row span{display:flex;align-items:center;gap:6px;}
.sede-card .meta-row i{color:var(--orange);}
.sede-card .actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;justify-content:center;}
.map-panel{position:sticky;top:100px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;}
.map-panel #noloMap{width:100%;height:100%;}
.map-panel .map-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--gray-400);text-align:center;padding:24px;}
.map-panel .map-placeholder i{font-size:2.4rem;color:var(--orange);}
@media (max-width:980px){.locator-grid{grid-template-columns:1fr;}.map-panel{position:static;aspect-ratio:16/9;}.sede-list{max-height:none;}}

/* ==========================================================
   SINGOLA PROMOZIONE
   ========================================================== */
.offerta-hero{position:relative;background:var(--black);color:var(--white);}
.offerta-hero-media{aspect-ratio:21/8;overflow:hidden;background:var(--gray-800,#2a2a2a);}
.offerta-hero-media img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.offerta-hero-content{position:absolute;inset:0;display:flex;align-items:flex-end;}
.offerta-hero-content .container{padding-bottom:36px;}
.offerta-badge-lg{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--white);padding:8px 18px;border-radius:30px;font-family:'Archivo',sans-serif;font-weight:900;font-size:1.3rem;margin-bottom:14px;}
.offerta-logo{height:72px;width:auto;margin-bottom:16px;}
.offerta-hero-content h1{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:900;color:var(--white);}
.offerta-hero-content .audience-tag-lg{display:inline-block;margin-top:10px;background:rgba(255,255,255,.15);padding:5px 12px;border-radius:20px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;}
.offerta-no-media{padding:56px 0 30px;}
.offerta-no-media .container{max-width:820px;}

/* ==========================================================
   COMPONENTI LANDING PAGE (Chi siamo, Come affiliarsi, Guida al noleggio)
   ========================================================== */
.lp-hero{position:relative;background:var(--black);color:var(--white);overflow:hidden;padding:64px 0 90px;}
.lp-hero .breadcrumb{color:#D8D6D2;padding-top:0;margin-bottom:18px;}
.lp-hero .breadcrumb a{color:#D8D6D2;}
.lp-hero .breadcrumb .sep{color:var(--gray-700);margin:0 6px;}
.lp-hero h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:900;max-width:760px;}
.lp-hero h1 span{color:var(--orange);}
.lp-hero .lead{margin-top:18px;font-size:1.08rem;color:#D8D6D2;max-width:600px;line-height:1.6;}
.lp-hero .hero-cta{margin-top:30px;}
.lp-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:var(--white);clip-path:polygon(0 100%, 100% 100%, 100% 45%, 0 100%);}
.lp-stats{position:relative;z-index:2;display:flex;gap:0;margin-top:40px;flex-wrap:wrap;}
.lp-stats .stat{padding-right:40px;margin-right:40px;border-right:1px solid rgba(255,255,255,.16);}
.lp-stats .stat:last-child{border-right:0;}
.lp-stats .stat strong{display:flex;align-items:baseline;gap:2px;font-family:'Archivo',sans-serif;font-size:2.2rem;font-weight:900;color:var(--white);}
.lp-stats .stat span{display:block;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--gray-400);margin-top:4px;}
@media (max-width:700px){.lp-stats .stat{padding-right:24px;margin-right:24px;}.lp-stats .stat strong{font-size:1.6rem;}}

/* Timeline (Chi siamo) */
.lp-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gray-200);border:1px solid var(--gray-200);}
.lp-timeline-item{background:var(--white);padding:32px 26px;position:relative;}
.lp-timeline-item .year{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;color:var(--orange);margin-bottom:10px;}
.lp-timeline-item h4{font-size:1.02rem;font-weight:800;margin-bottom:8px;}
.lp-timeline-item p{font-size:.88rem;color:var(--gray-700);line-height:1.5;margin:0;}
@media (max-width:760px){.lp-timeline{grid-template-columns:1fr;}}

/* Stepper interattivo (riusa .tab-btn/.tab-panel già presenti in single-prodotto.php) */
.lp-stepper-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0;border-bottom:2px solid var(--gray-200);}
.lp-stepper-nav .tab-btn{display:flex;align-items:center;gap:10px;}
.lp-stepper-nav .tab-btn .num{width:26px;height:26px;border-radius:50%;background:var(--gray-100);color:var(--gray-700);display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:800;font-size:.8rem;flex-shrink:0;}
.lp-stepper-nav .tab-btn.active .num{background:var(--orange);color:var(--white);}
.lp-stepper-panel{padding:32px 0;max-width:640px;}
.lp-stepper-panel h4{font-size:1.2rem;font-weight:800;margin-bottom:10px;}
.lp-stepper-panel p{color:var(--gray-700);font-size:.96rem;line-height:1.65;}

/* Accordion (FAQ) */
.accordion{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;}
.accordion-item{border-bottom:1px solid var(--gray-200);}
.accordion-item:last-child{border-bottom:0;}
.accordion-trigger{width:100%;text-align:left;background:var(--white);border:0;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Archivo',sans-serif;font-weight:800;font-size:.98rem;color:var(--ink);}
.accordion-trigger:hover{background:var(--gray-100);}
.accordion-trigger i{color:var(--orange);transition:transform .2s ease;flex-shrink:0;}
.accordion-item.open .accordion-trigger i{transform:rotate(180deg);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.accordion-item.open .accordion-panel{max-height:400px;}
.accordion-panel-inner{padding:0 22px 20px;color:var(--gray-700);font-size:.92rem;line-height:1.6;}

/* Checklist a card (documenti, requisiti, cosa include) */
.lp-check-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:28px;}
.lp-check-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.lp-check-list li{display:flex;gap:14px;align-items:flex-start;font-size:.95rem;color:var(--ink);}
.lp-check-list i{color:var(--green);font-size:1.1rem;margin-top:2px;flex-shrink:0;}

.lp-cta-band{background:var(--black);color:var(--white);border-radius:var(--radius);padding:44px;text-align:center;margin-top:20px;}
.lp-cta-band h3{font-size:1.5rem;font-weight:900;margin-bottom:12px;}
.lp-cta-band p{color:var(--gray-400);max-width:480px;margin:0 auto 24px;}

/* ==========================================================
   PAGINA SINGOLA SEDE
   ========================================================== */
.sede-hero{padding-bottom:50px;}
.sede-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start;}
.sede-cover{position:relative;background:var(--orange-tint);border-radius:var(--radius);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.sede-cover img{width:100%;height:100%;object-fit:cover;}
.sede-cover i{font-size:4.5rem;color:var(--orange);}
.sede-cover .open-badge{position:absolute;top:14px;left:14px;background:var(--green);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.05em;font-size:.78rem;padding:6px 12px;border-radius:20px;display:flex;align-items:center;gap:6px;}
.sede-cover .open-badge i{font-size:.5rem;color:var(--white);}
.sede-info .eyebrow{color:var(--orange);}
.sede-info h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:900;margin-top:6px;}
.sede-rating{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.9rem;color:var(--gray-700);}
.sede-rating .stars{color:var(--orange);letter-spacing:1px;}
.sede-contact-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px;}
.sede-contact-list li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;}
.sede-contact-list i{width:18px;color:var(--orange);margin-top:3px;}
.sede-contact-list a:hover{color:var(--orange);}
.sede-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.chip{background:var(--gray-100);border:1px solid var(--gray-200);padding:6px 12px;border-radius:20px;font-size:.78rem;font-weight:600;color:var(--gray-700);}

.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:start;}
.desc-block h2{font-size:1.3rem;font-weight:900;margin-bottom:12px;}
.desc-block p{color:var(--gray-700);line-height:1.7;font-size:.96rem;}
.orari-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;}
.orari-card h3{padding:16px 20px;font-size:.92rem;font-weight:800;border-bottom:1px solid var(--gray-200);}
.orari-row{display:flex;justify-content:space-between;padding:11px 20px;font-size:.86rem;border-bottom:1px solid var(--gray-200);}
.orari-row:last-child{border-bottom:0;}
.orari-row.today{background:var(--orange-tint);font-weight:700;}
.orari-row .closed{color:var(--gray-400);}
.map-box{margin-top:20px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gray-400);text-align:center;padding:16px;}
.map-box i{font-size:2rem;color:var(--orange);}
.map-box a{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700;color:var(--black);}
@media (max-width:900px){.sede-hero-grid,.two-col{grid-template-columns:1fr;}}

.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.other-card{border:1px solid var(--gray-200);border-radius:var(--radius);padding:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.other-card .o-name{font-weight:800;font-size:.94rem;}
.other-card .o-city{font-size:.8rem;color:var(--gray-700);}
.other-card i{color:var(--orange);}
@media (max-width:900px){.other-grid{grid-template-columns:1fr;}}

/* Usato: badge condizione + sede annuncio (mancanti dalla libreria condivisa) */
.used-cond-badge{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:700;padding:4px 8px;border-radius:2px;color:var(--green);}
.used-sede{font-size:.76rem;color:var(--gray-700);margin-top:4px;display:flex;align-items:center;gap:5px;}
.used-sede i{color:var(--orange);font-size:.7rem;}
.price-inputs{display:flex;gap:8px;align-items:center;}
.price-inputs input{width:100%;padding:9px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.84rem;}
select.fselect{width:100%;padding:9px 10px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;}

/* ==========================================================
   AREA RISERVATA — login, shell dashboard, componenti
   ========================================================== */
.ar-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-100);padding:24px;}
.ar-login-card{background:var(--white);border-radius:6px;padding:36px;width:100%;max-width:380px;box-shadow:0 20px 44px rgba(0,0,0,.12);}
.ar-login-logo{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;margin-bottom:6px;}
.ar-login-sub{color:var(--gray-700);font-size:.88rem;margin:0 0 22px;}
.ar-login-error{background:#FDECEA;color:#B3261E;border-radius:4px;padding:10px 14px;font-size:.84rem;margin-bottom:16px;}
.ar-login-card form{display:grid;gap:12px;}
.ar-login-card label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--gray-400);}
.ar-login-card input{padding:11px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.9rem;}
.ar-login-card button{margin-top:6px;}
.ar-login-back{display:block;text-align:center;margin-top:16px;font-size:.82rem;color:var(--gray-700);}
.ar-login-back:hover{color:var(--orange);}

.ar-notice{background:var(--green-tint,#E7F3E8);color:var(--green);border-radius:4px;padding:12px 16px;font-size:.86rem;margin-bottom:20px;font-weight:600;}
.ar-notice-warn{background:var(--orange-tint);color:var(--orange-dark);}

.dash-shell{display:flex;min-height:100vh;}
.dash-sidebar{width:250px;flex-shrink:0;background:var(--black);color:#D8D6D2;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.sb-logo{padding:22px 22px 18px;display:flex;align-items:baseline;gap:2px;font-family:'Archivo',sans-serif;font-weight:900;font-size:1.4rem;}
.sb-logo .lo-accent{color:var(--orange);}
.sb-scope{padding:0 22px 18px;font-size:.76rem;color:var(--gray-400);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:14px;}
.sb-scope strong{display:block;color:var(--white);font-size:.88rem;margin-top:2px;}
.sb-nav{list-style:none;margin:0;padding:0 12px;display:flex;flex-direction:column;gap:2px;flex:1;}
.sb-nav .sb-group{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:var(--gray-400);padding:16px 10px 6px;}
.sb-nav .nav-btn{width:100%;text-align:left;background:none;border:0;color:#D8D6D2;padding:11px 12px;border-radius:var(--radius);font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:10px;}
.sb-nav .nav-btn i{width:16px;color:var(--gray-400);}
.sb-nav .nav-btn:hover{background:rgba(255,255,255,.06);}
.sb-nav .nav-btn.active{background:var(--orange);color:var(--white);}
.sb-nav .nav-btn.active i{color:var(--white);}
.sb-foot{padding:16px 22px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:var(--gray-400);}

.dash-main{flex:1;min-width:0;}
.dash-topbar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.topbar-title{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.15rem;}
.user-chip{display:flex;align-items:center;gap:10px;}
.user-chip .avatar{width:34px;height:34px;border-radius:50%;background:var(--orange);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:800;font-size:.85rem;}
.user-chip .u-name{font-size:.84rem;font-weight:700;line-height:1.2;}
.user-chip .u-role{font-size:.72rem;color:var(--gray-400);}

.dash-content{padding:28px;}
.panel-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:14px;flex-wrap:wrap;}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;}
.kpi-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;}
.kpi-card .eyebrow{color:var(--gray-400);}
.kpi-card strong{display:block;font-family:'Archivo',sans-serif;font-size:1.9rem;font-weight:900;margin-top:6px;}
.kpi-card .delta{font-size:.76rem;color:var(--green);font-weight:600;margin-top:4px;}
@media (max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr);}}

.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;margin-bottom:22px;}
.card-head{padding:16px 20px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.card-head h3{font-size:.98rem;font-weight:800;}
.dash-content table{width:100%;border-collapse:collapse;}
.dash-content table th{background:var(--gray-100);text-align:left;padding:11px 20px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;color:var(--gray-700);}
.dash-content table td{padding:13px 20px;font-size:.86rem;border-top:1px solid var(--gray-200);}
.status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.74rem;font-weight:700;}
.status.new{background:var(--orange-tint);color:var(--orange-dark);}
.status.progress{background:#FBF3DC;color:#B8860B;}
.status.done{background:#E7F3E8;color:var(--green);}
.status.pending{background:var(--gray-100);color:var(--gray-700);}
.table-scroll{overflow-x:auto;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px;}
.form-grid .full{grid-column:1/-1;}
.form-grid label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;color:var(--gray-400);display:block;margin-bottom:6px;}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:11px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.88rem;}
.form-grid textarea{min-height:90px;resize:vertical;}
.form-actions{padding:0 22px 22px;display:flex;gap:10px;}
.vetrina-prodotti-list{max-height:360px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.report-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:22px;flex-wrap:wrap;}
.report-toolbar select{padding:10px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.86rem;background:var(--white);min-width:180px;}

/* ==========================================================
   EXPORT PDF (stampa da browser — "Salva come PDF")
   ========================================================== */
.pdf-report{max-width:900px;margin:0 auto;padding:40px 24px;font-family:'Inter',sans-serif;color:var(--ink);}
.pdf-header{display:flex;align-items:center;gap:20px;border-bottom:3px solid var(--orange);padding-bottom:20px;margin-bottom:28px;}
.pdf-logo{height:36px;width:auto;}
.pdf-header h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.4rem;}
.pdf-header p{margin:2px 0 0;font-size:.9rem;color:var(--gray-700);}
.pdf-header .pdf-date{font-size:.78rem;color:var(--gray-400);}
.pdf-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;}
.pdf-kpi{border:1px solid var(--gray-200);border-radius:4px;padding:18px;text-align:center;}
.pdf-kpi span{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-size:1.8rem;color:var(--orange);margin-bottom:4px;}
.pdf-table{width:100%;border-collapse:collapse;margin-bottom:20px;}
.pdf-table th,.pdf-table td{border:1px solid var(--gray-200);padding:9px 12px;font-size:.86rem;text-align:left;}
.pdf-table th{background:var(--gray-100);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;}
.pdf-footnote{font-size:.76rem;color:var(--gray-400);}
@media print{
  .no-print{display:none !important;}
  body{background:var(--white);}
  .pdf-report{padding:0;max-width:none;}
}
.vetrina-cat-group{grid-column:1/-1;border-top:1px solid var(--gray-200);padding-top:10px;margin-top:10px;}
.vetrina-cat-group:first-child{border-top:0;margin-top:0;padding-top:0;}
.vetrina-cat-group h5{grid-column:1/-1;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;color:var(--orange);margin-bottom:6px;}
.vetrina-cat-group .filter-check{padding:5px 0;}
@media (max-width:600px){.vetrina-prodotti-list{grid-template-columns:1fr;}}
@media (max-width:700px){.form-grid{grid-template-columns:1fr;}}

.used-mgmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.used-mgmt-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;}
.used-mgmt-media{aspect-ratio:16/10;background:var(--orange-tint);display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:2rem;position:relative;overflow:hidden;}
.used-mgmt-media img{width:100%;height:100%;object-fit:cover;}
.used-mgmt-body{padding:14px 16px;}
.used-mgmt-body h4{font-size:.92rem;font-weight:800;}
.used-mgmt-body .price{font-family:'Archivo',sans-serif;font-weight:900;margin-top:4px;}
.used-mgmt-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--gray-200);}
@media (max-width:900px){.used-mgmt-grid{grid-template-columns:repeat(2,1fr);}}

.promo-mgmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.promo-mgmt-card{background:var(--white);border:2px dashed var(--gray-200);border-radius:var(--radius);padding:20px;}
.promo-mgmt-card.is-live{border-color:var(--orange);}
.promo-pct{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;color:var(--orange);}
.promo-mgmt-card h4{font-size:.94rem;font-weight:800;margin-top:2px;}
.promo-mgmt-card p{font-size:.8rem;color:var(--gray-700);margin:8px 0 0;}
@media (max-width:900px){.promo-mgmt-grid,.used-mgmt-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.promo-mgmt-grid,.used-mgmt-grid{grid-template-columns:1fr;}}

.btn-sm{padding:7px 12px;font-size:.72rem;}
.icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--gray-200);background:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;color:var(--gray-700);}
.icon-btn:hover{background:var(--gray-100);}

.burger-mob{display:none;background:none;border:0;font-size:1.2rem;margin-right:8px;color:var(--ink);}
@media (max-width:860px){
  .dash-sidebar{position:fixed;left:-260px;z-index:80;transition:left .2s ease;}
  .dash-sidebar.open{left:0;}
  .burger-mob{display:inline-flex;}
  .dash-content{padding:18px;}
  .kpi-grid{grid-template-columns:1fr 1fr;}
}

/* ==========================================================
   CATALOGO — filtri, toolbar, paginazione
   ========================================================== */
.page-head{padding:8px 0 26px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.page-head h1{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:900;}
.page-head .count{color:var(--gray-700);font-size:.9rem;margin-top:6px;}

.catalog-shell{display:flex;gap:32px;align-items:flex-start;padding-bottom:60px;}
.filters{width:250px;flex-shrink:0;position:sticky;top:100px;}
.filter-group{border-bottom:1px solid var(--gray-200);padding:18px 0;}
.filter-group:first-child{padding-top:0;}
.filter-group h4{font-size:.82rem;font-weight:800;margin-bottom:12px;text-transform:uppercase;letter-spacing:.03em;}
.filter-check{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.86rem;padding:6px 0;color:var(--ink);}
.filter-check span{display:flex;align-items:center;gap:9px;}
.filter-check input[type=checkbox]{accent-color:var(--orange);width:15px;height:15px;}
.filter-check .n{color:var(--gray-400);font-size:.76rem;}
.filter-clear{font-size:.8rem;color:var(--orange);font-weight:600;margin-top:6px;display:inline-block;}

.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.filter-chip{background:var(--black);color:var(--white);padding:6px 10px 6px 12px;border-radius:20px;font-size:.78rem;display:flex;align-items:center;gap:8px;}
.filter-chip a,.filter-chip button{background:none;border:0;color:var(--white);opacity:.7;font-size:.7rem;text-decoration:none;}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:14px;flex-wrap:wrap;}
.toolbar select{padding:9px 12px;border:1px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:.84rem;}

/* Paginazione: stile applicato anche alla classe nativa .page-numbers di paginate_links() */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap;list-style:none;padding:0;}
.pagination .page-numbers{min-width:36px;height:36px;padding:0 6px;border:1px solid var(--gray-200);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.84rem;background:var(--white);}
.pagination .page-numbers.current{background:var(--orange);color:var(--white);border-color:var(--orange);}
.pagination li{display:flex;}

.filters-mobile-btn{display:none;}
@media (max-width:900px){
  .filters{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white);z-index:90;padding:20px;overflow:auto;width:auto;}
  .filters.open{display:block;}
  .filters-mobile-btn{display:inline-flex;}
}
