/*
Theme Name: TECNO MONTAGGI
Theme URI: https://www.tecnomontaggi.eu/
Author: TECNO MONTAGGI
Description: Tema ufficiale TECNO MONTAGGI.
Version: 1.1.6
Text Domain: tecno-montaggi
*/



:root{
  --bg:#08090a; --panel:#101214; --line:#2b2e31; --text:#f4f5f6; --muted:#aeb3b8;
  --silver:#d9dde1; --red:#d31724; --green:#0a8a45;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;height:82px;display:flex;align-items:center;gap:32px;padding:10px 4vw;background:rgba(5,6,7,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{width:215px;flex:0 0 auto;overflow:hidden}
.brand img{height:62px;object-fit:cover;object-position:center}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px;font:600 14px/1 "Barlow Condensed",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.nav a{opacity:.9}
.nav a:hover{opacity:1}
.nav-cta{border:1px solid rgba(255,255,255,.35);padding:11px 16px}
.menu-toggle{display:none;margin-left:auto;background:none;color:white;border:0;font-size:28px}
.hero{height:92vh;min-height:650px;position:relative;display:flex;align-items:center;padding:110px 6vw 50px;overflow:hidden}
.hero-bg{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 47%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 36%,rgba(0,0,0,.15) 72%,rgba(0,0,0,.05) 100%)}
.hero-content{position:relative;z-index:2;max-width:720px}
.eyebrow,.kicker{font:600 15px/1.3 "Barlow Condensed",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#e7e8e9}
.eyebrow span{color:var(--red);padding:0 6px}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0}
h1{font-size:clamp(64px,8vw,116px);line-height:.82;letter-spacing:.015em;text-transform:uppercase}
h2{font-size:clamp(42px,5vw,72px);line-height:.95;text-transform:uppercase}
h3{font-size:31px;line-height:1}
.tricolore{display:flex;width:220px;height:6px;margin:32px 0}
.tricolore i{flex:1}.tricolore i:nth-child(1){background:var(--green)}.tricolore i:nth-child(2){background:#fff}.tricolore i:nth-child(3){background:var(--red)}
.lead{max-width:610px;color:#e1e3e5;font-size:19px;line-height:1.6}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 20px;border:1px solid rgba(255,255,255,.35);text-transform:uppercase;font:600 14px "Barlow Condensed",sans-serif;letter-spacing:.08em}
.btn.primary{background:#fff;color:#0b0c0d;border-color:#fff}
.btn.ghost:hover{background:#fff;color:#111}
.section{padding:90px 6vw}
.section-head{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;margin-bottom:50px}
.section-head h2{max-width:900px}
.kicker{color:#c9cdd1}
.intro{background:#f2f3f4;color:#0b0c0d}
.intro .kicker{color:#6b7177}
.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}
.intro-grid p{font-size:18px;line-height:1.75;color:#333b41}
.numbers{display:grid;grid-template-columns:1fr;gap:1px;background:#c9cdd0;border:1px solid #c9cdd0}
.numbers div{background:#fff;padding:24px}
.numbers strong{font:700 36px "Barlow Condensed";display:block}
.numbers span{color:#6b7177}
.dark{background:#0a0b0c}
.feature-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}
.feature-card{position:relative;min-height:520px;overflow:hidden;background:#17191b}
.feature-card img{height:100%;object-fit:cover;filter:saturate(.9)}
.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.9) 100%)}
.card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.card-copy span{color:var(--red);font:700 14px Inter}
.card-copy p{color:#c8ccd0;line-height:1.55}
.split{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}
.split img{height:560px;object-fit:cover}
.split-copy p{color:#b9bec3;line-height:1.75}
.text-link{display:inline-block;margin-top:14px;border-bottom:1px solid #999;padding-bottom:4px}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.portfolio figure{margin:0;position:relative;overflow:hidden;background:#111}
.portfolio figure img{height:290px;object-fit:cover;transition:.35s transform}
.portfolio figure:hover img{transform:scale(1.035)}
.portfolio figcaption{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #232629;border-top:none}
.portfolio figcaption b{font-family:"Barlow Condensed";font-size:20px;text-transform:uppercase}
.portfolio figcaption span{font-size:12px;color:#9da3a9;text-align:right}
.statement{text-align:center;background:#151719}
.statement h2{max-width:980px;margin:0 auto 30px}
.pill-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.pill-row span{border:1px solid #474b4f;border-radius:999px;padding:10px 16px;color:#cbd0d4}
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:90px 6vw;background:#e9eaec;color:#101214}
.contact .kicker{color:#5d6268}
.contact-box{display:flex;flex-direction:column;gap:14px;justify-content:center}
.contact-box a{font:600 28px "Barlow Condensed";text-decoration:underline;text-underline-offset:5px}
.contact-box span{color:#535a60}
footer{padding:35px 6vw 45px;border-top:1px solid #222;display:grid;grid-template-columns:180px 1fr;gap:20px 40px;align-items:center;color:#858b90;font-size:12px}
footer img{height:54px;object-fit:cover}
.legal-note{grid-column:2}
@media(max-width:1000px){
  .nav{display:none;position:absolute;top:82px;left:0;right:0;background:#08090a;padding:24px 5vw;flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}.menu-toggle{display:block}
  .section-head{grid-template-columns:1fr;gap:10px}
  .feature-grid{grid-template-columns:1fr 1fr}.feature-card.large{grid-column:1/-1}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .site-header{height:70px}.brand{width:160px}.brand img{height:48px}
  .hero{height:auto;min-height:760px;padding:120px 6vw 70px}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.58))}
  h1{font-size:62px}.lead{font-size:16px}
  .section{padding:68px 6vw}.intro-grid,.split,.contact{grid-template-columns:1fr;gap:32px}
  .feature-grid,.portfolio-grid{grid-template-columns:1fr}
  .feature-card,.split img{min-height:0;height:430px}
  .portfolio figure img{height:260px}
  footer{grid-template-columns:1fr}.legal-note{grid-column:1}
}

.experience-note{max-width:1080px;margin:-18px 0 42px;padding:24px 26px;border-left:3px solid #d9dde1;background:#121416;color:#c8cdd1}
.experience-note strong{display:block;font:700 25px/1.1 "Barlow Condensed",sans-serif;letter-spacing:.035em;color:#fff}
.experience-note p{margin:12px 0 0;max-width:950px;line-height:1.65;font-size:14px;color:#aeb4b9}


.operations-section{text-align:center}
.operations-section h2{text-transform:uppercase;letter-spacing:.04em}
.operations-section p{max-width:760px;margin:0 auto;color:#c9c9c9}
.home-gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0 24px}
.preview-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#111}
.preview-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery-btn{display:inline-block;padding:14px 24px;border:1px solid #aaa;color:#fff;text-decoration:none;letter-spacing:.08em;font-weight:700}
.gallery-btn:hover{background:#fff;color:#111}
@media(max-width:850px){.home-gallery-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.home-gallery-preview{grid-template-columns:1fr 1fr}}

.footer-careers{max-width:1180px;margin:0 auto 28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:18px;align-items:center;letter-spacing:.08em}
.footer-careers span{font-weight:700}
.footer-careers a,.form-btn{display:inline-block;padding:13px 20px;border:1px solid #aaa;color:#fff;text-decoration:none;background:transparent;font-weight:700;letter-spacing:.07em}
.page-hero{padding:120px 0 48px;text-align:center}
.page-hero h1{text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.page-copy{max-width:820px;margin:0 auto;color:#c9c9c9;line-height:1.7}
.form-wrap{max-width:850px;margin:30px auto 70px;padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:12px;letter-spacing:.08em;font-weight:700}
.form-field input,.form-field textarea,.form-field select{background:#0c0c0c;border:1px solid rgba(255,255,255,.16);color:#fff;padding:13px;font:inherit}
.form-field textarea{min-height:130px;resize:vertical}
.form-note{font-size:12px;color:#999;margin:16px 0}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:32px auto 70px}
.contact-card{padding:26px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}
.contact-card h3{margin-top:0;text-transform:uppercase;letter-spacing:.06em}
.contact-card p{color:#c9c9c9;line-height:1.7}
@media(max-width:700px){.form-grid,.contact-cards{grid-template-columns:1fr}.footer-careers{flex-direction:column;text-align:center}}


footer{
  overflow:visible !important;
  padding-bottom:56px !important;
}
footer img{
  width:180px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  overflow:visible !important;
}
@media(max-width:700px){
  footer img{
    width:170px !important;
    height:auto !important;
    margin-bottom:8px !important;
  }
}

.hero-secondary-services{
  margin:14px auto 0;
  font-size:clamp(12px,1.25vw,17px);
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d3d3d3;
  text-align:center;
}
@media(max-width:700px){
  .hero-secondary-services{
    max-width:92%;
    line-height:1.65;
    letter-spacing:.07em;
  }
}


.hero-secondary-services{
  margin-top:10px !important;
  font-size:clamp(16px,2.0vw,26px) !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  line-height:1.35 !important;
  color:#e2e2e2 !important;
}
@media(max-width:700px){
  .hero-secondary-services{
    font-size:clamp(14px,4.3vw,20px) !important;
    line-height:1.5 !important;
    max-width:94% !important;
  }
}


.hero-main-title{
  font-size:clamp(28px,4.2vw,58px) !important;
  line-height:1.05 !important;
}
@media(max-width:700px){
  .hero-main-title{
    font-size:clamp(25px,8vw,38px) !important;
  }
}


.hero-main-title.work-label-equal,
.hero-secondary-services.work-label-equal{
  font-size:clamp(18px,2.15vw,30px) !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:.075em !important;
  color:#e2e2e2 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}
.hero-secondary-services.work-label-equal{
  margin-top:8px !important;
}
@media(max-width:700px){
  .hero-main-title.work-label-equal,
  .hero-secondary-services.work-label-equal{
    font-size:clamp(15px,4.5vw,20px) !important;
    line-height:1.45 !important;
    max-width:94% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


.facciate-one-line{
  white-space:nowrap !important;
  width:max-content !important;
  max-width:96vw !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media(max-width:700px){
  .facciate-one-line{
    font-size:clamp(13px,4.2vw,19px) !important;
    letter-spacing:.045em !important;
  }
}


.hero-work-block{
  width:min(1180px,96vw);
  margin:0 auto;
  text-align:center;
}
.hero-work-heading{
  font-size:clamp(25px,3.2vw,46px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#f0f0f0;
  white-space:nowrap;
}
.hero-work-list{
  margin:18px auto 0;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;
  gap:0;
}
.hero-work-list span{
  font-size:clamp(13px,1.35vw,19px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:.055em;
  color:#d9d9d9;
  white-space:nowrap;
  padding:0 18px;
}
.hero-work-list span+span{
  border-left:1px solid rgba(255,255,255,.35);
}
@media(max-width:700px){
  .hero-work-heading{
    font-size:clamp(18px,5.2vw,25px);
    white-space:normal;
  }
  .hero-work-list{
    margin-top:14px;
    flex-direction:column;
    gap:7px;
  }
  .hero-work-list span{
    font-size:clamp(13px,4vw,17px);
    padding:0;
  }
  .hero-work-list span+span{
    border-left:0;
  }
}


.tricolor,.tricolore,.flag,.italy-flag{
  margin-left:auto !important;
  margin-right:auto !important;
}

.team-organization{
  max-width:920px;
  margin:42px auto 0;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.14);
}
.team-organization h3{
  margin:0 0 18px;
  font-size:clamp(19px,2vw,28px);
  letter-spacing:.055em;
  line-height:1.25;
  text-transform:uppercase;
}
.team-organization p{
  color:#c9c9c9;
  line-height:1.75;
  margin:0 0 13px;
}
.team-organization strong{color:#ededed}
.team-organization .team-closing{
  color:#ededed;
  font-weight:700;
  margin-top:20px;
}

.mezzi-attrezzature-visible{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:920px;
  margin:28px auto 0;
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.035);
}
.mezzi-attrezzature-visible h3{
  display:block !important;
  margin:0 0 12px;
  color:#f0f0f0;
  font-size:clamp(18px,1.8vw,25px);
  letter-spacing:.07em;
}
.mezzi-attrezzature-visible p{
  display:block !important;
  margin:0;
  color:#d0d0d0;
  line-height:1.7;
}

.mezzi-attrezzature-visible{display:block!important;max-width:920px;margin:36px auto;padding:26px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035);text-align:left}
.mezzi-attrezzature-visible h3{margin:0 0 12px;color:#f0f0f0;font-size:24px;letter-spacing:.07em}
.mezzi-attrezzature-visible p{margin:0;color:#d0d0d0;line-height:1.7}

.team-organization .equipment-copy{
  color:#c9c9c9;
  line-height:1.75;
  margin:0 0 13px;
}
.team-organization .equipment-copy strong{
  color:#ededed;
}


.chi-siamo-team-mezzi{
  margin-top:18px;
  max-width:920px;
}
.chi-siamo-team-mezzi p{
  margin:0 0 14px;
  color:#c9c9c9;
  line-height:1.75;
}
.chi-siamo-team-mezzi strong{
  color:#ededed;
  font-weight:700;
}



.chi-siamo-team-mezzi p,
.chi-siamo-team-mezzi strong,
.chi-siamo-team-mezzi{
  color:#f2f2f2 !important;
  opacity:1 !important;
}
.chi-siamo-team-mezzi p{
  font-weight:400 !important;
}
.chi-siamo-team-mezzi strong{
  font-weight:700 !important;
}


.chi-siamo-team-mezzi{
 display:block !important; visibility:visible !important; opacity:1 !important;
 margin-top:18px !important; max-width:100% !important;
}
.chi-siamo-team-mezzi p{
 display:block !important; visibility:visible !important; opacity:1 !important;
 color:#f2f2f2 !important; font-size:inherit !important; line-height:1.7 !important;
 margin:0 0 14px !important;
}
.chi-siamo-team-mezzi strong{color:#fff !important;font-weight:700 !important;}



.chi-siamo-team-mezzi,
.chi-siamo-team-mezzi p{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#343a40 !important;
  background:transparent !important;
  text-shadow:none !important;
  font-weight:400 !important;
}
.chi-siamo-team-mezzi strong{
  color:#343a40 !important;
  opacity:1 !important;
  font-weight:700 !important;
}


.legal-portfolio-note{
  max-width:1100px;
  margin:20px auto 8px;
  padding:0 20px;
  font-size:11px;
  line-height:1.45;
  color:#777;
  text-align:center;
}



.site-header .brand{width:235px;}
.site-header .brand img{height:68px;object-fit:cover;object-position:center;}

.hero-content{max-width:1180px;width:100%;}
.hero-work-heading{font-size:clamp(24px,3.0vw,43px);}
.hero .tricolore{width:min(720px,100%) !important;height:5px !important;margin-top:26px !important;margin-bottom:26px !important;}

.intro-grid > div:first-child > p,
.chi-siamo-team-mezzi p{font-size:18px !important;line-height:1.75 !important;color:#333b41 !important;font-weight:400 !important;}
.chi-siamo-team-mezzi strong{color:#343a40 !important;font-weight:700 !important;}

.facade-five,.sign-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.facade-five figure,.sign-five figure{margin:0;overflow:hidden;background:#17191b;border:1px solid rgba(255,255,255,.08);}
.facade-five img,.sign-five img{width:100%;height:300px;object-fit:cover;display:block;}

.footer-careers{
  position:relative;
  padding-top:20px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto 220px;
  align-items:center;
  column-gap:28px;
}
.footer-careers span{grid-column:1;}
.footer-careers a{grid-column:2;white-space:nowrap;font-size:13px !important;padding-left:22px !important;padding-right:22px !important;text-align:center;}
.footer-careers .careers-logo{
  grid-column:3;
  width:235px;
  height:auto;
  object-fit:contain;
  position:static;
  transform:none;
  margin:0;
}
@media(max-width:1000px){
 .facade-five,.sign-five{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:8px;}
 .facade-five img,.sign-five img{height:250px;}
}
@media(max-width:700px){
 .site-header .brand{width:170px}.site-header .brand img{height:52px}
 .hero-content{max-width:100%;}
 .hero-work-heading{font-size:clamp(18px,5.2vw,25px);}
 .hero .tricolore{width:94% !important;}
 .intro-grid > div:first-child > p,.chi-siamo-team-mezzi p{font-size:16px !important;line-height:1.75 !important;}
 .facade-five,.sign-five{grid-template-columns:repeat(5,72vw);}
 .facade-five img,.sign-five img{height:330px;}
 .footer-careers{grid-template-columns:minmax(90px,.8fr) minmax(155px,1.35fr) minmax(115px,.9fr);column-gap:12px;row-gap:0;text-align:left;padding-top:20px;}
 .footer-careers span{grid-column:1;justify-self:start;font-size:12px !important;line-height:1.2;}
 .footer-careers a{grid-column:2;justify-self:stretch;font-size:10px !important;padding:13px 8px !important;text-align:center;}
 .footer-careers .careers-logo{grid-column:3;justify-self:end;width:145px;}
}



.site-header .brand{width:245px;overflow:visible;display:flex;align-items:center;padding:7px 0;}
.site-header .brand img{width:100%;height:auto;max-height:68px;object-fit:contain;display:block;}
@media(max-width:700px){
 .site-header .brand{width:180px;padding:6px 0;}
 .site-header .brand img{height:auto;max-height:54px;}
}



.site-header .brand{width:245px !important;overflow:visible !important;display:flex !important;align-items:center !important;padding:7px 0 !important;}
.site-header .brand img{width:100% !important;height:auto !important;max-height:68px !important;object-fit:contain !important;display:block !important;}
.footer-careers{display:flex !important;align-items:center !important;gap:34px !important;justify-content:flex-start !important;}
.footer-careers > span{order:1;flex:0 0 auto;}
.footer-careers > a{order:2;flex:0 0 auto;white-space:nowrap;font-size:13px !important;}
.footer-careers > img.careers-logo{order:3 !important;width:230px !important;height:auto !important;max-height:82px !important;object-fit:contain !important;margin-left:auto !important;flex:0 0 auto !important;}
@media(max-width:700px){
 .site-header .brand{width:180px !important;padding:6px 0 !important;}
 .site-header .brand img{height:auto !important;max-height:54px !important;}
 .footer-careers{display:grid !important;grid-template-columns:1fr auto !important;gap:14px 18px !important;text-align:left !important;}
 .footer-careers > span{grid-column:1;grid-row:1;}
 .footer-careers > a{grid-column:1;grid-row:2;font-size:11px !important;padding:11px 13px !important;justify-self:start;}
 .footer-careers > img.careers-logo{grid-column:2;grid-row:1 / span 2;width:150px !important;max-height:64px !important;margin-left:0 !important;align-self:center;}
}



.feature-card img, .facade-five img, .sign-five img, .portfolio img { filter:none !important; opacity:1 !important; }
.feature-card:after { background:linear-gradient(180deg,transparent 72%,rgba(0,0,0,.34) 100%) !important; }

/* WordPress integration only */
.wp-page-content{padding-top:82px}.wp-page-content .page-hero{padding-top:55px}.tm-note{max-width:900px;margin:18px auto;padding:14px 18px;border:1px solid rgba(255,255,255,.18);color:#d9dde1}.tm-careers-form,.tm-contact-form{max-width:850px;margin:30px auto 70px;padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}.tm-careers-form .form-grid,.tm-contact-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tm-careers-form label,.tm-contact-form label{font-size:12px;letter-spacing:.08em;font-weight:700}.tm-careers-form input,.tm-careers-form textarea,.tm-careers-form select,.tm-contact-form input,.tm-contact-form textarea{width:100%;margin-top:7px;background:#0c0c0c;border:1px solid rgba(255,255,255,.16);color:#fff;padding:13px;font:inherit}.tm-careers-form textarea,.tm-contact-form textarea{min-height:130px}.tm-careers-form .full,.tm-contact-form .full{grid-column:1/-1}.tm-careers-form button,.tm-contact-form button{display:inline-block;padding:13px 20px;border:1px solid #aaa;color:#fff;background:transparent;font-weight:700;letter-spacing:.07em}.tm-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tm-cat{border:1px solid #2b2e31;cursor:pointer;overflow:hidden}.tm-cat img{height:220px;object-fit:cover}.tm-cat h3{padding:14px;font-size:20px}.tm-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,54px));gap:7px}.tm-photo-grid a{width:54px;height:54px;overflow:hidden;border:1px solid #333}.tm-photo-grid img{width:54px;height:54px;object-fit:cover}.tm-lightbox{display:none;position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.92);align-items:center;justify-content:center}.tm-lightbox.open{display:flex}.tm-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.tm-lightbox button{position:absolute;top:22px;right:25px;font-size:34px;background:none;border:0;color:#fff}.footer-careers{display:grid!important;grid-template-columns:1fr auto 235px!important;align-items:center!important;gap:24px!important}.footer-careers .careers-logo{grid-column:3!important;width:235px!important;height:auto!important;object-fit:contain!important}.footer-careers a{grid-column:2!important;grid-row:1!important;font-size:12px!important}.footer-careers span{grid-column:1!important;grid-row:1!important}@media(max-width:700px){.wp-page-content{padding-top:70px}.tm-careers-form .form-grid,.tm-contact-form .form-grid{grid-template-columns:1fr}.tm-careers-form .full,.tm-contact-form .full{grid-column:1}.tm-category-grid{grid-template-columns:1fr 1fr}.tm-photo-grid{grid-template-columns:repeat(auto-fill,minmax(44px,44px))}.tm-photo-grid a,.tm-photo-grid img{width:44px;height:44px}.footer-careers{grid-template-columns:1fr auto 145px!important;gap:10px!important}.footer-careers .careers-logo{width:145px!important}.footer-careers a{font-size:10px!important;padding:10px 12px!important}}


/* Multilingua: sei bandiere allineate alla riga del menu/hamburger, italiano predefinito */
.site-header{height:96px;padding-top:10px}
.language-switcher{position:static;display:flex;align-items:center;gap:7px;z-index:40;direction:ltr;margin-left:auto;flex:0 0 auto}
.lang-flag{display:flex;align-items:center;justify-content:center;width:27px;height:20px;font-size:18px;line-height:1;border:1px solid transparent;border-radius:2px;opacity:.68;filter:saturate(.85);transition:.18s ease}
.lang-flag:hover,.lang-flag.active{opacity:1;filter:none;border-color:rgba(255,255,255,.48);transform:translateY(-1px)}
.nav{margin-left:0;margin-top:0}
.wp-page-content{padding-top:96px}
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .nav{margin-left:0;margin-right:auto;direction:rtl}
html[dir="rtl"] .hero-content,html[dir="rtl"] .section,html[dir="rtl"] .page-copy,html[dir="rtl"] .contact-card,html[dir="rtl"] .tm-careers-form,html[dir="rtl"] .tm-contact-form{text-align:right}
html[dir="rtl"] .hero-actions,html[dir="rtl"] .pill-row{direction:rtl}
html[dir="rtl"] .contact-box{align-items:flex-start}
html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select{text-align:right;direction:rtl}
@media(max-width:1000px){.nav{top:96px}.language-switcher{margin-left:auto;margin-right:8px}.menu-toggle{margin-left:0;margin-top:0;display:block}}
@media(max-width:700px){.site-header{height:82px;padding-top:10px}.wp-page-content{padding-top:82px}.language-switcher{gap:4px;margin-left:auto;margin-right:7px}.lang-flag{width:22px;height:17px;font-size:15px}.nav{top:82px}.site-header .brand{width:165px!important}.site-header .brand img{max-height:48px!important}.menu-toggle{font-size:25px;margin-left:0}}


/* v1.1.2 - Correzione footer desktop: evita accavallamento logo/bottone */
.footer-careers{
  display:grid !important;
  grid-template-columns:minmax(150px,1fr) auto minmax(230px,1fr) !important;
  align-items:center !important;
  column-gap:28px !important;
}
.footer-careers > span{
  grid-column:1 !important;
  margin:0 !important;
  min-width:0 !important;
}
.footer-careers > a:not(.careers-logo){
  grid-column:2 !important;
  margin:0 !important;
  justify-self:center !important;
  white-space:nowrap !important;
}
.footer-careers .careers-logo{
  grid-column:3 !important;
  margin:0 !important;
  justify-self:end !important;
  width:230px !important;
  max-width:100% !important;
  position:static !important;
  transform:none !important;
}
.footer-careers .careers-logo img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

@media (max-width:1100px) and (min-width:701px){
  .footer-careers{
    grid-template-columns:minmax(120px,1fr) auto minmax(185px,.9fr) !important;
    column-gap:18px !important;
  }
  .footer-careers .careers-logo{
    width:190px !important;
  }
  .footer-careers > a:not(.careers-logo){
    font-size:12px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

@media (max-width:700px){
  .footer-careers{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:16px 14px !important;
  }
  .footer-careers > span{
    grid-column:1 !important;
  }
  .footer-careers > a:not(.careers-logo){
    grid-column:1 !important;
    justify-self:start !important;
  }
  .footer-careers .careers-logo{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    width:150px !important;
    align-self:center !important;
  }
}

/* v1.1.4 - Footer definitivo: un solo logo, senza tag IMG duplicabili */
.footer-careers > img,
.footer-careers .careers-logo{
  display:none !important;
}
.footer-careers{
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) auto minmax(220px,1fr) !important;
  align-items:center !important;
  column-gap:28px !important;
}
.footer-careers > span{
  grid-column:1 !important;
  grid-row:1 !important;
}
.footer-careers > a{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:center !important;
  white-space:nowrap !important;
  margin:0 !important;
}
.footer-careers .careers-logo-slot{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  width:230px !important;
  height:82px !important;
  background-image:url("assets/logo_trasparente.png") !important;
  background-repeat:no-repeat !important;
  background-position:center right !important;
  background-size:contain !important;
}
@media(max-width:1100px) and (min-width:701px){
  .footer-careers{
    grid-template-columns:minmax(130px,1fr) auto minmax(185px,.9fr) !important;
    column-gap:18px !important;
  }
  .footer-careers .careers-logo-slot{
    width:190px !important;
    height:70px !important;
  }
}
@media(max-width:700px){
  .footer-careers{
    grid-template-columns:1fr auto !important;
    gap:14px 16px !important;
  }
  .footer-careers > span{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .footer-careers > a{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }
  .footer-careers .careers-logo-slot{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    width:150px !important;
    height:64px !important;
    align-self:center !important;
  }
}

/* v1.1.5 - Copyright separato definitivamente dal pulsante candidatura */
footer .legal-note{
  position:static !important;
  display:block !important;
  width:100% !important;
  clear:both !important;
  margin:22px 0 0 !important;
  padding:22px 20px 0 !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  text-align:center !important;
  transform:none !important;
  inset:auto !important;
  float:none !important;
  z-index:auto !important;
}
.footer-careers{
  position:relative !important;
  margin-bottom:0 !important;
}

/* v1.1.6 - Footer: struttura definitiva senza sovrapposizioni e senza linee */
footer{
  display:block !important;
  position:relative !important;
}

footer::before,
footer::after,
.footer-careers::before,
.footer-careers::after{
  content:none !important;
  display:none !important;
}

.footer-careers{
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) auto minmax(220px,1fr) !important;
  align-items:center !important;
  column-gap:28px !important;
  width:100% !important;
  position:relative !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  padding-bottom:20px !important;
}

.footer-careers > span{
  grid-column:1 !important;
  grid-row:1 !important;
}

.footer-careers > a{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:center !important;
  position:static !important;
  transform:none !important;
  margin:0 !important;
}

.footer-careers .careers-logo-slot{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  position:static !important;
  transform:none !important;
  margin:0 !important;
}

footer .legal-note{
  display:block !important;
  position:relative !important;
  width:100% !important;
  clear:both !important;
  inset:auto !important;
  transform:none !important;
  float:none !important;
  margin:8px 0 0 !important;
  padding:12px 20px 0 !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  text-align:center !important;
  z-index:1 !important;
}

@media(max-width:1100px) and (min-width:701px){
  .footer-careers{
    grid-template-columns:minmax(130px,1fr) auto minmax(185px,.9fr) !important;
    column-gap:18px !important;
  }
}

@media(max-width:700px){
  .footer-careers{
    grid-template-columns:1fr auto !important;
    gap:14px 16px !important;
    padding-bottom:14px !important;
  }
  .footer-careers > span{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .footer-careers > a{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }
  .footer-careers .careers-logo-slot{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
  }
  footer .legal-note{
    margin-top:8px !important;
    padding-top:10px !important;
  }
}
