/*
Theme Name: Ranzato e Piva Trasporti
Author: Luca Forzan - LF Design
Author URI: https://lf-design.it/
Version: 1.0
Text Domain: piva
*/

/* General */
html {
    margin-top: 0!important;
}
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
body {
	margin: 0;
    overflow-x: hidden;
    position: relative;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
}
a {
    color: var( --e-global-color-text );
}

/*--------------------------------------------- CLASSI PER TESTI -----------------------------------------------------------*/
.color_low {
    color: #939292 !important;
}
.p_no_margin p{
    margin-block-start: 0em;
    margin-block-end: 0em;
}
.color_p p{
    color: #A3A3A3;
}
/*--------------------------------------------- PADDING -----------------------------------------------------------*/
.pad_sec_tot{
    padding-top: 80px;
    padding-bottom: 80px;
}
.pad_sec_bot{
    padding-bottom: 80px;
}
.pad_sec_top{
    padding-top: 80px;
}
#contenitore-testuale {
    padding-left: calc((100vw - 1390px) / 2)!important; /* Allinea il testo alla griglia */
    box-sizing: border-box; /* Assicura che il padding non sballi il layout */
    padding-right: 5%;
}
#contenitore-testuale2{
    padding-right: calc((100vw - 1390px) / 2)!important; /* Allinea il testo alla griglia */
    box-sizing: border-box; /* Assicura che il padding non sballi il layout */
    padding-left: 5%;
}
.pad_sec_hero{
    padding-top: 40px!important;
    padding-left: 80px!important;
    padding-right: 80px!important;
}

/*--------------------------------------------- SFONDI PER SEZIONI -----------------------------------------------------------*/
.dark_grey{
    background-color: #151515; 
}

/*--------------------------------------------- HEADER -----------------------------------------------------------*/
/*--------------------------- OMBREGGIATURA CHE SI ATTIVA QUANDO SCROLLO ---------------------------*/
#header {
    box-shadow: none;
    transition: box-shadow 0.3s ease;
}
#header.scrolled {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/*--------------------------- RICHIESTA PREVENTIVO-BOTTONE ---------------------------*/
#header-button {
    height: 100%;
    display: flex;
}
#header-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 100%;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    line-height: 1;
    padding: 0 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background-color: transparent;
    transition: background-color 0.3s ease, transform 0.2s ease;
}
#header-button a:hover {
    background-color: #1F1F1F;
}
#header-button a::before {
    content: '';
    flex: 0 0 18px;
    height: 18px;
    display: block;
    background-color: #fff; /* colore freccia */
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
#header-button a:hover::before {
    transform: translateX(2px);
}

/*--------------------------- MEGA MENU ---------------------------*/
#mega-servizi {
    position: fixed;
    left: 0;
    right: 0;
    top: 105px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(0,0,0,0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
    z-index: 9999;
}
#mega-servizi.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
/* WRAPPER SUBMENU: GRIGLIA 3 COLONNE DESKTOP */
#submenu.servizi-submenu-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}
/* CARD SINGOLO SERVIZIO */
#submenu .servizio-submenu-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px 24px;
    background-color: #F0F0F0;
    box-sizing: border-box;
    cursor: pointer;
}
/* TITOLO */
#submenu .submenu-servizio-title {
    margin: 0 0 8px;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 100%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #0E0E0E;
}
/* TESTO */
#submenu .submenu-servizio-excerpt {
    margin: 0 0 18px;
    font-family: "Oxanium", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #333333;
}
/* CTA ALLINEATA IN BASSO */
#submenu .servizio-submenu-cta {
    margin-top: auto;
}
/* BUTTON SUBMENU (già definito prima, lo richiamo) */
#submenu .button-submenu .elementor-button {
    width: 100%;
}

/*--------------------------- ADATTAMENTO ALTEZZE COLONNE AUTOMATICO ---------------------------*/
#header.elementor-sticky:not(.elementor-sticky__spacer) {
    display: flex;
    align-items: stretch;     
}
#header.elementor-sticky:not(.elementor-sticky__spacer) > .e-con {
    display: flex;
}
#header.elementor-sticky:not(.elementor-sticky__spacer) > .e-con[data-id="56b6955"] {
    align-items: stretch;
    background: #0b0b0b;
    padding: 0;
}
#header #header-button,
#header #header-button .elementor-heading-title {
    height: 100%;
    width: 100%;
    margin: 0;
}
#header .elementor-nav-menu--main { 
    height: 100%; 
    display: flex !important; 
    align-items: center; 
}
#header .elementor-nav-menu--main > li { 
    display: flex; 
    align-items: center; 
}

/*--------------------------------------------- BOTTONI DI CONTATTO FISSI -----------------------------------------------------------*/
#sticky-contact-buttons {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 10px;
    z-index: 9999;
    background-color: #ffffff;
    padding: 15px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.sticky-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    background-color: #000000;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s, transform 0.2s;
}
.sticky-button:hover {
    background-color: #333333;
    transform: translateY(-2px);
}
.sticky-button svg, 
.sticky-button img.button-icon-svg {
    width: 20px; 
    height: 20px;
    flex-shrink: 0;
}
.sticky-button svg {
    fill: currentColor; 
}

/*--------------------------------------------- FOOTER -----------------------------------------------------------*/
#footer h4{
    font-size: 14px!important;
    letter-spacing: 0.18em!important;
    color: #DBDBDB!important;
    padding-bottom: 20px;
}
#footer a:hover{
    color: #fafafa!important;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
#footer a{
    color: #A3A3A3!important;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
#footer p{
    color: #A3A3A3;
    font-size: 16px;
    margin-block-start: 0em;
    margin-block-end: 0em;
    padding-bottom: 20px;
}
#copyright p{
    color: #FAFAFA;
}
#pre-footer .box-grey{
    background-color: #1F1F1F;
    padding: 80px 25px;
    text-align: center;
}
#pre-footer .box-grey h4{
    font-size: 14px!important;
    text-transform: uppercase;
    letter-spacing: 0.18em!important;
    color: #DBDBDB!important;
}
#pre-footer .box-grey p{
    font-weight: 400;
    font-size: 16px;
    color: #A3A3A3;
    line-height: 21px;
}

/*--------------------------------------------- BOTTONI -----------------------------------------------------------*/
/*-------- SOPRATITOLI --------*/
.up_title h3{
    display: inline-flex;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;         
    font-size: 14px!important;
    letter-spacing: 0.18em!important; 
    text-transform: uppercase;
    color: #939292!important;
    border: 1px solid #939292;
    border-radius: 50px;
    padding: 8px 22px;
    margin: 0;
    white-space: nowrap;
}
/* =========================================================
   BUTTON BASE STRUCTURE (VALIDE PER ENTRAMBI)
========================================================= */
.button-big-white .elementor-button,
.button-big-black .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    font-family: "Oxanium", sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.18em !important; 
    text-transform: uppercase;
    border: 0 !important; 
    border-radius: 0 !important;
    padding: 40px 30px !important;
    min-width: 350px;
    transition: background-color .25s ease, color .25s ease, transform .2s ease !important;
}
/* =========================================================
   BUTTON BIANCO
========================================================= */
.button-big-white .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #0E0E0E !important;
    background-color: #FFFFFF !important;
    font-family: "Oxanium", sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.button-big-white .elementor-button::before {
    content: '' !important;
    flex: 0 0 18px;
    height: 18px;
    display: block;
    background-color: #0B0B0B; /* colore freccia iniziale */
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.button-big-white .elementor-button:hover {
    background-color: #1F1F1F !important;
    color: #FFFFFF !important;
}
.button-big-white .elementor-button:hover::before {
    transform: translateX(2px);
    background-color: #FFFFFF; /* freccia bianca su sfondo scuro */
}

/* =========================================================
   BUTTON NERO
========================================================= */
.button-big-black .elementor-button {
    color: #ffffff !important;
    background-color: #0e0e0e !important;
}
.button-big-black .elementor-button::before {
    content: '' !important;
    flex: 0 0 18px;
    height: 18px;
    display: block;
    background-color: #ffffff; /* colore freccia iniziale */
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.button-big-black .elementor-button:hover {
    background-color: #1F1F1F !important;
    color: #ffffff !important;
}
.button-big-black .elementor-button:hover::before {
    transform: translateX(2px) !important;
}
/* =========================================================
   BUTTON PER SUBMENU
========================================================= */
.button-submenu .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-family: "Oxanium", sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 20px 24px !important; /* padding ridotto */
    min-width: 240px !important; /* più compatto */
    background-color: #0E0E0E !important;
    color: #FFFFFF !important;
    transition: background-color .25s ease, color .25s ease, transform .2s ease !important;
}
.button-submenu .elementor-button::before {
    content: '' !important;
    flex: 0 0 16px;
    height: 16px;
    display: block;
    background-color: #FFFFFF;
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.button-submenu .elementor-button:hover {
    background-color: #1F1F1F !important;
    color: #FFFFFF !important;
}
.button-submenu .elementor-button:hover::before {
    transform: translateX(2px);
}
/* =========================================================
   BUTTON FULL (adatta a larghezza/altezza contenitore)
========================================================= */
.button-big-white.button-full .elementor-button,
.button-big-black.button-full .elementor-button {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

/*--------------------------------------------- ELEMENTI FUORI GRIGLIA CHE RESTINO IN GRIGLIA -----------------------------------------------------------*/
/* Variabile griglia globale */
:root {
  --grid: 1760px;
}
/* HERO WHITE - ALLINEATO A SINISTRA */
.hero-white{
  align-self: stretch;
  background: #fff !important;
  max-width: 100vw;
  --padding-inline-start: 0;
  --padding-inline-end: 0;
  --padding-block-start: 0;
  --padding-block-end: 0;
}
.hero-white .hero-text{
  padding-left: max(16px, calc((100vw - var(--grid)) / 2));
  padding-right: clamp(16px, 5vw, 48px);
  box-sizing: border-box;
}
.hero-white .hero-text > *{
  max-width: 100%;
}
/* HERO WHITE - ALLINEATO A DESTRA (NUOVO) */
/* Usa entrambe le classi: hero-white hero-white--right */
.hero-white.hero-white--right .hero-text{
  padding-right: max(16px, calc((100vw - var(--grid)) / 2));
  padding-left: clamp(16px, 5vw, 48px);
  box-sizing: border-box;
}

/*--------------------------------------------- GALLERY -----------------------------------------------------------*/
.piva-gallery-wrapper .piva-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
}
/* GALLERY: altezza fissa + immagini adattate */
.piva-gallery-wrapper .swiper-slide {
    height: auto;
}
.piva-gallery-item {
    height: 800px;
    overflow: hidden;
}
.piva-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* Riutilizza lo stesso "bleed" dello slider servizi anche per la gallery */
.swiper-servizi-slider,
.swiper-gallery-slider {
    overflow: visible !important;
}
.grid-left-bleed-right .swiper-servizi-slider,
.grid-left-bleed-right .swiper-gallery-slider {
    -webkit-mask-image: linear-gradient(to right,
        transparent 0, transparent var(--gutter-left),
        #000 var(--gutter-left), #000 100%);
    mask-image: linear-gradient(to right,
        transparent 0, transparent var(--gutter-left),
        #000 var(--gutter-left), #000 100%);
    overflow: visible !important;
    padding-left: var(--gutter-left);
    box-sizing: border-box;
    margin-right: calc(-1 * var(--gutter-left));
}
@supports not (mask-image: linear-gradient(#000, #000)) {
  .grid-left-bleed-right .swiper-servizi-slider,
  .grid-left-bleed-right .swiper-gallery-slider {
    clip-path: inset(0 0 0 var(--gutter-left));
  }
}

/*--------------------------------------------- SERVIZI CAROSELLO -----------------------------------------------------------*/
:root { --servizi-card-body-min: 240px; }
.servizi-slider-wrapper { position: relative; }
.swiper-servizi-slider { overflow: visible !important; }
.swiper-servizi-slider .swiper-slide { display: flex; height: auto; } 
.servizio-card{
  display: grid;
  grid-template-rows: auto 1fr;
  width: 100%;
}
.servizio-card .servizio-media img{
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center;
}
.servizio-body{
  background: #EFEFEF;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: var(--servizi-card-body-min);
  box-sizing: border-box;
}
.servizio-title{
  letter-spacing: 0!important;
  text-transform: uppercase;
  color: #0E0E0E;
  margin: 0;
}
.servizio-title a{
  color: #0E0E0E!important;
}
.servizio-desc{
  margin: 0;
  color: #333;
  font-size: 16px;
  line-height: 1.5;
}
.servizio-btn{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding-top: 24px;
  padding-bottom: 24px;
  background: #0E0E0E;
  color: #fff;
  text-decoration: none;
  font-family: "Oxanium", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  transition: background-color .3s ease, transform .2s ease;
}
.servizio-btn__icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  background-color: #FFFFFF;
  mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
  -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
  transition: transform 0.3s ease, background-color 0.3s ease;
  flex-shrink: 0;
}
.servizio-btn:hover {
  background-color: #1F1F1F !important;
  color: #FFFFFF !important;
}
.servizio-btn:hover .servizio-btn__icon {
  transform: translateX(2px);
  background-color: #FFFFFF;
}

/* ===============================
   CONTROLLI SWIPER – PANNELLO DESTRO
==================================*/
.servizi-slider-wrapper { position: relative; }
.swiper-button-prev-servizi { display: none !important; }
.swiper-controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 74px;
  background: rgba(99, 99, 99, 0.6);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: none;
}
.swiper-button-next-servizi {
  pointer-events: auto;
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s ease;
}
.swiper-button-next-servizi::after {
  content: '';
  width: 14px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='22' viewBox='0 0 14 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 21L12 11L2 1' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
  display: block;
}
.swiper-button-next-servizi:hover {
  transform: translateX(2px);
}
.swiper-button-next-servizi.swiper-button-disabled {
  opacity: .3;
  pointer-events: none;
}
/* ===============================
   GRID-LEFT + BLEED-RIGHT (DESKTOP)
==================================*/
:root{
  --grid: var(--e-global-content-width, 1760px);
  --gutter-left: max(16px, calc((100vw - min(var(--grid), 100vw)) / 2));
}
.grid-left-bleed-right .swiper-servizi-slider{
  -webkit-mask-image: linear-gradient(to right,
     transparent 0, transparent var(--gutter-left),
     #000 var(--gutter-left), #000 100%);
  mask-image: linear-gradient(to right,
     transparent 0, transparent var(--gutter-left),
     #000 var(--gutter-left), #000 100%);

  overflow: visible !important;
  padding-left: var(--gutter-left);
  box-sizing: border-box;
  margin-right: calc(-1 * var(--gutter-left));
}
@supports not (mask-image: linear-gradient(#000, #000)) {
  .grid-left-bleed-right .swiper-servizi-slider{
    clip-path: inset(0 0 0 var(--gutter-left));
  }
}

/* =========================================
   BULLET LIST – Sezione 2 (ACF: service-sec2-bulletpoint)
========================================= */
.service-bullet-list,
.service-bullet-list ul,
.service-bullet-list li {
  list-style-type: none !important;
  list-style: none !important;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.service-bullet-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.service-bullet-list li {
  position: relative;
  padding-left: 52px; /* spazio per la freccia */
  font-family: "Oxanium", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 100%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #0E0E0E;
  margin-bottom: 28px;
}
.service-bullet-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background-color: #939292; /* colore freccia */
  mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
  -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.service-bullet-list li:hover::before {
  transform: translateY(-50%) translateX(3px);
  background-color: #0E0E0E;
}
.service-page{
    font-size: 48px;
}

/*--------------------------------------------- I NOSTRI MEZZI -----------------------------------------------------------*/
.h2-mezzi h2 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 36px !important;
    color: #0E0E0E !important;
    letter-spacing: -1px !important;
    line-height: 1.1 !important;
    margin: 0;
    cursor: pointer;
}
.h2-mezzi h2::before {
    content: '';
    flex: 0 0 21px;
    height: 21px;
    display: block;
    background-color: #939292; 
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.h2-mezzi h2:hover::before {
    transform: translateX(2px);
    background-color: #0E0E0E;
}

/*--------------------------------------------- PREVENTIVO -----------------------------------------------------------*/
.h2-preventivo h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 28px !important;
    letter-spacing: -1px !important;
    text-transform: uppercase;
    line-height: 1.1;
    color: #0E0E0E;
    margin: 0; 
}
.h2-preventivo h2::before {
    content: '';
    flex: 0 0 21px;
    height: 21px;
    display: block;
    background-color: #939292;
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow.svg') no-repeat center / contain;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.h2-preventivo h2:hover::before {
    transform: translateX(2px);
    background-color: #0E0E0E;
}
.preventivo-form .js-colli-wrap,
.preventivo-form .js-colli-wrap *{
  box-sizing: border-box;
}
.preventivo-form .js-colli-wrap p{
  margin: 0 !important;
  padding: 0 !important;
}
.preventivo-form .js-colli-wrap br{
  display: none !important;
}
.preventivo-form .js-colli-rows{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.preventivo-form .js-colli-rows .form-row.form-row-2{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
}
.preventivo-form .js-colli-rows .form-col{
  min-width: 0;
}
.preventivo-form .js-colli-rows label{
  display: block;
  margin: 0 !important;
}
.preventivo-form .js-colli-rows label{
  line-height: 1.2;
}
.preventivo-form .js-colli-rows input[type="text"],
.preventivo-form .js-colli-rows input[type="number"]{
  width: 100% !important;
  display: block;
  margin-top: 8px;
}
.preventivo-form .js-colli-rows .form-row.form-row-2:last-child{
  margin-bottom: 20px !important;
}
.preventivo-form .form-col--peso,
.preventivo-form .form-col--dimensioni{
  position: relative;
}
.preventivo-form .form-col--peso::after,
.preventivo-form .form-col--dimensioni::after{
    top: 55% !important;
    transform: translateY(0%)!important;
}

/*--------------------------------------------- PAGINA SERVIZI -----------------------------------------------------------*/
.servizi-page-list {
    width: 100%;
}
.servizi-page-item {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 40px;
    padding: 28px 40px;
    background-color: #F0F0F0;
    box-sizing: border-box;
    cursor: pointer;
    margin-bottom: 6px;
    transition: background-color 0.25s ease;
}
.servizi-page-item:hover {
    background-color: #e6e6e6;
}
.servizi-page-text {
    flex: 1;
}
.servizi-page-item .submenu-servizio-title {
    margin: 0 0 8px;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 45px;
    line-height: 100%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #0E0E0E;
}
.servizi-page-item .submenu-servizio-excerpt {
    margin: 0;
    font-family: "Oxanium", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    max-width: 520px;
}
.servizi-page-cta {
    display: flex;
    align-items: center;
}

/*--------------------------------------------- FORM DI RICHIESTA -----------------------------------------------------------*/
.preventivo-form {
    box-sizing: border-box;
}
.preventivo-form p {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin: 0 !important;
}
.preventivo-form .form-row {
    margin-bottom: 0px;
}
.preventivo-form label {
    display: flex;
    flex-direction: column;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -1%;
    text-transform: uppercase;
    color: #A9A9A9;
    margin-bottom: 0;
    gap: 6px;
}
.preventivo-form input[type="text"],
.preventivo-form input[type="email"],
.preventivo-form input[type="tel"],
.preventivo-form select,
.preventivo-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #a9a9a9;
    background-color: transparent;
    color: #ffffff;
    font-family: "Oxanium", sans-serif;
    font-size: 14px;
    line-height: 1.2;
    box-sizing: border-box;
}
.preventivo-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: none;
}
.preventivo-form textarea {
    min-height: 140px;
    resize: vertical;
}
.preventivo-form ::placeholder {
    color: #707070;
}
.form-row-2 {
    display: flex;
    gap: 18px;
}
.form-row-2 .form-col {
    flex: 1;
}
.preventivo-form .wpcf7-notifications,
.preventivo-form .wpcf7-response-output {
    margin-top: 16px;
    font-family: "Oxanium", sans-serif;
    font-size: 12px;
    color: #ffffff;
}
.preventivo-form .button-big-white {
    margin-top: 10px;
}
.form-col--peso {
    position: relative;
}
.form-col--peso input {
    padding-right: 50px;
}
.form-col--peso::after {
    content: "KG";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #A9A9A9;
    pointer-events: none;
}
.preventivo-form select {
    width: 100%;
    padding: 14px 40px 14px 16px;
    border: 1px solid #a9a9a9;
    background-color: transparent;
    color: #A9A9A9;
    font-family: "Oxanium", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: none;
    transition: border-color 0.3s ease, color 0.3s ease;
    position: relative;
}
.preventivo-form .form-row:has(select) {
    position: relative;
}
.preventivo-form .form-row:has(select)::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-color: #A9A9A9;
    mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow-down.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2025/11/arrow-down.svg') no-repeat center / contain;
    pointer-events: none;
    transition: background-color 0.3s ease;
}
.preventivo-form select:focus {
    outline: none;
    border-color: #ffffff;
    color: #ffffff;
}
.preventivo-form select:focus + .form-row::after {
    background-color: #ffffff;
}
.preventivo-form select option {
    color: #484848;
    background-color: #ffffff;
    font-family: "Oxanium", sans-serif;
}
.preventivo-form textarea[name="descrizione-merce"] {
    min-height: 70px;
    height: 70px;
    resize: vertical;
}
.preventivo-form .form-col--dimensioni {
    position: relative;
}
.preventivo-form .form-col--dimensioni::after {
    content: "M";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #A9A9A9;
    font-family: "Oxanium", sans-serif;
    font-weight: 600;
    font-size: 14px;
    pointer-events: none;
}
.wpcf7-not-valid-tip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #dc3232;
    background-color: #ffffff;
    color: #dc3232;
    font-family: "Oxanium", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 4px;
    margin-top: 6px;
    width: 100%;
}
.wpcf7 form .wpcf7-response-output {
    margin: 10px 0px;
    padding: 20px 40px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    background-color: #ffb900;
}

/*--------------------------------------------- CSS PER RICHIEDERE PREVENTIVO -----------------------------------------------------------*/
#ore,
#prezzo {
  display: none;
}
#ore.is-open,
#prezzo.is-open {
  display: flex;
}
.button-big-icon .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;
    font-family: "Oxanium", sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    padding: 40px 30px !important;
    min-width: 350px;
    border: 0 !important;
    border-radius: 0 !important;

    background-color: #1F1F1F !important; /* default scuro */
    color: #FFFFFF !important;

    transition:
      background-color .25s ease,
      color .25s ease,
      transform .2s ease !important;
}
.button-big-icon .elementor-button::before {
    content: '';
    flex: 0 0 20px;
    height: 20px;
    display: block;

    background-color: #FFFFFF;
    mask: url('https://piva.lf-design.it/wp-content/uploads/2026/01/click.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2026/01/click.svg') no-repeat center / contain;

    transition:
      background-color .25s ease,
      transform .25s ease;
}
.button-big-icon .elementor-button:hover {
    background-color: #2A2A2A !important;
    color: #FFFFFF !important;
}
.button-big-icon .elementor-button:hover::before {
    background-color: #FFFFFF;
    transform: translateX(2px);
}
.button-big-icon .elementor-button.is-active {
    background-color: #FFFFFF !important;
    color: #0E0E0E !important;
}
.button-big-icon .elementor-button.is-active::before {
    background-color: #0E0E0E;
    mask: url('https://piva.lf-design.it/wp-content/uploads/2026/01/active.svg') no-repeat center / contain;
    -webkit-mask: url('https://piva.lf-design.it/wp-content/uploads/2026/01/active.svg') no-repeat center / contain;
    transform: translateX(2px);
}

/* ===== PRIVACY ROW ===== */
.preventivo-form .form-row--privacy{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-bottom: 25px;
}
.preventivo-form .form-row--privacy .wpcf7-form-control-wrap,
.preventivo-form .form-row--privacy .wpcf7-list-item,
.preventivo-form .form-row--privacy .wpcf7-list-item > label{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}
.preventivo-form .form-row--privacy input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.preventivo-form .form-row--privacy .wpcf7-list-item-label{
  position:relative;
  padding-left:28px;
  color:#FFFFFF !important;
  font-size:14px !important;
  line-height:1.3 !important;
  /* white-space:nowrap; */
}
.preventivo-form .form-row--privacy .wpcf7-list-item-label::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  border:2px solid #FFFFFF;
  background:transparent;
}
.preventivo-form .form-row--privacy input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
  content:"";
  position:absolute;
  left:4px;
  top:50%;
  transform:translateY(-50%) rotate(45deg);
  width:5px;
  height:9px;
  border-right:2px solid #0E0E0E;
  border-bottom:2px solid #0E0E0E;
}
.preventivo-form .form-row--privacy input[type="checkbox"]:checked + .wpcf7-list-item-label::before{
  background:#FFFFFF;
}
.preventivo-form .form-row--privacy a{
  color:#FFFFFF !important;
  text-decoration:underline !important;
  font-size:14px !important;
  line-height:1.3 !important;
  white-space:nowrap;
}
.preventivo-form .form-row--privacy a:hover{ opacity:.85; }

/* FORZA HEADER SEMPRE VISIBILE (blocca l'hide-on-scroll di Elementor) */
#header.elementor-sticky,
#header.elementor-sticky--active,
#header.elementor-sticky--effects{
  transform: none !important;
  top: 0 !important;
}

/*--------------------------------------------- CSS PER LAPTOP A PARTIRE DAI 1024PX -----------------------------------------------------------*/
@media (min-width: 1024px) {
    .no-desk{
        display: none!important;
    }   
}

/*--------------------------------------------- CSS PER LANDSCAPE TABLET -----------------------------------------------------------*/
@media (min-width: 1024px) and (max-width: 1400px) {
    .font-men{
        font-size: 12px!important;
        text-transform: uppercase!important;
    }
    #header-button a {
        font-size: 12px!important;
    }
}

/*--------------------------------------------- CSS PER LAPTOP FINO A 1400PX -----------------------------------------------------------*/
@media (max-width: 1400px){
    .hero-white.hero-white--right .hero-text{
        padding-left: 24px;
        padding-right: 24px;
    }
    #mega-servizi {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}
/*--------------------------------------------- CSS PER TABLET FINO A 1024PX -----------------------------------------------------------*/
@media (max-width: 1024px) {
    #header-button {
        display: none !important;
    }
    #header .elementor-nav-menu--main {
        display: none !important;
    }
    #preventivo{
        display: none !important;
    }
    .pad_sec_tot{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .pad_sec_bot{
        padding-bottom: 40px;
    }
    .pad_sec_top{
        padding-top: 40px;
    }
    .button-big-white .elementor-button,
    .button-big-black .elementor-button {
        padding: 25px 50px !important;
        font-size: 15px !important;
        gap: 8px !important;
    }
    .button-big-white .elementor-button::before,
    .button-big-black .elementor-button::before {
        width: 24px !important;
        height: 24px !important;
    }
    #pre-footer .box-grey {
        padding: 30px 10px;
    }
    .grid-left-bleed-right .swiper-servizi-slider{
        -webkit-mask-image: none;
        mask-image: none;
        clip-path: none;
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 0;
        box-sizing: border-box;
    }
    .servizi-slider-wrapper{
        overflow-x: hidden;  
    }
    :root { --servizi-card-body-min: 200px; }
    .servizio-card .servizio-media img{ height: 220px; }
    .servizio-body{ padding: 20px; }
    .servizio-title{ font-size: 24px; }
    .servizio-desc{ font-size: 15px; }   
    .hero-white.hero-white--right{
        width: 100%;
        max-width: 100%;
    }
    .hero-white.hero-white--right .hero-text{
        padding-left: 20px;
        padding-right: 20px;
    }
    .h2-mezzi h2{
        font-size: 30px!important;
    }
    .hero-white{
        width: 100%;
        max-width: 100%;
    }
    .hero-white .hero-text{
        padding-left: 20px;
        padding-right: 20px;
    }
    .servizi-page-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 16px;
    }
    .servizi-page-item .submenu-servizio-title {
        font-size: 30px;
    }
    .servizi-page-item .submenu-servizio-excerpt {
        max-width: 100%;
        margin-bottom: 16px;
    }
    .servizi-page-cta .elementor-button {
        width: 100%;
        justify-content: center;
    }
}

/*--------------------------------------------- CSS PER TELEFONO -----------------------------------------------------------*/
@media (max-width: 768px) {
    .button-big-white .elementor-button,
    .button-big-black .elementor-button {
        display: flex !important;
        width: 100% !important;
        min-width: auto !important;
        padding: 15px !important;
        font-size: 14px !important;
        letter-spacing: 0.1em !important;
        /* margin-bottom: 18px !important; */
        gap: 8px !important;
    }
    .button-big-white .elementor-button::before,
    .button-big-black .elementor-button::before {
    flex: 0 0 16px;
    height: 16px;
    margin-top: 1px;
    }
    .servizio-btn{
        padding-top: 15px;
        padding-bottom: 15px;
    }
    /*-- BOTTONI FISSI DI CONTATTO --*/
    #sticky-contact-buttons {
        bottom: 10px;
        right: 10px;
        padding: 10px;
        gap: 8px;
    }
    .sticky-button {
        padding: 10px;
        width: 20px;
        height: 20px;
    }
    .sticky-button .button-text {
        display: none;
    }
    .sticky-button svg,
    .sticky-button img.button-icon-svg {
        margin-right: 0;
        width: 24px;
        height: 24px;
    }
    /*-- ALTRO --*/
    .pad_sec_tot{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .pad_sec_bot{
        padding-bottom: 40px;
    }
    .pad_sec_top{
        padding-top: 40px;
    }
    #contenitore-testuale {
        padding-left: unset!important;
        box-sizing: inherit!important;
        padding-right: unset!important;
    }
    #contenitore-testuale2 {
        padding-right: unset!important;
        box-sizing: initial!important;
        padding-left: unset!important;
    }
    .pad_sec_left{
        padding-left: 15px!important;
    }
    /*-------- SOPRATITOLI --------*/
    .up_title h3{
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center; 
        justify-content: center; 
        font-family: "Oxanium", sans-serif;
        font-weight: 600;
        font-size: 14px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase;
        color: #939292 !important;
        border: 1px solid #939292;
        border-radius: 50px;
        padding: 8px 22px;
        margin: 0 auto;
        white-space: normal;
        word-break: break-word;
        box-sizing: border-box;
        max-width: 90vw;
    }
    .swiper-controls,
    .swiper-button-next-servizi,
    .swiper-button-next-servizi::after {
        display: none !important;
    }
    :root { --servizi-card-body-min: 180px; }
    .servizio-card .servizio-media img{ height: 180px; }
    .servizio-title{ font-size: 22px; }
    .servizio-desc{ font-size: 14px; }

    .service-bullet-list li {
        font-size: 25px;
    }
    .service-bullet-list li::before {
        width: 30px;
        height: 30px;
    }
    .service-page{
        font-size: 30px;
    }
    .h2-mezzi h2{
        font-size: 26px!important;
    }
    #margin-hero{
        margin-bottom: 40px!important;
    }
    .preventivo-form .form-row-2 {
        flex-direction: column;
        gap: 12px;
    }
    .preventivo-form .form-col,
    .preventivo-form .form-col--peso,
    .preventivo-form .form-col--dimensioni {
        width: 100%;
    }
    .preventivo-form label {
        font-size: 13px;
    }
    .preventivo-form input[type="text"],
    .preventivo-form input[type="email"],
    .preventivo-form input[type="tel"],
    .preventivo-form select,
    .preventivo-form textarea {
        font-size: 13px;
        padding: 12px 14px;
    }
    .form-col--peso::after,
    .form-col--dimensioni::after {
        right: 14px;
        font-size: 12px;
    }
    .button-submenu .elementor-button {
        width: 100% !important;
        justify-content: center !important;
        padding: 18px 20px !important;
        font-size: 13px !important;
        min-width: unset !important;
    }
    .servizi-page-item {
        gap: 10px;
    }
    .servizi-page-cta {
        width: 100%;
        display: unset;
    }
    .grid-left-bleed-right .swiper-servizi-slider,
    .grid-left-bleed-right .swiper-gallery-slider {
        -webkit-mask-image: none;
        mask-image: none;
        clip-path: none;
        padding-left: 16px;
        padding-right: 16px;
        margin-right: 0;
        box-sizing: border-box;
    }
    .preventivo-form .js-colli-rows .form-row.form-row-2{
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
    .piva-gallery-item {
        height: 400px;
        overflow: hidden;
    }
    #sticky-contact-buttons {
        opacity: 0;
        transform: translateY(20px);
        pointer-events: none;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    #sticky-contact-buttons.show-sticky-buttons {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}















