/*
Theme Name: Onda Commerce
Theme URI: https://ondaceramiche.it
Author: Onda Ceramiche
Description: Tema proprietario sviluppato esclusivamente per Onda Ceramiche.
Version: 1.0
Text Domain: onda-commerce
*/
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
}

header{
    background:#0B2C54;
    color:#fff;
    padding:20px 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

header h2{
    margin:0;
}

header nav a{
    color:white;
    text-decoration:none;
    margin-left:20px;
}

.hero{
    background:#0B2C54;
    color:white;
    text-align:center;
    padding:120px 20px;
}

.hero h1{
    font-size:60px;
    margin-bottom:20px;
}

.hero p{
    font-size:28px;
}

.bottone{
    display:inline-block;
    margin-top:30px;
    background:#C8A35F;
    color:white;
    text-decoration:none;
    padding:18px 45px;
    border-radius:8px;
}

.contenuto{
    padding:80px;
    text-align:center;
}

footer{
    background:#111;
    color:white;
    text-align:center;
    padding:40px;
}/* ===========================
   ONDA COMMERCE v0.2
=========================== */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#222;
}.header{
 
    position:sticky;
    top:0;
    z-index:9999;

    display:flex;
    align-items:center;
    justify-content:space-between;

    height:90px;
    padding:0 25px;

    backdrop-filter:blur(18px);
    background:rgba(8,23,46,.92);

    border-bottom:1px solid rgba(212,175,55,.20);

    box-shadow:0 8px 25px rgba(0,0,0,.25);

    transition:all .35s ease;
}   



.header:hover{
    background:rgba(8,23,46,.96);
    border-bottom:1px solid #D4AF37;
}


.bottone{
    transition:.3s;
}

.bottone:hover{
    transform:translateY(-3px);
    background:#D4AF37;
    box-shadow:0 10px 25px rgba(212,175,55,.35);
}
.logo img{
    height: 80px;
    width:auto;
    display:block;
    transition:all .35s ease;
    cursor:pointer;
}
.logo img:hover{
    transform:scale(1.08);
    filter:drop-shadow(0 0 12px rgba(212,175,55,.7));
}


.logo{
    display:flex;
    align-items:center;
    padding-left:20px;
}



.main-menu{
    display:flex;
    align-items:center;
    justify-content:space-evenly;
    gap:8px;
    flex:1;
}

.main-menu>a,.main-menu>.menu-item{display:flex;align-items:center;height:90px}
.main-menu>.menu-item>a{display:flex;align-items:center;min-height:48px;line-height:1.1}


.menu a{
    color:#ffffff;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:all .3s ease;
    position:relative;
}


.main-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:#D4AF37;
    transition:width .3s ease;
}

.main-menu a:hover{
    color:#D4AF37;
    transform: translateY(-2px);
}

.main-menu a:hover::after{
    width:100%;
    height:3px;
}

.main-menu-item{
    position:relative;
    display:flex;
    align-items:center;
    height:90px;
}

.mega-menu{

    position:absolute;
    top:100%;
    left:50%;
    left:0;
    transform:translateY(15px);

    width:min(1100px,90vw);

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

    padding:35px;

    background:rgba(8,23,46,.98);
    backdrop-filter:blur(18px);

    border:1px solid rgba(212,175,55,.20);
    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.35);

    opacity:0;
    visibility:hidden;

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s;

    z-index:9999;
}

.mega-menu-content{
    display:grid;
    grid-template-columns:repeat(3,1fr) 320px;
    gap:35px;
    align-items:start;
}

.mega-image{
    display:flex;
    flex-direction:column;
    border-radius:18px;
    overflow:hidden;
}


.mega-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.menu-item:hover .mega-menu{

    opacity:1;
    visibility:visible;
    transform:translateX(-20%) translateY(0);

}


.main-menu-item:hover .mega-menu{
    display:grid;
}

.mega-column h3{
    color:#D4AF37;
    margin-bottom:15px;
}

.mega-column a{
    display:block;
    color:#fff;
    text-transform:none;
    margin:8px 0;
    font-weight:400;
    transition:all .25s ease;
    padding-left:0;
}

.mega-column a:hover{
   color:#D4AF37;
   padding-left:8px; 
}
.hero{
    min-height:90vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:80px 20px;

 background:
linear-gradient(rgba(6,20,38,.25), rgba(6,20,38,.45)),
url("Images/hero/hero.jpg");

background-size: cover;
background-position: center;
background-repeat: no-repeat;

    color:#fff;
}

.hero-tag{
    color:#D4AF37;
    font-size:15px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:25px;
    font-weight:700;
}

.hero h1{
    font-size:68px;
    line-height:1.05;
    max-width:950px;
    margin-bottom:25px;
    text-shadow:0 6px 25px rgba(0,0,0,.45);
}


.hero p{
    max-width:800px;
    font-size:24px;
    line-height:1.6;
    opacity:.95;
    margin-bottom:45px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    margin-bottom:60px;
}

.secondario{
    background:transparent;
    border:2px solid #D4AF37;
    color:#fff;
}

.hero-numeri{
    display:flex;
    gap:70px;
}

.hero-numeri div{
    display:flex;
    flex-direction:column;
}

.hero-numeri strong{
    font-size:42px;
    color:#D4AF37;
}

.hero-numeri span{
    margin-top:8px;
    opacity:.85;
}
/*==========================
AMBIENTI
==========================*/

.ambienti{

    padding:40px 10% 100px;
    background:#ffffff;

}




.titolo-sezione{

    text-align:center;
    margin-bottom:70px;

}

.titolo-sezione span{

    color:#D4AF37;
    letter-spacing:3px;
    font-size:14px;
    font-weight:bold;

}

.titolo-sezione h2{

    font-size:48px;
    margin:20px 0;

}

.titolo-sezione p{

    color:#666;
    font-size:20px;

}

.griglia-ambienti{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;

}

.ambiente{

    height:380px;
    border-radius:25px;
    overflow:hidden;

    display:flex;
    align-items:flex-end;

    padding:40px;

    text-decoration:none;

    color:white;

    font-size:34px;
    font-weight:bold;

    transition:.4s;

    background-size:cover;
    background-position:center;

}

.ambiente:hover{

    transform:scale(1.03);

}

.bagno{

    background:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("Images/ambienti/bagno.jpg");

    background-size:cover;
    background-position:center;

}



.cucina{

    background:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("Images/ambienti/cucina.jpg");

    background-size:cover;
    background-position:center;

}



.soggiorno{

    background:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("Images/ambienti/soggiorno.jpg");

    background-size:cover;
    background-position:center;

}



.esterni{

    background:
    linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("Images/ambienti/esterni.jpg");

    background-size:cover;
    background-position:center;

}
.overlay-testo{

    transition:.35s;
    z-index:2;

}

.overlay-testo h3{

    font-size:38px;
    margin:0;

}

.overlay-testo p{

    margin-top:12px;
    font-size:18px;
    opacity:.9;
    color:#D4AF37;

}

.ambiente{

    position:relative;

}

.ambiente::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.70),
        rgba(0,0,0,.15)
    );

    transition:.35s;

}

.ambiente>*{

    position:relative;
    z-index:2;

}

.ambiente:hover .overlay-testo{

    transform:translateY(-10px);

}

.ambiente:hover::after{

    background:linear-gradient(
        to top,
        rgba(0,0,0,.45),
        rgba(0,0,0,.05)
    );

}
/* ===========================
   REALIZZAZIONI IN GRES
=========================== */

.gres-section{
    padding:120px 8%;
    background:#fff;
}

.gres-header{
    max-width:900px;
    margin:0 auto 70px;
    text-align:center;
}

.gres-header span{
    color:#D4AF37;
    font-size:14px;
    font-weight:700;
    letter-spacing:3px;
}

.gres-header h2{
    font-size:54px;
    color:#061426;
    margin:20px 0;
}

.gres-header p{
    max-width:750px;
    margin:auto;
    font-size:20px;
    color:#666;
    line-height:1.7;
}

.gres-gallery{
    display:grid;
    grid-template-columns:2fr 1fr;
    grid-template-rows:320px 320px;
    gap:25px;
}

.card-big{
    grid-row:1 / 3;
}

.gres-card{
    position:relative;
    overflow:hidden;
    border-radius:26px;
}

.gres-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
}

.gres-card:hover img{
    transform:scale(1.06);
}

.gres-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:30px;
    background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.15));
}

.gres-overlay h3{
    color:#fff;
    font-size:34px;
    margin:0 0 8px;
}

.gres-overlay p{
    color:#D4AF37;
    margin:0;
    font-size:18px;
}

.header-icons{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-left:28px;
    flex:0 0 auto;
}

@media(min-width:1000px){
 .header{padding-left:12px!important;padding-right:12px!important}
 .logo{padding-left:8px}.logo img{height:66px}
 .main-menu{gap:6px}
 .header-icons{margin-left:6px;gap:0}
 .header-icons a,.header-search-toggle{width:29px;height:29px;font-size:13px}
}

.header-icons a{
    color:#ffffff;
    font-size:13px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:color .2s, background-color .2s, transform .2s;
}

.header-icons a:hover{
    color:#D4AF37;
    background:rgba(255,255,255,.10);
    transform:translateY(-2px);
}
.header-search-toggle{background:transparent;border:0;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:15px}.header-search-toggle:hover{color:#d4af37;background:rgba(255,255,255,.1)}
.onda-search-panel{position:absolute;right:30px;top:76px;z-index:1000;background:#10233d;padding:16px;border:1px solid #d4af37;border-radius:8px}.onda-search-panel label{display:block;color:#fff;margin-bottom:7px}.onda-search-panel input{padding:10px;width:260px}.onda-search-panel button{padding:10px 14px;background:#d4af37;border:0;font-weight:700}
.catalogo-card{position:relative}.onda-favorite{position:absolute;z-index:2;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#0d4e9c;font-size:23px;cursor:pointer;box-shadow:0 2px 8px #0003}.onda-favorite.is-favorite{color:#d4af37}.onda-preferiti{max-width:900px;margin:70px auto;padding:28px}.onda-preferiti-list a{display:block;padding:14px;margin:8px 0;background:#f3f6fa;color:#0d4e9c;font-weight:700}
.onda-list-create{display:flex;gap:10px;margin:22px 0}.onda-list-create input{flex:1;padding:12px;border:1px solid #cbd4df;border-radius:5px}.onda-list-create button{background:#0d4e9c;color:#fff;border:0;padding:12px 18px;font-weight:700}.onda-lista{margin:20px 0;padding:20px;background:#f4f7fb;border-radius:8px}.onda-lista h2{color:#0d4e9c;margin:0 0 12px}.onda-lista-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #dce3eb}.onda-lista-item a{color:#0d4e9c;font-weight:700}.onda-lista-item select{padding:7px}@media(max-width:600px){.onda-list-create,.onda-lista-item{flex-direction:column;align-items:stretch}}
.categorie-grid--principali{grid-template-columns:repeat(3,minmax(0,1fr))}.categoria-card--immagine{padding:0!important;overflow:hidden;text-align:left!important}.categoria-card--immagine img{width:100%;height:300px;object-fit:cover;display:block}.categoria-card--immagine div{padding:25px}.categoria-card--immagine span{display:block;margin-top:15px;color:#d4af37;font-weight:700}.onda-account{max-width:560px;margin:70px auto;padding:32px;background:#fff;box-shadow:0 8px 30px #10233d18}.onda-account label{display:block;margin:14px 0 7px;font-weight:700}.onda-account input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd4df;border-radius:5px}.onda-account .onda-privacy{font-size:14px;font-weight:400}.onda-account .onda-privacy input{width:auto}.onda-account button{padding:13px 20px;border:0;background:#0d4e9c;color:#fff;font-weight:700}.onda-account-ok{color:#137333}.onda-account-error{color:#b3261e}@media(max-width:800px){.categorie-grid--principali{grid-template-columns:1fr}}
.onda-cart-page{max-width:1180px;margin:0 auto;padding:45px 25px 75px}.onda-cart-intro{text-align:center;margin-bottom:35px}.onda-cart-intro span{color:#d4af37;font-weight:700;letter-spacing:2px;font-size:12px}.onda-cart-intro h1{font-size:42px;margin:10px 0}.onda-cart-page .woocommerce-cart-form,.onda-cart-page .cart-collaterals{background:#fff;padding:24px;box-shadow:0 8px 30px #10233d12}.onda-cart-page .button,.onda-cart-page button{background:#0d4e9c!important;color:#fff!important;border:0!important;padding:12px 18px!important}.onda-cart-page .checkout-button{background:#d4af37!important;color:#10233d!important}

@media(max-width:1100px){
    .header-icons{gap:3px;margin-left:12px;}
    .header-icons a{width:30px;height:30px;font-size:14px;}
}

.mega-column h3{

    color:#D4AF37;

    font-size:22px;

    margin-bottom:20px;

    border-bottom:1px solid rgba(212,175,55,.25);

    padding-bottom:12px;

}

.mega-column a{

    display:block;

    padding:10px 0;

    color:white;

    transition:.25s;

}

.mega-column a:hover{

    padding-left:12px;

    color:#D4AF37;

}
.menu{
    flex-wrap:nowrap;
}

.menu-item{
    display:flex;
    align-items:center;
}

.menu-arrow{
    font-size:10px;
    margin-left:6px;
    color:#D4AF37;
}

/* ==========================
   PUNTI DI FORZA
========================== */

.punti-forza{

    background:#fff;

    padding:25px 0 10px;

}



.punti-forza .container{

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    gap:20px;

}



.punti-forza .box{

    flex:1;

    display:flex;

    align-items:center;

    gap:18px;

    border:1px solid #c8a24d;

    border-radius:8px;

    padding:14px 18px;

    transition:.3s;

}

.punti-forza .content{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.punti-forza .box:hover{

    transform:translateY(-6px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.punti-forza .icona{

    width:42px;

    min-width:42px;

    margin:0;

}

.punti-forza h3{

    color:#c8a24d;

    font-size:26px;

    margin:0;

    line-height:1;

}

.punti-forza h4{

    color:#c8a24d;

    font-size:14px;

    margin:3px 0;

    letter-spacing:.5px;

}

.punti-forza p{

    color:#555;

    font-size:13px;

    margin:0;

}

.punti-forza .icona svg{

    width:48px;

    height:48px;

}

/*==================================
LAVORAZIONI IN GRES
==================================*/

.gres-home{

    padding:90px 10% 22px;

    background:#ffffff;

}

.gres-grid{

    display:grid;

    grid-template-columns:1.2fr 1fr 1fr;

    grid-template-rows:280px 280px;

    gap:22px;

}

.gres{

    position:relative;

    display:block;

    border-radius:20px;

    overflow:hidden;

    background-size:cover;

    background-position:center;

    transition:.35s;

}

.gres:hover{

    transform:scale(1.02);

}

.gres::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.35);

    transition:.3s;

}

.gres:hover::before{

    background:rgba(0,0,0,.20);

}

.overlay{

    position:absolute;

    left:30px;

    bottom:30px;

    color:#fff;

    z-index:2;

}

.overlay h3{

    font-size:22px;

    margin-bottom:8px;

}

.overlay p{

    font-size:16px;

    opacity:.95;

}

.lavabo{

    grid-row:1 / 3;

    background-image:url("Images/gres/lavabo-calacatta.jpg");

}



.mobile{

    grid-column:2;

    background-image:url("Images/gres/mobile-bagno.jpg");

}


.rivestimenti{

    grid-column:3;

    background-image:url("Images/gres/onice.jpg");

}

.progetti{

    grid-column:2 / 4;

    background-image:url("Images/gres/verde.jpg");

}

/*==================================
VANTAGGI
==================================*/

.vantaggi{

    padding:90px 10%;

    background:#f8f8f8;

}

.vantaggi-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

    margin-top:60px;

}

.vantaggio{

    background:#ffffff;

    border:1px solid #e4c98b;

    border-radius:18px;

    padding:35px;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.vantaggio:hover{

    transform:translateY(-6px);

    border-color:#c8a24d;

    box-shadow:0 18px 35px rgba(0,0,0,.10);

}

.vantaggio .icona{

    font-size:38px;

    color:#c8a24d;

    margin-bottom:18px;

}

.vantaggio h3{

    font-size:24px;

    color:#16233d;

    margin-bottom:12px;

}

.vantaggio p{

    color:#666;

    line-height:1.7;

}

/*==============================
FOOTER
==============================*/

.footer{

    background:#111;

    color:#fff;

    padding:45px 10% 25px;

    }

.footer-container{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:60px;

    max-width:1300px;

    margin:auto;

}

.footer-logo{

    width:170px;

    height:auto;

    display:block;

    margin-bottom:25px;

}

.footer h4{

    color:#c8a24d;

    margin-bottom:20px;

    font-size:20px;

}

.footer p{

    line-height:1.8;

    color:#ddd;

}

.footer-copy{

    margin-top:50px;

    border-top:1px solid rgba(255,255,255,.12);

    padding-top:25px;

    text-align:center;

    color:#999;

}

/* ===========================
   MARCHI TRATTATI
=========================== */

.marchi{

    padding:90px 0;

    background:#ffffff;

    overflow:hidden;

}

.marchi-slider{

    position:relative;

    width:100%;

    overflow:hidden;

    margin-top:50px;

}

/* sfumatura sinistra */

.marchi-slider::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:180px;

    height:100%;

    background:linear-gradient(to right,#fff,transparent);

    z-index:5;

}

/* sfumatura destra */

.marchi-slider::after{

    content:"";

    position:absolute;

    right:0;

    top:0;

    width:180px;

    height:100%;

    background:linear-gradient(to left,#fff,transparent);

    z-index:5;

}

.marchi-track{

    display:flex;

    align-items:center;

    width:max-content;

    gap:90px;

    animation:scrollMarchi 45s linear infinite;

}

.marchi-track:hover{

    animation-play-state:paused;

}

.marchi-track img{

    height:55px;

    width:auto;

    transition:.35s;

    opacity:.85;

    filter:grayscale(10%);

}

.marchi-track img:hover{

    transform:scale(1.08);

    opacity:1;

    filter:none;

}

@keyframes scrollMarchi{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}/* ======================================================
   HERO PAVIMENTI
====================================================== */

.pavimenti-hero{

    position:relative;

    min-height:700px;

    display:flex;

    align-items:center;

    background:url("images/hero-pavimenti.jpg") center center/cover no-repeat;

    overflow:hidden;

}

.pavimenti-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}

.pavimenti-hero .container{

    position:relative;

    z-index:2;

    width:100%;

}

.pavimenti-hero .hero-content{

    max-width:650px;

    color:#fff;

}

.hero-pretitle{

    display:inline-block;

    margin-bottom:18px;

    padding:8px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(8px);

    color:#fff;

    font-size:15px;

    letter-spacing:.35px;

    text-transform:uppercase;

}

.pavimenti-hero h1{

    font-size:64px;

    line-height:1.1;

    margin-bottom:25px;

}

.pavimenti-hero p{

    font-size:22px;

    line-height:1.7;

    max-width:560px;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

/*======================================================
  CARD HERO PAVIMENTI
======================================================*/

.hero-categories{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:70px;

}

.hero-category{

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.15);

    border-radius:18px;

    padding:30px;

    text-align:center;

    transition:.35s;

    cursor:pointer;

}

.hero-category:hover{

    transform:translateY(-8px);

    background:rgba(255,255,255,.20);

}

.hero-category span{

    font-size:42px;

    display:block;

    margin-bottom:18px;

}

.hero-category h3{

    color:#fff;

    font-size:20px;

    font-weight:600;

    margin:0;

}

/*======================================================
 INTRODUZIONE PAVIMENTI
======================================================*/

.pavimenti-intro{

    padding:110px 0;

    background:#fff;

}

.section-title{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-pretitle{

    display:inline-block;

    color:#c7a25b;

    font-size:15px;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:15px;

    font-weight:600;

}

.section-title h2{

    font-size:48px;

    margin-bottom:25px;

    color:#222;

}

.section-title p{

    font-size:20px;

    line-height:1.8;

    color:#666;

}

.intro-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.intro-card{

    background:#fff;

    border-radius:18px;

    padding:40px 25px;

    text-align:center;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.intro-card:hover{

    transform:translateY(-10px);

}

.intro-card h3{

    font-size:46px;

    color:#0b4ea2;

    margin-bottom:12px;

}

.intro-card p{

    color:#666;

    font-size:18px;

    margin:0;

}

/*======================================================
CATEGORIE PAVIMENTI
======================================================*/

.categorie-pavimenti{

    padding:110px 0;

    background:#f8f8f8;

}

.categorie-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.categoria-card{

    display:block;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    text-decoration:none;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.categoria-card:hover{

    transform:translateY(-10px);

}

.categoria-img{

    height:260px;

    background:#ddd;

}

.categoria-card h3{

    text-align:center;

    padding:25px;

    color:#222;

    font-size:24px;

    margin:0;

}

/* Segnaposto immagini */

.marmo{background:#d9d9d9;}
.legno{background:#c39a6b;}
.pietra{background:#a4a4a4;}
.cemento{background:#8d8d8d;}
.resina{background:#bfc4ca;}
.grandi{background:#ececec;}

/*======================================================
COLLEZIONI IN EVIDENZA
======================================================*/

.collezioni-pavimenti{

    padding:110px 0;

    background:#ffffff;

}

.collezioni-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.collezione-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.collezione-card:hover{

    transform:translateY(-10px);

}

.collezione-img{

    height:300px;

    background:#d9d9d9;

}

.collezione-card h3{

    font-size:26px;

    padding:25px 25px 10px;

    margin:0;

    color:#222;

}

.collezione-card p{

    padding:0 25px 30px;

    color:#666;

    margin:0;

    line-height:1.7;

}

/*======================================================
AMBIENTAZIONI
======================================================*/

.ambientazioni-pavimenti{

    padding:110px 0;

    background:#f8f8f8;

}

.ambientazioni-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.ambiente-card{

    overflow:hidden;

    border-radius:20px;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.ambiente-card:hover{

    transform:translateY(-10px);

}

.ambiente-img{

    height:300px;

    background:#d8d8d8;

}

.ambiente-card h3{

    text-align:center;

    padding:25px;

    margin:0;

    font-size:24px;

    color:#222;

}

/*======================================================
MARCHI PAVIMENTI
======================================================*/

.marchi-pavimenti{

    padding:110px 0;

    background:#ffffff;

}

.marchi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.marchio-card{

    background:#fff;

    border:1px solid #e5e5e5;

    border-radius:18px;

    padding:45px 20px;

    text-align:center;

    font-size:28px;

    font-weight:600;

    color:#0b4ea2;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.marchio-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.12);

}

/*======================================================
PERCHÉ SCEGLIERE ONDA CERAMICHE
======================================================*/

.vantaggi-pavimenti{

    padding:110px 0;

    background:#ffffff;

}

.vantaggi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.vantaggio-card{

    background:#fff;

    border-radius:20px;

    padding:40px;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.vantaggio-card:hover{

    transform:translateY(-10px);

}

.vantaggio-card h3{

    color:#0b4ea2;

    font-size:34px;

    margin-bottom:18px;

}

.vantaggio-card p{

    color:#666;

    font-size:18px;

    line-height:1.7;

    margin:0;

}

/*======================================================
CTA FINALE PAVIMENTI
======================================================*/

.pavimenti-cta{

    padding:120px 0;

    background:linear-gradient(135deg,#0b4ea2,#154b8b);

}

.cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.cta-box h2{

    font-size:48px;

    margin:25px 0;

    color:#fff;

}

.cta-box p{

    font-size:21px;

    line-height:1.8;

    opacity:.95;

    margin-bottom:45px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

/*======================================================
HERO LAVORAZIONI
======================================================*/

.lavorazioni-hero{

    padding:140px 0 100px;

    background:linear-gradient(rgba(11,78,162,.82),rgba(11,78,162,.82)),
    url('images/hero-lavorazioni.jpg') center/cover no-repeat;

    color:#fff;

}

.lavorazioni-hero .hero-content{

    max-width:760px;

    margin:auto;

    text-align:center;

}

.lavorazioni-hero .hero-content h1{

    font-size:60px;

    margin:15px 0;

    color:#fff;

}

.lavorazioni-hero .hero-content p{

    font-size:22px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
INTRODUZIONE LAVORAZIONI
======================================================*/

.lavorazioni-intro{

    padding:110px 0;

    background:#ffffff;

}

.lavorazioni-intro .intro-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.lavorazioni-intro .intro-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.lavorazioni-intro .intro-card:hover{

    transform:translateY(-10px);

}

.lavorazioni-intro .intro-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

    font-size:28px;

}

.lavorazioni-intro .intro-card p{

    color:#666;

    line-height:1.7;

    margin:0;

}

/*======================================================
CATEGORIE LAVORAZIONI
======================================================*/

.lavorazioni-categorie{

    padding:110px 0;

    background:#f8f8f8;

}

.lavorazioni-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.lavorazione-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    cursor:pointer;

}

.lavorazione-card:hover{

    transform:translateY(-10px);

}

.lavorazione-img{

    height:260px;

    background:#d9d9d9;

}

.lavorazione-card h3{

    padding:25px;

    margin:0;

    color:#222;

    font-size:24px;

}

/*======================================================
PROCESSO LAVORAZIONI
======================================================*/

.processo-lavorazioni{

    padding:110px 0;

    background:#ffffff;

}

.processo-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}

.step-card{

    background:#fff;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.step-card:hover{

    transform:translateY(-10px);

}

.step-card span{

    display:inline-flex;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#0b4ea2;

    color:#fff;

    justify-content:center;

    align-items:center;

    font-size:24px;

    font-weight:700;

    margin-bottom:20px;

}

.step-card h3{

    font-size:24px;

    color:#222;

    margin-bottom:15px;

}

.step-card p{

    color:#666;

    line-height:1.7;

    margin:0;

}

/*======================================================
GALLERY LAVORAZIONI
======================================================*/

.gallery-lavorazioni{

    padding:110px 0;

    background:#f8f8f8;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.gallery-item{

    height:320px;

    border-radius:20px;

    background:#d8d8d8;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.gallery-item:hover{

    transform:scale(1.03);

}

/*======================================================
VANTAGGI LAVORAZIONI
======================================================*/

.vantaggi-lavorazioni{

    padding:110px 0;

    background:#ffffff;

}

.vantaggi-lavorazioni .vantaggi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.vantaggi-lavorazioni .vantaggio-card{

    background:#fff;

    border-radius:20px;

    padding:40px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.vantaggi-lavorazioni .vantaggio-card:hover{

    transform:translateY(-10px);

}

.vantaggi-lavorazioni .vantaggio-card h3{

    font-size:42px;

    color:#0b4ea2;

    margin-bottom:20px;

}

.vantaggi-lavorazioni .vantaggio-card p{

    margin:0;

    color:#666;

    font-size:18px;

    line-height:1.7;

}

/*======================================================
HERO OFFERTE
======================================================*/

.offerte-hero{

    padding:140px 0;

    background:linear-gradient(rgba(11,78,162,.80),rgba(11,78,162,.80)),url(images/hero-offerte.jpg);

    background-size:cover;

    background-position:center;

    color:#fff;

}

.offerte-hero-content{

    max-width:850px;

}

.offerte-hero h1{

    font-size:58px;

    color:#fff;

    margin:25px 0;

    line-height:1.15;

}

.offerte-hero p{

    font-size:22px;

    line-height:1.8;

    margin-bottom:45px;

}

.hero-highlights{

    display:flex;

    gap:25px;

    margin-top:60px;

    flex-wrap:wrap;

}

.highlight-box{

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(8px);

    border-radius:18px;

    padding:25px 35px;

    text-align:center;

}

.highlight-box strong{

    display:block;

    font-size:34px;

    color:#fff;

}

.highlight-box span{

    color:#fff;

    opacity:.9;

}

/*======================================================
OFFERTA BILOCALE
======================================================*/

.offerta-box{

    padding:110px 0;

    background:#fff;

}

.offerta-card{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

}

.offerta-tag{

    display:inline-block;

    background:#d4af37;

    color:#fff;

    padding:10px 22px;

    border-radius:30px;

    font-weight:700;

    margin-bottom:20px;

}

.offerta-prezzo{

    font-size:54px;

    font-weight:800;

    color:#0b4ea2;

    margin:20px 0;

}

.offerta-descrizione{

    font-size:20px;

    color:#555;

    margin-bottom:30px;

}

.offerta-lista{

    list-style:none;

    padding:0;

    margin:0 0 40px;

}

.offerta-lista li{

    padding:10px 0;

    font-size:18px;

    color:#444;

}

.offerta-image{

    min-height:520px;

    border-radius:25px;

    background:#d8d8d8;

    box-shadow:0 15px 35px rgba(0,0,0,.10);

}

/*======================================================
OFFERTA TRILOCALE
======================================================*/

.offerta-alt{

    background:#f8f8f8;

}

.offerta-alt .offerta-card{

    align-items:center;

}

.offerta-alt .offerta-image{

    order:1;

}

.offerta-alt .offerta-info{

    order:2;

}

/*======================================================
SCONTI OFFERTE
======================================================*/

.offerte-sconti{

    padding:120px 0;

    background:#0b4ea2;

    color:#fff;

}

.offerte-sconti .section-title h2,
.offerte-sconti .section-title p,
.offerte-sconti .section-pretitle{

    color:#fff;

}

.sconti-grid{

    display:grid;

    grid-template-columns:2fr 2fr;

    gap:35px;

    margin-top:60px;

}

.sconto-card{

    background:rgba(255,255,255,.10);

    border-radius:22px;

    padding:35px;

    backdrop-filter:blur(8px);

}

.sconto-card h3{

    color:#fff;

    margin-bottom:20px;

    font-size:28px;

}

.sconto-card p{

    color:#fff;

    opacity:.95;

    line-height:1.8;

}

.evidenza{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    background:#d4af37;

}

.evidenza span{

    font-size:26px;

    font-weight:600;

}

.evidenza strong{

    font-size:90px;

    line-height:1;

    margin:15px 0;

}

.evidenza p{

    font-size:26px;

    font-weight:700;

    margin:0;

}

/*======================================================
CASHBACK
======================================================*/

.cashback-section{

    padding:120px 0;

    background:#ffffff;

}

.cashback-box{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:50px;

    align-items:center;

    background:#f8f8f8;

    border-radius:30px;

    padding:60px;

}

.cashback-list{

    list-style:none;

    padding:0;

    margin-top:35px;

}

.cashback-list li{

    padding:12px 0;

    font-size:18px;

    color:#444;

}

.cashback-right{

    background:#0b4ea2;

    color:#fff;

    border-radius:25px;

    text-align:center;

    padding:50px 30px;

}

.cashback-right span{

    font-size:24px;

    display:block;

}

.cashback-right strong{

    font-size:90px;

    line-height:1;

    display:block;

    margin:20px 0;

}

.cashback-right p{

    font-size:24px;

    margin:0;

}

/*======================================================
CTA OFFERTE
======================================================*/

.offerte-cta{

    padding:120px 0;

    background:linear-gradient(135deg,#0b4ea2,#154b8b);

}

.offerte-cta .cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.offerte-cta h2{

    color:#fff;

    font-size:50px;

    margin:25px 0;

}

.offerte-cta p{

    color:#fff;

    font-size:21px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
AI HERO
======================================================*/

.ai-hero{

    padding:150px 0;

    background:linear-gradient(rgba(11,78,162,.82),rgba(11,78,162,.82)),url(images/hero-ai.jpg);

    background-size:cover;

    background-position:center;

    color:#fff;

}

.ai-hero-content{

    max-width:900px;

}

.ai-hero h1{

    font-size:60px;

    color:#fff;

    margin:25px 0;

    line-height:1.15;

}

.ai-hero p{

    font-size:22px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
AI SIMULATOR
======================================================*/

.ai-tool{

    padding:120px 0;

    background:#f7f9fc;

}

.ai-simulator{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:50px;

    margin-top:60px;

}

.ai-form{

    background:#fff;

    border-radius:25px;

    padding:40px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.ai-form h3{

    margin-bottom:30px;

}

.ai-form label{

    display:block;

    margin-top:25px;

    margin-bottom:10px;

    font-weight:600;

}

.ai-form input,
.ai-form select{

    width:100%;

    padding:15px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:16px;

}

.ai-form button{

    width:100%;

    margin-top:35px;

}

.ai-preview{

    min-height:650px;

    background:#fff;

    border-radius:25px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:50px;

}

.preview-placeholder{

    text-align:center;

    max-width:500px;

}

.preview-placeholder h3{

    font-size:34px;

    color:#0b4ea2;

}

.preview-placeholder p{

    font-size:19px;

    color:#666;

    line-height:1.8;

}

/*======================================================
AI SERVIZI
======================================================*/

.ai-servizi{

    padding:120px 0;

    background:#ffffff;

}

.ai-servizi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.ai-service-card{

    background:#fff;

    border-radius:22px;

    padding:40px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.ai-service-card:hover{

    transform:translateY(-10px);

}

.ai-icon{

    font-size:48px;

    margin-bottom:20px;

}

.ai-service-card h3{

    margin-bottom:15px;

    color:#0b4ea2;

}

.ai-service-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
AI VANTAGGI
======================================================*/

.ai-vantaggi{

    padding:120px 0;

    background:#f8f9fb;

}

.vantaggi-ai-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.vantaggio-ai-card{

    background:#fff;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.vantaggio-ai-card:hover{

    transform:translateY(-10px);

}

.vantaggio-ai-icon{

    font-size:50px;

    margin-bottom:20px;

}

.vantaggio-ai-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

}

.vantaggio-ai-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
AI CTA
======================================================*/

.ai-cta{

    padding:130px 0;

    background:linear-gradient(135deg,#0b4ea2,#154b8b);

}

.ai-cta .cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.ai-cta h2{

    color:#fff;

    font-size:50px;

    margin:25px 0;

    line-height:1.2;

}

.ai-cta p{

    color:#fff;

    font-size:21px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
SHOP HERO
======================================================*/

.shop-hero{

    padding:150px 0;

    background:linear-gradient(rgba(11,78,162,.80),rgba(11,78,162,.80)),url(images/hero-shop.jpg);

    background-size:cover;

    background-position:center;

    color:#fff;

}

.shop-hero-content{

    max-width:900px;

}

.shop-hero h1{

    color:#fff;

    font-size:60px;

    margin:25px 0;

    line-height:1.15;

}

.shop-hero p{

    color:#fff;

    font-size:22px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
SHOP CATEGORIE
======================================================*/

.shop-categorie{

    padding:120px 0;

    background:#ffffff;

}

.categorie-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.categoria-card{

    display:block;

    background:#fff;

    border-radius:24px;

    padding:40px;

    text-decoration:none;

    color:#222;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.categoria-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.categoria-card h3{

    color:#0b4ea2;

    margin-bottom:18px;

    font-size:28px;

}

.categoria-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
SHOP MARCHI
======================================================*/

.shop-marchi{

    padding:120px 0;

    background:#f8f9fb;

}

.marchi-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:60px;

}

.marchio-card{

    background:#fff;

    border:2px solid #ececec;

    border-radius:18px;

    padding:30px;

    text-align:center;

    font-weight:700;

    color:#0b4ea2;

    transition:.30s;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.marchio-card:hover{

    border-color:#d4af37;

    transform:translateY(-6px);

    box-shadow:0 14px 30px rgba(0,0,0,.10);

}

/*======================================================
SHOP PRODOTTI
======================================================*/

.shop-prodotti{

    padding:120px 0;

    background:#ffffff;

}

.prodotti-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.prodotto-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.prodotto-card:hover{

    transform:translateY(-8px);

}

.prodotto-img{

    height:260px;

    background:#eef2f7;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#888;

    font-weight:600;

}


/* Menu Azienda: il saluto di Ondino occupa lo spazio lasciato libero dai contatti. */
.menu-azienda .mega-menu-content{
    grid-template-columns:repeat(2,minmax(130px,1fr)) minmax(250px,360px);
    align-items:center;
}

.mega-image--azienda{
    min-height:300px;
    justify-content:center;
    align-items:center;
    position:relative;
    overflow:visible;
    background:radial-gradient(circle at 55% 45%,rgba(44,153,229,.2),transparent 58%);
}

.mega-image--azienda img.mega-ondino{
    width:240px;
    height:240px;
    object-fit:contain;
    animation:ondino-saluta 3.4s ease-in-out infinite;
    filter:drop-shadow(0 12px 14px rgba(0,0,0,.25));
}

.mega-image--azienda p{
    color:#fff;
    font-weight:700;
    margin:0;
    text-align:center;
}

@keyframes ondino-saluta{
    0%,100%{transform:translateY(0) rotate(0deg)}
    35%{transform:translateY(-8px) rotate(-2deg)}
    52%{transform:translateY(-4px) rotate(2deg)}
    70%{transform:translateY(-8px) rotate(-2deg)}
}

@media(max-width:900px){
    .menu-azienda .mega-menu-content{grid-template-columns:repeat(2,1fr)}
    .mega-image--azienda{display:none}
}

/* Pagine Azienda e servizi: contenuti informativi con lettura chiara. */
.onda-azienda-page{background:#f6f8fb;color:#10233d}.onda-azienda-hero{background:linear-gradient(125deg,#071a33,#123d72);color:#fff;padding:86px 24px;text-align:center}.onda-azienda-hero>div,.onda-azienda-content{max-width:1080px;margin:0 auto}.onda-azienda-hero span{color:#d4af37;font-weight:700;font-size:13px;letter-spacing:2px}.onda-azienda-hero h1{font-size:46px;line-height:1.1;margin:14px 0}.onda-azienda-hero p{font-size:19px;line-height:1.55;max-width:760px;margin:0 auto}.onda-azienda-content{padding:58px 24px 74px}.onda-azienda-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.onda-azienda-card,.onda-numbers article{background:#fff;border-radius:14px;padding:28px;box-shadow:0 9px 27px rgba(16,35,61,.08)}.onda-azienda-card h2{color:#0d4e9c;font-size:22px;margin:0 0 10px}.onda-azienda-card p,.onda-numbers p{line-height:1.55;margin:0;color:#4a5a6c}.onda-azienda-cta{text-align:center;margin:38px 0 0}.onda-azienda-cta a{background:#0d4e9c;color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:7px;display:inline-block}.onda-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.onda-numbers strong{display:block;color:#d19c27;font-size:32px;line-height:1.1}.onda-numbers span{font-weight:700;display:block;margin:8px 0 12px;color:#10233d}@media(max-width:720px){.onda-azienda-hero{padding:60px 20px}.onda-azienda-hero h1{font-size:34px}.onda-azienda-cards,.onda-numbers{grid-template-columns:1fr}.onda-azienda-content{padding:38px 16px 54px}}

.onda-gres-page{background:#f7f9fc;padding-bottom:70px}.onda-gres-page__hero{background:linear-gradient(125deg,#071a33,#123d72);color:#fff;text-align:center;padding:70px 24px}.onda-gres-page__hero span{color:#d4af37;font-weight:700;letter-spacing:2px;font-size:13px}.onda-gres-page__hero h1{font-size:44px;margin:12px 0}.onda-gres-page__hero p{max-width:720px;margin:0 auto;font-size:18px;line-height:1.5}.onda-gres-page__types{padding:52px 0 0}.onda-gres-page__types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.onda-gres-type-card{display:block;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 9px 27px rgba(16,35,61,.1);transition:transform .22s ease,box-shadow .22s ease}.onda-gres-type-card:hover{transform:translateY(-6px);box-shadow:0 15px 34px rgba(16,35,61,.18)}.onda-gres-type-card__image{height:235px;background:#e8edf4;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#526174}.onda-gres-type-card__image img{height:100%;width:100%;object-fit:cover}.onda-gres-type-card__body{padding:20px}.onda-gres-type-card__body h2{color:#10233d;margin:0 0 9px;font-size:23px}.onda-gres-type-card__body span{color:#0d4e9c;font-weight:700}.onda-gres-type-card__body b{font-size:20px;margin-left:6px}@media(max-width:800px){.onda-gres-page__types-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.onda-gres-page__hero{padding:50px 18px}.onda-gres-page__hero h1{font-size:33px}.onda-gres-page__types{padding:32px 0}.onda-gres-page__types-grid{grid-template-columns:1fr}.onda-gres-type-card__image{height:220px}}

.prodotto-img img{

    width:100%;
    height:100%;
    object-fit:cover;

}

.prodotto-info h3 a{

    color:inherit;
    text-decoration:none;

}

.prodotto-footer .price{

    display:flex;
    flex-direction:column;
    gap:4px;

}

.prodotto-footer del{

    color:#777;
    font-size:15px;

}

.catalogo-vuoto{

    margin-top:40px;
    text-align:center;

}

.prodotto-info{

    padding:30px;

}

.brand{

    display:inline-block;

    color:#0b4ea2;

    font-size:14px;

    font-weight:700;

    margin-bottom:12px;

}

.prodotto-info h3{

    margin-bottom:12px;

}

.prodotto-info p{

    color:#666;

    margin-bottom:25px;

}

.prodotto-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:15px;

}

.prezzo{

    font-size:22px;

    font-weight:700;

    color:#d4af37;

}

.shop-prodotti--filtrati .prodotti-grid{

    margin-top:0;

}

.prodotto-varianti{

    display:flex;
    flex-direction:column;
    gap:10px;
    margin:0 0 24px;

}

.variante-riga{

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 0;
    border-top:1px solid #e8ecf3;

}

.variante-dati{

    display:flex;
    flex-direction:column;
    gap:3px;

}

.variante-nome{

    color:#333;
    font-size:14px;
    font-weight:600;

}

.variante-prezzo{

    color:#d4af37;
    font-size:15px;
    font-weight:700;

}

.variante-prezzo del{

    color:#888;
    font-weight:400;

}

.btn-variante{

    flex:0 0 auto;
    padding:9px 14px;
    border:0;
    border-radius:999px;
    background:#0b4ea2;
    color:#fff;
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:700;

}

.btn-variante:hover{

    background:#083b7c;

}

/*======================================================
SHOP SERVIZI
======================================================*/

.shop-servizi{

    padding:120px 0;

    background:#f8f9fb;

}

.servizi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.servizio-card{

    background:#fff;

    padding:40px;

    border-radius:22px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.servizio-card:hover{

    transform:translateY(-8px);

}

.servizio-icon{

    font-size:48px;

    margin-bottom:20px;

}

.servizio-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

}

.servizio-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
SHOP CTA
======================================================*/

.shop-cta{

    padding:130px 0;

    background:linear-gradient(135deg,#0b4ea2,#154b8b);

}

.shop-cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.shop-cta h2{

    color:#fff;

    font-size:50px;

    line-height:1.2;

    margin:25px 0;

}

.shop-cta p{

    color:#fff;

    font-size:21px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
AZIENDA HERO
======================================================*/

.azienda-hero{

    padding:150px 0;

    background:linear-gradient(rgba(11,78,162,.80),rgba(11,78,162,.80)),url(images/hero-azienda.jpg);

    background-size:cover;

    background-position:center;

    color:#fff;

}

.azienda-hero-content{

    max-width:900px;

}

.azienda-hero h1{

    color:#fff;

    font-size:60px;

    line-height:1.15;

    margin:25px 0;

}

.azienda-hero p{

    color:#fff;

    font-size:22px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
AZIENDA STORIA
======================================================*/

.azienda-storia{

    padding:120px 0;

    background:#ffffff;

}

.azienda-storia-grid{

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:60px;

    align-items:center;

}

.storia-testo p{

    color:#666;

    line-height:1.9;

    margin-bottom:25px;

}

.storia-numeri{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

}

.numero-card{

    background:#f8f9fb;

    padding:35px;

    border-radius:20px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

    transition:.35s;

}

.numero-card:hover{

    transform:translateY(-8px);

}

.numero-card h3{

    font-size:46px;

    color:#0b4ea2;

    margin-bottom:10px;

}

.numero-card p{

    margin:0;

    color:#666;

    font-weight:600;

}

/*======================================================
AZIENDA VALORI
======================================================*/

.azienda-valori{

    padding:120px 0;

    background:#f8f9fb;

}

.valori-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.valore-card{

    background:#fff;

    padding:40px;

    border-radius:22px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.valore-card:hover{

    transform:translateY(-8px);

}

.valore-icon{

    font-size:50px;

    margin-bottom:20px;

}

.valore-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

}

.valore-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
AZIENDA SHOWROOM
======================================================*/

.azienda-showroom{

    padding:120px 0;

    background:#ffffff;

}

.showroom-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    margin-top:60px;

}

.showroom-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.showroom-card:hover{

    transform:translateY(-8px);

}

.showroom-img{

    height:280px;

    background:#eef2f7;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#888;

    font-weight:600;

}

.showroom-content{

    padding:35px;

}

.showroom-content h3{

    color:#0b4ea2;

    margin-bottom:20px;

}

.showroom-content p{

    color:#666;

    line-height:1.8;

    margin-bottom:20px;

}

.showroom-content ul{

    margin:0;

    padding-left:20px;

    color:#555;

    line-height:2;

}

/*======================================================
AZIENDA PARTNER
======================================================*/

.azienda-partner{

    padding:120px 0;

    background:#f8f9fb;

}

.partner-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.partner-card{

    background:#fff;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.partner-card:hover{

    transform:translateY(-8px);

}

.partner-logo{

    width:120px;

    height:120px;

    margin:0 auto 25px;

    border-radius:18px;

    background:#f2f4f7;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    font-weight:700;

    color:#999;

}

.partner-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

}

.partner-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

.partner-card.evidenza{

    border:2px dashed #d4af37;

}

/*======================================================
AZIENDA PERCHE NOI
======================================================*/

.azienda-perche-noi{

    padding:120px 0;

    background:#ffffff;

}

.perche-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.perche-card{

    background:#fff;

    border-radius:22px;

    padding:40px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    position:relative;

}

.perche-card:hover{

    transform:translateY(-8px);

}

.numero{

    display:inline-block;

    font-size:40px;

    font-weight:700;

    color:#d4af37;

    margin-bottom:20px;

}

.perche-card h3{

    color:#0b4ea2;

    margin-bottom:15px;

}

.perche-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*======================================================
AZIENDA CTA
======================================================*/

.azienda-cta{

    padding:130px 0;

    background:linear-gradient(135deg,#0b4ea2,#154b8b);

}

.azienda-cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.azienda-cta h2{

    color:#fff;

    font-size:50px;

    line-height:1.2;

    margin:25px 0;

}

.azienda-cta p{

    color:#fff;

    font-size:21px;

    line-height:1.8;

    margin-bottom:45px;

}

/*======================================================
SPAZIATURA MENU DESTRA
======================================================*/

.main-navigation .menu > li:last-child{

    margin-right:40px;

}



/*==================================================
CONTATTI
==================================================*/

.contatti-hero{

background:linear-gradient(135deg,#07192f,#122d53);

color:#fff;

padding:120px 20px;

text-align:center;

}

.contatti-hero h1{

font-size:56px;

margin:20px 0;

font-weight:800;

}

.contatti-hero p{

max-width:750px;

margin:auto;

font-size:20px;

line-height:1.8;

opacity:.9;

}

.contatti-info{

padding:90px 20px;

background:#f7f7f7;

}

.contatti-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.contatto-card{

background:#fff;

padding:45px;

border-radius:22px;

box-shadow:0 20px 50px rgba(0,0,0,.08);

transition:.35s;

}

.contatto-card:hover{

transform:translateY(-10px);

box-shadow:0 30px 70px rgba(0,0,0,.14);

}

.contatto-card h2{

color:#0b4ea2;

margin-bottom:25px;

font-size:28px;

}

.contatto-card p{

line-height:1.8;

color:#555;

margin-bottom:12px;

}

.section-tag{

display:inline-block;

padding:8px 20px;

background:#d4af37;

color:#07192f;

font-weight:700;

border-radius:40px;

letter-spacing:1px;

font-size:13px;

text-transform:uppercase;

}

@media(max-width:991px){

.contatti-grid{

grid-template-columns:1fr;

}

.contatti-hero h1{

font-size:40px;

}

/* ===========================
   CARD NUMERI
=========================== */

/* ===========================
   PUNTI FORZA
=========================== */

.punti-forza .container{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.punti-forza .box{
    width:100%;
    max-width:none;
}
}

/*==============================
MAPPA CONTATTI
==============================*/

.contatti-mappa{

padding:90px 20px;

background:#fff;

}

.mappa-grid{

display:grid;

grid-template-columns:1.4fr 1fr;

gap:45px;

align-items:center;

}

.mappa-box iframe{

width:100%;

height:500px;

border:none;

border-radius:24px;

box-shadow:0 20px 60px rgba(0,0,0,.10);

}

.mappa-info h2{

font-size:42px;

margin-bottom:20px;

color:#0b4ea2;

}

.mappa-info p{

font-size:18px;

line-height:1.8;

margin-bottom:25px;

}

.mappa-info ul{

list-style:none;

padding:0;

margin:0 0 35px;

}

.mappa-info li{

margin-bottom:15px;

font-size:18px;

}

@media(max-width:991px){

.mappa-grid{

grid-template-columns:1fr;

}

}

/* ===========================
   MENU MOBILE
=========================== */

.mobile-menu-toggle{
    display:none;
    background:none;
    border:none;
    color:#ffffff;
    font-size:30px;
    cursor:pointer;
    padding:8px;
    z-index:1001;
}

@media (max-width:991px){

    .mobile-menu-toggle{
        display:block;
    }

    .main-menu{
        display:none;
    }

    .header{
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:15px 20px;
    }

    .logo img{
        max-height:55px;
    }

}/* =====================================================
   RESPONSIVE - SMARTPHONE
===================================================== */

@media (max-width: 991px){

    /* Header */

    .header{
        padding:15px 20px;
    }

    .logo img{
        max-height:50px;
    }

    /* Hero */

    .hero{
        min-height:70vh;
    }

    .hero h1{
        font-size:48px;
        line-height:1.1;
    }

}

/* ===================================
   MENU MOBILE
=================================== */

.mobile-menu-overlay{

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:9998;

}

.mobile-menu{

    position:fixed;

    top:0;
    left:-320px;

    width:320px;
    max-width:90vw;

    height:100vh;

    background:#13233d;

    display:flex;
    flex-direction:column;

    padding:35px 25px;

    gap:18px;

    transition:.35s ease;

    z-index:9999;

    overflow-y:auto;

}

.mobile-menu a{

    color:#fff;

    text-decoration:none;

    font-size:18px;

    font-weight:600;

    border-bottom:1px solid rgba(255,255,255,.08);

    padding-bottom:12px;

}

.mobile-close{

    align-self:flex-end;

    background:none;

    border:0;

    color:#fff;

    font-size:32px;

    cursor:pointer;

    margin-bottom:20px;

}

.mobile-menu.open{

    left:0;

}

.mobile-menu-overlay.open{

    opacity:1;

    visibility:visible;

}

/* Mostra il menu mobile solo sotto i 991px */

@media (min-width:992px){

    .mobile-menu,
    .mobile-menu-overlay{
        display:none;
    }

}

/* ==========================================
   HEADER PREMIUM
========================================== */

.header{
    position: sticky;
    top: 0;
    z-index: 9999;

    transition:
        all .35s ease,
        padding .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

.header img{
    transition: .35s ease;
}

.header-scrolled{

    padding:12px 40px;

    background:rgba(12,26,48,.96);

    backdrop-filter:blur(10px);

    box-shadow:0 10px 30px rgba(0,0,0,.18);

}

.header-scrolled img{

    transform:scale(.88);

}

/* =====================================================
   BACKUP MEGA MENU - NON CANCELLARE
===================================================== */

/*==================================================
=          DROPDOWN CONTATTI
==================================================*/

.dropdown-item{

    position:relative;
    display:flex;
    align-items:center;
    height:100%;

}

.menu-item{

    position:relative;

}

.dropdown-menu{

    position:absolute;
    top:100%;
    left:0;

    width:320px;

    background:#081a35;

    border-radius:18px;

    padding:18px 0;

    box-shadow:0 20px 50px rgba(0,0,0,.35);

    opacity:0;
    visibility:hidden;
    transform:translateY(15px);

    transition:.30s;

    z-index:9999;

}

.dropdown-item:hover .dropdown-menu{

    opacity:1;
    visibility:visible;
    transform:translateY(0);

}

.dropdown-menu a{

    display:flex;
    align-items:center;
    gap:14px;

    color:#fff;

    padding:14px 24px;

    font-size:16px;

    text-decoration:none;

    transition:.25s;

}

.dropdown-menu a:hover{

    background:rgba(255,255,255,.06);

    color:#d4af37;

}

.dropdown-menu i{

    width:22px;

    color:#d4af37;

}

/* Posizione solo mega menu Azienda */
.menu-azienda:hover .mega-menu{
    transform: translateX(-35%) translateY(0);
}

/* Posizione solo mega menu Shop */
.menu-shop:hover .mega-menu{
    transform: translateX(-30%) translateY(0);
}

html,
body{
    overflow-x: hidden;
}

/* Catalogo prodotti: schede compatte con prezzo fabbrica */
.catalogo-grid {
    grid-template-columns: repeat(auto-fill, minmax(225px, 240px));
    gap: 14px;
    justify-content: start;
}

/* Le offerte a bancale occupano il centro della pagina anche con poche card. */
.shop-prodotti--bancali .catalogo-grid {
    justify-content: center;
}

.shop-prodotti--filtrati .catalogo-grid {
    justify-content: center;
}

.catalogo-card {
    border: 1px solid #e5e5e5;
    border-radius: 0;
    box-shadow: none;
}

.catalogo-card:hover {
    transform: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
}

.catalogo-card .prodotto-img {
    height: 210px;
    background: #f6f6f6;
}

.catalogo-card .prodotto-img img {
    object-fit: cover;
    object-position: center;
}

.catalogo-card .prodotto-info {
    padding: 14px 12px 12px;
}

.catalogo-card .catalogo-categoria {
    margin: 0 0 5px;
    color: #1d4079;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.35;
}

.catalogo-card .prodotto-info h3 {
    margin: 0 0 7px;
    font-size: 17px;
    line-height: 1.2;
    text-transform: uppercase;
}

.catalogo-card .catalogo-specifica {
    margin: 0 0 16px;
    color: #5d5d5d;
    font-size: 12px;
    line-height: 1.4;
}

.catalogo-disponibilita {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 -12px;
    padding: 11px 12px;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
    font-weight: 700;
}

.catalogo-disponibilita span:last-child {
    color: #1abb42;
    font-size: 18px;
}

.catalogo-disponibilita--su-richiesta span:last-child {
    color: #d4af37;
}

.catalogo-prezzo {
    margin: 0 -12px;
    padding: 14px 12px;
    background: #fff500;
    color: #060606;
}

.catalogo-prezzo > span {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
}

.catalogo-prezzo strong {
    display: block;
    font-size: 24px;
    line-height: 1.1;
}

.catalogo-prezzo small {
    font-size: 13px;
    font-weight: 500;
}

.catalogo-card-cta {
    display: block;
    margin-top: 12px;
    padding: 10px;
    border: 1px solid #0b4ea2;
    color: #0b4ea2;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.catalogo-card-cta:hover {
    background: #0b4ea2;
    color: #fff;
}

@media (max-width: 600px) {
    .catalogo-grid {
        grid-template-columns: 1fr;
    }

    .catalogo-card .prodotto-img {
        height: 260px;
    }
}

/* Scheda serie: testo e foto interne ordinati nella tab Descrizione. */
.onda-product-description {
    max-width: 1120px;
    margin: 0 auto;
}

.onda-product-description > p:first-child {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 32px;
}

.single-product .woocommerce-product-gallery {
    width: 42%;
    max-width: 520px;
}

.single-product .summary.entry-summary {
    width: 54%;
}

.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img {
    width: 100%;
    height: 520px;
    object-fit: contain;
    background: #f7f7f7;
}

.onda-product-inspirations {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid #e4e4e4;
}

.onda-product-inspirations > p {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
}

.onda-product-inspirations__grid {
    display: grid;
    grid-template-columns: repeat(3, 120px);
    gap: 12px;
}

.onda-lightbox-trigger {
    position: relative;
    display: block;
    height: 150px;
    overflow: hidden;
    border-radius: 4px;
    background: #f1f1f1;
}

.onda-lightbox-trigger img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #f1f1f1;
    transition: transform .2s ease;
}

.onda-lightbox-trigger span {
    position: absolute;
    right: 7px;
    bottom: 5px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    background: rgba(11, 30, 53, .82);
    color: #fff;
    font-size: 19px;
    line-height: 1;
}

.onda-lightbox-trigger:hover img {
    transform: scale(1.05);
}

.onda-lightbox {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 40px;
    background: rgba(0, 0, 0, .86);
}

.onda-lightbox img {
    max-width: 94vw;
    max-height: 88vh;
    object-fit: contain;
}

.onda-lightbox button {
    position: absolute;
    top: 16px;
    right: 22px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
}

.onda-lightbox-open {
    overflow: hidden;
}

.onda-product-description > p:first-child img {
    display: block;
    width: 100% !important;
    height: 260px;
    margin: 0 !important;
    object-fit: cover;
    border-radius: 4px;
}

.onda-product-description > p:not(:first-child) {
    max-width: 760px;
    margin: 0 auto 16px;
    font-size: 17px;
    line-height: 1.65;
}

.promo-item{padding:0;overflow:hidden}.promo-item>img{display:block;width:100%;height:155px;object-fit:cover}.promo-item>div{padding:23px 28px 28px}.promo-item h3{margin:0 0 8px}.promo-item-highlight>img{filter:saturate(.72) brightness(.72)}

/* Il movimento segue la sequenza dei capoluoghi disegnata nella mappa SVG. */
.onda-italia-map .onda-truck{animation:none}
.onda-italia-map-image{margin:0;overflow:hidden;padding:0}.onda-italia-map-image img{display:block;width:100%;height:auto;border-radius:16px}

/* Pagine Vantaggi */
.onda-vantaggi-page{background:#f5f7fa;color:#102744;padding:70px 5% 90px;min-height:70vh}.onda-vantaggi-hero{max-width:1180px;margin:auto}.onda-vantaggi-card,.onda-quick-form,.onda-choice-card{background:#fff;border-radius:22px;box-shadow:0 16px 45px rgba(15,39,71,.12)}.onda-vantaggi-card{max-width:760px;padding:55px}.onda-kicker{display:block;color:#c99d16;font-weight:800;letter-spacing:2px;font-size:13px;margin-bottom:16px}.onda-vantaggi-page h1{font-size:42px;line-height:1.12;margin:0 0 20px;color:#102744}.onda-vantaggi-page p{font-size:18px;line-height:1.65;color:#46566b}.onda-80{font-size:22px;color:#c99d16;font-weight:800}.onda-80 strong{font-size:82px;line-height:.9}.onda-gold-button{display:inline-block;border:0;background:#d4af37;color:#102744;text-decoration:none;padding:15px 23px;border-radius:9px;font-weight:800;cursor:pointer;font-size:15px}.onda-trasporti{display:grid;grid-template-columns:1fr 360px 330px;gap:28px;align-items:center}.onda-trasporti-intro h1{font-size:42px}.onda-italia-map{background:#102f59;border-radius:22px;padding:18px;box-shadow:0 16px 40px rgba(15,39,71,.25)}.onda-italia-map svg{width:100%;height:445px;display:block}.onda-italia-shape{fill:#1767b6;stroke:#75b8f0;stroke-width:4}.onda-map-dots circle{fill:#d4af37;stroke:#fff;stroke-width:2}.onda-route{fill:none;stroke:#d4af37;stroke-width:3;stroke-dasharray:8 7}.onda-truck{fill:#d4af37;stroke:#fff;stroke-width:2;animation:onda-camion 7s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes onda-camion{0%{transform:translate(134px,70px)}100%{transform:translate(193px,389px)}}.onda-quick-form{padding:28px;display:flex;flex-direction:column;gap:13px}.onda-quick-form h2{margin:0;color:#102744}.onda-quick-form label{font-size:14px;font-weight:700;color:#102744}.onda-quick-form input,.onda-quick-form textarea{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #cbd4df;border-radius:8px;padding:12px;font:inherit}.onda-consulenza{display:grid;grid-template-columns:1fr 390px;gap:38px;align-items:center}.onda-contact-choices{display:grid;gap:12px;margin-top:25px}.onda-contact-choices a{color:#102744;background:#f1f5f9;border-radius:9px;padding:13px;text-decoration:none;font-weight:700}.onda-preventivo{text-align:center}.onda-preventivo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:900px;margin:30px auto}.onda-choice-card{border:0;padding:40px;text-align:left;text-decoration:none;color:#102744;cursor:pointer;font:inherit}.onda-choice-card span{font-size:42px}.onda-choice-card h2{font-size:28px;margin:12px 0}.onda-choice-card b{color:#b58808}.onda-hidden-form{display:none;max-width:550px;margin:20px auto}.onda-form-visible{display:flex}.onda-vantaggi-page .onda-quick-form{margin-top:0}.onda-preventivo .onda-quick-form{margin:25px auto 0;text-align:left}@media(max-width:950px){.onda-trasporti,.onda-consulenza{grid-template-columns:1fr}.onda-italia-map{max-width:390px;margin:auto}.onda-trasporti-intro{text-align:center}}@media(max-width:600px){.onda-vantaggi-page{padding:40px 18px}.onda-vantaggi-card{padding:30px}.onda-vantaggi-page h1,.onda-trasporti-intro h1{font-size:32px}.onda-preventivo-grid{grid-template-columns:1fr}.onda-80 strong{font-size:64px}}

@media (max-width: 700px) {
    .single-product .woocommerce-product-gallery,
    .single-product .summary.entry-summary {
        width: 100%;
        max-width: none;
    }

    .single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img {
        height: auto;
    }

    .onda-product-description > p:first-child {
        grid-template-columns: 1fr;
    }

    .onda-product-description > p:first-child img {
        height: auto;
        max-height: none;
    }
}

@media (max-width: 480px) {
    .onda-product-inspirations__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .onda-lightbox-trigger {
        height: 115px;
    }
}

/* Le immagini sono spostate sotto le varianti: qui resta solo il testo. */
.onda-product-description > p,
.onda-product-description > p:first-child {
    display: block;
    max-width: 760px;
    margin: 0 auto 16px;
    font-size: 17px;
    line-height: 1.65;
}

/* Promo Sanitari e Cashback */
.promo-vantaggio-page{background:#f5f7fa;color:#102744}.promo-sanitari-hero,.promo-cashback-hero{padding:90px max(7%,calc((100% - 1160px)/2));display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.promo-sanitari-hero{background:#102744;color:#fff}.promo-sanitari-copy h1,.promo-cashback-copy h1{font-size:64px;line-height:.98;margin:0 0 22px;color:#fff}.promo-sanitari-copy h1 em,.promo-cashback-copy h1 em{font-family:Georgia,serif;color:#d4af37;font-weight:400}.promo-sanitari-copy p,.promo-cashback-copy p{font-size:20px;line-height:1.6;color:#e7eef7;max-width:590px}.promo-threshold{display:grid;gap:4px;border-left:4px solid #d4af37;padding:8px 0 8px 19px;margin:30px 0}.promo-threshold span{color:#d4af37;font-size:13px;font-weight:800;letter-spacing:1px}.promo-threshold strong{font-size:43px}.promo-threshold strong small{font-size:17px}.promo-threshold b{font-size:17px}.promo-sanitari-image{position:relative}.promo-sanitari-image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px}.promo-gift-badge{position:absolute;right:-18px;bottom:26px;background:#d4af37;color:#102744;border-radius:50%;width:126px;height:126px;display:grid;place-content:center;text-align:center;font-size:13px;font-weight:800;line-height:1.1;box-shadow:0 10px 24px rgba(0,0,0,.25)}.promo-gift-badge strong{font-size:32px}.promo-sanitari-details{max-width:1160px;margin:auto;padding:90px 30px}.promo-sanitari-details header{max-width:650px;text-align:center;margin:0 auto 38px}.promo-sanitari-details h2,.promo-cashback-how h2{font-size:42px;margin:0 0 12px}.promo-sanitari-details header p{font-size:18px;line-height:1.6;color:#536276}.promo-sanitary-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.promo-sanitary-options article{background:#fff;padding:32px;border-radius:16px;box-shadow:0 12px 28px rgba(16,39,68,.08)}.promo-sanitary-options span{font-size:35px;color:#d4af37}.promo-sanitary-options h3{font-size:22px;margin:14px 0 8px}.promo-sanitary-options p{margin:0;line-height:1.6;color:#536276}.promo-vantaggio-cta{text-align:center;background:#e9edf3;padding:75px 20px}.promo-vantaggio-cta h2{font-size:36px;margin:0 0 10px}.promo-vantaggio-cta p{font-size:18px;color:#536276;margin:0 auto 24px}.promo-cashback-hero{background:radial-gradient(circle at 70% 30%,#265e9c,#102744 55%,#091a31);color:#fff;min-height:520px}.promo-cashback-coin{justify-self:center;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe89a,#d4af37 45%,#936e0d 100%);border:9px double rgba(255,255,255,.8);color:#102744;display:grid;place-content:center;text-align:center;box-shadow:0 18px 35px rgba(0,0,0,.3);animation:promo-coin 4s ease-in-out infinite}.promo-cashback-coin span{font-size:12px;font-weight:800;letter-spacing:1px}.promo-cashback-coin strong{font-size:93px;line-height:.9}.promo-cashback-coin b{font-size:25px}.promo-cashback-coin small{font-weight:700;margin-top:8px}@keyframes promo-coin{50%{transform:translateY(-10px) rotate(3deg)}}.promo-cashback-how{max-width:1100px;margin:auto;padding:85px 30px;text-align:center}.promo-cashback-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px;text-align:left}.promo-cashback-steps article{position:relative;padding:25px 0 0;border-top:2px solid #d4af37}.promo-cashback-steps b{font-size:30px;color:#d4af37}.promo-cashback-steps h3{font-size:21px;margin:13px 0 8px}.promo-cashback-steps p{margin:0;color:#536276;line-height:1.6}@media(max-width:800px){.promo-sanitari-hero,.promo-cashback-hero{grid-template-columns:1fr;padding:65px 28px;gap:42px}.promo-sanitari-copy h1,.promo-cashback-copy h1{font-size:48px}.promo-sanitari-image{max-width:480px;margin:auto}.promo-sanitary-options,.promo-cashback-steps{grid-template-columns:1fr}.promo-sanitari-details,.promo-cashback-how{padding:65px 22px}}@media(max-width:500px){.promo-sanitari-copy h1,.promo-cashback-copy h1{font-size:40px}.promo-cashback-coin{width:230px;height:230px}.promo-cashback-coin strong{font-size:75px}}

/* Promo Bilocale */
.promo-bilocale-page{background:#f5f7fa;color:#102744}.promo-bilocale-hero{background:radial-gradient(circle at 70% 20%,#1e5088 0,#102744 48%,#091a31 100%);min-height:600px;padding:90px max(7%,calc((100% - 1160px)/2));display:flex;align-items:center;gap:80px;color:#fff;position:relative;overflow:hidden}.promo-bilocale-hero:after{content:"BILOCALE";position:absolute;right:-18px;bottom:-60px;font-weight:900;font-size:180px;line-height:1;color:rgba(255,255,255,.035)}.promo-bilocale-hero-copy{position:relative;z-index:1;max-width:670px}.promo-label{display:block;color:#d4af37;font-size:13px;font-weight:800;letter-spacing:2px;margin-bottom:18px}.promo-bilocale-hero h1{font-size:70px;line-height:.95;margin:0 0 24px;color:#fff}.promo-bilocale-hero h1 em{font-family:Georgia,serif;color:#d4af37;font-weight:400}.promo-lead{font-size:20px;line-height:1.55;max-width:620px;color:#eef4fb}.promo-price{border-left:4px solid #d4af37;padding:6px 0 6px 18px;margin:32px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.promo-price small{display:block;width:100%;font-weight:700;letter-spacing:1px}.promo-price strong{font-size:48px;color:#fff}.promo-price span{color:#dce5f0}.promo-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.promo-button{display:inline-block;border-radius:8px;padding:15px 22px;text-decoration:none;font-weight:800;transition:transform .2s}.promo-button:hover{transform:translateY(-2px)}.promo-button-gold{background:#d4af37;color:#102744}.promo-button-outline{border:1px solid rgba(255,255,255,.65);color:#fff}.promo-cashback{z-index:1;width:230px;min-width:230px;text-align:center;border:1px solid rgba(212,175,55,.8);border-radius:50%;padding:42px 24px;background:rgba(7,24,46,.45);box-shadow:0 15px 35px rgba(0,0,0,.25)}.promo-cashback span{display:block;font-size:11px;font-weight:800;letter-spacing:1px;color:#d4af37}.promo-cashback strong{display:block;font-size:74px;line-height:1;color:#d4af37}.promo-cashback b{font-size:22px}.promo-cashback p{font-size:14px;line-height:1.4;color:#e0e8f1}.promo-incluso{max-width:1160px;padding:95px 30px;margin:auto}.promo-incluso header{max-width:700px;margin-bottom:38px}.promo-incluso h2,.promo-steps h2,.promo-cta h2{font-size:43px;line-height:1.08;margin:0 0 18px}.promo-incluso header>p{font-size:18px;line-height:1.6;color:#526276}.promo-incluso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.promo-item{background:#fff;padding:28px;border-radius:15px;border:1px solid #e5e9ef;box-shadow:0 10px 24px rgba(16,39,68,.06)}.promo-item i{color:#d4af37;font-style:normal;font-size:30px}.promo-item h3{margin:14px 0 8px;font-size:21px}.promo-item p{margin:0;color:#536276;line-height:1.55}.promo-item-highlight{background:#102744;color:#fff;border-color:#102744}.promo-item-highlight p{color:#eef4fb}.promo-steps{background:#e9edf3;padding:70px max(7%,calc((100% - 1160px)/2));display:grid;grid-template-columns:280px 1fr;gap:65px;align-items:start}.promo-steps ol{margin:0;padding:0;display:grid;gap:20px;list-style:none}.promo-steps li{display:flex;gap:20px;align-items:flex-start}.promo-steps li>b{color:#d4af37;font-size:27px}.promo-steps li span{display:grid;gap:5px;color:#526276}.promo-steps li strong{color:#102744;font-size:18px}.promo-cta{text-align:center;background:#102744;color:#fff;padding:90px 20px}.promo-cta h2{color:#fff}.promo-cta p{max-width:620px;margin:0 auto 25px;color:#e1eaf5;font-size:18px;line-height:1.6}@media(max-width:850px){.promo-bilocale-hero{padding:70px 28px;gap:35px}.promo-bilocale-hero h1{font-size:54px}.promo-cashback{width:180px;min-width:180px;padding:28px 14px}.promo-incluso-grid{grid-template-columns:repeat(2,1fr)}.promo-steps{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.promo-bilocale-hero{min-height:auto;display:block;padding:55px 22px}.promo-bilocale-hero h1{font-size:45px}.promo-cashback{margin:42px auto 0}.promo-incluso{padding:65px 20px}.promo-incluso h2,.promo-steps h2,.promo-cta h2{font-size:33px}.promo-incluso-grid{grid-template-columns:1fr}.promo-steps{padding:55px 22px}.promo-price strong{font-size:40px}}

.onda-italia-map .onda-truck{animation:none}
.catalogo-paginazione{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:42px 0 10px}.catalogo-paginazione .page-numbers{min-width:40px;padding:10px 13px;border:1px solid #d4af37;border-radius:6px;color:#0d315d;font-weight:700;text-align:center;text-decoration:none}.catalogo-paginazione .page-numbers.current,.catalogo-paginazione .page-numbers:hover{background:#d4af37;color:#102b50}.catalogo-paginazione .dots{border:0;padding:10px 4px}

/* Homepage: schede leggibili anche sui telefoni stretti. */
@media(max-width:600px){
    .ambienti{padding:28px 16px 58px;}
    .griglia-ambienti{gap:16px;}
    .ambiente{min-width:0;height:310px;padding:20px 16px;border-radius:22px;}
    .overlay-testo h3{font-size:clamp(25px,8vw,34px);line-height:1.05;overflow-wrap:anywhere;}
    .overlay-testo p{margin-top:9px;font-size:15px;line-height:1.25;}
}

/* Hero homepage: indicatore preventivo centrale, informativo e non cliccabile. */
.hero-buttons{justify-content:center;}
.hero-preventivo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:320px;
    margin-top:30px;
    padding:18px 54px;
    border-radius:8px;
    background:#d4af37;
    color:#fff;
    font-size:16px;
    font-weight:700;
    letter-spacing:.2px;
    pointer-events:none;
    user-select:none;
    animation:onda-preventivo-lampo 1.8s ease-in-out infinite;
}
@keyframes onda-preventivo-lampo{
    0%,100%{opacity:1;box-shadow:0 0 0 rgba(212,175,55,0)}
    50%{opacity:.68;box-shadow:0 0 28px rgba(212,175,55,.72)}
}
@media(max-width:600px){.hero-preventivo{min-width:min(310px,86vw);padding:16px 28px;font-size:14px;}}
