
/* ==========================================================
   VIGORFLEX RESTYLE - Artvision
   File da copiare in: css/vigorflex-restyle.css
   ========================================================== */
:root{
    --vfx-dark:#162321;
    --vfx-green:#5f7f68;
    --vfx-green-2:#8ba48f;
    --vfx-cream:#f7f2ea;
    --vfx-sand:#dfd2bf;
    --vfx-text:#24322f;
    --vfx-muted:#75827d;
    --vfx-radius:28px;
    --vfx-shadow:0 24px 70px rgba(22,35,33,.13);
}

body.vigorflex-site,
body{
    color:var(--vfx-text);
    background:linear-gradient(180deg,#fff 0%,#fbf8f3 52%,#fff 100%);
    font-family:"Jost", Arial, sans-serif;
}

body.vigorflex-site::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        radial-gradient(circle at 8% 10%, rgba(139,164,143,.18), transparent 30%),
        radial-gradient(circle at 92% 20%, rgba(223,210,191,.28), transparent 28%);
}

/* Header più premium */
.tf-topbar{
    background:var(--vfx-dark) !important;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.tf-topbar p{ color:#fff; letter-spacing:.2px; }
.tf-topbar .dot{ background:var(--vfx-sand); opacity:1; }
.header-default{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 35px rgba(22,35,33,.06);
    position:sticky;
    top:0;
    z-index:99;
}
.header-top{ padding:12px 0 8px; }
.logo-header img{ max-width:178px; height:auto; }
.header-language,
.nav-icon .nav-icon-item{
    font-weight:600;
    color:var(--vfx-dark) !important;
}
.nav-icon .nav-icon-item[href="contact.php"]{
    min-height:42px;
    padding:0 22px !important;
    border-radius:999px;
    background:var(--vfx-dark);
    color:#fff !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 24px rgba(22,35,33,.15);
}
.box-nav-menu .item-link{
    font-size:13px;
    letter-spacing:.12em;
    font-weight:700;
    color:var(--vfx-dark) !important;
    padding:21px 17px;
    position:relative;
}
.box-nav-menu .item-link::after{
    content:"";
    position:absolute;
    left:17px;
    right:17px;
    bottom:12px;
    height:2px;
    border-radius:2px;
    background:var(--vfx-green);
    transform:scaleX(0);
    transform-origin:left;
    transition:.25s ease;
}
.box-nav-menu .menu-item:hover .item-link::after{ transform:scaleX(1); }
.box-nav-menu .menu-item a[style*="border-bottom"]{ border-bottom:0 !important; color:var(--vfx-green) !important; }
.mega-menu{
    border:0 !important;
    border-radius:0 0 30px 30px;
    box-shadow:0 26px 80px rgba(22,35,33,.14);
    overflow:hidden;
}

/* Hero */
.vfx-hero{ position:relative; overflow:hidden; }
.vfx-hero-slide{
    min-height:calc(100vh - 145px);
    max-height:860px;
    position:relative;
    display:flex;
    align-items:center;
    isolation:isolate;
}
.vfx-hero-bg{ position:absolute; inset:0; z-index:-2; }
.vfx-hero-bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.vfx-hero-slide::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(90deg, rgba(247,242,234,.98) 0%, rgba(247,242,234,.88) 34%, rgba(247,242,234,.28) 62%, rgba(247,242,234,.08) 100%),
        radial-gradient(circle at 25% 45%, rgba(255,255,255,.86), transparent 34%);
}
.vfx-hero-content{
    max-width:680px;
    padding:64px 0 80px;
}
.vfx-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border:1px solid rgba(95,127,104,.22);
    background:rgba(255,255,255,.65);
    border-radius:999px;
    color:var(--vfx-green);
    font-size:13px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:22px;
}
.vfx-hero h1{
    font-family:"Gilda Display", serif;
    font-size:clamp(45px,6vw,88px);
    line-height:.98;
    letter-spacing:-.04em;
    color:var(--vfx-dark);
    margin:0 0 22px;
}
.vfx-hero p{
    font-size:clamp(17px,1.55vw,22px);
    line-height:1.55;
    color:#42504b;
    max-width:620px;
    margin-bottom:30px;
}
.vfx-hero-actions{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:30px;
}
.vfx-hero .tf-btn,
.vfx-split-section .tf-btn,
.vfx-hospitality-banner .tf-btn{
    border-radius:999px !important;
    padding:16px 28px !important;
    min-height:54px;
    background:var(--vfx-dark) !important;
    border-color:var(--vfx-dark) !important;
    box-shadow:0 16px 34px rgba(22,35,33,.18);
}
.vfx-link-btn{
    color:var(--vfx-dark);
    font-weight:800;
    border-bottom:2px solid var(--vfx-green);
    padding-bottom:4px;
}
.vfx-hero-points{ display:flex; gap:12px; flex-wrap:wrap; }
.vfx-hero-points span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(22,35,33,.08);
    color:var(--vfx-dark);
    border-radius:999px;
    padding:9px 14px;
    font-size:14px;
    font-weight:700;
}
.vfx-hero-points i{ color:var(--vfx-green); }

/* Marquee */
.marquee-sale{
    background:linear-gradient(90deg,var(--vfx-green),var(--vfx-dark)) !important;
    box-shadow:0 18px 48px rgba(22,35,33,.16);
}
.marquee-sale .display-xs{ font-size:18px; letter-spacing:.02em; }

/* Trust cards */
.vfx-trust-section{ margin-top:-26px; position:relative; z-index:2; }
.vfx-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(12px);
    border:1px solid rgba(22,35,33,.08);
    border-radius:var(--vfx-radius);
    box-shadow:var(--vfx-shadow);
    padding:18px;
}
.vfx-trust-card{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:20px;
    border-radius:22px;
    background:linear-gradient(180deg,#fff,#fbf8f3);
    border:1px solid rgba(22,35,33,.06);
}
.vfx-trust-card i{
    width:46px; height:46px;
    border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(95,127,104,.12);
    color:var(--vfx-green);
    font-size:20px;
    flex:0 0 46px;
}
.vfx-trust-card strong{ display:block; font-size:17px; color:var(--vfx-dark); margin-bottom:4px; }
.vfx-trust-card span{ display:block; font-size:14px; line-height:1.45; color:var(--vfx-muted); }

/* Card immagini */
.vfx-feature-container{ margin-top:72px !important; }
.vfx-feature-grid .wg-cls,
.wg-cls.style-abs,
.image-banner,
.vfx-hospitality-banner .banner-content{
    border-radius:30px !important;
    overflow:hidden;
    box-shadow:0 22px 60px rgba(22,35,33,.12);
}
.vfx-feature-grid .wg-cls::after,
.wg-cls.style-abs::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(22,35,33,.02),rgba(22,35,33,.34));
    pointer-events:none;
}
.vfx-feature-grid .cls-btn{ z-index:2; width:calc(100% - 36px); left:18px; right:18px; bottom:18px; }
.btn-cls.btn-white{
    border-radius:999px !important;
    box-shadow:0 12px 26px rgba(22,35,33,.16);
    font-weight:800 !important;
}

/* Titoli sezioni */
.flat-title-v2 h6,
.flat-title .title{
    color:var(--vfx-dark);
}
.flat-title-v2 h6{
    font-size:clamp(22px,2.2vw,34px);
    line-height:1.25;
    font-family:"Gilda Display", serif;
    font-weight:400;
    max-width:930px;
    margin:auto;
}
.vfx-category-section{ padding:42px 0 18px; }
.slider-layout-right .wg-cls{ background:#fff; }
.slider-layout-right .image img{ aspect-ratio:1/1.15; object-fit:cover; }

/* Split banner */
.vfx-split-section{ padding:92px 0 !important; }
.vfx-split-section .row{ align-items:center; row-gap:34px; }
.vfx-split-section .content-banner{
    background:#fff;
    border:1px solid rgba(22,35,33,.08);
    border-radius:30px;
    padding:clamp(30px,4vw,58px);
    box-shadow:var(--vfx-shadow);
}
.vfx-split-section h4{
    font-family:"Gilda Display", serif;
    font-size:clamp(34px,4vw,58px);
    line-height:1;
    color:var(--vfx-dark);
    letter-spacing:-.03em;
}
.vfx-split-section p{ color:#56635f; line-height:1.65; }
.vfx-split-section .image-banner img{ width:100%; min-height:430px; object-fit:cover; }

/* Hospitality */
.vfx-hospitality-banner{ padding-top:36px !important; }
.vfx-hospitality-banner .banner-content{
    background:var(--vfx-dark);
    color:#fff;
}
.vfx-hospitality-banner .box-content{ padding:clamp(34px,5vw,74px); }
.vfx-hospitality-banner .title{
    font-family:"Gilda Display", serif;
    color:#fff;
    letter-spacing:-.03em;
}
.vfx-hospitality-banner .sub{ color:rgba(255,255,255,.78) !important; line-height:1.7; }

/* Testimonianze */
.vfx-testimonials{ padding-bottom:70px !important; }
.vfx-testimonials .wg-testimonial{
    border:1px solid rgba(22,35,33,.08);
    border-radius:26px;
    background:#fff;
    box-shadow:0 16px 42px rgba(22,35,33,.08);
}
.vfx-testimonials .content{ padding:28px !important; }
.list-star-default i{ color:#d2a349; }

/* Footer */
.footer-default{
    background:linear-gradient(180deg,#f7f2ea 0%,#fff 100%);
    border-top:1px solid rgba(22,35,33,.08);
}
.footer-top-wrap,
.footer-body,
.footer-bottom-wrap{
    border-color:rgba(22,35,33,.08) !important;
}
.footer-logo img{ max-width:190px; }
.footer-heading{ color:var(--vfx-dark); font-weight:800 !important; }
.footer-menu-list a,
.footer-info .item,
.footer-contact span,
.footer-bottom p{ color:#4b5854 !important; }
.form-newsletter{
    background:#fff;
    border-radius:24px;
    padding:18px;
    box-shadow:0 15px 40px rgba(22,35,33,.08);
}
.subscribe-content{ border-radius:999px; overflow:hidden; }
.subscribe-button{ background:var(--vfx-dark) !important; border-radius:999px !important; }

/* WhatsApp floating */
.vfx-whatsapp-float{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:999;
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:52px;
    padding:0 18px;
    border-radius:999px;
    background:#25d366;
    color:#fff !important;
    font-weight:800;
    box-shadow:0 16px 38px rgba(37,211,102,.35);
}
.vfx-whatsapp-float i{ font-size:22px; }

/* Mobile */
@media (max-width:1199px){
    .header-default{ top:0; }
    .header-top{ padding:8px 0; }
    .logo-header img{ max-width:150px; }
    .mobile-menu{
        width:44px; height:44px;
        border-radius:999px;
        background:var(--vfx-dark);
        color:#fff !important;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
    .vfx-hero-slide{ min-height:720px; }
    .vfx-hero-slide::before{ background:linear-gradient(180deg,rgba(247,242,234,.96) 0%,rgba(247,242,234,.86) 45%,rgba(247,242,234,.48) 100%); }
    .vfx-trust-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px){
    .vfx-hero-slide{ min-height:660px; align-items:flex-end; }
    .vfx-hero-content{ padding:70px 0 46px; }
    .vfx-eyebrow{ font-size:11px; line-height:1.35; border-radius:18px; }
    .vfx-hero h1{ font-size:43px; }
    .vfx-hero p{ font-size:16px; }
    .vfx-hero-actions{ align-items:stretch; }
    .vfx-hero-actions .tf-btn,
    .vfx-link-btn{ width:100%; justify-content:center; text-align:center; }
    .vfx-hero-points span{ width:100%; justify-content:center; }
    .vfx-trust-section{ margin-top:18px; }
    .vfx-trust-grid{ grid-template-columns:1fr; border-radius:22px; padding:12px; }
    .vfx-feature-container{ margin-top:42px !important; }
    .vfx-split-section{ padding:54px 0 !important; }
    .vfx-split-section .content-banner{ padding:28px 22px; }
    .vfx-split-section .image-banner img{ min-height:320px; }
    .marquee-sale .display-xs{ font-size:15px; }
    .vfx-whatsapp-float span{ display:none; }
    .vfx-whatsapp-float{ width:54px; padding:0; justify-content:center; }
}
/* =========================================
   MOBILE OPTIMIZATION VIGORFLEX
   ========================================= */
@media (max-width: 767.98px) {

    /* ===== TOP BAR ===== */
    .tf-topbar {
        min-height: 34px;
        padding: 0;
    }

    .topbar-center.marquee-wrapper {
        min-height: 34px;
        display: flex;
        align-items: center;
    }

    .marquee-child-item p {
        font-size: 14px !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    /* ===== HEADER ===== */
    #header.header-default {
        background: #fff;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
        position: sticky;
        top: 0;
        z-index: 999;
    }

    .header-top {
        padding: 12px 0 !important;
    }

    .wrapper-header {
        min-height: 74px;
        align-items: center;
    }

    .mobile-menu {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #0d2323;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        box-shadow: 0 8px 18px rgba(13, 35, 35, 0.18);
    }

    .mobile-menu i {
        font-size: 20px;
        line-height: 1;
    }

    .logo-header {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 0 !important;
    }

    .logo-header img,
    .logo-header .logo {
        max-width: 180px;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .nav-icon {
        gap: 0 !important;
    }

    .nav-search .nav-icon-item {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 14px 18px !important;
        border-radius: 999px;
        background: #0d2323;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 600;
        line-height: 1;
        white-space: nowrap;
        min-height: 48px;
        box-shadow: 0 8px 18px rgba(13, 35, 35, 0.18);
    }

    /* ===== HERO / SLIDER ===== */
    .tf-slideshow,
    .slider-viewport,
    .slider-default {
        margin-top: 0;
    }

    .slider-wrap {
        min-height: auto !important;
    }

    .slider-wrap .image {
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .slider-wrap .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right center;
    }

    .slider-wrap .box-content {
        position: relative;
        z-index: 3;
        padding: 54px 0 60px;
    }

    /* overlay morbido per far leggere meglio il testo */
    .slider-wrap::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background:
            linear-gradient(90deg,
                rgba(247, 244, 239, 0.95) 0%,
                rgba(247, 244, 239, 0.88) 45%,
                rgba(247, 244, 239, 0.55) 70%,
                rgba(247, 244, 239, 0.20) 100%);
    }

    .content-slider {
        max-width: 100%;
        padding: 0 10px;
    }

    .box-title-slider .sub {
        font-size: 13px !important;
        line-height: 1.45;
        margin-bottom: 12px;
        color: #243232 !important;
        letter-spacing: 0;
    }

    .box-title-slider .heading,
    .content-slider h1,
    .content-slider h2 {
        font-size: 54px !important;
        line-height: 0.95 !important;
        letter-spacing: -1.5px;
        margin-bottom: 18px;
        color: #132323 !important;
    }

    .content-slider p,
    .box-title-slider + p,
    .content-slider .desc,
    .content-slider .text,
    .content-slider .text-xl {
        font-size: 18px !important;
        line-height: 1.65 !important;
        color: #4c5a5a !important;
        max-width: 100%;
        margin-bottom: 22px;
    }

    /* ===== CTA HERO ===== */
    .box-btn-slider,
    .vf-hero-actions,
    .hero-actions {
        display: flex;
        flex-direction: column;
        gap: 14px;
        align-items: stretch;
        width: 100%;
    }

    .box-btn-slider .tf-btn,
    .vf-hero-actions .tf-btn,
    .hero-actions .tf-btn {
        width: 100%;
        min-height: 58px;
        border-radius: 999px;
        justify-content: center;
        font-size: 18px !important;
        font-weight: 600;
        padding: 16px 22px;
    }

    .box-btn-slider .btn-outline,
    .vf-hero-actions .btn-outline,
    .hero-actions .btn-outline,
    .vf-hero-actions a:last-child,
    .hero-actions a:last-child {
        background: transparent !important;
        color: #0d2323 !important;
        border: 2px solid rgba(13, 35, 35, 0.18) !important;
    }

    /* ===== PULSANTE SECONDARIO SEMPLICE ===== */
    .box-btn-slider a + a,
    .vf-hero-actions a + a,
    .hero-actions a + a {
        text-align: center;
        font-size: 17px !important;
        font-weight: 700;
    }

    /* ===== SPACING SEZIONI ===== */
    .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    section,
    .flat-spacing-14,
    .flat-spacing-1,
    .flat-spacing-8 {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    /* ===== TITOLI GENERALI ===== */
    h2 {
        font-size: 34px !important;
        line-height: 1.08 !important;
    }

    h3 {
        font-size: 28px !important;
        line-height: 1.12 !important;
    }

    h4 {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    p {
        font-size: 16px;
        line-height: 1.7;
    }

    /* ===== BANNER IMMAGINI ===== */
    .image-banner img,
    .wg-cls .image img {
        border-radius: 22px;
    }

    .content-banner {
        padding-top: 22px;
    }

    /* ===== FOOTER ===== */
    #footer .footer-top {
        padding-top: 40px;
    }

    #footer .footer-bottom-wrap {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    /* ===== WHATSAPP ===== */
    .whatsapp-float,
    .whatsapp-fixed,
    .float-whatsapp {
        right: 14px !important;
        bottom: 88px !important;
        transform: scale(0.92);
    }
}@media (max-width: 767.98px) {
    .logo-header img {
        max-width: 160px;
    }
}@media (max-width: 767.98px) {
    .box-title-slider .heading,
    .content-slider h1,
    .content-slider h2 {
        font-size: 46px !important;
        line-height: 0.98 !important;
    }
}@media (max-width: 767.98px) {
    .content-slider p {
        max-width: 92%;
    }
}/* =====================================================
   VIGORFLEX - FIX HEADER + HERO SMARTPHONE
   ===================================================== */

@media (max-width: 767.98px) {

    /* TOPBAR più sottile */
    .tf-topbar {
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        overflow: hidden;
    }

    .tf-topbar .container,
    .tf-topbar .row,
    .tf-topbar .topbar-center {
        height: 34px !important;
        min-height: 34px !important;
    }

    .marquee-child-item p {
        font-size: 14px !important;
        line-height: 34px !important;
    }

    /* HEADER mobile più ordinato */
    #header.header-default {
        background: #fff !important;
        box-shadow: 0 8px 26px rgba(0, 0, 0, 0.06);
        position: sticky;
        top: 0;
        z-index: 999;
    }

    .header-top {
        padding: 10px 0 !important;
    }

    .wrapper-header {
        min-height: 68px !important;
        display: flex;
        align-items: center !important;
    }

    /* Hamburger */
    .mobile-menu {
        width: 48px !important;
        height: 48px !important;
        border-radius: 50% !important;
        background: #0e2524 !important;
        color: #fff !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 10px 22px rgba(14, 37, 36, 0.18);
    }

    .mobile-menu i {
        font-size: 20px !important;
        color: #fff !important;
    }

    /* Logo più centrato e leggibile */
    .logo-header {
        margin-top: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100%;
    }

    .logo-header img,
    .logo-header .logo {
        max-width: 175px !important;
        width: 175px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Contattaci: da scritta grande a icona */
    .vigorflex-mobile-actions {
        display: flex !important;
        justify-content: flex-end !important;
    }

    .vigorflex-contact-btn {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        background: #0e2524 !important;
        color: #fff !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 10px 22px rgba(14, 37, 36, 0.18);
        font-size: 0 !important;
    }

    .vigorflex-contact-btn span {
        display: none !important;
    }

    .vigorflex-contact-btn i {
        display: inline-block !important;
        font-size: 19px !important;
        color: #fff !important;
        line-height: 1 !important;
    }

    /* HERO: elimina spazio enorme sopra */
    .tf-slideshow,
    .slider-viewport,
    .slider-electronic,
    .slider-default {
        margin-top: 0 !important;
    }

    .slider-wrap {
        min-height: 650px !important;
        height: auto !important;
        position: relative !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    .slider-wrap .image {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
    }

    .slider-wrap .image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: right center !important;
    }

    /* overlay chiaro per lettura */
    .slider-wrap::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background:
            linear-gradient(
                90deg,
                rgba(249, 247, 242, 0.97) 0%,
                rgba(249, 247, 242, 0.92) 48%,
                rgba(249, 247, 242, 0.72) 75%,
                rgba(249, 247, 242, 0.50) 100%
            );
        pointer-events: none;
    }

    .slider-wrap .box-content {
        position: relative !important;
        z-index: 3 !important;
        width: 100% !important;
        padding: 34px 0 46px !important;
        margin: 0 !important;
    }

    .content-slider {
        padding: 0 6px !important;
        margin: 0 !important;
        max-width: 100% !important;
        transform: translateY(-18px);
    }

    /* Titolo portato più su e più proporzionato */
    .box-title-slider .sub {
        font-size: 14px !important;
        line-height: 1.35 !important;
        margin-bottom: 10px !important;
        color: #223434 !important;
        letter-spacing: 0 !important;
    }

    .box-title-slider .heading,
    .content-slider h1,
    .content-slider h2 {
        font-size: 48px !important;
        line-height: 0.98 !important;
        letter-spacing: -1.4px !important;
        margin-bottom: 18px !important;
        color: #102625 !important;
    }

    .content-slider p,
    .content-slider .desc,
    .content-slider .text-xl,
    .content-slider .text {
        font-size: 18px !important;
        line-height: 1.58 !important;
        color: #4d5c5b !important;
        margin-bottom: 24px !important;
        max-width: 96% !important;
    }

    /* Bottoni hero */
    .box-btn-slider,
    .vf-hero-actions,
    .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
        align-items: stretch !important;
        width: 100% !important;
        margin-top: 20px !important;
    }

    .box-btn-slider .tf-btn,
    .vf-hero-actions .tf-btn,
    .hero-actions .tf-btn {
        width: 100% !important;
        min-height: 58px !important;
        border-radius: 999px !important;
        justify-content: center !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        padding: 16px 22px !important;
        background: #0e2524 !important;
        color: #fff !important;
    }

    .box-btn-slider a + a,
    .vf-hero-actions a + a,
    .hero-actions a + a {
        background: transparent !important;
        color: #0e2524 !important;
        border: 0 !important;
        border-bottom: 2px solid rgba(14, 37, 36, 0.35) !important;
        border-radius: 0 !important;
        min-height: auto !important;
        padding: 8px 0 10px !important;
        box-shadow: none !important;
        text-align: center !important;
    }

    /* WhatsApp più piccolo e meno invasivo */
    .whatsapp-float,
    .whatsapp-fixed,
    .float-whatsapp,
    a[href*="whatsapp"] .whatsapp-float {
        right: 18px !important;
        bottom: 98px !important;
    }
}@media (max-width: 767.98px) {
    .content-slider {
        transform: translateY(-145px) !important;
    }

    .slider-wrap .box-content {
        padding-top: 18px !important;
    }
}/* =====================================================
   VIGORFLEX - HERO MOBILE TESTO PIÙ SOPRA
   ===================================================== */

@media (max-width: 767.98px) {

    .vfx-hero {
        position: relative;
        overflow: hidden;
    }

    .vfx-hero-slide {
        position: relative;
        min-height: 650px !important;
        display: flex;
        align-items: flex-start !important;
        overflow: hidden;
    }

    .vfx-hero-bg {
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .vfx-hero-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right center;
    }

    .vfx-hero-slide::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background:
            linear-gradient(
                90deg,
                rgba(248, 247, 242, 0.97) 0%,
                rgba(248, 247, 242, 0.94) 48%,
                rgba(248, 247, 242, 0.78) 76%,
                rgba(248, 247, 242, 0.55) 100%
            );
        pointer-events: none;
    }

    .vfx-hero-slide .container {
        position: relative;
        z-index: 3;
        width: 100%;
    }

    /* QUESTO PORTA LA SCRITTA SOPRA */
    .vfx-hero-content {
        position: relative;
        z-index: 4;
        padding-top: 35px !important;
        margin-top: 0 !important;
        transform: translateY(-65px) !important;
        max-width: 100% !important;
    }

    .vfx-hero-content span {
        display: block;
        font-size: 14px !important;
        line-height: 1.35 !important;
        margin-bottom: 10px !important;
        color: #1c3334 !important;
        font-weight: 500;
    }

    .vfx-hero-content h1 {
        font-size: 48px !important;
        line-height: 0.98 !important;
        letter-spacing: -1.5px !important;
        margin: 0 0 18px 0 !important;
        color: #102625 !important;
    }

    .vfx-hero-content p {
        font-size: 18px !important;
        line-height: 1.58 !important;
        margin-bottom: 25px !important;
        color: #4a5b5b !important;
        max-width: 96%;
    }

    .vfx-hero-actions {
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100%;
        margin-top: 18px;
    }

    .vfx-hero-actions .tf-btn {
        width: 100%;
        min-height: 58px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 17px !important;
        font-weight: 700;
        background: #0e2524 !important;
        color: #fff !important;
    }

    .vfx-link-btn {
        display: block;
        text-align: center;
        color: #0e2524 !important;
        font-size: 17px !important;
        font-weight: 800;
        padding: 8px 0 10px;
        border-bottom: 2px solid rgba(14, 37, 36, 0.35);
    }
}