/*----------------------
Lotus LP // CSS
bg@barbaragambini.com
2024.06.20
----------------------*/

body, html { width: 100%;  height: 100%; scroll-behavior: smooth;  }

::-moz-selection  { background: #FF5321; color: #ffffff; }
::selection { background: #FF5321; color: #ffffff; }
a { color:; }
a:hover { color:#1068B2; }

body { font-size:16px; color:#000; }
.clear { clear:both; visibility:hidden; margin:0; }
a.brand, a.brand:hover { text-decoration:none; color:#212121; }

/*nav { position:relative; z-index:2000; 
background:url("img/Lotus-Eletre-Main-Cover.webp") no-repeat 0 0 / cover; }
nav:before {content: ""; display: block; position: absolute; left: 0; top:0; width: 100%; height: 100%; 
background-color: rgba(0,0,0,.8); }
nav img { position: relative; z-index: 3; }*/


/*-------------------------
colori e grandezze font
-------------------------*/

.rosso { color:#e12422; }
.pink { color: #F93174; }
.rosso-mattone { color:#7A0A27; }
.marrone { color:#330000; }
.blu { color:#fdef00; }
.ciano { color:#0cc0df;}
.giallo { color:#fdef00; }
.green { color:#78b84d; }
.light-green { color:#E0F0D7; }
.light-blue { color:#A0C8EA; }
.blu-grey { color:#647382; }
.light-grey { color:#f8f8f8; }
.black {color:#000000}

.dark-green { color:#017a45; }
.dark-blu { color:#15253b; }
.heavy-green { color:#1d2b0b; }
.gold { color: #D7AB24; }
.bianco { color: #fff; }
.orange { color:#ff914d; }
.light-orange { color:#FF825C; }
.heavy-blu { color:#295668; }

.blu-grey-bg { background-color:#647382; }
.light-grey-bg { background-color:#f0f0f0; }
.heavy-blu-bg { background-color:#295668; }
.marrone-bg { background-color:#330000; }
.rosso-mattone-bg { background-color:#7A0A27; }
.rosso-bg { background-color:#e12422; }
.ciano-bg { background-color:#1aa4bf;}
.giallo-bg { background-color:#fdef00; }
.bianco-bg { background-color:#fff; }
.blu-bg { background-color:#fdef00; }
.green-bg { background-color:#78b84d; }
.dark-green-bg { background-color:#017a45; }
.pink-bg { background-color: #F93174; }
.black-bg { background-color:#000000; }
.focus-bg { background-color: #5EBCEA; }
.promo-bg { background-color: #C3002F; }

.light-green-bg { background-color:#E0F0D7; }
.light-blue-bg { background-color:#A0C8EA; }
.heavy-green-bg { background-color:#1d2b0b; }
.dark-bg { background-color:#3b4d66; }
.white-bg { background-color:#fff; }
.orange-bg { background-color:#ff914d; }
.gold-bg { background-color: #D7AB24; }

.nissan-grey-bg { background-color: #efefef; }
.nissan-red-bg { background-color: #C3002F; }


.light-orange-bg { background-color:#FF825C; }
.light-green-bg { background-color:#c4e973; }
.cold-grey-bg { background-color:#d1d4d9 ; }
.dark-blu-bg { background-color:#15253b;}
.dark { color:#3b4d66;}

.grey { color:#333; }
.grey-bg { background-color:#333; }

.text-16 { font-size:16px; }

.text-18 { font-size:18px; }
.text-20 { font-size:20px; }
.text-25 { font-size:25px; }
.text-30 { font-size:30px; }
.text-35 { font-size:35px; }
.text-40 { font-size:40px; }
.text-45 { font-size:45px; }
.text-50 { font-size:50px; }
.text-55 { font-size:55px; }
.text-60 { font-size:60px; }


.opacity-10 { opacity:.1; }
.opacity-20 { opacity:.2; }
.opacity-30 { opacity:.3; }
.opacity-40 { opacity:.4; }
.opacity-50 { opacity:.5; }
.opacity-60 { opacity:.6; }
.opacity-70 { opacity:.7; }
.opacity-80 { opacity:.8; }
.opacity-90 { opacity:.9; }


.font-weight-100 { font-weight: 100; }
.font-weight-200 { font-weight: 200; }
.font-weight-300 { font-weight: 300; }
.font-weight-400 { font-weight: 400; }
.font-weight-500 { font-weight: 500; }
.font-weight-600 { font-weight: 600; }
.font-weight-700 { font-weight: 700; }
.font-weight-800 { font-weight: 800; }
.font-weight-900 { font-weight: 900; }


.line-height-1 { line-height:1; } 
.line-height-1.small { line-height:1.1; }
.line-height-n { line-height: normal; }
.line-height-2 { line-height: 1.5; }


.border-radius-3 { border-radius: 3px; }
.border-radius-5 { border-radius: 5px; }
.border-radius-8 { border-radius: 8px; }
.border-radius-10 { border-radius: 10px; }
.border-radius-15 { border-radius: 15px; }
.border-radius-20 { border-radius: 20px; }
.border-radius-25 { border-radius: 25px; }
.border-radius-30 { border-radius: 30px; }
.border-radius-35 { border-radius: 35px; }
.border-radius-40 { border-radius: 40px; }

.letter-spacing-005 { letter-spacing:.05em; }
.letter-spacing-010 { letter-spacing:.1em; }
.letter-spacing-015 { letter-spacing:.15em; }
.letter-spacing-020 { letter-spacing:.2em; }
.letter-spacing-025 { letter-spacing:.25em; }


.max-width-90 { max-width:900px; }
.max-width-80 { max-width:800px; }
.max-width-70 { max-width:700px; }
.max-width-60 { max-width:600px; }
.max-width-50 { max-width:500px; }
.max-width-40 { max-width:400px; }
.max-width-30 { max-width:300px; }

/*-------------------------
font
-------------------------*/
.font-freeroad { font-family: 'Freeroad Bold', sans-serif; }
.font-opensans { font-family: 'Open Sans', sans-serif; }
.font-opensans-c { font-family: 'Open Sans Condensed', sans-serif; }
.font-muli { font-family: 'Muli', sans-serif; }
.font-coda { font-family: 'Coda', cursive; }
.font-oswald { font-family: 'Oswald', sans-serif; }
.font-anton { font-family: 'Anton', sans-serif; letter-spacing:0.03em; }
.font-norffo { font-family: 'Norffo'; }
.font-norffo-i { font-family: 'Norffo Italic'; }
.font-montserrat { font-family: 'Montserrat', sans-serif; }
.font-pacifico { font-family: 'Pacifico', cursive; }
.font-rancho { font-family: 'Rancho', cursive; }
.font-lato { font-family: 'Lato', sans-serif; }
.font-arvo { font-family: 'Arvo', serif; }
.font-titillium { font-family: 'Titillium Web', sans-serif; }
.font-roboto { font-family: 'Roboto', sans-serif; }
.font-roboto-c { font-family: 'Roboto Condensed', sans-serif; }
.font-laila { font-family: 'Laila', serif; }
.font-roboto-slab { font-family: 'Roboto Slab', serif; }
.font-kaushan { font-family: 'Kaushan Script', cursive; }
.font-nunito-sans {font-family: 'Nunito Sans', sans-serif; }
.font-noto-sans-KR { font-family: 'Noto Sans KR', sans-serif; }
.font-lora { font-family: 'Lora', serif; }
.font-pt-sans { font-family: 'PT Sans', sans-serif; }
.font-nunito-sans {font-family: 'Nunito Sans', sans-serif; }
.font-caveat {font-family: 'Caveat', cursive; }
.font-poppins { font-family: 'Poppins', sans-serif;} 
.font-raleway { font-family: 'Raleway', sans-serif; }
.font-dosis {font-family: 'Dosis', sans-serif;}
.font-maven-pro { font-family: 'Maven Pro', sans-serif; }
.font-inter { font-family: 'Inter', sans-serif; }
.font-playfair { font-family: 'Playfair Display', serif; }

/*----------------------------*/


.font-brand { font-family: Brand; }
.font-brand-light { font-family: Brand Light; }
.font-brand-italic { font-family: Brand Italic; }
.font-brand-bold { font-family: Brand Bold; }

/*----------------------------*/

.font-weight-100 { font-weight: 100; }
.font-weight-200 { font-weight: 200; }
.font-weight-300 { font-weight: 300; }
.font-weight-400 { font-weight: 400; }
.font-weight-500 { font-weight: 500; }
.font-weight-600 { font-weight: 600; }
.font-weight-700 { font-weight: 700; }
.font-weight-800 { font-weight: 800; }
.font-weight-900 { font-weight: 900; }

/*----------------------------*/

.custom-list { position:relative; list-style-type: none; }
.custom-list li { font-size:; margin:0 0 12px 0; line-height:1.4; position:relative; }
.custom-list li:last-child { margin-bottom:0;  }
.custom-list i { font-size: 20px; left:-30px; position:absolute; top:3px; }

/*----------------------------*/


.custom-list-2 { list-style-type:none; }
.custom-list-2 li { margin:0 0 12px 0; line-height:1.4; position:relative; position: relative; }
.custom-list-2 li:before { background: url(img/icon-right-arrow-blue.svg) no-repeat center center / 70%;
width:25px;
height:25px;
display: block;
position: absolute;
left:-30px;
top: 0px;
content: "";
}

.custom-list-2 li:last-child { margin-bottom:0; }

/*----------------------------*/

.overlay { position:absolute; bottom:0; top:0; width:100%; height:100%; z-index:1; }
section .container { position:relative; z-index:4; }
section  { position:relative; }

.main-bg { background:#ffffff url("img/head_dsk.png") no-repeat center center / cover;  }
.cover-mobile { display:none; }


/*------------------------------
------------------------------*/

.text-shadow { text-shadow:-3px 2px 0px rgba(0,0,0,.1); text-align:center; }

/*----------------------------*/








/*----------------------------
Form
----------------------------*/

/* Allineamento colonna form:
   - centrato su mobile/tablet
   - allineato a destra su desktop */
#ancora-form {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 992px) {
  #ancora-form {
    margin-left: auto;
    margin-right: 0;   /* spinge il form a destra */
  }
}

/* ===== BASE: MOBILE + TABLET (< 992px) ===== */
/* Box form scuro e testi chiari */
aside { 
  background: rgb(0,0,0);
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 50%, rgba(0,0,0,0.9) 100%);
  border-radius: 4px;
}

/* Testo del form bianco su mobile/tablet */
aside,
aside h3,
aside p,
aside label,
aside .small,
aside .form-group-privacy a,
aside .nero {
  color: #fff !important;
}

/* Input: testo bianco, bordo bianco */
.form-control {
  background: none;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.6);
  border-radius: 0;
  box-shadow: none;
  color:#fff !important;
  font-size: 16px;
  padding:14px;
  font-weight:normal;
  line-height:normal;
}

/* Select: testo chiaro su mobile/tablet */
select {
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance: none;
  background:none;
  border:none;
  width:100%;
  color:#fff;
}

select option { 
  color:#000; /* colore del testo nel menu aperto */
}

.form-group { 
  margin-bottom:0; 
}

/* Grip della select */
.custom-select-grip { 
  position:relative; 
}
.custom-select-grip:after { 
  position:absolute; 
  right:15px; 
  top:3px; 
  content:""; 
  display:block; 
  right:14px; 
  top:50%; 
  margin-top:-8px; 
  width: 10px; 
  height: 18px; 
  background: url(img/select-grip.svg) no-repeat center center / 100% auto; 
  opacity: .4; 
}

/* Testo privacy */
.form-group-privacy { 
  line-height:1; 
}
.form-group-privacy .small { 
  font-weight:400; 
  line-height:1.3;  
}

aside .form-group-privacy a { 
  opacity:.7; 
  color: #fff;  
}
aside .form-group-privacy a:hover { 
  opacity:.7; 
  color: #fff; 
}

.form-group-privacy label.radio-inline { 
  font-size:11px; 
  margin:0; 
}
label.checkbox-terms { 
  margin:0; 
  line-height:1;
}
.form-group-privacy input { 
  margin: 2px 8px 0 0; 
  vertical-align: text-top; 
}

/* Focus input */
.form-control:focus, 
textarea.form-control:focus { 
  background:none; 
  border-bottom:1px solid #fff; 
  box-shadow:none; 
}

/* Bottoni */
.btn-custom, 
button.btn-custom  { 
  border:0px solid transparent; 
  font-weight:600; 
  letter-spacing:.03em; 
  padding:10px; 
  width: 100%; 
  display: inline-block; 
  text-decoration:none; 
  text-align: center; 
  outline:2px solid #C3002F; 
  outline-offset:-2px; 
  transition: .2s; 
}
.btn-custom:hover, 
button.btn-custom:hover { 
  background:none; 
  color:#fff; 
  text-decoration:none; 
  outline:2px solid #C3002F; 
  color:#C3002F; 
}

.btn-custom2, 
button.btn-custom2  { 
  border:0px solid transparent; 
  font-weight:600; 
  letter-spacing:.03em; 
  padding:10px; 
  width: 100%; 
  display: inline-block; 
  text-decoration:none; 
  text-align: center; 
  outline:2px solid #C3002F; 
  outline-offset:-2px; 
  transition: .2s; 
}
.btn-custom2:hover, 
button.btn-custom2:hover { 
  background:none; 
  color:#fff; 
  text-decoration:none; 
  outline:2px solid #C3002F; 
  color:#C3002F; 
}

.btn-custom.btn-bottom { 
  outline-color:transparent; 
  color:#222; 
}
.btn-custom.btn-bottom:hover { 
  text-decoration:none; 
  background:#e12422; 
  color:#fff;  
}

.btn-custom.btn-outline { 
  border:2px solid; 
  text-decoration:none; 
  text-transform:uppercase; 
  background: none;  
}
.btn-custom.btn-outline:hover { 
  background:; 
}

/* ===== DESKTOP (>= 992px): box chiaro e testo nero ===== */
@media (min-width: 992px) {
  aside {
    background: rgba(255,255,255,.75);
    background-color: rgba(255,255,255,.75);
  }

  /* Testi neri su desktop */
  aside,
  aside h3,
  aside p,
  aside label,
  aside .small,
  aside .form-group-privacy a,
  aside .nero {
    color:#000 !important;
  }

  /* Input neri su sfondo chiaro */
  aside .form-control {
    color:#000 !important;
    border-bottom: 1px solid rgba(0,0,0,.6);
  }

  /* Placeholder generico dei form nell'aside (verrà sovrascritto per #ancora-form) */
  aside .form-control::-moz-placeholder,
  aside .form-control::placeholder {
    color: #000;
    opacity: 1;
  }

  /* Select nera su desktop */
  select {
    color: #000;
  }

  aside .form-group-privacy a,
  aside .form-group-privacy a:hover { 
    color:#000; 
  }
}

/* ===== PLACEHOLDER solo per il form #ancora-form ===== */

/* Mobile + Tablet (< 992px) → placeholder bianchi */
@media (max-width: 991.98px) {
  #ancora-form .form-control::placeholder,
  #ancora-form .form-control::-moz-placeholder {
    color: #fff;
    opacity: 1;
  }

  #ancora-form .form-control:focus::placeholder,
  #ancora-form .form-control:focus::-moz-placeholder {
    color: #fff;
  }
}

/* Desktop (>= 992px) → placeholder neri */
@media (min-width: 992px) {
  #ancora-form .form-control::placeholder,
  #ancora-form .form-control::-moz-placeholder {
    color: #000;
    opacity: 1;
  }

  #ancora-form .form-control:focus::placeholder,
  #ancora-form .form-control:focus::-moz-placeholder {
    color: #000;
  }
}




/* ===== PRIVACY: callout box di errore ===== */
.privacy-error-box {
  position: relative;
  display: inline-block;
  margin-top: 8px;
  padding: 6px 14px;
  border: 1.5px solid #C3002F;
  border-radius: 4px;
  background: #fff;
  color: #C3002F;
  font-size: 12px;
  line-height: 1.4;
}
/* Triangolo esterno (bordo) */
.privacy-error-box::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 18px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 8px solid #C3002F;
}
/* Triangolo interno (riempimento bianco) */
.privacy-error-box::after {
  content: '';
  position: absolute;
  top: -6px;
  left: 19px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 7px solid #fff;
}

/* ===== VALIDAZIONE FORM: stato di errore ===== */
/* Bordo rosso + testo rosso (valore campo e select) */
.form-control.field-error {
  border-bottom-color: #C3002F !important;
  color: #C3002F !important;
  transition: border-bottom-color .2s;
}
/* Testo della select rosso quando in errore */
.form-control.field-error select {
  color: #C3002F !important;
}

/* SECTION visibile solo su DESKTOP */
.banner-promo {
  display: none;   /* nascosta di default: mobile + tablet */
}

@media (min-width: 992px) {
  .banner-promo {
    display: block;   /* visibile da desktop in su */
  }
}

/* Spazio tra h2 e p dentro la banner-promo */
.banner-promo h2 {
  padding-bottom: 1rem;  /* ~12px di spazio, puoi aumentare/diminuire */
}





/*
Multiselect
------------------------------*/

.select2-container--default .select2-selection--multiple {
background-color: white;
border:none!important;
border-radius:0 !important;
min-height: 47px!important;
}

.select2-container .select2-search--inline .select2-search__field {
  margin-top: 14px!important;
  margin-left: 15px!important;
}

/*------------------------------*/

section.slider-tab .main-title { position: absolute; width: 100%; bottom: 15%; left: 0; margin-bottom: 0; }

.nav-container { position: absolute; width: 100%; top: 15%; z-index: 3; }

ul.nav.tab-menu { justify-content: space-between; position: relative;
}

ul.nav.tab-menu:after { 
height: 1px;
width: 100%;
display: block;
content: "";
bottom: -12px;
left: 0;
position: absolute;
z-index: 1;
opacity:.4;
background: #fff; }

ul.nav.tab-menu li.nav-item a { text-decoration: none; padding:0rem; display: block; text-transform: uppercase; color: rgba(255,255,255,.4); position: relative; transition: .3s; }
ul.nav.tab-menu li.nav-item a:hover { color: #fff; }

/*
.tab-pane { min-height:700px; }
.tab-pane.societa { background:url("img/Business_Global-USP-Slider-1-Desktop.webp") no-repeat center center / cover; }
.tab-pane.freelance { background:url("img/Business_Freelance-USP-Slider-2-Desktop.webp") no-repeat center center / cover; }
.tab-pane.imprese { background:url("img/Business_Enterprise-USP-Slider-3-Desktop.webp") no-repeat center center / cover; }
*/
.tab-pane p { padding-top:200px; margin-bottom: 0; color: #fff;  }



.tab-pane .cover-bg { 
min-height:700px; background-size: cover; background-position: center center; background-repeat: no-repeat;
z-index: 1; }

/*position: absolute; width: 100%; height: 100%; left: 0; top: 0; */


.tab-pane.societa .cover-bg { background-image:url("img/Business_Global-USP-Slider-1-Desktop.webp"); }
.tab-pane.freelance .cover-bg { background-image:url("img/Business_Freelance-USP-Slider-2-Desktop.webp"); }
.tab-pane.imprese .cover-bg { background-image:url("img/Business_Enterprise-USP-Slider-3-Desktop.webp"); }


 li.slide-bar { height: 3px; background:#fff; position: absolute; bottom:-12px; }


/*------------------------------*/

section.servizi { background:; }
section.servizi  .box { overflow: hidden; border-radius:10px; position: relative; background:#88bed2;
background:url("img/bg-light.png") no-repeat center bottom / 224%;
}

section.servizi .box .box-header { color: #295668; position: relative; align-items: center; padding-left: 0; }
section.servizi .box .box-header i { position: absolute; font-size: 30px; left: 30px; top: 25px; } 

section.servizi .box .box-header label.form-check-label { 
text-transform: uppercase;
width: 100%;
display: flex;
padding: 15px 15px 15px 80px;
cursor:;
min-height: 80px;
align-items: center;
border-bottom: 1px solid #00000024;
}


section.servizi .box .box-header input.form-check-input:checked + label.form-check-label { background: #ff914d; }
section.servizi .box .box-header label.form-check-label h3 { line-height: 1.1; margin: 0; font-weight: 700; max-width:80%; }


section.servizi .box .box-content { padding: 15px 35px; height: 100%; }
section.servizi .box ul { margin-bottom: 0; color:#295668; font-weight: 700;  }

section .box:after { 
height: 100%; width: 100%; display: block; content:""; top: 0; left: 0; background:url("img/bg-neutro.png") no-repeat center center / cover; mix-blend-mode: luminosity;
position: absolute; z-index: 1; opacity: .5; display: none; }

section.servizi .box .box-header,
section.servizi .box .box-content { position: relative; z-index: 2; }

section.servizi .box .box-header .form-check-input { margin-left: -3.5em; display: none; }

section.servizi .box .box-more-details { color: #295668; display: block; text-align: end; text-decoration: none;  }
section.servizi .box .box-more-details span { text-decoration: none; }


section.servizi .box .box-more-details:before { content: ""; font-weight: 900;  }
section.servizi .box [aria-expanded="false"].box-more-details:before { content: "-"; }
section.servizi .box [aria-expanded="true"].box-more-details:before { content: "+"; }




section.servizi .box .box-img { height: 200px; }
section.servizi .box.salute .box-img { background: url("img/iStock-1473559425.jpg") no-repeat center center / cover; }

section.servizi .box.aiuti-umanitari .box-img { background: url("img/iStock-1432208176.jpg") no-repeat center center / cover; }
section.servizi .box.infanzia .box-img { background: url("img/iStock-1420320261.jpg") no-repeat center center / 103%; }
section.servizi .box.inclusione .box-img { background: url("img/iStock-1485353409.jpg") no-repeat center center / cover; }
section.servizi .box.ambiente .box-img { background: url("img/iStock-1317323736.jpg") no-repeat center center / cover; }




/*------------------------------*/
.foto-prodotto { object-fit: cover; aspect-ratio: 4 / 3; width: 2000px; }




/*------------------------------
variale sfondo box scuro

section.servizi .box { background:url("img/bg-dark.png") center center / cover; }
section.servizi .box ul { color:#fff; }
section.servizi .box .box-more-details { color: #fff; }
section.servizi .box .box-header label.form-check-label { border-bottom: 1px solid rgba(255,255,255,0.40); }
*/

/*------------------------------*/

footer { background:; } 
footer p.copyright { margin:; text-align:left; font-size:14px; font-weight:400; }
.footer-triboo-logo { width:130px; margin:auto; }

/*------------------------------*/


@keyframes flickerAnimation {
  0%   { opacity:1; }
  50%  { opacity:1; }
  100% { opacity:0; }
}
@-o-keyframes flickerAnimation{
  0%   { opacity:1; }
  50%  { opacity:1; }
  100% { opacity:0; }
}
@-moz-keyframes flickerAnimation{
  0%   { opacity:1; }
  50%  { opacity:1; }
  100% { opacity:0; }
}
@-webkit-keyframes flickerAnimation{
  0%   { opacity:1; }
  50%  { opacity:1; }
  100% { opacity:0; }
}
.animate-flicker {
   -webkit-animation: flickerAnimation .9s infinite;
   -moz-animation: flickerAnimation .9s infinite;
   -o-animation: flickerAnimation .9s infinite;
    animation: flickerAnimation .9s infinite;
}

/*------------------------------
RUOTA
------------------------------*/	

@keyframes rotating {
from
{
transform: rotate(0deg);
-o-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
}
to
{
transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-webkit-transform: rotate(360deg);
}
}
@-webkit-keyframes rotating {
from
{
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
}
to
{
transform: rotate(360deg);
-webkit-transform: rotate(360deg);
}
}
.ruota {
-webkit-animation: rotating 22s linear infinite;
-moz-animation: rotating 22s linear infinite;
-ms-animation: rotating 22s linear infinite;
-o-animation: rotating 22s linear infinite;
animation: rotating 22s linear infinite;
}

.business-contact-img { background: url('img/1.png') no-repeat center center / cover; min-height:500px; height: 100%; }
.business-contact-img2 { background: url('img/2.png') no-repeat center center / cover; min-height:500px; height: 100%; }
.business-contact-img3 { background: url('img/3.png') no-repeat center center / cover; min-height:500px; height: 100%; }
.business-contact-img4 { background: url('img/4.png') no-repeat center center / cover; min-height:500px; height: 100%; }



.mobile {display: none;}

.no-mobile {display: block;}


/* === SERVICES SECTION ========================================= */
.services{
  background:#C3002F;      /* bg richiesto */
  padding:60px 0;          /* aria interna */
  text-align:center;       /* centra titolo + img */
}

/* titolo */
.services-title{
  color:#fff;
  font-size:clamp(22px,4vw,35px);
  font-weight:700;
  margin:0 0 30px;         /* 30 px sotto il titolo */
}

/* immagine */
.services-img{
  display:block;
  width:70%;               /* desktop / tablet: 70 % larghezza viewport */
  max-width:900px;         /* (facoltativo) limite hard */
  margin:0 auto;           /* centrata */
  height:auto;
}


/* === wrap interno del banner services ====================== */
.services-wrap{
  width:100%;              /* nessuna larghezza fissa */
  max-width:1200px;        /* limite opzionale per non “sbandare” su 4K */
  margin:0 auto;           /* centro il blocco */
  text-align:center;       /* centra tutto l’interno */
}







/* === DISCLAIMER SECTION ========================================= */

section.disclaimer p {
    font-size: 12px;
    text-align: justify;
}





/*----------------------------
$grid-breakpoints: (
  xs: 0,
  sm: 576px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1400px
);
----------------------------*/



/*----------------------------
mobile sopra i....
----------------------------*/

@media(min-width:1920px) {
.container-xxl, .container-xl { max-width: 1600px; }
.tab-pane .cover-bg { min-height: 900px; }
.foto-prodotto { aspect-ratio: 4 / 2; }
}

@media(min-width:1400px) { 
section.header { /*height: 100%; display: flex;*/ align-items: center; justify-content: space-between; flex-direction: column; }
}
@media(min-width:992px) { footer .text-lg-left { text-align: left!important; } }

/*----------------------------
mobile sotto i...
----------------------------*/
@media(max-width:1600px) { }


@media(max-width:1400px) {
.business-contact-img { min-height:500px;  } 
.business-contact-img2 { min-height:500px;  }
.business-contact-img3 { min-height:500px;  }
.business-contact-img4 { min-height:500px;  }

section.header .container-xxl { padding-top:2rem; padding-bottom:2rem; }
}

@media(max-width:1200px) {
.text-20 { font-size:18px; }
.text-25 { font-size:20px; }
.text-30 { font-size:25px; }
.text-35 { font-size:28px; }
.text-40 { font-size:30px; }
.text-45 { font-size:35px; }
.text-50 { font-size:40px; }
.text-60 { font-size:50px; }
}


@media(max-width:1080px) {}
    
@media(max-width:992px) {
aside { background: #000; }

.main-bg { background-image:none; }
.h-100 { height: auto!important; }
.cover-mobile { min-height: 350px; background: url("img/head_mbl.png") no-repeat center center / cover; display: block; }   
.business-contact-img{ min-height:300px;  } 
.business-contact-img2 { min-height:300px;  }
.business-contact-img3 { min-height:300px;  }
.business-contact-img4 { min-height:300px;  }

.claim { background: #000; padding-bottom:.5rem;   }
.testo-centrato { display: block; margin:0 auto; }
.pt-5 { padding-top: 1rem !important; }
.mobile {display: block; }
.no-mobile {display: none; }
}

@media(max-width:767px) {
.foto-prodotto { aspect-ratio:inherit ; }
    
.cover-mobile { min-height: 350px; display: block; }
.nav-container { top: 6%; }
    
ul.nav.tab-menu {  justify-content: center; }
ul.nav.tab-menu li.nav-item a { padding: .5rem; }    
tab-pane p { padding-top: 100px; padding: .5rem; }
.tab-pane .cover-bg { min-height: 500px; }
section.slider-tab .main-title { bottom: 5%; }
.services-img{ width:90%; /* 90 % larghezza viewport */	}    

} 


@media(max-width:480px) {
body { font-size:15px; }
.text-18 { font-size:16px; }
.text-20 { font-size:16px; }
.text-25 { font-size:20px; }
.text-30 { font-size:20px; }
.text-35 { font-size:25px; }
.text-40 { font-size:30px; }
.text-45 { font-size:35px; }
.text-50 { font-size:40px; }
.text-60 { font-size:35px; }

footer p { font-size: 12px; }
footer p.copyright { font-size:12px; margin:0; }
footer img { width: 80px!important; }
footer img.mb-3 { margin-bottom:.5rem!important; }
.brand { width: 60px; }

.spacer { min-height: 210px; }
	
	.spazio { padding-left: 25px; padding-right: 25px }

	.pt-5 {
    padding-top: 0rem !important;

}
	
@media(max-width:414px) {
section.header .img-cover { min-height: 150px; }
}

@media(max-width:375px) {


}



/* COUNTER BLOCK */
/* colore evidenza */
.bg-evidenza { color:#ffffff; }

/* blocco counter: impilato verticalmente con gap minimo */
.counter-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:0.5rem;        /* spazio minimo fra le righe */
  font-size:1.75rem;
  line-height:1.2;
}
.counter-value{ font-size:2.15rem; }

/* mobile: centra il testo */
@media (max-width:575.98px){
  .counter-block{ align-items:center; text-align:center; }
}






/* Evidenza testo auto – stile generale (se ti serve ancora altrove) */
.car-txt-shadow{
  padding: .25em .5em;                /* aria interna */
  display: inline-block;              /* solo ingombro testo */
}

/* MOBILE + TABLET (sotto i 992px) – niente box, testo centrato */
@media (max-width: 991.98px) {

  /* Centro il contenuto del blocco di testo */
  .claim .text-stack {
    text-align: center !important;
  }

  /* Rimuovo il box semi-trasparente solo per questi titoli */
  .claim h1.car-txt-shadow,
  .claim h2.car-txt-shadow {
    background: transparent;   /* niente sfondo */
    padding: 0;                /* tolgo il padding del box */
    border-radius: 0;          /* niente angoli arrotondati */
    display: inline;           /* diventa solo testo normale */
    color: #fff;               /* colore testo (metti quello che usi tu) */
  }
}






/* — MOBILE FIXES — */
@media (max-width: 991.98px){

  /* 1) Respiro tra logo (nav mobile) e titolo */
  nav#point{ margin-bottom:12px; }

  /* 2) Rendi davvero “nero” tutto l’header anche fuori dal .claim */
  section.header{ background:#000 !important; }

  /* 3) Evita “banda bianca” tra il primo blocco e il successivo */
  section.header .container-xxl{ padding-bottom:0; }
  section.header .row{ margin-bottom:0; }
  section.header .claim{ padding-top:5px; padding-bottom:5px; }
  section.header .cover-mobile{ margin-top:0; }

  /* Se il blocco successivo è quello con background nero inline: azzera eventuali margini */
  section.header + section{ margin-top:0; }
}

/* Rifinitura: margini dei titoli nel claim su schermi piccoli */
@media (max-width: 575.98px){
  .claim h1, .claim h2{ margin-top:.4rem; margin-bottom:.4rem; }
}






@media (max-width: 575.98px){
  .section-block { margin-top:2rem; }
}

@media (max-width: 991.98px){
  .section-block { margin-top:2rem; }
}





/* — FEATURE BLOCKS AFFIANCATI (solo dentro .section-block) — */
.section-block{ background:#fff !important; }

.section-block .feature-panel{
  background:#fff;          /* pannello bianco */
  border-radius:0;
}

/* Testo nero (il wrapper ha classe .bianco, quindi sovrascrivo) */
.section-block .feature-panel .bianco,
.section-block .feature-panel h3,
.section-block .feature-panel p{
  color:#000 !important;
}

/* Bottoni: testo bianco come prima */
.section-block .feature-panel .btn-custom{
  color:#fff !important;
}






/* NAV DESKTOP: banda bianca sotto al logo, sopra alla foto */
@media (min-width: 992px){
  section.header > nav.d-lg-block.d-none{
    position: relative;         /* crea il contesto per lo pseudo-elemento */
    z-index: 50;                /* sopra a container/form ecc. */
    background: transparent !important; /* il bianco lo fa il ::before */
  }
  section.header > nav.d-lg-block.d-none::before{
    content: "";
    position: absolute;
    inset: 0;                   /* copre tutta l’area del nav */
    background: #fff;           /* banda bianca piena */
    z-index: -1;                /* sotto al contenuto (logo), ma sopra allo sfondo */
    pointer-events: none;       /* non intercetta click */
  }
}






.text-stack{
  display:grid;
  grid-auto-rows:auto;
  gap:.5rem;            /* spazio tra H1 e H2 */
}
.text-stack > *{ justify-self:start; }  /* evita centrature strane su desktop */
