:root{
  --c-green:#2f5233;
  --c-green-light:#5c9457;
  --c-dark:#1c1c1c;
  --c-bg:#f5f3ef;
  --c-bg-soft:#f7f6f3;
  --c-bg-soft2:#f2f0eb;
  --c-placeholder-bg:#eee5da;
  --c-placeholder-icon:#b8a58f;
  --c-border:#eee;
  --c-muted:#999;
  --font-heading:'Oswald',sans-serif;
  --font-body:'Inter',sans-serif;

  /* ---- Barra delle aree (ARMERIA / ABBIGLIAMENTO / OCCASIONI...) e footer ----
     Colore di fondo unico per entrambe. Alternative pronte:
       var(--c-placeholder-icon) beige-sabbia piu' scuro (icona segnaposto)
       var(--c-dark)            nero originale: in quel caso usare i testi
                                chiari indicati nei commenti qui sotto      */
  --c-barre:var(--c-placeholder-bg);
  --c-nav-bg:var(--c-barre);
  --c-nav-testo:#2b2b2b;              /* sul nero: #ccc */
  --c-nav-testo-hover:#000;           /* sul nero: #fff */
  --c-footer-bg:var(--c-barre);
  --c-footer-testo:#2f2f2f;           /* sul nero: #999 */
  --c-footer-titoli:var(--c-dark);    /* sul nero: #fff */
  --c-footer-hover:#000;              /* sul nero: #fff */
  --c-footer-bordi:rgba(0,0,0,.18);   /* sul nero: #333 */
  --c-footer-logo-1:var(--c-dark);    /* sul nero: #fff */
  --c-footer-logo-2:var(--c-green);   /* sul nero: var(--c-green-light) */
}
body{background:var(--c-bg);font-family:var(--font-body);color:#333;}
a{color:var(--c-green);text-decoration:none;}
a:hover{color:var(--c-dark);}
h1,h2,h3,h4,.font-heading{font-family:var(--font-heading);font-weight:700;color:var(--c-dark);}
.text-brand{color:var(--c-green)!important;}
.bg-brand{background:var(--c-green)!important;}
.bg-dark-brand{background:var(--c-dark)!important;}
.bg-soft{background:var(--c-bg-soft)!important;}
.bg-soft2{background:var(--c-bg-soft2)!important;}

/* Logo */
.brand-logo{display:flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;}
.brand-logo svg{flex-shrink:0;}
.brand-logo .brand-text{display:flex;flex-direction:column;line-height:1.12;font-family:var(--font-heading);font-weight:700;font-size:16px;}
.brand-logo .brand-text span:first-child{color:var(--c-dark);}
.brand-logo .brand-text span:last-child{color:var(--c-green);}
.brand-logo.brand-logo-sm .brand-text{font-size:13px;}
.brand-logo.brand-logo-footer .brand-text{font-size:15px;}
.brand-logo.brand-logo-footer svg{color:var(--c-footer-logo-2);}
.brand-logo.brand-logo-footer .brand-text span:first-child{color:var(--c-footer-logo-1);}
.brand-logo.brand-logo-footer .brand-text span:last-child{color:var(--c-footer-logo-2);}

/* Top utility bar */
.topbar{background:var(--c-dark);color:#cfcfcf;font-size:12px;padding:6px 60px;justify-content:space-between;}
.topbar a{color:#cfcfcf;}
.topbar a:hover{color:#fff;}
.topbar .topbar-item i{margin-right:6px;}

/* Search */
.search-pill{background:var(--c-bg-soft2);border-radius:30px;padding:10px 20px;}
.search-pill input{background:transparent;border:0;outline:0;width:100%;font-size:14px;color:#333;}
.search-pill input::placeholder{color:#999;}
/* Pulsante "Cerca" dentro la pillola: alternativa al tasto Invio */
.search-pill:has(.search-btn){padding:5px 5px 5px 20px;}
.search-btn{flex-shrink:0;margin-left:8px;border:0;border-radius:30px;background:var(--c-green);color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px 18px;display:flex;align-items:center;transition:background .2s;}
.search-btn:hover,.search-btn:focus-visible{background:#254429;}
.search-btn.search-btn-icona{width:36px;height:36px;padding:0;justify-content:center;font-size:14px;}
/* Ricerca sotto la testata, solo mobile: continua la barra bianca del logo */
.ricerca-mobile{background:#fff;padding:0 16px 12px;border-bottom:1px solid var(--c-border);}
.ricerca-mobile .search-pill input{font-size:16px;}   /* sotto i 16px iOS fa zoom al tocco */
@media (max-width:991.98px){
  header > .navbar{border-bottom:0!important;padding-bottom:10px!important;}
}

/* Main nav (categories) */
/* z-index sopra la sidebar sticky di elenco.php (.sticky-top = 1020), altrimenti la copre il mega-menu */
.main-nav{background:var(--c-nav-bg);position:relative;z-index:1030;}
/* ...e la barra bianca (logo, ricerca, utente) un gradino sopra, perche' il dropdown utente scende sul menu */
header > .navbar{z-index:1031;}
.main-nav .nav-link{color:var(--c-nav-testo);font-size:14px;font-weight:600;padding:16px 17px;}
.main-nav .nav-link.active{color:var(--c-nav-testo-hover);border-bottom:3px solid var(--c-green);}
.main-nav .nav-link:hover,.main-nav .nav-link:focus,.main-nav .nav-link.show{color:var(--c-nav-testo-hover);}

/* Mobile offcanvas menu list */
.mobile-menu .list-group-item{border:0;border-bottom:1px solid #f0f0f0;padding:14px 4px;font-weight:600;color:var(--c-dark);}
.mobile-menu .list-group-item.active-cat{color:var(--c-green);font-weight:700;background:transparent;}

/* Category pill icons */
.cat-icon{width:52px;height:52px;border-radius:50%;background:var(--c-bg-soft2);color:var(--c-green);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}

/* Category cards (home, "Esplora per categoria") */
.cat-card{display:flex;align-items:center;gap:14px;height:100%;padding:16px 18px;background:#fff;border:1px solid var(--c-border);border-radius:10px;color:var(--c-dark);transition:box-shadow .2s,border-color .2s,transform .2s;}
.cat-card:hover{color:var(--c-dark);border-color:var(--c-green);box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);}
.cat-card .cat-icon{transition:background .2s,color .2s;}
.cat-card:hover .cat-icon{background:var(--c-green);color:#fff;}
.cat-card-txt{flex:1;min-width:0;}
.cat-card-nome{font-size:14px;font-weight:600;line-height:1.3;}
.cat-card-num{font-size:12px;color:var(--c-muted);margin-top:2px;}
.cat-card-freccia{font-size:12px;color:var(--c-green);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;}
.cat-card:hover .cat-card-freccia{opacity:1;transform:none;}

/* Product placeholders */
.ph-box{background:var(--c-placeholder-bg);color:var(--c-placeholder-icon);display:flex;align-items:center;justify-content:center;}

/* Product card */
.product-card{border:1px solid var(--c-border);border-radius:8px;overflow:hidden;background:#fff;transition:box-shadow .2s;}
.product-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);}
.product-card .ph-box{height:150px;font-size:38px;}
.product-card .p-brand{font-size:11px;color:var(--c-muted);font-weight:600;margin-bottom:4px;}
.product-card .p-name{font-size:13px;color:#333;font-weight:600;min-height:34px;}
.product-card .p-price{color:var(--c-green);font-weight:700;font-size:15px;}
.badge-new{background:var(--c-green);}
.badge-sale{background:#8a6d2f;}
.badge-used{background:#4a4a4a;}

/* Buttons */
.btn-brand{background:var(--c-green);border-color:var(--c-green);color:#fff;font-weight:600;}
.btn-brand:hover{background:#254429;border-color:#254429;color:#fff;}
.btn-outline-brand{border:1px solid var(--c-green);color:var(--c-green);font-weight:600;}
.btn-outline-brand:hover{background:var(--c-green);color:#fff;}

/* Hero slider */
/*.hero-slide{height:780px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;}*/
.hero-slide{aspect-ratio:1850/800;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;}

.hero-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.75),rgba(10,10,10,.15));}
.hero-slide .hero-content{position:relative;z-index:2;color:#fff;max-width:620px;padding:0 60px;}
/* Testi dello slider: dimensioni fluide, cosi' su smartphone non escono dal riquadro */
.hero-titolo{font-family:var(--font-heading);font-weight:600;color:#fff;font-size:clamp(1.5rem,4.2vw,3rem);line-height:1.1;margin-bottom:.4em;}
.hero-sotto{color:rgba(255,255,255,.75);font-size:clamp(.85rem,1.4vw,1.15rem);margin-bottom:1.4em;}
.hero-btn{font-size:clamp(.8rem,1.2vw,1.05rem);padding:.6em 1.3em;}
@media (max-width:767.98px){
  /* Piu' alto del formato desktop (1850/800), altrimenti a 390px resta alto ~170px */
  .hero-slide{aspect-ratio:4/3;align-items:flex-end;}
  .hero-slide::before{background:linear-gradient(180deg,rgba(10,10,10,.1) 20%,rgba(10,10,10,.8));}
  .hero-slide .hero-content{max-width:none;padding:0 20px 44px;}  /* spazio per gli indicatori */
  .hero-titolo,.hero-sotto{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
  .hero-titolo{-webkit-line-clamp:2;}
  .hero-sotto{-webkit-line-clamp:2;margin-bottom:.9em;}
  .hero-btn{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #heroCarousel .carousel-indicators{margin-bottom:.6rem;}
}
.hero-badge{display:inline-block;background:var(--c-green);color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;padding:6px 14px;border-radius:3px;margin-bottom:16px;}

/* Perks / shipping cards */
.perk-card{position:relative;border-radius:10px;overflow:hidden;height:190px;background-size:cover;background-position:center;color:#fff;}
.perk-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,15,.25),rgba(10,18,10,.85));}
.perk-card .perk-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;}
.perk-icon{width:44px;height:44px;border-radius:50%;background:var(--c-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;}

/* Marquee brands */
.brand-marquee{overflow:hidden;white-space:nowrap;}
.brand-marquee .track{display:inline-flex;gap:60px;animation:marquee 28s linear infinite;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* Footer */
.site-footer{background:var(--c-footer-bg);color:var(--c-footer-testo);padding:56px 60px 30px;}
.site-footer h6{font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:1px;color:var(--c-footer-titoli);margin-bottom:16px;}
.site-footer a{color:var(--c-footer-testo);}
.site-footer a:hover{color:var(--c-footer-hover);}
.site-footer .footer-divider{border-top:1px solid var(--c-footer-bordi);}
.site-footer .footer-sottotitolo{font-size:12px;color:var(--c-footer-testo);opacity:.8;}
.site-footer .footer-tag{color:var(--c-footer-testo);border:1px solid var(--c-footer-bordi);}
.site-footer .footer-tag:hover{color:var(--c-footer-hover);border-color:var(--c-footer-testo);}

/* Breadcrumb */
.breadcrumb-bar{padding:14px 60px;border-bottom:1px solid var(--c-border);font-size:12px;color:#888;}
.breadcrumb-bar a{color:#888;}
.breadcrumb-bar .current{color:var(--c-green);font-weight:600;}

/* Pagination */
.pagination{
  --bs-pagination-color:var(--c-green);
  --bs-pagination-hover-color:#fff;
  --bs-pagination-hover-bg:var(--c-green);
  --bs-pagination-hover-border-color:var(--c-green);
  --bs-pagination-focus-color:var(--c-green);
  --bs-pagination-focus-box-shadow:0 0 0 .2rem rgba(47,82,51,.25);
  --bs-pagination-active-bg:var(--c-green);
  --bs-pagination-active-border-color:var(--c-green);
  --bs-pagination-disabled-color:#aaa;
  --bs-pagination-disabled-bg:#fff;
}
.pagination .page-link{font-weight:600;}

/* Qty stepper */
.qty-stepper{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:6px;overflow:hidden;}
.qty-stepper button{width:38px;height:42px;border:0;background:#fff;color:#555;}
.qty-stepper .qty-val{width:44px;height:42px;display:flex;align-items:center;justify-content:center;font-weight:600;border-left:1px solid #eee;border-right:1px solid #eee;}

/* Tabs (product / login) */
.brand-tabs .nav-link{color:var(--c-muted);font-weight:600;border:0;border-bottom:3px solid transparent;}
.brand-tabs .nav-link.active{color:var(--c-green);border-bottom-color:var(--c-green);background:transparent;}

/* Choice rows (shipping zone / payment) */
.choice-row{display:flex;align-items:center;gap:10px;border:1px solid #ddd;border-radius:8px;padding:13px 16px;cursor:pointer;}
.choice-row.selected{border-color:var(--c-green);background:#f2f7f1;}
.choice-row .dot{width:16px;height:16px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.choice-row.selected .dot{border-color:var(--c-green);}
.choice-row.selected .dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-green);}

/* Timeline (Azienda) */
.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--c-green);}
.timeline-line{width:2px;flex:1;background:#e2ded5;}

/* Value cards */
.value-card{text-align:center;padding:26px 18px;border:1px solid var(--c-border);border-radius:8px;}
.value-icon{width:52px;height:52px;border-radius:50%;background:#eef3ec;color:var(--c-green);display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 14px;}

/* Note prodotto (HTML dal gestionale, a volte con immagini incorporate) */
.prod-desc img{max-width:100%;height:auto;}

/* Avviso scorrevole (opzioni.bannertxt): striscia verde sotto la barra di ricerca */
.avviso-strip{background:var(--c-green);color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:7px 0;}
.avviso-marquee{overflow:hidden;white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.avviso-marquee .track{display:inline-flex;animation:marquee 20s linear infinite;}
.avviso-marquee .track span{padding-right:80px;}
.avviso-marquee:hover .track{animation-play-state:paused;}
@media (prefers-reduced-motion:reduce){
  .avviso-marquee .track{animation:none;}
  .avviso-marquee .track span{padding-right:0;overflow:hidden;text-overflow:ellipsis;}
  .avviso-marquee .track span[aria-hidden]{display:none;}
}

/* Lightbox foto prodotto (scheda.php) */
.zoomabile{cursor:zoom-in;}
.zoom-hint{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--c-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);pointer-events:none;transition:transform .2s;}
.zoomabile:hover .zoom-hint{transform:scale(1.1);}
.lightbox .modal-content{background:rgba(15,15,15,.95);border:0;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:zoom-out;}
.lightbox .lb-img{max-width:calc(100vw - 140px);max-height:calc(100vh - 80px);object-fit:contain;cursor:default;background:#fff;}
.lightbox .lb-btn{position:absolute;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.lightbox .lb-btn:hover{background:rgba(255,255,255,.25);}
.lightbox .lb-chiudi{top:16px;right:16px;}
.lightbox .lb-prev{left:16px;top:50%;transform:translateY(-50%);}
.lightbox .lb-next{right:16px;top:50%;transform:translateY(-50%);}
.lightbox .lb-conta{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:#ccc;font-size:13px;}
@media (max-width:575.98px){
  .lightbox .lb-img{max-width:100vw;max-height:calc(100vh - 140px);}
  .lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:16px;transform:none;}
}

/* "Vedi tutto" in fondo allo slider (solo desktop): invita a scorrere alle categorie */
.hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;flex-direction:column;align-items:center;gap:6px;color:#fff;text-decoration:none;opacity:.85;transition:opacity .2s;}
.hero-scroll:hover{color:#fff;opacity:1;}
.hero-scroll-mouse{width:24px;height:38px;border:2px solid #fff;border-radius:14px;display:flex;justify-content:center;padding-top:6px;}
.hero-scroll-mouse span{width:3px;height:8px;border-radius:2px;background:#fff;animation:hero-rotella 1.6s ease-in-out infinite;}
.hero-scroll-txt{font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:2px;}
.hero-scroll-freccia{font-size:12px;animation:hero-freccia 1.6s ease-in-out infinite;}
@keyframes hero-rotella{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(12px);opacity:0;}100%{transform:translateY(0);opacity:0;}}
@keyframes hero-freccia{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}
@media (min-width:992px){
  /* Gli indicatori delle slide lasciano il centro al "vedi tutto" */
  #heroCarousel .carousel-indicators{justify-content:flex-end;margin-right:60px;margin-left:auto;margin-bottom:1.5rem;}
}
@media (prefers-reduced-motion:reduce){
  .hero-scroll-mouse span,.hero-scroll-freccia{animation:none;}
}

/* Categorie in home: oltre le prime 12 compaiono con "Vedi altre" */
.cat-griglia:not(.cat-tutte) .cat-extra{display:none;}
.cat-griglia.cat-tutte .cat-extra{animation:cat-compari .3s ease-out both;}
@keyframes cat-compari{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.cat-toggle{background:none;border:0;padding:6px 4px;color:var(--c-green);font-weight:600;font-size:14px;border-bottom:1px solid transparent;transition:border-color .2s;}
.cat-toggle:hover{border-bottom-color:var(--c-green);}
.cat-toggle i{font-size:11px;transition:transform .2s;}
.cat-toggle[aria-expanded="true"] i{transform:rotate(180deg);}
@media (prefers-reduced-motion:reduce){ .cat-griglia.cat-tutte .cat-extra{animation:none;} }

/* Consenso privacy nei moduli (contatti.php) */
.privacy-check{font-size:12px;line-height:1.5;}
.privacy-check .form-check-input{margin-top:.15em;}
.privacy-check .form-check-input:checked{background-color:var(--c-green);border-color:var(--c-green);}
.privacy-check .form-check-input:focus{border-color:var(--c-green);box-shadow:0 0 0 .2rem rgba(47,82,51,.25);}

/* Guida all'acquisto (come-comprare.php) */
.guida-wrap{max-width:1000px;margin-inline:auto;}
.guida-passo{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:18px 10px;background:#fff;border:1px solid var(--c-border);border-radius:10px;color:var(--c-dark);text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;}
.guida-passo:hover{color:var(--c-dark);border-color:var(--c-green);box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);}
.guida-passo i{font-size:22px;color:var(--c-green);}
.guida-num{width:24px;height:24px;border-radius:50%;background:var(--c-green);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.guida-passo-txt{font-size:13px;font-weight:600;line-height:1.3;}
.guida-sez{padding:40px 0;border-top:1px solid #e6e2da;scroll-margin-top:20px;}
.guida-sez p,.guida-lista{color:#555;line-height:1.75;}
.guida-etich{font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:2px;color:var(--c-green);margin-bottom:4px;}
.guida-lista{padding-left:1.1rem;}
.guida-lista li{margin-bottom:6px;}
.guida-lista li::marker{color:var(--c-green);}
.guida-avviso{display:flex;gap:10px;align-items:flex-start;background:#f2f7f1;border-left:3px solid var(--c-green);border-radius:6px;padding:12px 14px;font-size:13px;color:#444;}
.guida-avviso i{color:var(--c-green);margin-top:3px;}
/* Anteprime: copie decorative degli elementi del sito, non cliccabili */
.guida-demo{background:var(--c-bg-soft2);border-radius:12px;padding:28px;pointer-events:none;user-select:none;}
.guida-demo .js-copia{pointer-events:auto;}
.guida-demo-tit{font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:1px;color:#777;margin-bottom:10px;}
.guida-demo .search-pill{background:#fff;padding:5px 5px 5px 20px;}
.guida-demo .choice-row{background:#fff;}
.guida-demo .choice-row.selected{background:#f2f7f1;}
.guida-chip{background:var(--c-dark);color:#ddd;font-size:12px;font-weight:600;padding:8px 14px;border-radius:6px;}
.guida-campo{background:#fff;border:1px solid #ddd;border-radius:6px;padding:9px 12px;font-size:13px;color:#999;margin-bottom:10px;}
.guida-paga{height:100%;background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:20px;}
.guida-paga > i{font-size:22px;color:var(--c-green);margin-bottom:10px;display:block;}
.guida-area{display:flex;gap:14px;align-items:flex-start;height:100%;background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:16px 18px;font-size:14px;}
.guida-area > i{font-size:18px;color:var(--c-green);margin-top:3px;}
.guida-faq .accordion-button{font-weight:600;font-size:14px;}
.guida-faq .accordion-button:not(.collapsed){color:var(--c-green);background:#f2f7f1;box-shadow:none;}
.guida-faq .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(47,82,51,.25);}
.guida-aiuto{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;background:var(--c-dark);color:#ccc;border-radius:12px;padding:24px 28px;margin-top:20px;}

/* Cuore della lista desideri sulle anteprime prodotto (cuore_wishlist, stile overlay).
   font-size esplicito: altrimenti eredita i 38px dell'icona segnaposto di .ph-box. */
.wish-overlay{width:28px;height:28px;font-size:14px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:transform .15s;}
.wish-overlay:hover{transform:scale(1.1);}
