/* ================================================================
   TML LAVIA — CSS STANDALONE v4 — ZERO dipendenze
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif!important;background:#fff!important;color:#111!important;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0!important;padding:0!important}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button{cursor:pointer;font-family:inherit}

/* Annulla qualsiasi reset da plugin/temi */
#page,#content,#primary,#main,.site,.site-content,
.elementor-section-wrap,.e-con,.elementor-container,
.elementor-inner,.elementor-widget-wrap{
  margin:0!important;padding:0!important;max-width:none!important;width:100%!important;
}
.elementor-location-header,.elementor-location-footer{display:none!important}
.woocommerce-page .woocommerce,.woocommerce{padding:0!important;margin:0!important;max-width:100%!important}

/* Admin bar offset */
body.admin-bar .tml-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .tml-header{top:46px}}

:root{
  --grad:linear-gradient(135deg,#fab41e 0%,#e8881a 45%,#cb4826 100%);
  --blue:#264a9a;--dark:#0e0e0e;--dark2:#1a1a1a;
  --grey:#888;--light:#f5f5f5;--border:#e8e8e8;
  --shadow-grad:0 8px 32px rgba(203,72,38,.35);
  --shadow-card:0 4px 24px rgba(0,0,0,.08);
  --radius:12px;--radius-pill:30px;--max-w:1400px;
}

/* ── CAMPAIGN BAR ── */
.tml-campaign{background:var(--dark);padding:10px 40px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.7);flex-wrap:wrap;width:100%}
.tml-campaign .hot{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.tml-campaign .sep{color:rgba(255,255,255,.15)}
.tml-campaign a{color:rgba(255,255,255,.7);transition:color .2s}
.tml-campaign a:hover{color:#fff}

/* ── HEADER ── */
.tml-header{position:sticky!important;top:0!important;z-index:9000!important;background:#0e0e0e!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 2px 20px rgba(0,0,0,.3)!important;width:100%!important;transition:background .3s,border-color .3s!important}
.tml-header-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px;height:72px;display:flex;align-items:center;gap:32px;width:100%}
.tml-logo{flex-shrink:0;display:block}
.tml-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.tml-nav a{font-size:14px;font-weight:500;color:rgba(255,255,255,.8);padding:8px 14px;border-radius:6px;transition:all .2s;white-space:nowrap}
.tml-nav a:hover,.tml-nav a.current{color:#fff;background:rgba(255,255,255,.12)}
.tml-nav a.current{font-weight:600}
.tml-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.tml-btn-header{background:var(--grad);color:#fff;border:none;padding:10px 22px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;font-family:inherit;box-shadow:var(--shadow-grad);transition:opacity .2s,transform .2s;white-space:nowrap;display:inline-block}
.tml-btn-header:hover{opacity:.9;transform:translateY(-1px);color:#fff}
.tml-hamburger{display:none;background:none;border:none;padding:4px;color:rgba(255,255,255,.8)}
.tml-mobile-nav{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--border);padding:16px 20px}
.tml-mobile-nav.open{display:flex}
.tml-mobile-nav a{padding:13px 0;border-bottom:1px solid var(--border);font-size:15px;font-weight:500;color:#333}
.tml-mobile-nav a:last-child{border-bottom:none}
.tml-mobile-cta{margin-top:14px!important;text-align:center;background:var(--grad);color:#fff!important;padding:14px!important;border-radius:var(--radius-pill)!important;font-weight:700!important;border-bottom:none!important}

/* ── BOTTONI ── */
.tml-btn-grad{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:#fff;padding:16px 32px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;border:none;font-family:inherit;box-shadow:var(--shadow-grad);transition:opacity .2s,transform .2s;cursor:pointer}
.tml-btn-grad:hover{opacity:.9;transform:translateY(-2px);color:#fff}
.tml-btn-outline-white{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:16px 32px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;border:1.5px solid rgba(255,255,255,.4);transition:all .2s}
.tml-btn-outline-white:hover{background:#fff;color:#111}
.tml-btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--dark);padding:14px 28px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;transition:all .2s}
.tml-btn-white:hover{background:var(--dark);color:#fff}
.tml-btn-outline-dark{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#111;padding:14px 28px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;border:1.5px solid var(--border);transition:all .2s}
.tml-btn-outline-dark:hover{background:#111;color:#fff;border-color:#111}

/* ── GRAD DIVIDER ── */
.tml-grad-divider{height:3px;background:var(--grad);width:100%}

/* ── TRUST BAR ── */
.tml-trust{background:var(--light);border-bottom:1px solid var(--border)}
.tml-trust-inner{max-width:var(--max-w);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr)}
.tml-trust-item{display:flex;align-items:center;gap:16px;padding:28px 24px;border-right:1px solid var(--border)}
.tml-trust-item:last-child{border-right:none}
.tml-trust-icon{width:48px;height:48px;flex-shrink:0;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(203,72,38,.25)}
.tml-trust-icon svg{width:22px;height:22px;stroke:#fff;stroke-width:1.8;fill:none}
.tml-trust-title{font-size:14px;font-weight:600;color:#111;margin-bottom:2px}
.tml-trust-desc{font-size:12px;color:var(--grey)}

/* ── SEZIONI ── */
.tml-section{padding:80px 40px}
.tml-section-inner{max-width:var(--max-w);margin:0 auto}
.tml-bg-light{background:var(--light)}
.tml-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:20px}
.tml-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--grey);display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tml-label::before{content:'';display:inline-block;width:20px;height:2.5px;background:var(--grad);border-radius:2px;flex-shrink:0}
.tml-h2{font-size:clamp(26px,3vw,42px);font-weight:700;letter-spacing:-1px;color:#111;line-height:1.1}
.tml-view-all{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--blue);white-space:nowrap;transition:gap .2s}
.tml-view-all:hover{gap:10px;color:var(--blue)}

/* ── HERO ── */
.tml-hero{display:flex;min-height:calc(100vh - 120px);width:100%}
.tml-hero-left{flex:1;background:transparent;display:flex;flex-direction:column;justify-content:center;padding:80px 72px;position:relative}
.tml-hero-left::after{content:'';position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--grad);opacity:.5}
.tml-hero-right{width:40%;background:transparent;display:flex;flex-direction:column;justify-content:flex-end;padding:64px 52px;position:relative;overflow:hidden}
.tml-hero-right::before{content:'';position:absolute;inset:0;background:transparent;pointer-events:none}
.tml-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5)!important;margin-bottom:20px}
.tml-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--grad);box-shadow:0 0 10px rgba(250,180,30,.7);animation:blink 1.6s ease-in-out infinite;flex-shrink:0}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.tml-hero-h1{font-size:clamp(38px,4.5vw,72px)!important;font-weight:700!important;letter-spacing:-2px!important;line-height:1.05!important;color:#fff!important;margin-bottom:20px!important}
.tml-hero-h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tml-hero-sub{font-size:16px!important;font-weight:300!important;color:rgba(255,255,255,.65)!important;line-height:1.75!important;max-width:480px;margin-bottom:40px!important}
.tml-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.tml-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:8px 18px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.9)!important;margin-bottom:28px;backdrop-filter:blur(8px);position:relative;z-index:2}
.tml-hero-right-title{font-size:clamp(22px,2.5vw,38px)!important;font-weight:700!important;line-height:1.15!important;color:#fff!important;margin-bottom:10px;position:relative;z-index:2}
.tml-hero-right-sub{font-size:13px!important;color:rgba(255,255,255,.65)!important;line-height:1.9!important;margin-bottom:28px;position:relative;z-index:2}

/* ── LINEE PRODOTTO ── */
.tml-linee-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.tml-linee-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tml-linea-card{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;align-items:flex-end;transition:transform .4s cubic-bezier(.3,1,.3,1);text-decoration:none}
.tml-linea-card:hover{transform:translateY(-6px)}
.tall{min-height:340px}.small{min-height:200px}
.bg-legno{background:linear-gradient(135deg,#3d2b1f,#1a0f08)}
.bg-pellet{background:var(--grad)}
.bg-cippato{background:var(--blue)}
.bg-hybrid{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.bg-altro{background:linear-gradient(135deg,#5c4a2a,#2a1f0e)}
.tml-linea-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 55%,transparent 100%);z-index:1}
.tml-linea-content{position:relative;z-index:2;padding:22px;width:100%}
.tml-linea-tag{font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.5)!important;margin-bottom:5px;display:block}
.tml-linea-name{font-size:clamp(18px,1.8vw,26px);font-weight:700;color:#fff!important;letter-spacing:-.5px;line-height:1.2;margin-bottom:5px}
.tml-linea-kw{font-size:11.5px;color:rgba(255,255,255,.5)!important;margin-bottom:14px}
.tml-linea-cta{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#fff!important;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-pill);padding:8px 18px;backdrop-filter:blur(4px);transition:background .2s}
.tml-linea-cta:hover{background:rgba(255,255,255,.28)}

/* ── PRODOTTI WooCommerce ── */
/* Override completo default WooCommerce */
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important;list-style:none!important;padding:0!important;margin:0!important;float:none!important;clear:both!important}
ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:0!important;border:1.5px solid var(--border)!important;border-radius:var(--radius)!important;overflow:hidden!important;background:#fff!important;transition:border-color .2s,box-shadow .3s,transform .3s!important;clear:none!important}
ul.products li.product:hover{border-color:#ccc!important;box-shadow:0 10px 40px rgba(0,0,0,.1)!important;transform:translateY(-3px)!important}
ul.products li.product a.woocommerce-loop-product__link{display:block;aspect-ratio:3/4;overflow:hidden;background:#f8f8f8;display:flex;align-items:center;justify-content:center}
ul.products li.product img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;transition:transform .5s ease!important;padding:12px!important;box-sizing:border-box!important}
ul.products li.product:hover img{transform:scale(1.06)!important}
ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;font-weight:600!important;padding:12px 14px 4px!important;color:#111!important;font-family:'DM Sans',sans-serif!important;line-height:1.35!important;display:block!important}
ul.products li.product .price,ul.products li.product .star-rating{display:none!important}
.tml-atc-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:var(--grad)!important;color:#fff!important;padding:11px 14px!important;border-radius:var(--radius-pill)!important;font-size:13px!important;font-weight:600!important;margin:0 12px 14px!important;width:calc(100% - 24px)!important;text-decoration:none!important;font-family:'DM Sans',sans-serif!important;transition:opacity .2s!important}
.tml-atc-btn:hover{opacity:.9!important;color:#fff!important}
.compare-button,.woocommerce-compare-button,a.compare,.add-to-compare-link,.compare-link,[class*="compare"],.button.compare,.product-compare-button{display:none!important}
/* Badge sale */
span.onsale{background:var(--grad)!important;border-radius:var(--radius-pill)!important;min-height:auto!important;min-width:auto!important;padding:4px 12px!important;font-size:11px!important;font-weight:700!important;line-height:1.6!important}
/* Shop wrap */
.tml-shop-wrap{max-width:var(--max-w);margin:0 auto;padding:48px 40px}
.woocommerce-result-count,.woocommerce-ordering{font-family:'DM Sans',sans-serif;font-size:14px}
nav.woocommerce-pagination{text-align:center;margin-top:40px;padding-bottom:48px}
nav.woocommerce-pagination ul li span.current,
nav.woocommerce-pagination ul li a:hover{background:var(--grad)!important;border-color:transparent!important;color:#fff!important}

/* ── PROMO BANNER ── */
.tml-promo{background:var(--grad);padding:72px 40px;position:relative;overflow:hidden;width:100%}
.tml-promo::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border-radius:50%;background:rgba(0,0,0,.12);pointer-events:none}
.tml-promo-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}
.tml-promo-eyebrow{font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.6)!important;margin-bottom:14px}
.tml-promo-title{font-size:clamp(28px,3.5vw,52px)!important;font-weight:700!important;color:#fff!important;letter-spacing:-1.5px;line-height:1.1;margin-bottom:16px}
.tml-promo-sub{font-size:15px!important;color:rgba(255,255,255,.75)!important;line-height:1.75;margin-bottom:32px}
.tml-promo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.15);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.15)}
.tml-promo-stat{background:rgba(0,0,0,.2);padding:22px 20px;text-align:center;backdrop-filter:blur(8px)}
.tml-stat-val{display:block;font-size:32px;font-weight:800;color:#fff!important;line-height:1;margin-bottom:5px;letter-spacing:-1px}
.tml-stat-val sup{font-size:16px;font-weight:700;color:rgba(255,255,255,.75)!important}
.tml-stat-lbl{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)!important}

/* ── ABOUT ── */
.tml-about{display:grid;grid-template-columns:1fr 1fr;min-height:540px;width:100%}
.tml-about-img{background:var(--light);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:540px}
.tml-about-ph{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(0,0,0,.3);text-align:center;padding:0 24px;line-height:1.8}
.tml-about-text{padding:72px 64px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.tml-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:28px 0}
.tml-stat-cell{background:#fff;padding:20px 22px}
.tml-stat-cell .val{font-size:32px;font-weight:800;color:#111;line-height:1;margin-bottom:4px}
.tml-stat-cell .val sup{font-size:15px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.tml-stat-cell .lbl{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey)}
.tml-about-text p{font-size:15px;color:var(--grey);line-height:1.85}

/* ── DARK SECTION ── */
.tml-dark-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:540px;width:100%}
.tml-dark-text{background:var(--dark);padding:72px 64px;display:flex;flex-direction:column;justify-content:center}
.tml-dark-img{background:var(--dark2);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:540px}
.tml-dark-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.3)!important;margin-bottom:12px}
.tml-dark-h2{font-size:clamp(26px,3vw,42px)!important;font-weight:700!important;color:#fff!important;letter-spacing:-1px;line-height:1.1;margin-bottom:12px}
.tml-dark-sub{font-size:14px!important;color:rgba(255,255,255,.45)!important;line-height:1.8;margin-bottom:28px;max-width:400px}
.tml-dark-items{display:flex;flex-direction:column}
.tml-dark-item{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:16px}
.tml-dark-item:first-child{border-top:1px solid rgba(255,255,255,.08)}
.tml-dark-num{font-size:13px;font-weight:700;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;width:28px;flex-shrink:0;padding-top:2px}
.tml-dark-item-title{font-size:14px;font-weight:600;color:#fff!important;margin-bottom:4px}
.tml-dark-item-desc{font-size:13px;color:rgba(255,255,255,.45)!important;line-height:1.65}

/* ── CTA GRADIENTE ── */
.tml-cta{background:var(--grad);padding:96px 40px;position:relative;overflow:hidden;width:100%}
.tml-cta::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.tml-cta-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}
.tml-cta-title{font-size:clamp(28px,4vw,56px)!important;font-weight:700!important;color:#fff!important;letter-spacing:-2px;line-height:1.05;margin-bottom:12px}
.tml-cta-sub{font-size:15px!important;color:rgba(255,255,255,.75)!important;line-height:1.75}
.tml-cta-actions{display:flex;flex-direction:column;gap:12px}
.tml-cta-btn-w{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--dark);padding:18px 36px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px rgba(0,0,0,.2);width:100%}
.tml-cta-btn-w:hover{background:var(--dark);color:#fff}
.tml-cta-btn-o{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(0,0,0,.2);color:#fff!important;padding:18px 36px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;border:1.5px solid rgba(255,255,255,.4);transition:all .2s;width:100%;backdrop-filter:blur(8px)}
.tml-cta-btn-o:hover{background:rgba(255,255,255,.15)}
.tml-cta-contact{text-align:center;font-size:12px;color:rgba(255,255,255,.5)!important;line-height:2.1;margin-top:8px}
.tml-cta-contact a{color:rgba(255,255,255,.7)!important}

/* ── FOOTER ── */
.tml-footer{background:var(--dark);width:100%}
.tml-footer-bar{height:3px;background:var(--grad)}
.tml-footer-grid{max-width:var(--max-w);margin:0 auto;padding:64px 40px 48px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;border-bottom:1px solid rgba(255,255,255,.06)}
.tml-footer-logo{margin-bottom:16px}
.tml-footer-desc{font-size:13px;color:rgba(255,255,255,.35)!important;line-height:1.8;margin-bottom:16px;max-width:260px}
.tml-footer-contact{font-size:12.5px;color:rgba(255,255,255,.4)!important;line-height:2.2;margin-bottom:14px}
.tml-footer-contact a{color:rgba(255,255,255,.4)!important;transition:color .2s}
.tml-footer-contact a:hover{color:#fab41e!important}
.tml-footer-addr{font-size:12px;color:rgba(255,255,255,.25)!important;line-height:1.9;margin-bottom:16px}
.tml-footer-social{display:flex;gap:8px}
.tml-social-btn{width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:all .2s}
.tml-social-btn:hover{background:var(--grad);border-color:transparent}
.tml-social-btn svg{width:16px;height:16px;stroke:rgba(255,255,255,.5);stroke-width:1.8;fill:none}
.tml-footer-col h4{font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.3)!important;margin-bottom:20px}
.tml-footer-links{list-style:none}
.tml-footer-links li{margin-bottom:12px}
.tml-footer-links a{font-size:13.5px;color:rgba(255,255,255,.42)!important;transition:color .2s}
.tml-footer-links a:hover{color:#fab41e!important}
.tml-footer-bottom{max-width:var(--max-w);margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between}
.tml-footer-copy{font-size:12px;color:rgba(255,255,255,.2)!important}
.tml-footer-made{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.2)!important}
.tml-footer-dot{width:5px;height:5px;border-radius:50%;background:var(--grad)}

/* ── PAGE HERO ── */
.tml-page-hero{background:var(--dark);padding:72px 40px;position:relative;overflow:hidden;width:100%}
.tml-page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad)}
.tml-page-hero-inner{max-width:var(--max-w);margin:0 auto}
.tml-page-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35)!important;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.tml-page-label::before{content:'';display:inline-block;width:18px;height:2px;background:var(--grad);border-radius:1px}
.tml-page-h1{font-size:clamp(32px,4vw,64px)!important;font-weight:700!important;color:#fff!important;letter-spacing:-2px;line-height:1.05;margin-bottom:14px}
.tml-page-sub{font-size:16px!important;color:rgba(255,255,255,.55)!important;line-height:1.7;max-width:560px}

/* ── TIMELINE ── */
.tml-timeline{display:flex;flex-direction:column}
.tml-timeline-item{display:flex;gap:32px;padding:32px 0;border-bottom:1px solid var(--border)}
.tml-timeline-item:last-child{border-bottom:none}
.tml-timeline-year{font-size:36px;font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;width:100px;flex-shrink:0;line-height:1}
.tml-timeline-content h3{font-size:18px;font-weight:700;margin-bottom:6px;color:#111}
.tml-timeline-content p{font-size:14px;color:var(--grey);line-height:1.75}

/* ── VALORI ── */
.tml-values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tml-value-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:28px;transition:border-color .2s,box-shadow .2s}
.tml-value-card:hover{border-color:var(--blue);box-shadow:var(--shadow-card)}
.tml-value-icon{width:48px;height:48px;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.tml-value-icon svg{width:22px;height:22px;stroke:#fff;stroke-width:1.8;fill:none}
.tml-value-title{font-size:16px;font-weight:700;margin-bottom:8px;color:#111}
.tml-value-desc{font-size:14px;color:var(--grey);line-height:1.7}

/* ── FILTER BAR ── */
.tml-filter-bar{background:#fff;border-bottom:1px solid var(--border);padding:20px 40px;position:sticky;top:72px;z-index:100;width:100%}
.tml-filter-inner{max-width:var(--max-w);margin:0 auto;display:flex;gap:8px;flex-wrap:wrap}
.tml-filter-btn{padding:9px 18px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:13px;font-weight:500;color:#666;background:#fff;cursor:pointer;transition:all .2s;font-family:inherit}
.tml-filter-btn:hover{background:var(--light)}
.tml-filter-btn.active{background:var(--grad);color:#fff;border-color:transparent;font-weight:600}

/* ── CONTATTI ── */
.tml-contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.tml-contact-box{background:var(--light);border-radius:16px;padding:36px;border:1px solid var(--border)}
.tml-contact-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--border)}
.tml-contact-item:last-child{border-bottom:none}
.tml-contact-icon{width:44px;height:44px;flex-shrink:0;background:var(--grad);border-radius:8px;display:flex;align-items:center;justify-content:center}
.tml-contact-icon svg{width:20px;height:20px;stroke:#fff;stroke-width:1.8;fill:none}
.tml-contact-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey);margin-bottom:4px}
.tml-contact-value{font-size:14px;color:#111;line-height:1.7}
.tml-contact-value a{color:var(--blue)}
.tml-map-ph{background:var(--light);border-radius:16px;height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:1px solid var(--border);margin-top:20px}
.tml-contact-form{display:flex;flex-direction:column;gap:16px}
.tml-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tml-form-group{display:flex;flex-direction:column;gap:6px}
.tml-form-group label{font-size:12px;font-weight:600;color:#333}
.tml-form-group input,.tml-form-group select,.tml-form-group textarea{padding:13px 16px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;color:#111;background:#fff;transition:border-color .2s;outline:none;width:100%}
.tml-form-group input:focus,.tml-form-group select:focus,.tml-form-group textarea:focus{border-color:var(--blue)}
.tml-form-group textarea{resize:vertical;min-height:120px}
.tml-form-submit{background:var(--grad);color:#fff;border:none;padding:18px 36px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-grad);transition:opacity .2s;width:100%}
.tml-form-submit:hover{opacity:.9}

/* ── SCHEDA PRODOTTO ── */
.tml-breadcrumb-bar{background:var(--light);border-bottom:1px solid var(--border);padding:14px 40px}
.tml-breadcrumb{max-width:var(--max-w);margin:0 auto;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--grey);flex-wrap:wrap}
.tml-breadcrumb a{color:var(--grey)}.tml-breadcrumb a:hover{color:var(--blue)}
.tml-product-wrap{max-width:var(--max-w);margin:0 auto;padding:48px 40px 0}
.tml-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:64px;align-items:start}
.tml-gallery{position:sticky;top:90px}
.tml-gallery-main{background:var(--light);border-radius:var(--radius);aspect-ratio:1/1;overflow:hidden;margin-bottom:12px;position:relative}
.tml-gallery-main img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block}
.tml-gallery-zoom{position:absolute;top:14px;right:14px;width:38px;height:38px;background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.tml-gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap}
.tml-thumb{width:calc(25% - 8px);aspect-ratio:1/1;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .2s;background:var(--light)}
.tml-thumb.active{border-color:var(--blue)}
.tml-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tml-colori-s{margin-top:20px}
.tml-colori-lbl{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--grey);margin-bottom:10px}
.tml-colori-list{display:flex;flex-wrap:wrap;gap:8px}
.tml-colore{display:flex;align-items:center;gap:7px;padding:6px 12px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:12.5px;font-weight:500}
.tml-colore-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}
.tml-product-meta-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tml-linea-badge{background:var(--grad);color:#fff;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius-pill)}
.tml-product-title{font-size:clamp(24px,2.5vw,40px)!important;font-weight:700!important;letter-spacing:-1px!important;color:#111!important;line-height:1.15!important;margin-bottom:12px!important}
.tml-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tml-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1.5px solid var(--border);color:#111}
.tml-badge-grad{background:var(--grad)!important;color:#fff!important;border-color:transparent!important}
.tml-short-desc{font-size:14.5px;color:var(--grey);line-height:1.85;margin-bottom:28px;border-top:1px solid var(--border);padding-top:20px}
.tml-atc-wrap{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.tml-btn-prev{flex:1;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#fff!important;padding:16px 28px;border-radius:var(--radius-pill);font-size:15px;font-weight:700;box-shadow:var(--shadow-grad);transition:opacity .2s;font-family:inherit;border:none;cursor:pointer}
.tml-btn-prev:hover{opacity:.9;color:#fff!important}
.tml-btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff!important;padding:16px 22px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;transition:opacity .2s}
.tml-btn-wa:hover{opacity:.9;color:#fff!important}
.tml-downloads{margin-bottom:24px}
.tml-dl-title{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--grey);margin-bottom:10px}
.tml-dl-list{display:flex;gap:8px;flex-wrap:wrap}
.tml-dl-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border);color:#111;padding:10px 15px;border-radius:8px;font-size:13px;font-weight:600;transition:all .2s;background:#fff}
.tml-dl-btn:hover{border-color:var(--blue);color:var(--blue)}
.tml-dl-btn svg{flex-shrink:0;width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none}
.tml-pdf-tag{font-size:10px;color:var(--grey);background:var(--light);padding:2px 6px;border-radius:4px}
.tml-product-foot{font-size:12px;color:var(--grey);border-top:1px solid var(--border);padding-top:16px;line-height:2.2;display:flex;flex-wrap:wrap;gap:0 16px}
.tml-tabs-wrap{border-top:1px solid var(--border)}
.tml-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.tml-tabs::-webkit-scrollbar{display:none}
.tml-tab{padding:9px 14px;font-size:12px;font-weight:500;color:var(--grey);cursor:pointer;white-space:nowrap;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .25s;font-family:inherit;transform-origin:bottom center}
.tml-tab:hover{color:#111}
.tml-tab.active{color:var(--blue);font-weight:700;border-bottom-color:var(--blue);font-size:13px;padding:10px 16px}
.tml-tab-c{display:none}.tml-tab-c.active{display:block}
.tml-tab-inner{padding:40px 0}
.tml-desc{font-size:15px;color:#444;line-height:1.85;max-width:800px}
.tml-specs-table{width:100%;border-collapse:collapse;max-width:760px}
.tml-specs-table tr:nth-child(even) td{background:var(--light)}
.tml-specs-table tr:hover td{background:#eef2fc}
.tml-specs-table td{padding:13px 18px;font-size:14px;border-bottom:1px solid var(--border)}
.tml-specs-lbl{font-weight:600;color:#111;width:45%}
.tml-specs-val{color:var(--grey)}
.tml-modelli-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:20px}
.tml-modelli-table{width:100%;border-collapse:collapse;min-width:400px}
.tml-modelli-table thead tr{background:var(--dark)}
.tml-modelli-table thead th{padding:14px 18px;font-size:13px;font-weight:700;color:#fff;text-align:center;white-space:nowrap}
.tml-mth-first{text-align:left!important;background:linear-gradient(135deg,#fab41e,#cb4826)}
.tml-modelli-table tbody tr:nth-child(even) td{background:var(--light)}
.tml-modelli-table tbody td{padding:12px 18px;font-size:13.5px;border-bottom:1px solid var(--border);text-align:center;color:var(--grey)}
.tml-modelli-lbl{font-weight:600;color:#111!important;text-align:left!important}
.tml-ingombri-box{background:var(--light);border-radius:var(--radius);border:1px solid var(--border);padding:32px;text-align:center;margin-bottom:20px}
.tml-ingombri-box img{max-width:100%;height:auto;display:inline-block}
.tml-ingombri-ph{background:var(--light);border-radius:var(--radius);border:1px dashed var(--border);padding:48px;text-align:center;color:var(--grey);margin-bottom:20px}
.tml-dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:900px}
.tml-dl-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;color:#111;transition:all .2s}
.tml-dl-card:hover{border-color:var(--blue);box-shadow:var(--shadow-card);transform:translateY(-2px)}
.tml-dl-card-icon{width:52px;height:52px;flex-shrink:0;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center}
.tml-dl-card-icon svg{stroke:#fff;width:28px;height:28px;stroke-width:1.5;fill:none}
.tml-dl-card-title{font-size:15px;font-weight:700;margin-bottom:3px;color:#111}
.tml-dl-card-sub{font-size:12px;color:var(--grey)}
.tml-dl-arrow{margin-left:auto;flex-shrink:0;color:var(--grey);width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none}
.tml-related{background:var(--light);padding:64px 40px}
.tml-related-inner{max-width:var(--max-w);margin:0 auto}
.tml-related-head{margin-bottom:32px}
.tml-related-title{font-size:clamp(22px,2.5vw,34px)!important;font-weight:700!important;letter-spacing:-1px!important;color:#111!important;margin:0!important}
.tml-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;align-items:center;justify-content:center;cursor:zoom-out}
.tml-lightbox.open{display:flex}
.tml-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius)}
.tml-lightbox-close{position:fixed;top:20px;right:24px;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:20px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tml-prod-grid-related{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* ── SCROLL REVEAL ── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.3,1,.3,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

/* ── MOBILE ── */
@media(max-width:768px){
  .tml-campaign{padding:8px 16px;gap:12px;font-size:11px}
  .tml-header-inner{padding:0 16px!important;height:60px}
  .tml-nav{display:none}
  .tml-hamburger{display:block}
  .tml-hero{flex-direction:column;min-height:auto}
  .tml-hero-left{padding:52px 20px 44px}
  .tml-hero-left::after{display:none}
  .tml-hero-right{width:100%;padding:36px 20px 44px;min-height:220px}
  .tml-hero-actions{flex-direction:column}
  .tml-hero-actions a,.tml-hero-actions button{width:100%;justify-content:center}
  .tml-trust-inner{grid-template-columns:1fr 1fr}
  .tml-trust-item{padding:16px 10px;border-right:none;border-bottom:1px solid var(--border)}
  .tml-trust-item:nth-child(odd){border-right:1px solid var(--border)}
  .tml-trust-item:nth-last-child(-n+2){border-bottom:none}
  .tml-section{padding:48px 16px}
  .tml-section-head{flex-direction:column;align-items:flex-start}
  .tml-linee-grid,.tml-linee-sub{grid-template-columns:1fr;gap:12px}
  ul.products{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .tml-prod-grid-related{grid-template-columns:repeat(2,1fr);gap:12px}
  .tml-promo{padding:48px 16px}
  .tml-promo-inner{grid-template-columns:1fr;gap:28px}
  .tml-about{grid-template-columns:1fr}
  .tml-about-img{min-height:200px}
  .tml-about-text{padding:36px 20px}
  .tml-dark-wrap{grid-template-columns:1fr}
  .tml-dark-img{min-height:160px;order:2}
  .tml-dark-text{padding:36px 20px;order:1}
  .tml-cta{padding:52px 16px}
  .tml-cta-inner{grid-template-columns:1fr;gap:28px}
  .tml-footer-grid{grid-template-columns:1fr;gap:28px;padding:40px 16px 28px}
  .tml-footer-bottom{flex-direction:column;gap:8px;padding:16px;text-align:center}
  .tml-page-hero{padding:48px 16px}
  .tml-timeline-item{flex-direction:column;gap:8px}
  .tml-timeline-year{width:auto;font-size:28px}
  .tml-values-grid{grid-template-columns:1fr}
  .tml-contact-grid{grid-template-columns:1fr;gap:28px}
  .tml-form-row{grid-template-columns:1fr}
  .tml-filter-bar{padding:14px 16px;top:60px}
  .tml-shop-wrap{padding:24px 16px}
  .tml-product-layout{grid-template-columns:1fr;gap:24px}
  .tml-gallery{position:relative;top:auto}
  .tml-tab-inner{padding:24px 0}
  .tml-related{padding:40px 16px}
  .tml-atc-wrap{flex-direction:column}
  .tml-btn-prev,.tml-btn-wa{width:100%;justify-content:center}
  .tml-dl-list{flex-direction:column}
  .tml-product-wrap{padding:24px 16px 0}
  .tml-breadcrumb-bar{padding:12px 16px}
  .tml-promo-stats{grid-template-columns:1fr}
}
@media(max-width:480px){
  ul.products{grid-template-columns:1fr!important}
  .tml-prod-grid-related{grid-template-columns:1fr}
}
@media(min-width:769px) and (max-width:1024px){
  ul.products{grid-template-columns:repeat(2,1fr)!important}
  .tml-prod-grid-related{grid-template-columns:repeat(2,1fr)}
  .tml-about,.tml-dark-wrap{grid-template-columns:1fr}
  .tml-cta-inner,.tml-promo-inner{grid-template-columns:1fr}
  .tml-footer-grid{grid-template-columns:1fr 1fr}
  .tml-contact-grid{grid-template-columns:1fr}
  .tml-product-layout{grid-template-columns:1fr}
  .tml-gallery{position:relative;top:auto}
}


/* ── HEADER SCROLLED — diventa semi-trasparente ── */
.tml-header.scrolled {
  background: rgba(14,14,14,.97) !important;
  backdrop-filter: blur(12px);
}

/* ── CATALOGO: filtri e paginazione branding ── */
.tml-filter-bar {
  background: var(--dark) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.tml-filter-btn {
  border: 1.5px solid rgba(255,255,255,.2) !important;
  color: rgba(255,255,255,.65) !important;
  background: transparent !important;
}
.tml-filter-btn:hover { background: rgba(255,255,255,.08) !important; color:#fff !important; }
.tml-filter-btn.active { background: var(--grad) !important; color:#fff !important; border-color:transparent !important; }

.woocommerce-result-count { color: var(--grey) !important; font-size:13px !important; }
.woocommerce-ordering select {
  border: 1.5px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  color: #111 !important;
}

/* Paginazione branding */
nav.woocommerce-pagination ul {
  display: inline-flex !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--border) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  transition: all .2s !important;
  font-family: inherit !important;
}
nav.woocommerce-pagination ul li a:hover {
  background: var(--grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}
nav.woocommerce-pagination ul li span.current {
  background: var(--grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* ── PRODOTTO: spaziatura bottone loop ── */
.tml-atc-btn {
  margin: 8px 12px 12px !important;
  padding: 12px 16px !important;
}
ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}
ul.products li.product > div { flex: 1; display: flex; flex-direction: column; }

/* ── BADGE PERSONALIZZABILI ── */
.tml-badge-custom {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 600;
  border: 1.5px solid var(--border);
  color: #111;
}
.tml-badge-custom img,
.tml-badge-custom svg { width: 16px; height: 16px; flex-shrink: 0; }
.tml-badge-custom.style-grad {
  background: var(--grad);
  color: #fff;
  border-color: transparent;
}
.tml-badge-custom.style-blue {
  background: var(--blue);
  color: #fff;
  border-color: transparent;
}
.tml-badge-custom.style-dark {
  background: var(--dark);
  color: #fff;
  border-color: transparent;
}

/* ── LINEE PRODOTTO: icone combustibile ── */
.tml-linea-icon {
  width: 36px!important; height: 36px!important;
  min-width: 36px!important; max-width: 36px!important;
  background: rgba(255,255,255,.18);
  border-radius: 8px;
  display: flex!important; align-items: center!important; justify-content: center!important;
  margin-bottom: 14px;
  backdrop-filter: blur(4px);
  overflow: hidden!important;
  flex-shrink: 0!important;
}
.tml-linea-icon svg,
.tml-linea-icon svg * {
  width: 20px!important; height: 20px!important;
  max-width: 20px!important; max-height: 20px!important;
  flex-shrink: 0!important;
}
.tml-linea-icon svg { display: block!important; overflow: visible!important; }

/* ── SCHEDA PRODOTTO: tabs sotto CTA a destra ── */
.tml-product-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-bottom: 0 !important;
  align-items: start !important;
}
/* Galleria a sinistra sticky */
.tml-gallery { position: sticky !important; top: 90px !important; }
/* Info prodotto + tabs nella colonna destra */
.tml-product-info-col {
  display: flex;
  flex-direction: column;
}
/* Tabs inline nella colonna destra */
.tml-tabs-wrap-inline {
  margin-top: 32px;
  border-top: 1px solid var(--border);
}
.tml-product-wrap { padding-bottom: 0 !important; }

/* VIDEO HERO */
.tml-hero-video-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.tml-hero-video-wrap video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.tml-hero-video-wrap .tml-video-poster {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transition: opacity .8s ease;
  z-index: 1;
}
.tml-hero-video-wrap .tml-video-poster.hidden { opacity: 0; pointer-events: none; }
.tml-hero-left { position: relative; z-index: 2; }
.tml-hero-right { position: relative; z-index: 2; }

/* PREVENTIVO PAGE */
.tml-preventivo-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  align-items: start;
}
.tml-product-checklist {
  background: var(--light);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  padding: 24px;
  max-height: 500px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.tml-product-checklist::-webkit-scrollbar { width: 4px; }
.tml-product-checklist::-webkit-scrollbar-track { background: transparent; }
.tml-product-checklist::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
.tml-product-check-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
  margin-bottom: 4px;
}
.tml-product-check-item:hover { background: rgba(38,74,154,.06); }
.tml-product-check-item input[type="checkbox"] {
  width: 18px; height: 18px;
  accent-color: var(--blue);
  cursor: pointer;
  flex-shrink: 0;
}
.tml-product-check-img {
  width: 44px; height: 44px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  background: #eee;
}
.tml-product-check-label {
  font-size: 13.5px;
  font-weight: 500;
  color: #111;
  line-height: 1.3;
}
.tml-product-check-cat {
  font-size: 10px;
  color: var(--grey);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.tml-checklist-section-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--grey);
  padding: 14px 12px 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tml-checklist-section-title::before {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}

@media(max-width:768px) {
  .tml-preventivo-grid { grid-template-columns: 1fr; }
  .tml-product-checklist { max-height: 300px; }
  .tml-filter-bar { top: 60px !important; }
}


/* ═══ OVERRIDE FINALI — MASSIMA PRIORITÀ ═══ */

/* HEADER SCURO — forza assoluto */
header.tml-header,
.tml-header,
#tml-header {
  background: #0e0e0e !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  color: #fff !important;
}
.tml-header .tml-nav a { color: rgba(255,255,255,.82) !important; }
.tml-header .tml-nav a:hover,
.tml-header .tml-nav a.current {
  color: #fff !important;
  background: rgba(255,255,255,.1) !important;
}
.tml-header .tml-hamburger { color: rgba(255,255,255,.8) !important; }
.tml-header .tml-mobile-nav { background: #141414; border-top: 1px solid rgba(255,255,255,.1); }
.tml-header .tml-mobile-nav a { color: rgba(255,255,255,.75); border-bottom-color: rgba(255,255,255,.08); }

/* ICONE LINEE PRODOTTO — dimensioni fisse garantite */
.tml-linea-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.tml-linea-icon > svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  display: block !important;
  flex-shrink: 0 !important;
}
/* Blocca qualsiasi elemento fill che si espande */
.tml-linea-icon svg path,
.tml-linea-icon svg ellipse,
.tml-linea-icon svg circle,
.tml-linea-icon svg rect,
.tml-linea-icon svg line {
  /* non imposta width/height sugli elementi interni SVG */
}

/* TABS PRODOTTO — piccole, crescono su hover */
.tml-tab {
  font-size: 12.5px !important;
  padding: 8px 12px !important;
  transition: font-size .2s, padding .2s, color .2s !important;
}
.tml-tab:hover {
  font-size: 13.5px !important;
  padding: 10px 16px !important;
  color: #111 !important;
}
.tml-tab.active {
  font-size: 13px !important;
  padding: 10px 14px !important;
  color: var(--blue) !important;
  font-weight: 600 !important;
}

/* CATALOGO: filtri branding */
.tml-filter-bar {
  background: var(--dark) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.tml-filter-btn {
  color: rgba(255,255,255,.65) !important;
  border-color: rgba(255,255,255,.2) !important;
  background: transparent !important;
}
.tml-filter-btn:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.tml-filter-btn.active {
  background: var(--grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* PAGINAZIONE */
nav.woocommerce-pagination {
  text-align: center;
  padding: 32px 0 48px;
}
nav.woocommerce-pagination ul {
  display: inline-flex !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border: 1.5px solid var(--border) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: all .2s !important;
  text-decoration: none !important;
}
nav.woocommerce-pagination ul li a:hover {
  background: var(--grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}
nav.woocommerce-pagination ul li span.current {
  background: var(--grad) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* SELECT dropdown preventivo */
select.tml-select-prodotto,
select.tml-select-prodotto:focus {
  border: 1.5px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #111 !important;
  background: #fff !important;
  outline: none !important;
  cursor: pointer !important;
  transition: border-color .2s !important;
  appearance: auto !important;
}
select.tml-select-prodotto:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(38,74,154,.1) !important;
}


/* ═══ HEADER ID — specificità massima assoluta ═══ */
#tml-site-header {
  background: #0e0e0e !important;
  background-color: #0e0e0e !important;
}
#tml-site-header * {
  box-sizing: border-box !important;
}
/* Elementor non tocca elementi con ID arbitrari */
#tml-site-header a[style] {
  /* stili inline — inattaccabili */
}


/* ═══ FIX VISIBILITÀ ELEMENTI RV ═══ */
/* Se JS non gira o è lento, mostra comunque il contenuto */
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1 !important; transform: none !important; }
}
/* Forza visibilità dopo 3 secondi con animazione CSS pura */
.rv {
  animation: rvFallback 0.01s 3s forwards;
}
@keyframes rvFallback {
  to { opacity: 1; transform: none; }
}

/* ═══ FIX VIDEO HERO: testo sempre visibile ═══ */
.tml-hero-left .tml-eyebrow,
.tml-hero-left .tml-hero-h1,
.tml-hero-left .tml-hero-sub,
.tml-hero-left .tml-hero-actions {
  opacity: 1 !important;
  transform: none !important;
  color: inherit !important;
}

/* ═══ EMBED VIDEO YOUTUBE/VIMEO ═══ */
.tml-video-embed-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.tml-video-embed-wrap iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh; /* 16/9 * 100vh */
  height: 100%;
  min-width: 100%;
  min-height: 56.25vw; /* 9/16 * 100vw */
  transform: translate(-50%, -50%);
  border: none;
  pointer-events: none;
}
.tml-video-embed-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(14,14,14,.88) 0%, rgba(14,14,14,.45) 60%, rgba(0,0,0,.15) 100%);
  z-index: 1;
  pointer-events: none;
}

/* ═══ LINEE PRODOTTO: fix sezione sub mancante ═══ */
.tml-linee-sub {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 0 !important;
}

/* ═══ HOMEPAGE PRODOTTI: griglia sempre visibile ═══ */
.tml-section.tml-bg-light ul.products {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ═══ SCHEDA PRODOTTO: layout colonne ═══ */
.tml-product-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

/* ═══ TABS: dimensioni corrette ═══ */
.tml-tabs-wrap-inline .tml-tabs,
.tml-tabs {
  border-bottom: 1px solid var(--border) !important;
  display: flex !important;
  overflow-x: auto !important;
}
.tml-tabs-wrap-inline .tml-tab-c,
.tml-tab-c { display: none !important; }
.tml-tabs-wrap-inline .tml-tab-c.active,
.tml-tab-c.active { display: block !important; }

@media(max-width:768px) {
  .tml-linee-sub { grid-template-columns: 1fr !important; }
  .tml-product-layout { grid-template-columns: 1fr !important; }
}
@media(min-width:769px) and (max-width:1024px) {
  .tml-linee-sub { grid-template-columns: repeat(2,1fr) !important; }
  .tml-product-layout { grid-template-columns: 1fr !important; }
}


/* ================================================================
   TML LAVIA v7 — FIX & MOBILE
================================================================ */

/* ── FOOTER FIX — colori espliciti ── */
.tml-footer {
  background: #0e0e0e !important;
  color: rgba(255,255,255,.75) !important;
}
.tml-footer * { color: rgba(255,255,255,.75); }
.tml-footer h4 {
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.tml-footer a { color: rgba(255,255,255,.65) !important; transition: color .2s; }
.tml-footer a:hover { color: #fff !important; }
.tml-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 64px 40px 40px;
}
.tml-footer-brand {}
.tml-footer-logo { margin-bottom: 20px; }
.tml-footer-desc { font-size: 13.5px; line-height: 1.8; color: rgba(255,255,255,.5) !important; margin-bottom: 20px; }
.tml-footer-contact { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.tml-footer-contact a { font-size: 13.5px; font-weight: 500; }
.tml-footer-addr { font-size: 12.5px; color: rgba(255,255,255,.4) !important; line-height: 1.7; margin-bottom: 20px; }
.tml-footer-social { display: flex; gap: 10px; }
.tml-social-btn {
  width: 38px; height: 38px;
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.tml-social-btn:hover { background: rgba(255,255,255,.18) !important; }
.tml-social-btn svg { width: 17px; height: 17px; stroke: rgba(255,255,255,.7); stroke-width: 1.8; fill: none; }
.tml-footer-col h4 {}
.tml-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.tml-footer-links a { font-size: 13.5px; }
.tml-footer-bottom {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 20px 40px 28px;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.tml-footer-copy { font-size: 12px; color: rgba(255,255,255,.35) !important; }
.tml-footer-sbds {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255,255,255,.4) !important;
  text-decoration: none;
  transition: color .2s;
}
.tml-footer-sbds:hover { color: rgba(255,255,255,.8) !important; }

/* ── HERO: forza colori su lato gradiente ── */
.tml-hero-right,
.tml-hero-right *:not(.tml-btn-white) {
  color: #fff !important;
}
.tml-hero-right-sub { color: rgba(255,255,255,.85) !important; }
.tml-hero-badge { color: rgba(255,255,255,.75) !important; }

/* ── PRODOTTI CORRELATI: griglia allineata ── */
.tml-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  align-items: stretch !important;
}
.tml-related-grid .product {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}
.tml-related-grid .product img {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  display: block !important;
}
.tml-prod-info { padding: 14px; display: flex; flex-direction: column; flex: 1; }
.tml-prod-cat { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #888; display: block; margin-bottom: 6px; }
.tml-related-grid .woocommerce-loop-product__title { font-size: 13.5px !important; font-weight: 600 !important; margin: 0 0 6px !important; padding: 0 !important; line-height: 1.4 !important; }
.tml-related-grid .woocommerce-loop-product__title a { color: #111 !important; }
.tml-prod-kw { font-size: 12px; font-weight: 700; background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 10px; }
.tml-related-grid .tml-atc-btn { margin-top: auto; font-size: 12px; padding: 8px 14px; }

/* ── GALLERIA PRODOTTO: transizione morbida ── */
#tml-main-img { transition: opacity .25s ease; }
.tml-thumb { border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; transition: border-color .2s; }
.tml-thumb.active, .tml-thumb:hover { border-color: var(--grad); }
.tml-thumb img { width: 100%; height: 70px; object-fit: cover; display: block; }

/* ── BREADCRUMB ── */
.tml-breadcrumb a { color: var(--blue) !important; }
.tml-breadcrumb a:hover { text-decoration: underline; }

/* ================================================================
   MOBILE — breakpoint 768px
================================================================ */
@media (max-width: 768px) {

  /* Campaign bar: rimane su una riga, no scroll orizzontale */
  .tml-campaign, [style*="Made in Italy dal 1985"] {
    padding: 8px 16px !important;
    gap: 8px !important;
    font-size: 11px !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  .tml-campaign .sep { display: none !important; }
  .tml-campaign span:first-child { flex: 1; overflow: hidden; text-overflow: ellipsis; }

  /* Header */
  .tml-header-inner { padding: 0 16px !important; height: 60px !important; }
  .tml-logo svg { width: 110px !important; }
  .tml-hamburger { display: flex !important; }
  .tml-nav { display: none !important; }
  .tml-header-actions .tml-btn-header { display: none !important; }

  /* Hero */
  .tml-hero { flex-direction: column !important; min-height: auto !important; }
  .tml-hero-left { padding: 48px 20px !important; }
  .tml-hero-right { width: 100% !important; padding: 32px 20px !important; }
  .tml-hero-h1 { font-size: 36px !important; line-height: 1.1 !important; }
  .tml-hero-sub { font-size: 14px !important; }
  .tml-hero-right-title { font-size: 24px !important; line-height: 1.3 !important; }
  .tml-hero-actions { flex-direction: column !important; gap: 12px !important; }
  .tml-hero-actions a { width: 100% !important; justify-content: center !important; }

  /* Video embed */
  .tml-video-embed-wrap { height: 50vw !important; min-height: 220px !important; }
  .tml-hero-video-wrap video { height: 50vw !important; min-height: 220px !important; }

  /* Trust bar */
  .tml-trust-inner {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 !important;
  }
  .tml-trust-item {
    padding: 16px 14px !important;
    gap: 10px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--border);
  }
  .tml-trust-item:nth-child(odd) { border-right: 1px solid var(--border) !important; }
  .tml-trust-item:nth-last-child(-n+2) { border-bottom: none; }
  .tml-trust-icon { width: 38px !important; height: 38px !important; flex-shrink: 0 !important; }
  .tml-trust-title { font-size: 12.5px !important; }
  .tml-trust-desc { font-size: 11px !important; }

  /* Sezioni */
  .tml-section { padding: 48px 16px !important; }
  .tml-section-head { flex-direction: column !important; align-items: flex-start !important; }
  .tml-h2 { font-size: 26px !important; }

  /* Linee prodotto */
  .tml-linee-grid { grid-template-columns: 1fr !important; }
  .tml-linea-card.tall { min-height: 220px !important; }
  .tml-linee-sub { grid-template-columns: 1fr 1fr !important; }
  .tml-linea-card.small { min-height: 160px !important; }

  /* Prodotti griglia */
  .products { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
  .products .product h2 { font-size: 12px !important; }

  /* Pagina prodotto */
  .tml-product-layout { flex-direction: column !important; }
  .tml-gallery { width: 100% !important; position: static !important; }
  .tml-gallery-main { height: 280px !important; }
  .tml-product-info-col { padding: 0 !important; }
  .tml-product-title { font-size: 22px !important; }
  .tml-gallery-thumbs { display: flex !important; gap: 8px !important; overflow-x: auto !important; padding: 8px 0 !important; }
  .tml-gallery-thumbs::-webkit-scrollbar { display: none; }
  .tml-thumb { flex-shrink: 0 !important; width: 64px !important; }
  .tml-thumb img { height: 52px !important; }

  /* Prodotti correlati */
  .tml-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .tml-related { padding: 40px 16px !important; }

  /* Footer */
  .tml-footer-grid {
    grid-template-columns: 1fr !important;
    padding: 40px 20px 24px !important;
    gap: 32px !important;
  }
  .tml-footer-bottom {
    padding: 16px 20px 24px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .tml-footer-links { gap: 12px !important; }
  .tml-footer-contact { gap: 12px !important; }

  /* Promo */
  .tml-promo-inner { flex-direction: column !important; gap: 32px !important; padding: 40px 20px !important; }
  .tml-promo-stats { flex-direction: column !important; gap: 20px !important; }

  /* About */
  .tml-about { flex-direction: column !important; }
  .tml-about-img { min-height: 240px !important; }
  .tml-about-text { padding: 32px 20px !important; }
  .tml-stats-grid { grid-template-columns: 1fr 1fr !important; }

  /* CTA */
  .tml-cta-inner { flex-direction: column !important; gap: 28px !important; padding: 40px 20px !important; }
  .tml-cta-title { font-size: 28px !important; }
  .tml-cta-actions { width: 100% !important; }
  .tml-cta-btn-w, .tml-cta-btn-o { width: 100% !important; text-align: center !important; justify-content: center !important; }

  /* Tabs */
  .tml-tabs { overflow-x: auto; }
  .tml-tab { white-space: nowrap; font-size: 13px; padding: 10px 16px; }

  /* Modelli tabella */
  .tml-modelli-table th, .tml-modelli-table td { font-size: 11px; padding: 8px 10px; }

  /* Nascondi overflow orizzontale globale */
  body { overflow-x: hidden !important; }

  /* Pagina contatti e preventivo */
  .tml-contact-grid, .tml-preventivo-grid { grid-template-columns: 1fr !important; }
  .tml-page-hero-inner { padding: 40px 20px !important; }
  .tml-page-h1 { font-size: 28px !important; }
}

@media (max-width: 480px) {
  .tml-trust-inner { grid-template-columns: 1fr !important; }
  .tml-trust-item { border-right: none !important; }
  .tml-trust-item:nth-child(odd) { border-right: none !important; }
  .tml-linee-sub { grid-template-columns: 1fr !important; }
  .products { grid-template-columns: 1fr !important; }
  .tml-related-grid { grid-template-columns: 1fr !important; }
}


/* ── FIX: galleria sticky solo su desktop ── */
@media (min-width: 769px) {
  .tml-gallery { position: sticky; top: 100px; align-self: flex-start; }
}
@media (max-width: 768px) {
  .tml-gallery { position: static !important; top: auto !important; }
  .tml-product-layout { display: block !important; }
  .tml-product-info-col { padding: 20px 16px !important; }
}


/* ================================================================
   TML v8 — FIX COMPLETO MOBILE + FOOTER + VARIE
================================================================ */

/* ── FOOTER fix colori (testo visibile su sfondo scuro) ── */
.tml-footer { background:#0e0e0e!important; color:rgba(255,255,255,.7)!important; }
.tml-footer * { box-sizing:border-box; }
.tml-footer h4,
.tml-footer-col h4 { color:#fff!important; font-size:11px!important; font-weight:700!important; letter-spacing:2.5px!important; text-transform:uppercase!important; margin-bottom:18px!important; }
.tml-footer-desc { color:rgba(255,255,255,.45)!important; font-size:13px!important; line-height:1.8!important; margin-bottom:16px!important; }
.tml-footer-contact { display:flex; flex-direction:column; gap:9px; margin-bottom:14px; }
.tml-footer-contact a { color:rgba(255,255,255,.55)!important; font-size:13.5px!important; font-weight:500!important; transition:color .2s!important; }
.tml-footer-contact a:hover { color:#fab41e!important; }
.tml-footer-addr { font-size:12px!important; color:rgba(255,255,255,.28)!important; line-height:1.8!important; margin-bottom:16px!important; }
.tml-footer-links a { color:rgba(255,255,255,.45)!important; font-size:13.5px!important; }
.tml-footer-links a:hover { color:#fab41e!important; }
.tml-footer-links li { margin-bottom:11px!important; }
.tml-footer-copy { color:rgba(255,255,255,.2)!important; font-size:12px!important; }
.tml-footer-sbds { color:rgba(255,255,255,.35)!important; font-size:12px!important; font-weight:600!important; display:flex!important; align-items:center!important; gap:6px!important; text-decoration:none!important; transition:color .2s!important; }
.tml-footer-sbds:hover { color:rgba(255,255,255,.7)!important; }
.tml-footer-bottom { border-top:1px solid rgba(255,255,255,.07)!important; }
.tml-social-btn svg { stroke:rgba(255,255,255,.7)!important; }

/* ── HERO RIGHT: testo sempre bianco ── */
.tml-hero-right,
.tml-hero-right .tml-hero-badge,
.tml-hero-right .tml-hero-right-title,
.tml-hero-right .tml-hero-right-sub { color:#fff!important; }
.tml-hero-right .tml-hero-right-sub { color:rgba(255,255,255,.85)!important; }
.tml-hero-right .tml-hero-badge { color:rgba(255,255,255,.75)!important; }

/* ── VIDEO HERO: assicura che occupi lo sfondo ── */
.tml-hero-video-wrap { position:absolute!important; inset:0!important; z-index:0!important; overflow:hidden!important; }
.tml-hero-video-wrap video { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; }
.tml-hero-left, .tml-hero-right { position:relative!important; z-index:2!important; }

/* ── PRODOTTO LAYOUT: sticky solo desktop ── */
@media(min-width:769px) {
  .tml-prod-gallery-wrap { position:sticky; top:90px; align-self:flex-start; }
}
@media(max-width:768px) {
  .tml-prod-gallery-wrap { position:static!important; top:auto!important; }
  .tml-prod-layout { grid-template-columns:1fr!important; gap:24px!important; padding:24px 16px!important; }
}

/* ================================================================
   MOBILE — max-width 768px
================================================================ */
@media(max-width:768px) {
  body { overflow-x:hidden!important; }

  /* Campaign bar: in riga, no scroll laterale */
  .tml-campaign,
  div[style*="Made in Italy dal 1985"],
  div[style*="Caldaie e stufe a biomassa"] {
    padding: 8px 12px!important;
    gap: 6px!important;
    font-size: 10.5px!important;
    flex-wrap: nowrap!important;
    overflow: hidden!important;
    white-space: nowrap!important;
    justify-content: center!important;
  }
  /* Nascondi separatori e link meno importanti su mobile */
  div[style*="Made in Italy dal 1985"] span[style*="rgba(255,255,255,.15)"] { display:none!important; }
  div[style*="Made in Italy dal 1985"] a:last-child { display:none!important; }

  /* Header */
  #tml-site-header > div,
  .tml-header-inner { padding:0 16px!important; height:58px!important; }
  .tml-logo svg, .tml-logo img { width:110px!important; height:auto!important; }
  .tml-hamburger { display:flex!important; }
  .tml-nav { display:none!important; }
  .tml-header-actions .tml-btn-header { display:none!important; }

  /* Hero */
  .tml-hero { flex-direction:column!important; min-height:auto!important; }
  .tml-hero-left { padding:44px 20px 40px!important; }
  .tml-hero-right { width:100%!important; padding:32px 20px!important; min-height:auto!important; }
  .tml-hero-h1 { font-size:32px!important; line-height:1.1!important; }
  .tml-hero-sub { font-size:14px!important; }
  .tml-hero-right-title { font-size:22px!important; line-height:1.3!important; }
  .tml-hero-actions { flex-direction:column!important; gap:12px!important; }
  .tml-hero-actions a { width:100%!important; text-align:center!important; justify-content:center!important; }
  .tml-video-embed-wrap { height:56vw!important; min-height:200px!important; }
  .tml-hero-video-wrap video { object-fit:cover!important; }

  /* Trust bar: 2 colonne */
  .tml-trust-inner { grid-template-columns:1fr 1fr!important; padding:0!important; }
  .tml-trust-item { padding:14px 12px!important; gap:8px!important; border-right:none!important; border-bottom:1px solid var(--border)!important; flex-direction:column!important; text-align:center!important; align-items:center!important; }
  .tml-trust-item:nth-child(1), .tml-trust-item:nth-child(3) { border-right:1px solid var(--border)!important; }
  .tml-trust-item:nth-child(3), .tml-trust-item:nth-child(4) { border-bottom:none!important; }
  .tml-trust-icon { width:38px!important; height:38px!important; }
  .tml-trust-icon svg { width:18px!important; height:18px!important; }
  .tml-trust-title { font-size:12px!important; }
  .tml-trust-desc { font-size:10.5px!important; }

  /* Sezioni generali */
  .tml-section, .tml-section-inner { padding-left:16px!important; padding-right:16px!important; }
  .tml-section { padding-top:48px!important; padding-bottom:48px!important; }
  .tml-section-head { flex-direction:column!important; align-items:flex-start!important; gap:12px!important; }
  .tml-h2 { font-size:24px!important; }

  /* Linee prodotto */
  .tml-linee-grid { grid-template-columns:1fr!important; gap:14px!important; }
  .tml-linea-card.tall { min-height:200px!important; }
  .tml-linee-sub { grid-template-columns:1fr 1fr!important; gap:12px!important; }
  .tml-linea-card.small { min-height:140px!important; }

  /* Prodotti griglia homepage */
  .products { display:grid!important; grid-template-columns:1fr 1fr!important; gap:12px!important; margin:0!important; padding:0!important; list-style:none!important; }
  .products li.product { width:auto!important; float:none!important; margin:0!important; display:flex!important; flex-direction:column!important; }
  .products li.product h2 { font-size:12px!important; padding:8px 10px 0!important; }
  .products li.product img { aspect-ratio:4/3!important; object-fit:cover!important; }
  .tml-atc-btn { font-size:11px!important; padding:8px 12px!important; }

  /* Promo banner */
  .tml-promo-inner { flex-direction:column!important; padding:40px 20px!important; gap:28px!important; }
  .tml-promo-stats { flex-direction:column!important; gap:16px!important; }
  .tml-promo-title { font-size:30px!important; }

  /* About */
  .tml-about { flex-direction:column!important; }
  .tml-about-img { min-height:220px!important; }
  .tml-about-text { padding:32px 20px!important; }
  .tml-stats-grid { grid-template-columns:1fr 1fr!important; }

  /* CTA */
  .tml-cta-inner { flex-direction:column!important; padding:40px 20px!important; gap:28px!important; }
  .tml-cta-title { font-size:26px!important; }
  .tml-cta-actions { width:100%!important; }
  .tml-cta-btn-w, .tml-cta-btn-o { display:block!important; width:100%!important; text-align:center!important; }

  /* Pagine Contatti e Preventivo */
  div[style*="grid-template-columns:1fr 1.4fr"],
  div[style*="grid-template-columns:1.4fr 1fr"],
  div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; }
  div[style*="padding:64px 40px"] { padding:40px 16px!important; }
  div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns:1fr!important; }

  /* Footer */
  .tml-footer-grid { grid-template-columns:1fr!important; padding:40px 20px 28px!important; gap:28px!important; }
  .tml-footer-bottom { flex-direction:column!important; align-items:flex-start!important; gap:10px!important; padding:16px 20px 28px!important; }

  /* Prodotto correlati */
  .tml-correlati-grid { grid-template-columns:1fr 1fr!important; gap:10px!important; }
}

@media(max-width:480px) {
  .tml-trust-inner { grid-template-columns:1fr!important; }
  .tml-trust-item { border-right:none!important; }
  .tml-trust-item:nth-child(1), .tml-trust-item:nth-child(3) { border-right:none!important; }
  .tml-linee-sub { grid-template-columns:1fr!important; }
  .products { grid-template-columns:1fr!important; }
  .tml-correlati-grid { grid-template-columns:1fr!important; }
  .tml-hero-h1 { font-size:26px!important; }
}


/* ================================================================
   TML v8.1 — TAB LINEE PRODOTTO + MOBILE UX DESIGNER PASS
================================================================ */

/* ── NAV TAB LINEE: pill discrete, no icone ── */
.tml-linee-section { padding-bottom: 0 !important; }
.tml-ltabs-nav {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 0;
  padding-bottom: 2px;
  border-bottom: 2px solid #e8e8e8;
}
.tml-ltab-btn {
  padding: 10px 20px;
  font-size: 13.5px;
  font-weight: 600;
  color: #888;
  background: none;
  border: none;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  border-radius: 0;
  font-family: inherit;
  letter-spacing: -.1px;
  transition: color .18s, border-color .18s;
  white-space: nowrap;
}
.tml-ltab-btn:hover { color: #333; }
.tml-ltab-btn.active {
  color: #111;
  border-bottom-color: #fab41e;
  font-weight: 700;
}

/* ── PANNELLO TAB ── */
.tml-ltab-panel { display: none; }
.tml-ltab-panel.active { display: block; }
.tml-ltab-inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 0;
  background: #0e0e0e;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
  min-height: 320px;
}
.tml-ltab-text {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #0e0e0e;
}
.tml-ltab-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 10px;
  display: block;
}
.tml-ltab-nome {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  margin: 0 0 10px;
  line-height: 1.15;
}
.tml-ltab-sub {
  font-size: 13.5px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  margin: 0 0 14px;
}
.tml-ltab-kw {
  font-size: 13px;
  font-weight: 700;
  background: linear-gradient(135deg,#fab41e,#cb4826);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 24px;
}
.tml-ltab-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  color: #fff !important;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  align-self: flex-start;
}
.tml-ltab-cta:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.3);
}
.tml-ltab-visual {
  background: var(--ltab-color, #1a1a1a);
  position: relative;
  overflow: hidden;
}
.tml-ltab-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,0) 60%);
  z-index: 1;
}
.tml-ltab-visual-inner {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 12px;
  padding: 24px;
  height: 100%;
  align-items: flex-end;
}
.tml-ltab-prod-item {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: background .2s, transform .2s;
  backdrop-filter: blur(4px);
}
.tml-ltab-prod-item:hover {
  background: rgba(255,255,255,.12);
  transform: translateY(-3px);
}
.tml-ltab-prod-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.tml-ltab-prod-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: rgba(255,255,255,.04);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tml-ltab-prod-item span {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  padding: 8px 10px;
  line-height: 1.4;
  display: block;
}

/* ── CORRELATI: fix immagini tagliate ── */
.tml-correlati-card {
  display: flex !important;
  flex-direction: column !important;
}
.tml-correlati-card > a {
  display: block !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.tml-correlati-card img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .3s !important;
}
.tml-correlati-card:hover img { transform: scale(1.04) !important; }
.tml-correlati-card-body { flex: 1; display: flex; flex-direction: column; }

/* ── FOOTER: dot "Made in Calabria" ── */
.tml-footer-made { display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(255,255,255,.2)!important; }
.tml-footer-dot { width:5px; height:5px; border-radius:50%; background:linear-gradient(135deg,#fab41e,#cb4826); flex-shrink:0; }


/* ================================================================
   MOBILE — UX DESIGNER PASS COMPLETO
================================================================ */
@media (max-width: 768px) {

  /* ── Campaign bar: una riga, compatta, no overflow ── */
  .tml-campaign,
  div[style*="Made in Italy dal 1985"] {
    padding: 7px 16px !important;
    gap: 0 !important;
    font-size: 11px !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    position: relative !important;
  }
  /* Mostra solo la scritta principale */
  .tml-campaign > *:not(:first-child),
  div[style*="Made in Italy dal 1985"] > *:not(:first-child) {
    display: none !important;
  }
  .tml-campaign > span:first-child,
  div[style*="Made in Italy dal 1985"] > span:first-child {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }

  /* ── Header ── */
  #tml-site-header,
  .tml-header { position: sticky !important; top: 0 !important; z-index: 9999 !important; }
  #tml-site-header > div,
  .tml-header-inner { padding: 0 16px !important; height: 56px !important; gap: 0 !important; }
  .tml-logo svg, .tml-logo img { width: 105px !important; height: auto !important; }
  .tml-nav { display: none !important; }
  .tml-hamburger { display: flex !important; margin-left: auto !important; }
  .tml-btn-header { display: none !important; }
  .tml-mobile-nav.open { display: flex !important; }
  .tml-mobile-nav { display: none !important; position: fixed !important; top: 56px !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 9998 !important; background: #fff !important; overflow-y: auto !important; flex-direction: column !important; padding: 20px !important; }
  .tml-mobile-nav a { padding: 15px 0 !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 16px !important; font-weight: 600 !important; color: #111 !important; }

  /* ── Hero ── */
  .tml-hero { flex-direction: column !important; min-height: auto !important; }
  .tml-hero-left { padding: 48px 20px 36px !important; min-height: 55vw !important; }
  .tml-hero-right { width: 100% !important; padding: 28px 20px 36px !important; min-height: auto !important; }
  .tml-hero-h1 { font-size: 30px !important; line-height: 1.15 !important; }
  .tml-hero-sub { font-size: 14px !important; margin-bottom: 24px !important; }
  .tml-hero-right-title { font-size: 22px !important; line-height: 1.3 !important; margin-bottom: 10px !important; }
  .tml-hero-right-sub { font-size: 13px !important; margin-bottom: 16px !important; }
  .tml-hero-actions { flex-direction: column !important; gap: 10px !important; }
  .tml-hero-actions > * { width: 100% !important; text-align: center !important; justify-content: center !important; }

  /* ── Trust bar: 2x2 grid ── */
  .tml-trust-inner {
    grid-template-columns: 1fr 1fr !important;
    padding: 0 !important;
  }
  .tml-trust-item {
    padding: 16px 12px !important;
    gap: 8px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--border) !important;
    flex-direction: row !important;
    align-items: flex-start !important;
  }
  .tml-trust-item:nth-child(1),
  .tml-trust-item:nth-child(3) { border-right: 1px solid var(--border) !important; }
  .tml-trust-item:nth-child(3),
  .tml-trust-item:nth-child(4) { border-bottom: none !important; }
  .tml-trust-icon { width: 34px !important; height: 34px !important; flex-shrink: 0 !important; border-radius: 8px !important; }
  .tml-trust-icon svg { width: 16px !important; height: 16px !important; }
  .tml-trust-title { font-size: 12px !important; margin-bottom: 2px !important; }
  .tml-trust-desc { font-size: 10.5px !important; line-height: 1.5 !important; }

  /* ── Linee tab prodotto su mobile ── */
  .tml-ltabs-nav {
    gap: 0 !important;
    border-bottom: none !important;
    background: #f5f5f5 !important;
    border-radius: 10px !important;
    padding: 4px !important;
    margin-bottom: 16px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    flex-wrap: nowrap !important;
  }
  .tml-ltabs-nav::-webkit-scrollbar { display: none !important; }
  .tml-ltab-btn {
    padding: 9px 14px !important;
    font-size: 12px !important;
    border-bottom: none !important;
    border-radius: 7px !important;
    white-space: nowrap !important;
    color: #666 !important;
    margin-bottom: 0 !important;
  }
  .tml-ltab-btn.active {
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
    border-bottom: none !important;
  }
  .tml-ltab-inner {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    border-radius: 12px !important;
  }
  .tml-ltab-text { padding: 24px 20px !important; }
  .tml-ltab-nome { font-size: 22px !important; }
  .tml-ltab-visual { min-height: 180px !important; border-radius: 0 0 12px 12px !important; }
  .tml-ltab-visual-inner { padding: 14px !important; gap: 8px !important; }
  .tml-ltab-prod-item span { font-size: 10px !important; padding: 6px 8px !important; }

  /* ── Sezioni ── */
  .tml-section { padding: 44px 16px !important; }
  .tml-section-head { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; margin-bottom: 24px !important; }
  .tml-h2 { font-size: 24px !important; }

  /* ── Prodotti griglia ── */
  .products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .products li.product { margin: 0 !important; float: none !important; width: auto !important; }
  .products li.product img { aspect-ratio: 4/3 !important; object-fit: cover !important; width: 100% !important; }
  .products li.product h2 { font-size: 12px !important; padding: 8px 10px 0 !important; }
  .tml-prod-kw { font-size: 11px !important; }
  .tml-atc-btn { font-size: 11px !important; padding: 8px 10px !important; }

  /* ── Promo ── */
  .tml-promo-inner { flex-direction: column !important; padding: 36px 20px !important; gap: 24px !important; }
  .tml-promo-stats { flex-direction: column !important; gap: 14px !important; }
  .tml-promo-title { font-size: 28px !important; }

  /* ── About ── */
  .tml-about { flex-direction: column !important; }
  .tml-about-img { min-height: 200px !important; max-height: 260px !important; }
  .tml-about-text { padding: 28px 20px !important; }
  .tml-stats-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }

  /* ── CTA ── */
  .tml-cta { padding: 44px 20px !important; }
  .tml-cta-inner { flex-direction: column !important; gap: 24px !important; text-align: center !important; }
  .tml-cta-title { font-size: 26px !important; }
  .tml-cta-actions { width: 100% !important; display: flex !important; flex-direction: column !important; gap: 10px !important; }
  .tml-cta-btn-w, .tml-cta-btn-o { display: block !important; width: 100% !important; text-align: center !important; padding: 14px !important; }

  /* ── Pagina prodotto ── */
  .tml-prod-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 20px 16px !important;
  }
  .tml-prod-gallery-wrap { position: static !important; top: auto !important; }
  .tml-gal-main { height: auto !important; aspect-ratio: 4/3 !important; }
  .tml-gal-thumbs { gap: 6px !important; margin-top: 8px !important; }
  .tml-gal-thumb { width: 60px !important; height: 46px !important; }
  .tml-prod-title { font-size: 22px !important; }
  .tml-prod-tabs-nav { gap: 0 !important; }
  .tml-prod-tab-btn { padding: 10px 12px !important; font-size: 12px !important; }

  /* ── Correlati ── */
  .tml-correlati-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .tml-correlati-card img { height: 120px !important; }
  .tml-correlati-card-body { padding: 10px !important; }
  .tml-correlati-card-body h3 { font-size: 12px !important; }

  /* ── Footer ── */
  .tml-footer-grid {
    grid-template-columns: 1fr !important;
    padding: 36px 20px 24px !important;
    gap: 28px !important;
  }
  .tml-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 16px 20px 24px !important;
  }

  /* ── Breadcrumb ── */
  div[style*="padding:12px 40px"] { padding: 10px 16px !important; }
  nav[style*="max-width:1400px"] { font-size: 11.5px !important; }

  /* ── Pagine contatti/preventivo ── */
  div[style*="grid-template-columns:1fr 1.4fr"],
  div[style*="grid-template-columns:1.4fr 1fr"],
  div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  div[style*="padding:64px 40px"] { padding: 36px 16px !important; }
  div[style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }

  /* ── Prevenzione scroll orizzontale globale ── */
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
  * { max-width: 100% !important; }
  img, video, iframe { max-width: 100% !important; }
}

@media (max-width: 480px) {
  .tml-trust-inner { grid-template-columns: 1fr 1fr !important; }
  .products { grid-template-columns: 1fr !important; }
  .tml-correlati-grid { grid-template-columns: 1fr !important; }
  .tml-ltab-btn { padding: 8px 12px !important; font-size: 11.5px !important; }
  .tml-hero-h1 { font-size: 26px !important; }
  .tml-hero-right-title { font-size: 19px !important; }
}


/* ================================================================
   TML v9 — FIX BUG SPECIFICI
================================================================ */

/* ── BUG 4: Forza testo hero sx bianco ── */
.tml-hero-left,
.tml-hero-left .tml-hero-h1,
.tml-hero-left .tml-hero-sub,
.tml-hero-left .tml-eyebrow {
  color: #fff !important;
}
.tml-hero-left .tml-hero-sub { color: rgba(255,255,255,.8) !important; }
.tml-hero-left .tml-eyebrow { color: rgba(255,255,255,.55) !important; }
.tml-hero-h1 em { color: #fab41e !important; font-style: normal; }

/* ── BUG 5: Card prodotti — titoli e bottone ── */
ul.products li.product .woocommerce-loop-product__title {
  font-size: 13px !important;
  line-height: 1.35 !important;
  padding: 10px 12px 6px !important;
  /* Tronca con ellipsis invece di andare a capo male */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.7em !important;
}
.tml-atc-btn {
  font-size: 12px !important;
  padding: 9px 12px !important;
  margin: 4px 10px 12px !important;
  width: calc(100% - 20px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
ul.products li.product .tml-prod-kw {
  font-size: 11px !important;
  padding: 0 12px !important;
  margin-bottom: 4px !important;
}

/* ── BUG 6: Correlati — evita sovrapposizione con sticky galleria ── */
.tml-prod-gallery-wrap {
  /* Desktop: sticky */
  position: sticky;
  top: 90px;
  align-self: flex-start;
  z-index: 1;
}
/* Sezione correlati deve avere z-index e clearfix */
div[style*="padding:56px 40px"] {
  position: relative;
  z-index: 0;
  clear: both;
}
/* Assicura che il wrapper prodotto non crei context di stacking problematico */
.tml-prod-layout {
  isolation: isolate;
}

/* ── BUG 7: Spazio vuoto tra thumbs e info prodotto su mobile ── */
@media (max-width: 768px) {
  /* Galleria NON sticky su mobile */
  .tml-prod-gallery-wrap {
    position: static !important;
    top: auto !important;
  }
  /* Layout in colonna senza gap eccessivo */
  .tml-prod-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 16px !important;
  }
  /* Galleria compatta */
  .tml-gal-main {
    aspect-ratio: 4/3 !important;
    height: auto !important;
  }
  .tml-gal-thumbs {
    margin-top: 6px !important;
    gap: 6px !important;
  }
  .tml-gal-thumb {
    width: 58px !important;
    height: 44px !important;
  }
  /* Info prodotto senza padding top eccessivo */
  .tml-prod-layout > div:last-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* ── BUG 5 mobile: card prodotti 2 colonne, compatte ── */
  ul.products {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 11.5px !important;
    padding: 8px 8px 4px !important;
    -webkit-line-clamp: 2 !important;
    min-height: 2.5em !important;
  }
  .tml-atc-btn {
    font-size: 11px !important;
    padding: 8px 8px !important;
    margin: 4px 8px 10px !important;
    width: calc(100% - 16px) !important;
  }
  .tml-prod-kw {
    font-size: 10.5px !important;
    padding: 0 8px !important;
  }

  /* ── BUG 6 mobile: correlati NON sovrapposti ── */
  .tml-correlati-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .tml-correlati-card img {
    height: 110px !important;
  }
  div[style*="padding:56px 40px"] {
    padding: 36px 16px !important;
    position: relative !important;
    z-index: auto !important;
    margin-top: 0 !important;
    clear: both !important;
  }

  /* ── Footer 5 colonne → 1 colonna mobile ── */
  .tml-footer-grid {
    grid-template-columns: 1fr !important;
    padding: 36px 20px 24px !important;
    gap: 24px !important;
  }
}

@media (max-width: 480px) {
  ul.products { grid-template-columns: 1fr 1fr !important; }
  .tml-correlati-grid { grid-template-columns: 1fr 1fr !important; }
  .tml-correlati-card img { height: 90px !important; }
}

/* ── Tablet: footer 2-3 col ── */
@media (max-width: 1100px) and (min-width: 769px) {
  .tml-footer-grid { grid-template-columns: 1fr 1fr 1fr !important; }
}


/* ================================================================
   TML v10 — FIX FINALI
================================================================ */

/* ── BUG 1: Video hero visibile — hero-right senza sfondo opaco ── */
.tml-hero-right {
  background: transparent !important;
}
.tml-hero-right::before {
  background: transparent !important;
}

/* ── HERO: entrambi i lati sopra il video ── */
.tml-hero-left,
.tml-hero-right {
  position: relative !important;
  z-index: 2 !important;
}

/* ── BUG 4: Immagini prodotti homepage — proporzione verticale ── */
ul.products li.product a.woocommerce-loop-product__link {
  aspect-ratio: 3/4 !important;
  background: #f8f8f8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
ul.products li.product img {
  object-fit: contain !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  background: #f8f8f8 !important;
  width: 100% !important;
  height: 100% !important;
}
ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* ── BUG 6: Correlati mobile NON sovrapposti ── */
/* Garantisce che la sezione correlati sia in flusso normale */
.tml-correlati-section,
div[style*="padding:56px 40px"],
div[style*="background:#f5f5f5;padding:56px"] {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate !important;
  clear: both !important;
  overflow: hidden !important;
}
/* Il layout prodotto non deve "scappare" fuori dal flusso */
.tml-prod-layout {
  position: relative !important;
  z-index: 1 !important;
}

/* ── BUG 7 + 8: Hero mobile contrasto + spazio galleria ── */
@media (max-width: 768px) {

  /* Hero: testo sempre bianco e leggibile */
  .tml-hero-left .tml-hero-h1,
  .tml-hero-left .tml-hero-sub,
  .tml-hero-left .tml-eyebrow,
  .tml-hero-left { color: #fff !important; }
  .tml-hero-left .tml-hero-sub { color: rgba(255,255,255,.85) !important; }
  .tml-hero-left .tml-eyebrow { color: rgba(255,255,255,.6) !important; }

  /* Spazio vuoto tra galleria e info prodotto: ridotto */
  .tml-prod-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px !important;
  }
  .tml-prod-gallery-wrap {
    position: static !important;
    top: auto !important;
    margin-bottom: 0 !important;
  }
  /* Rimuove padding/margin extra tra galleria e info */
  .tml-prod-layout > div:nth-child(2) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Galleria compatta */
  .tml-gal-main { aspect-ratio: 4/3 !important; }
  .tml-gal-thumbs { margin-top: 6px !important; }
  .tml-gal-thumb { width: 56px !important; height: 42px !important; }

  /* BUG 6 mobile: correlati in flusso normale */
  div[style*="padding:56px 40px"],
  div[style*="background:#f5f5f5"] {
    position: static !important;
    z-index: auto !important;
  }
  .tml-correlati-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .tml-correlati-card img { height: 110px !important; }

  /* Prodotti immagini mobile: proporzione ok */
  ul.products li.product a.woocommerce-loop-product__link {
    aspect-ratio: 3/4 !important;
  }
  ul.products li.product img {
    padding: 8px !important;
    object-fit: contain !important;
  }
}

/* ================================================================
   TML v7.3 — FIX MOBILE COMPLETO (2025-05-27)
   - Menu mobile full-screen opaco + scroll lock
   - Prodotti: 2 col mobile, 1 col <480px
   - Hero: glassmorphism, video visibile
   - Prodotto: gap ridotto, correlati non sovrapposti
   - Footer: 4 colonne
================================================================ */

/* ─── 1. MENU MOBILE — full-screen overlay opaco ─────────────── */
#tml-mob-nav {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  background: rgba(10,10,10,.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  display: none !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 80px 24px 40px !important;
  overflow-y: auto !important;
}
#tml-mob-nav.open {
  display: flex !important;
}
#tml-mob-nav a {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.88) !important;
  text-decoration: none !important;
  text-align: center !important;
  letter-spacing: -0.2px !important;
  transition: color .2s !important;
}
#tml-mob-nav a:last-child {
  border-bottom: none !important;
  margin-top: 24px !important;
  padding: 16px 32px !important;
  background: linear-gradient(135deg,#fab41e,#cb4826) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-size: 16px !important;
  max-width: 280px !important;
}
body.tml-menu-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
}

/* ─── 2. HAMBURGER visibile solo su mobile ────────────────────── */
@media (min-width: 769px) {
  #tml-ham-btn { display: none !important; }
}
@media (max-width: 768px) {
  #tml-main-nav { display: none !important; }
  #tml-ham-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100001 !important;
    position: relative !important;
  }
  .tml-hdr-inner { padding: 0 16px !important; height: 60px !important; }
}

/* ─── 3. GRIGLIA PRODOTTI RESPONSIVE ─────────────────────────── */
@media (min-width: 1025px) {
  ul.products,
  .tml-prod-grid-related { grid-template-columns: repeat(4,1fr) !important; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  ul.products,
  .tml-prod-grid-related { grid-template-columns: repeat(3,1fr) !important; gap: 16px !important; }
}
@media (min-width: 481px) and (max-width: 768px) {
  ul.products,
  .tml-prod-grid-related {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 10px !important;
    padding: 0 12px !important;
  }
}
@media (max-width: 480px) {
  ul.products,
  .tml-prod-grid-related {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 16px !important;
  }
}

/* Card prodotto mobile */
@media (max-width: 768px) {
  ul.products li.product { min-width: 0 !important; }
  ul.products li.product a.woocommerce-loop-product__link {
    aspect-ratio: 4/5 !important;
  }
  ul.products li.product img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px !important;
    padding: 8px 8px 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  /* Bottone "Scopri il prodotto" dentro la card */
  ul.products li.product .button,
  ul.products li.product a.button,
  ul.products li.product .tml-card-btn,
  ul.products li.product .tml-btn-grad {
    font-size: 10px !important;
    padding: 5px 8px !important;
    width: calc(100% - 12px) !important;
    margin: 0 6px 8px !important;
    display: block !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }
  /* Badge kW dentro card */
  ul.products li.product .tml-card-kw,
  ul.products li.product .price {
    font-size: 11px !important;
    padding: 0 8px 4px !important;
  }
  /* Sezione linee prodotto home */
  .tml-linee-tab-content,
  .tml-ltab-prods {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 10px !important;
  }
  .tml-ltab-card-title { font-size: 11px !important; }
}

/* ─── 4. HERO MOBILE ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .tml-hero {
    flex-direction: column !important;
    min-height: 100svh !important;
    min-height: 100vh !important;
  }
  /* Lato SX: nascondi badge flottanti, mostra sfondo video */
  .tml-hero-left {
    display: none !important;
  }
  /* Lato DX: occupa tutto, glassmorphism */
  .tml-hero-right {
    width: 100% !important;
    flex: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 24px 16px 36px !important;
    background: transparent !important;
  }
  /* Box glassmorphism */
  .tml-hero-right > div[style*="backdrop-filter"],
  .tml-hero-right > div[style*="blur"] {
    width: 100% !important;
    padding: 24px 20px !important;
    border-radius: 14px !important;
    max-width: 100% !important;
    background: rgba(10,10,10,.6) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
  }
  .tml-hero-h1,
  .tml-hero-right .tml-hero-h1 {
    font-size: clamp(26px,7vw,36px) !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
    color: #fff !important;
  }
  .tml-hero-sub,
  .tml-hero-right .tml-hero-sub {
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin-bottom: 18px !important;
    color: rgba(255,255,255,.8) !important;
  }
  .tml-hero-actions {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .tml-hero-actions a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  /* Overlay video: più leggero su tutto per vedere il video */
  #tml-hero-video-wrap > div[style*="gradient"] {
    background: linear-gradient(
      to bottom,
      rgba(10,10,10,.2) 0%,
      rgba(10,10,10,.15) 50%,
      rgba(10,10,10,.65) 100%
    ) !important;
  }
}

/* ─── 5. PAGINA PRODOTTO MOBILE ───────────────────────────────── */
@media (max-width: 768px) {
  /* Rimuovi spazio eccessivo tra gallery e titolo */
  .tml-prod-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .tml-prod-gallery-wrap {
    position: static !important;
    top: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .tml-gal-main {
    aspect-ratio: 4/3 !important;
    margin-bottom: 8px !important;
  }
  .tml-prod-info-col {
    padding: 12px 16px 24px !important;
  }
  /* Prodotti correlati: in flusso normale, NON sovrapposti */
  .tml-related,
  .related.products,
  section.related,
  .related {
    position: static !important;
    z-index: auto !important;
    margin-top: 24px !important;
    clear: both !important;
    float: none !important;
    transform: none !important;
  }
  .tml-prod-grid-related,
  .related ul.products {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 10px !important;
  }
  /* Galleria thumbnail: sincronizzazione visiva */
  .tml-thumb { cursor: pointer !important; }
  .tml-thumb.active { border-color: #fab41e !important; }
}

/* ─── 6. FOOTER — 4 COLONNE ───────────────────────────────────── */
.tml-footer-col-nav {
  /* Quarta colonna navigazione */
  display: block;
}
@media (max-width: 768px) {
  .tml-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
  }
}
@media (max-width: 480px) {
  .tml-footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ════════════════════════════════════════════════════════════
   TML Lavia v9.0 — BLOCCO FINALE UNICO
   Tutti i fix: hero, prodotti, immagini, footer
   (header.php e footer.php hanno CSS inline propri)
═══════════════════════════════════════════════════════════════ */

/* ─── VARIABILI SISTEMA ──────────────────────────────────── */
:root {
  --fire-from: #FF6A00;
  --fire-to:   #FFA500;
  --fire-grad: linear-gradient(135deg, #FF6A00 0%, #FFA500 100%);
  --dark-deep: #0A0A0A;
  --dark-mid:  #111111;
  --dark-soft: #1a1a1a;
  --light-bg:  #F4F4F4;
  --card-bg:   #FAFAFA;
  --border-s:  rgba(255,255,255,0.06);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 12px 40px rgba(0,0,0,.08);
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ─── HERO v9 — Video full-width + box flottante ─────────── */
.tml-hero.v8,
.tml-hero {
  position: relative;
  width: 100%;
  min-height: 92vh;
  min-height: 92svh;
  overflow: hidden;           /* FIX 5: video non sborda */
  display: flex;
  align-items: stretch;
  background: var(--dark-deep);
}

.tml-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;           /* FIX 5: wrapper video clip */
}
.tml-hero-bg video,
.tml-hero-bg #tml-hero-video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* OVERLAY VIDEO — copre tutta l'altezza, fade verso bottom
   per transizione elegante alla sezione successiva */
.tml-hero-ov {
  position: absolute;
  inset: 0;
  background:
    /* gradiente orizzontale: leggero a sx, più scuro a dx dove sta il testo */
    linear-gradient(to right,
      rgba(10,10,10,.18) 0%,
      rgba(10,10,10,.12) 40%,
      rgba(10,10,10,.55) 100%),
    /* gradiente verticale: scurisce alto e basso, lascia centro più visibile */
    linear-gradient(180deg,
      rgba(0,0,0,.45) 0%,
      rgba(0,0,0,.25) 35%,
      rgba(0,0,0,.30) 65%,
      rgba(0,0,0,.85) 100%);
}

.tml-hero-body {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Container hero glass — NESSUN background, NESSUN blur.
   Il blur è applicato SOLO dietro i trust signals (.tml-hero-trust). */
.tml-hero-glass {
  width: 100%;
  max-width: 42%;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  border-radius: 0;
  padding: 44px 40px;
  box-shadow: none;
  opacity: 0;
  transform: translateY(24px);
  animation: heroIn 600ms var(--ease) 200ms forwards;
  /* Drop-shadow forte sui testi per leggibilità senza box opaco */
  text-shadow: 0 2px 24px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.6);
}
@keyframes heroIn { to { opacity:1; transform:translateY(0); } }

.tml-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 20px;
}
.tml-dot {
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fire-grad);
  flex-shrink: 0;
}

.tml-hero-h1 {
  font-size: clamp(34px, 3.8vw, 56px);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -2px;
  color: #fff;
  margin: 0 0 16px;
  /* Ombra scura solo sulla parte BIANCA (l'arancione ha il proprio drop-shadow) */
  text-shadow: 0 2px 16px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.6);
}
/* Gradient più luminoso (dorato → ambra chiaro) + glow bianco morbido
   per stacco netto dal video scuro caldo. Massimizza leggibilità. */
.tml-hero-em {
  background: linear-gradient(135deg, #FFD27A 0%, #FFE6A8 50%, #FFCB6E 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  /* Glow bianco morbido + ombra scura per definire i bordi */
  filter: drop-shadow(0 0 24px rgba(255, 200, 120, 0.35))
          drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
}
.tml-hero-sub {
  font-size: 14.5px;
  line-height: 1.8;
  color: rgba(255,255,255,.7);
  margin-bottom: 28px;
  max-width: 380px;
}
.tml-hero-cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.tml-btn-fire {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--fire-grad);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 6px 28px rgba(255,106,0,.32);
  transition: transform 200ms var(--ease), box-shadow 200ms var(--ease);
  white-space: nowrap;
  min-height: 44px;
}
.tml-btn-fire:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(255,106,0,.48); color: #fff; }
.tml-btn-fire:focus-visible { outline: 2px solid #FFA500; outline-offset: 3px; }

.tml-btn-ghost {
  display: inline-flex;
  align-items: center;
  padding: 11px 22px;
  border: 1.5px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.85);
  font-size: 14px;
  font-weight: 600;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 200ms, background 200ms;
  min-height: 44px;
}
.tml-btn-ghost:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); color: #fff; }
.tml-btn-ghost:focus-visible { outline: 2px solid #FFA500; outline-offset: 3px; }

/* Trust signals — UNICA fascia con background blurrato */
.tml-hero-trust {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 10px;
  padding: 10px 18px;
  background: rgba(10, 10, 10, 0.45);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 50px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  text-shadow: none;
  width: fit-content;
}
.tml-ts { opacity: .3; }

.tml-hero-scroll-ind {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.tml-hero-scroll-ind span {
  display: block;
  width: 1px; height: 44px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.4), transparent);
  animation: scrollPulse 2s infinite;
}
@keyframes scrollPulse { 0%,100%{opacity:.3} 50%{opacity:1} }

/* HERO MOBILE — FIX 5 e contesto generale */
@media (max-width: 768px) {
  .tml-hero,
  .tml-hero.v8 {
    min-height: 100svh;
    min-height: 100vh;
    align-items: flex-end;
    overflow: hidden !important;
  }
  .tml-hero-body {
    padding: 0;
    justify-content: stretch;
    align-items: flex-end;
  }
  .tml-hero-glass {
    max-width: 100% !important;
    width: 100% !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 28px 20px 36px !important;
    background: rgba(10,10,10,.82) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }
  .tml-hero-h1 {
    font-size: clamp(28px,7.5vw,40px) !important;
    letter-spacing: -1px !important;
    margin-bottom: 12px !important;
  }
  .tml-hero-sub {
    font-size: 14px !important;
    margin-bottom: 20px !important;
    max-width: 100% !important;
    color: rgba(255,255,255,.78) !important;
  }
  .tml-hero-cta {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .tml-btn-fire, .tml-btn-ghost {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .tml-hero-trust {
    font-size: 9.5px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .tml-hero-scroll-ind { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .tml-hero-glass { animation: none; opacity:1; transform:none; }
  .tml-hero-scroll-ind { display: none; }
}

/* ─── SEZIONE CATEGORIE ──────────────────────────────────── */
.tml-categorie {
  background: var(--dark-deep);
  padding: 88px 0;
  border-top: 1px solid rgba(255,255,255,.04);
}
.tml-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 16px;
}
.tml-sec-head .tml-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--fire-from);
  margin-bottom: 6px;
}
.tml-sec-head .tml-h2 {
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 800;
  letter-spacing: -1.5px;
  line-height: 1.1;
  margin: 0;
}
.tml-categorie .tml-h2 { color: #fff; }

.tml-cat-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tml-cat-card {
  display: grid;
  grid-template-columns: 1fr 260px;
  align-items: center;
  min-height: 192px;
  background: var(--dark-soft);
  border: 1px solid var(--border-s);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  position: relative;
  transition: border-color 300ms, background 300ms;
}
.tml-cat-card::before {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 120px; height: 120px;
  background: radial-gradient(circle at 100% 100%, var(--cacc, #FF6A00), transparent 70%);
  opacity: .12;
  transition: opacity 300ms, width 300ms, height 300ms;
  pointer-events: none;
}
.tml-cat-card:hover { border-color: rgba(255,255,255,.11); background: #222; }
.tml-cat-card:hover::before { opacity:.28; width:180px; height:180px; }
.tml-cat-card:focus-visible { outline: 2px solid #FFA500; outline-offset: 3px; }
.tml-cat-txt { padding: 32px 36px; display: flex; flex-direction: column; gap: 5px; }
.tml-cat-num { font-size:10px; font-weight:700; letter-spacing:3px; color:rgba(255,255,255,.18); }
.tml-cat-tag { font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--cacc,#FF6A00); }
.tml-cat-nome { font-size:clamp(18px,2.2vw,26px); font-weight:800; letter-spacing:-.5px; color:#fff; margin:4px 0; line-height:1.1; }
.tml-cat-desc { font-size:13.5px; line-height:1.7; color:rgba(255,255,255,.52); max-width:440px; }
.tml-cat-range { font-size:12.5px; font-weight:700; color:var(--cacc,#FF6A00); margin-top:2px; }
.tml-cat-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.45);
  margin-top: 8px;
  transition: color 200ms, gap 200ms;
}
.tml-cat-card:hover .tml-cat-cta { color: rgba(255,255,255,.88); gap: 10px; }
.tml-cat-img {
  height: 100%;
  min-height: 192px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.025);
}
.tml-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 20px;
  transition: transform 400ms var(--ease);
}
.tml-cat-card:hover .tml-cat-img img { transform: scale(1.04); }
.tml-cat-no-img { width:100%; min-height:192px; background:rgba(255,255,255,.02); }

@media (max-width: 768px) {
  .tml-categorie { padding: 56px 0; }
  .tml-cat-card { grid-template-columns: 1fr; min-height: auto; }
  .tml-cat-img { min-height: 150px; order: -1; }
  .tml-cat-txt { padding: 20px 20px 24px; }
  .tml-cat-nome { font-size: 20px; }
  .tml-cat-cta { display: none; }
}

/* ─── PRODOTTI IN EVIDENZA HOMEPAGE ──────────────────────── */
.tml-prodotti-home {
  background: var(--light-bg);
  padding: 88px 0;
}
.tml-prodotti-home .tml-sec-head { margin-bottom: 40px; }
.tml-prodotti-home .tml-h2 { color: var(--dark-deep); }
.tml-prodotti-home .tml-label { color: rgba(0,0,0,.4); }
.tml-prodotti-home .tml-view-all {
  color: rgba(0,0,0,.5);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: color 200ms;
}
.tml-prodotti-home .tml-view-all:hover { color: var(--fire-from); }

.tml-prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* FIX 3: Card prodotto — aspect-ratio uniforme + object-fit:contain */
.tml-pc {
  background: #fff;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 300ms var(--ease), box-shadow 300ms var(--ease);
}
.tml-pc:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.tml-pc-link { display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit; }

.tml-pc-img {
  background: var(--card-bg);
  aspect-ratio: 3 / 4;        /* FIX 3: aspect ratio uniforme */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;              /* FIX 3: padding generoso */
  flex-shrink: 0;
}
.tml-pc-img img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;   /* FIX 3: prodotto sempre intero */
  object-position: center !important;
  transition: transform 400ms var(--ease);
}
.tml-pc:hover .tml-pc-img img { transform: scale(1.04); }
.tml-pc-noimg {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #f0f0f0, #e8e8e8);
  border-radius: 8px;
}

.tml-pc-body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 3px;
}
.tml-pc-cat {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.8px;
  color: rgba(0,0,0,.32);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tml-pc-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--dark-deep);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 2px 0;
  min-height: 36px;
}
.tml-pc-kw {
  font-size: 13px;
  font-weight: 800;
  background: var(--fire-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.tml-pc-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(0,0,0,.32);
  margin-top: auto;
  padding-top: 10px;
  transition: color 200ms, gap 200ms;
}
.tml-pc:hover .tml-pc-cta { color: var(--fire-from); gap: 7px; }

.tml-prod-more { text-align: center; margin-top: 48px; }
.tml-btn-outline-dark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 32px;
  border: 1.5px solid rgba(0,0,0,.15);
  color: var(--dark-deep);
  font-size: 14px;
  font-weight: 600;
  border-radius: 50px;
  text-decoration: none;
  transition: border-color 200ms, color 200ms;
  min-height: 44px;
}
.tml-btn-outline-dark:hover { border-color: var(--fire-from); color: var(--fire-from); }

/* Responsive prodotti — 4 / 3 / 2 / 1 */
@media (max-width: 1279px) and (min-width: 1025px) {
  .tml-prod-grid { grid-template-columns: repeat(4,1fr) !important; gap: 16px; }
}
@media (max-width: 1024px) and (min-width: 769px) {
  .tml-prod-grid { grid-template-columns: repeat(3,1fr) !important; gap: 16px; }
}
@media (max-width: 768px) and (min-width: 481px) {
  .tml-prodotti-home { padding: 56px 0; }
  .tml-prodotti-home .tml-sec-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .tml-prod-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px; }
  .tml-pc-img { padding: 16px; }
  .tml-pc-body { padding: 12px 14px 16px; }
  .tml-pc-title { font-size: 13px; min-height: 32px; }
  .tml-pc-cta { display: none; }
}
@media (max-width: 480px) {
  .tml-prod-grid { grid-template-columns: repeat(2,1fr) !important; gap: 8px; }
  .tml-pc-img { padding: 12px; aspect-ratio: 1 / 1; }
  .tml-pc-title { font-size: 12px; }
}

/* ─── GRIGLIA WOOCOMMERCE archive ─────────────────────────── */
ul.products {
  grid-template-columns: repeat(4,1fr) !important;
}
ul.products li.product img {
  object-fit: contain !important;
  object-position: center !important;
  padding: 16px !important;
}
@media (max-width: 1024px) and (min-width: 769px) {
  ul.products { grid-template-columns: repeat(3,1fr) !important; }
}
@media (max-width: 768px) and (min-width: 481px) {
  ul.products {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 10px !important;
    padding: 0 12px !important;
  }
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  ul.products li.product .button,
  ul.products li.product a.button {
    font-size: 10px !important;
    padding: 6px 8px !important;
    width: calc(100% - 16px) !important;
    margin: 0 8px 8px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}
@media (max-width: 480px) {
  ul.products { grid-template-columns: repeat(2,1fr) !important; gap: 8px !important; }
}

/* ─── TABELLE PRODOTTO (FIX 1) ───────────────────────────── */
/* La tab Descrizione contiene anche le tabelle. Stili coerenti */
.tml-prod-desc-text { font-size: 14.5px; color: #444; line-height: 1.9; }
.tml-prod-desc-text h2,
.tml-prod-desc-text h3 { font-size: 18px; font-weight: 700; color: #111; margin: 16px 0 8px; }
.tml-prod-desc-text p { margin-bottom: 12px; }
.tml-prod-desc-text ul,
.tml-prod-desc-text ol { margin-left: 20px; margin-bottom: 12px; }

/* Tabella specifiche tecniche */
.tml-specs {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
.tml-specs tr:nth-child(even) td { background: #fafafa; }
.tml-specs td {
  padding: 10px 14px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.tml-specs td:first-child { font-weight: 500; color: #444; width: 50%; }
.tml-specs td:last-child  { color: #111; font-weight: 600; }

/* Tabella modelli */
.tml-modelli {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  min-width: 480px; /* per scroll orizzontale ordinato */
}
.tml-modelli th {
  background: #0e0e0e;
  color: #fff;
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  font-size: 12px;
}
.tml-modelli td {
  padding: 9px 12px;
  border-bottom: 1px solid #f0f0f0;
  white-space: nowrap;
}
.tml-modelli tr:nth-child(even) td { background: #fafafa; }
.tml-modelli td:first-child {
  font-weight: 600;
  color: #111;
  background: #fff8f5;
  position: sticky;
  left: 0;
}

@media (max-width: 768px) {
  .tml-specs { font-size: 12.5px; }
  .tml-specs td { padding: 8px 10px; }
  .tml-modelli { font-size: 11.5px; }
  .tml-modelli th, .tml-modelli td { padding: 8px 10px; }
}

/* ─── HAMBURGER FIX FORZATO ──────────────────────────────────
   Garantisce visibilità hamburger su mobile sopra ogni altro selettore */
@media (max-width: 768px) {
  header#tml-hdr button#tml-ham-btn,
  #tml-hdr #tml-ham-btn,
  #tml-ham-btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  /* Nasconde la nav desktop con la massima specificità */
  header#tml-hdr nav#tml-main-nav,
  #tml-hdr nav#tml-main-nav,
  #tml-main-nav {
    display: none !important;
  }
}
@media (min-width: 769px) {
  header#tml-hdr button#tml-ham-btn,
  #tml-hdr #tml-ham-btn,
  #tml-ham-btn {
    display: none !important;
  }
}
