/*
Theme Name: Ricci Bus - GeneratePress Child
Template: generatepress
Version: 1.3.0
Description: Tema leggero Ricci Bus, Gutenberg e GP Site Kit.
*/
:root{--ricci-navy:#101b32;--ricci-orange:#d44a01;--ricci-cream:#f4f0e7}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ricci-navy)}
h1,h2,h3,.main-title{font-family:Georgia,serif}
.site-header{background:var(--ricci-navy)}.site-header .inside-header{padding:13px 28px;align-items:center}.site-logo img{max-height:70px;width:auto}
.main-navigation,.main-navigation ul ul{background:var(--ricci-navy)}.main-navigation .main-nav ul li a,.main-navigation .menu-toggle,.main-navigation .mobile-bar-items a{color:#fff}.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a{background:var(--ricci-orange);color:#101b32}
.main-navigation .inside-navigation{max-width:1250px;margin:auto}.main-navigation .main-nav ul li a{font-size:12px;letter-spacing:.055em;font-weight:700;padding:0 13px}
.ricci-section{padding:75px max(24px,calc((100vw - 1200px)/2));box-sizing:border-box}.ricci-section h2{font-size:clamp(36px,4.2vw,65px);line-height:1.1;margin:0 0 30px}.ricci-section h3{font-size:clamp(22px,2.5vw,32px)}.ricci-navy{background:var(--ricci-navy);color:#fff}.ricci-navy h2,.ricci-navy h3,.ricci-navy p{color:#fff}.ricci-cream{background:var(--ricci-cream)}.ricci-orange{background:var(--ricci-orange)}.ricci-section .wp-block-columns{gap:24px}.ricci-section .wp-block-image img{width:100%;height:auto;display:block}.ricci-bus-grid .wp-block-column{background:#fff;color:var(--ricci-navy);overflow:hidden}.ricci-bus-grid .wp-block-column img{width:100%;height:220px;object-fit:cover}.ricci-bus-grid .wp-block-column h3,.ricci-bus-grid .wp-block-column p{color:var(--ricci-navy);padding:0 18px}.ricci-bus-grid .wp-block-column h3{font-size:22px;margin:12px 0 5px}.ricci-bus-grid .wp-block-column p{padding-bottom:18px}.ricci-bus-grid{margin-bottom:24px!important}.ricci-button .wp-block-button__link{background:var(--ricci-orange);color:var(--ricci-navy);border-radius:0;font-weight:700;padding:14px 24px}.ricci-full-image img{width:100%;height:clamp(250px,36vw,540px);object-fit:cover}.ricci-footer{background:var(--ricci-navy);color:#fff;padding:55px 24px 20px}.ricci-footer-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.ricci-footer a{color:#fff}.ricci-footer h3{color:var(--ricci-orange);font-family:Georgia,serif}.ricci-footer-bottom{max-width:1200px;margin:35px auto 0;border-top:1px solid #ffffff40;padding-top:18px;font-size:12px}.site-info{display:none}.ricci-hero{background:var(--ricci-navy)}.ricci-hero .gpsk-slider{margin:0}.ricci-hero .wp-block-shortcode{margin:0}.ricci-hero .wp-block-shortcode:empty{min-height:200px}
@media(max-width:768px){.site-header .inside-header{padding:12px 18px}.site-logo img{max-height:52px}.main-navigation .main-nav ul li a{font-size:14px;padding:12px 20px}.ricci-section{padding:48px 18px}.ricci-section .wp-block-columns{gap:20px}.ricci-bus-grid .wp-block-column img{height:230px}.ricci-footer-inner{grid-template-columns:1fr}.ricci-section h2{font-size:38px}}

/* v1.1 — Full bleed Gutenberg landing pages */
body:has(.ricci-section) {background:#101b32;}
body:has(.ricci-section) #page,
body:has(.ricci-section) .site.grid-container,
body:has(.ricci-section) #content,
body:has(.ricci-section) #primary,
body:has(.ricci-section) #main,
body:has(.ricci-section) .inside-article,
body:has(.ricci-section) .entry-content {width:100%;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box;}
body:has(.ricci-section) .inside-article {background:transparent!important;}
body:has(.ricci-section) .entry-header {display:none;}
body:has(.ricci-section) .entry-content > .wp-block-group {margin:0!important;}
body:has(.ricci-section) .entry-content > .wp-block-group.alignfull {margin:0!important;width:100%!important;}
body:has(.ricci-section) .entry-content > .wp-block-group > .wp-block-group__inner-container {width:100%;max-width:none!important;margin:0;padding:0!important;}
body:has(.ricci-section) .ricci-section {width:100%;max-width:none!important;padding:clamp(64px,7vw,115px) max(28px,calc((100vw - 1280px)/2))!important;}
body:has(.ricci-section) .ricci-section > .wp-block-group__inner-container {max-width:1280px!important;margin-inline:auto!important;padding:0!important;}
body:has(.ricci-section) .ricci-section .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {max-width:none;}
body:has(.ricci-section) .ricci-section .wp-block-columns {width:100%;max-width:none!important;}
body:has(.ricci-section) .ricci-bus-grid {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important;}
body:has(.ricci-section) .ricci-bus-grid > .wp-block-column {min-width:0;margin:0!important;}
body:has(.ricci-section) .ricci-bus-grid .wp-block-image {margin:0;}
body:has(.ricci-section) .ricci-bus-grid .wp-block-column img {height:240px;object-fit:cover;}
body:has(.ricci-section) .ricci-hero {width:100%;max-width:none!important;margin:0!important;padding:0!important;}
body:has(.ricci-section) .ricci-hero > .wp-block-group__inner-container,
body:has(.ricci-section) .ricci-hero .wp-block-shortcode {width:100%;max-width:none!important;margin:0!important;padding:0!important;}
body:has(.ricci-section) .ricci-section h2 {font-size:clamp(44px,5vw,76px);}
body:has(.ricci-section) .ricci-section p {font-size:clamp(16px,1.15vw,19px);line-height:1.65;}
body:has(.ricci-section) .ricci-section .wp-block-button__link {font-size:14px;padding:15px 25px;}
@media(max-width:1000px){body:has(.ricci-section) .ricci-bus-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){body:has(.ricci-section) .ricci-section{padding:55px 20px!important;}body:has(.ricci-section) .ricci-bus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;}body:has(.ricci-section) .ricci-bus-grid .wp-block-column img{height:155px;}body:has(.ricci-section) .ricci-bus-grid .wp-block-column h3{font-size:17px;padding:0 10px;}body:has(.ricci-section) .ricci-bus-grid .wp-block-column p{font-size:13px;padding:0 10px 12px;}}

/* v1.2 — Riccibus autobus: griglia 3 colonne e testi sovrapposti */
body:has(.ricci-section) .ricci-bus-cards{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:22px!important;max-width:100%!important;margin:0 0 36px!important;
}
body:has(.ricci-section) .ricci-bus-cards > .ricci-bus-card{
 position:relative;min-width:0;overflow:hidden;isolation:isolate;
 aspect-ratio:4/5;background:#101b32;margin:0!important;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-image{
 position:absolute;inset:0;margin:0!important;width:100%;height:100%;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-image img{
 display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center center;
}
body:has(.ricci-section) .ricci-bus-card::after{
 content:"";position:absolute;inset:42% 0 0;pointer-events:none;
 background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.7) 100%);z-index:1;
}
body:has(.ricci-section) .ricci-bus-card > .ricci-bus-caption{
 position:absolute;bottom:0;left:0;right:0;z-index:2;
 padding:20px 22px 19px!important;margin:0!important;
 background:transparent!important;color:#fff!important;
}
body:has(.ricci-section) .ricci-bus-caption h3{
 font-family:Georgia,serif;font-size:clamp(20px,2vw,29px)!important;
 font-weight:700;line-height:1.12;margin:0 0 4px!important;
 color:#fff!important;text-shadow:0 1px 5px rgba(0,0,0,.55);
}
body:has(.ricci-section) .ricci-bus-caption p{
 font-family:Georgia,serif;font-size:clamp(14px,1.15vw,18px)!important;
 line-height:1.2;margin:0!important;color:#fff!important;
 text-shadow:0 1px 5px rgba(0,0,0,.55);
}
@media(max-width:900px){body:has(.ricci-section) .ricci-bus-cards{gap:14px!important;}body:has(.ricci-section) .ricci-bus-card > .ricci-bus-caption{padding:14px!important;}}
@media(max-width:650px){
 body:has(.ricci-section) .ricci-bus-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;}
 body:has(.ricci-section) .ricci-bus-caption h3{font-size:17px!important;}
 body:has(.ricci-section) .ricci-bus-caption p{font-size:13px!important;}
 body:has(.ricci-section) .ricci-bus-card > .ricci-bus-caption{padding:11px!important;}
}

/* v1.3: Gutenberg nested inner containers fix, scoped to autobus only */
body:has(.ricci-section) .ricci-bus-cards{display:block!important;max-width:100%!important;}
body:has(.ricci-section) .ricci-bus-cards > .wp-block-group__inner-container{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;
 max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;
}
body:has(.ricci-section) .ricci-bus-cards > .wp-block-group__inner-container > .ricci-bus-card{
 width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
 aspect-ratio:4/5;position:relative;overflow:hidden;background:#101b32;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-group__inner-container{
 position:relative!important;width:100%!important;height:100%!important;max-width:none!important;
 padding:0!important;margin:0!important;display:block!important;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-group__inner-container > figure.wp-block-image{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 max-width:none!important;margin:0!important;padding:0!important;
}
body:has(.ricci-section) .ricci-bus-card figure.wp-block-image img{
 width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;
 display:block!important;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-group__inner-container::after{
 content:"";position:absolute;inset:45% 0 0;pointer-events:none;
 background:linear-gradient(transparent,rgba(0,0,0,.70));z-index:1;
}
body:has(.ricci-section) .ricci-bus-card > .wp-block-group__inner-container > .ricci-bus-caption{
 position:absolute!important;inset:auto 0 0!important;z-index:2!important;
 width:100%!important;max-width:none!important;margin:0!important;
 padding:20px 22px!important;background:transparent!important;box-sizing:border-box;
}
body:has(.ricci-section) .ricci-bus-caption > .wp-block-group__inner-container{
 padding:0!important;margin:0!important;max-width:none!important;
}
body:has(.ricci-section) .ricci-bus-caption h3{color:#fff!important;font-size:clamp(20px,2vw,29px)!important;margin:0 0 5px!important;line-height:1.12!important;}
body:has(.ricci-section) .ricci-bus-caption p{color:#fff!important;font-size:clamp(14px,1.15vw,18px)!important;margin:0!important;line-height:1.2!important;}
@media(max-width:650px){
 body:has(.ricci-section) .ricci-bus-cards > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;}
 body:has(.ricci-section) .ricci-bus-card > .wp-block-group__inner-container > .ricci-bus-caption{padding:11px!important;}
 body:has(.ricci-section) .ricci-bus-caption h3{font-size:17px!important;}
 body:has(.ricci-section) .ricci-bus-caption p{font-size:13px!important;}
}


/* Autobus - colore numero posti */
.ricci-bus-grid .wp-block-column p {
    color: #00a0e3 !important;
}





/* Autobus - colore numero posti */
.ricci-bus-caption p {
    color: #00a0e3 !important;
}


/* Autobus - colore numero posti */
body:has(.ricci-section) .ricci-bus-caption p {
    color: #00a0e3 !important;
}

/* RICCI BUS - Nono box hover */

body:has(.ricci-section) .ricci-bus-hover {
    width: 100%;
    aspect-ratio: 780 / 940;
    overflow: hidden;
}

body:has(.ricci-section) .ricci-bus-hover a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

body:has(.ricci-section) .ricci-bus-hover img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.35s ease;
}

body:has(.ricci-section) .ricci-hover-default {
    opacity: 1;
}

body:has(.ricci-section) .ricci-hover-active {
    opacity: 0;
}

body:has(.ricci-section) .ricci-bus-hover a:hover .ricci-hover-default {
    opacity: 0;
}

body:has(.ricci-section) .ricci-bus-hover a:hover .ricci-hover-active {
    opacity: 1;
}

@media (hover: none) {
    body:has(.ricci-section) .ricci-hover-active {
        display: none;
    }
}



/* Immagine 20:9 con taglio dall'alto */
.ricci-img-20-9 img {
    width: 100%;
    aspect-ratio: 20 / 9;
    object-fit: cover;
    object-position: center bottom;
    display: block;
}

/* Bottone trasparente con bordo e testo bianco */
.ricci-btn-outline .wp-block-button__link {
    background: transparent !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    padding: 12px 30px !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

/* Effetto hover */
.ricci-btn-outline .wp-block-button__link:hover {
    background: #fff !important;
    color: #142b3d !important;
}


.ricci-footer-bottom a {
    color: #fff !important;
    font-size: 13px;
    text-decoration: underline;
}

.ricci-footer-bottom a:hover {
    color: #00a0e3 !important;
}


/* FOOTER - Copyright a sinistra, Aiuti di Stato a destra */
.ricci-footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 10px 24px;
}

.ricci-footer-bottom a {
    color: #fff !important;
    font-size: 13px;
    text-decoration: underline;
}

.ricci-footer-bottom a:hover {
    color: #00a0e3 !important;
}

/* Terza colonna: allineamento ai contenuti delle altre colonne */
.ricci-footer-inner .ricci-footer-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.ricci-footer-inner .ricci-footer-links p {
    margin-top: 0;
    padding-top: 0;
}

/* Allineamento verticale ai paragrafi sotto i titoli */
@media (min-width: 769px) {
    .ricci-footer-inner .ricci-footer-links {
        padding-top: 43px;
    }
}

/* Footer su smartphone */
@media (max-width: 600px) {
    .ricci-footer-bottom {
        flex-direction: column;
        align-items: flex-start !important;
    }
}



/* =========================================
   RICCI BUS - HEADER E MENU DESKTOP
   ========================================= */

@media (min-width: 1101px) {

    /* Sfondo chiaro e header compatto */
    body .site-header,
    body .main-navigation {
        background: #f4f1e8 !important;
    }

    /* Logo e menu sulla stessa riga */
    body .site-header .inside-header {
        max-width: 100% !important;
        padding: 10px 25px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 20px !important;
    }

    /* Logo */
    body .site-branding,
    body .site-logo {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body .site-logo img,
    body .header-image {
        width: 233px !important;
        max-width: 233px !important;
        height: auto !important;
    }

    /* Navigazione */
    body #site-navigation {
        flex: 1 1 auto !important;
        width: auto !important;
        margin: 0 !important;
        background: transparent !important;
    }

    body #site-navigation .inside-navigation {
        max-width: 100% !important;
        padding: 0 !important;
        justify-content: flex-end !important;
    }

    body #site-navigation .main-nav > ul {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    /* Voci più compatte */
    body #site-navigation .main-nav > ul > li > a {
        padding: 0 6px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        letter-spacing: 1.1px !important;
        line-height: 60px !important;
        height: 60px !important;
        white-space: nowrap !important;
        color: #142b3d !important;
        background: transparent !important;
    }

    /* Hover e voce attiva */
    body #site-navigation .main-nav > ul > li:hover > a,
    body #site-navigation .main-nav > ul > li.current-menu-item > a {
        color: #d44a01 !important;
    }

    /* Pulsante preventivo */
    body #site-navigation .main-nav > ul > li > a[href*="preventivo"],
    body #site-navigation .main-nav > ul > li > a[href*="quote"] {
        background: #e94720 !important;
        color: #fff !important;
        padding: 0 10px !important;
        height: 32px !important;
        line-height: 32px !important;
        border-radius: 5px !important;
        margin: 14px 3px !important;
        letter-spacing: 0.8px !important;
    }

    body #site-navigation .main-nav > ul > li > a[href*="preventivo"]:hover,
    body #site-navigation .main-nav > ul > li > a[href*="quote"]:hover {
        background: #c83918 !important;
    }

    /* Bandierine */
    body #site-navigation .wpml-ls-item > a {
        padding: 0 3px !important;
        letter-spacing: 0 !important;
    }

    body #site-navigation .wpml-ls-item img {
        width: 18px !important;
        height: auto !important;
        display: inline-block !important;
        vertical-align: middle !important;
    }
}

/* =========================================
   TABLET E SMARTPHONE
   ========================================= */

@media (max-width: 1100px) {

    body .site-header,
    body .main-navigation {
        background: #f4f1e8 !important;
    }

    body .site-header .inside-header {
        padding: 12px 18px !important;
    }

    body .site-logo img,
    body .header-image {
        max-width: 180px !important;
        height: auto !important;
    }
}



/* =========================================
   RICCI BUS - MENU MOBILE COMPATTO
   ========================================= */

@media (max-width: 1100px) {

    /* Sfondo menu mobile */
    body #site-navigation,
    body #site-navigation .inside-navigation,
    body #site-navigation .main-nav,
    body #site-navigation .main-nav > ul {
        background: #f4f1e8 !important;
    }

    /* Voci menu: meno spazio verticale e testo nero */
    body #site-navigation .main-nav > ul > li > a {
        color: #111 !important;
        background: transparent !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        line-height: 20px !important;
        height: auto !important;
        padding: 9px 18px !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    /* Separatore leggero tra le voci */
    body #site-navigation .main-nav > ul > li {
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    /* Voce attiva e hover */
    body #site-navigation .main-nav > ul > li:hover > a,
    body #site-navigation .main-nav > ul > li.current-menu-item > a {
        color: #d44a01 !important;
    }

    /* Pulsante preventivo */
    body #site-navigation .main-nav > ul > li > a[href*="preventivo"],
    body #site-navigation .main-nav > ul > li > a[href*="quote"] {
        background: #e94720 !important;
        color: #fff !important;
        margin: 6px 12px !important;
        padding: 10px 14px !important;
        border-radius: 4px !important;
        text-align: center !important;
    }

    /* Hamburger: sfondo trasparente e colore nero */
    body #mobile-menu-control-wrapper,
    body #mobile-menu-control-wrapper .menu-toggle {
        background: transparent !important;
        color: #000 !important;
    }

    /* Icona hamburger più grande e spessa */
    body #mobile-menu-control-wrapper .menu-toggle .gp-icon {
        color: #000 !important;
        font-size: 25px !important;
    }

    body #mobile-menu-control-wrapper .menu-toggle svg {
        fill: #000 !important;
        stroke: #000 !important;
        stroke-width: 14px !important;
    }

    /* Eventuale pulsante Menu interno */
    body #site-navigation .menu-toggle {
        color: #000 !important;
        background: transparent !important;
        font-weight: 800 !important;
    }

    /* Bandierine */
    body #site-navigation .wpml-ls-item img {
        width: 20px !important;
        height: auto !important;
    }
}


/* =========================================
   RICCI BUS - CERTIFICAZIONI ISO 9001
   ========================================= */

.ricci-certificazioni {
    background: #fff;
    padding: 30px 20px;
    width: 100%;
}

.ricci-certificazioni-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: center;
}

.ricci-certificazione {
    min-width: 0;
    text-align: center;
}

.ricci-certificazione img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.ricci-certificazione a {
    display: block;
    text-decoration: none;
}

.ricci-certificazione a:hover img {
    opacity: 0.85;
    transition: opacity 0.25s ease;
}

/* Tablet */
@media (max-width: 768px) {
    .ricci-certificazioni-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

/* Smartphone */
@media (max-width: 480px) {
    .ricci-certificazioni {
        padding: 25px 15px;
    }

    .ricci-certificazioni-grid {
        gap: 12px;
    }
}





/* RICCI BUS - PAGINA LA STORIA (solo classi ricci-storia) */
.ricci-storia-hero{background:linear-gradient(rgba(0,20,30,.82),rgba(0,20,30,.82)),url("https://www.riccibus.com/wp-content/uploads/2020/10/storiabanner.png") center 42%/cover;min-height:155px;display:flex;align-items:center;justify-content:center;padding:32px 20px!important}
.ricci-storia-hero h1{color:#d44a01!important;font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,3vw,48px);margin:0!important}
.ricci-storia-section{padding:75px 28px!important}
.ricci-storia-dark{background:#001522;color:#f5f2e9}
.ricci-storia-light{background:#f2efe6;color:#001522}
.ricci-storia-section .ricci-storia-columns{max-width:1160px;margin:0 auto;gap:clamp(45px,8vw,130px);align-items:center}
.ricci-storia-section .ricci-storia-text{flex-basis:55%}
.ricci-storia-section .ricci-storia-photos{flex-basis:45%;display:flex;flex-direction:column;align-items:center;gap:24px}
.ricci-storia-section .ricci-storia-text h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,5.5vw,80px);line-height:1.02;font-weight:700;letter-spacing:-2px;color:inherit!important;margin:0 0 45px!important}
.ricci-storia-section .ricci-storia-text p{font-size:14px;line-height:1.75;margin:0 0 20px;color:inherit!important}
.ricci-storia-section .ricci-storia-photos figure{margin:0!important;max-width:100%}
.ricci-storia-section .ricci-storia-photos img{display:block;max-width:100%;height:auto}
.ricci-storia-section:last-of-type .ricci-storia-photos{align-items:stretch}
@media(max-width:767px){.ricci-storia-section{padding:45px 20px!important}.ricci-storia-section .ricci-storia-columns{flex-direction:column;gap:30px}.ricci-storia-section .ricci-storia-text,.ricci-storia-section .ricci-storia-photos{flex-basis:100%;width:100%}.ricci-storia-section .ricci-storia-text h2{font-size:50px;margin-bottom:25px!important}.ricci-storia-section .ricci-storia-photos{gap:18px}.ricci-storia-section .ricci-storia-text p{font-size:14px}}




/* =========================================
   RICCI BUS - TIPOGRAFIA GLOBALE
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800&display=swap');

/* Testi di tutto il sito */
body,
button,
input,
textarea,
select,
p,
li,
.wp-block-paragraph {
    font-family: 'Mulish', sans-serif !important;
}

/* Titoli di tutto il sito */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.entry-title {
    font-family: 'Playfair Display', Georgia, serif !important;
}

/* Navigazione e pulsanti */
.main-navigation,
.main-navigation a,
.wp-block-button__link,
button {
    font-family: 'Mulish', sans-serif !important;
}

/* Titoli grandi delle sezioni */
.ricci-section h1,
.ricci-section h2,
.ricci-storia-section h1,
.ricci-storia-section h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
}


/* =========================================
   RICCI BUS - TIPOGRAFIA GLOBALE
   ========================================= */

/* Testi */
body,
p,
li,
button,
input,
textarea,
select {
    font-family: 'Mulish', sans-serif !important;
}

/* Tutti i titoli */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .wp-block-heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
}

/* H1 - Titolo principale */
body h1 {
    font-size: clamp(42px, 5vw, 72px) !important;
    margin-bottom: 30px !important;
}

/* H2 - Titoli delle sezioni */
body h2 {
    font-size: clamp(34px, 4vw, 56px) !important;
    margin-bottom: 25px !important;
}

/* H3 - Sottotitoli */
body h3 {
    font-size: clamp(26px, 2.8vw, 38px) !important;
    margin-bottom: 20px !important;
}

/* H4 */
body h4 {
    font-size: clamp(22px, 2vw, 28px) !important;
    margin-bottom: 16px !important;
}

/* H5 */
body h5 {
    font-size: clamp(18px, 1.5vw, 22px) !important;
    margin-bottom: 12px !important;
}

/* H6 */
body h6 {
    font-size: 16px !important;
    margin-bottom: 10px !important;
}

/* Testi dei paragrafi */
body p {
    font-size: 16px;
    line-height: 1.7;
}

/* Menu: manteniamo il font sans-serif */
body .main-navigation a {
    font-family: 'Mulish', sans-serif !important;
}


/* =========================================
   RICCI BUS - LAYOUT GLOBALE SENZA SPAZI
   ========================================= */

/* Elimina spazi tra header e contenuto */
body.page .site-content,
body.page .content-area,
body.page .site-main,
body.page .inside-article,
body.page .entry-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Elimina padding laterali del contenitore pagina */
body.page .inside-article {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Elimina margini tra i blocchi principali */
body.page .entry-content > .wp-block-group.alignfull,
body.page .inside-article > .wp-block-group.alignfull {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Elimina lo spazio prima del footer */
body.page .site-content {
    padding-bottom: 0 !important;
}

body.page .site-main {
    margin-bottom: 0 !important;
}

/* Evita margini dopo l'ultimo blocco */
body.page .entry-content > :last-child,
body.page .inside-article > :last-child {
    margin-bottom: 0 !important;
}

/* Mantiene il contenuto a tutta larghezza */
body.page #page,
body.page .site-content,
body.page .content-area {
    max-width: 100% !important;
}



/* SOLO elementi particolari della pagina Chi siamo.
   Font, titoli H1-H6, colori e spaziature delle sezioni
   continuano a usare il CSS globale esistente. */

.ricci-chi-grid { gap: 0 !important; margin-bottom: 0; }
.ricci-chi-grid > .wp-block-column { min-width: 0; }
.ricci-chi-grid .wp-block-image { margin: 0; }
.ricci-chi-grid .wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ricci-chi-grid > .wp-block-column:nth-child(1),
.ricci-chi-grid > .wp-block-column:nth-child(3) { padding: 28px; }
.ricci-chi-grid > .wp-block-column:nth-child(1) .wp-block-image img,
.ricci-chi-grid > .wp-block-column:nth-child(3) .wp-block-image img { width: 54px; height: auto; object-fit: contain; }
.ricci-chi-grid h3 { margin-top: 16px; }
.ricci-chi-title-right > .wp-block-group__inner-container > h2 { margin-left: 50%; }
@media (max-width: 781px) {
  .ricci-chi-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ricci-chi-grid > .wp-block-column { margin: 0 !important; }
  .ricci-chi-title-right > .wp-block-group__inner-container > h2 { margin-left: 0; }
}




/* RICCI BUS – solo pagina Contatti. Aggiungere in fondo al CSS esistente. */
.ricci-contatti-page{padding:90px max(28px,calc((100vw - 1200px)/2)) 110px!important}
.ricci-contatti-top{gap:35px;align-items:flex-start;margin-bottom:85px}
.ricci-contatti-bottom{gap:50px;align-items:flex-start}
.ricci-contatti-dati h2{margin-top:0!important}
.ricci-contatti-dati p{overflow-wrap:anywhere}
.ricci-contatti-dati a{color:inherit;text-decoration:none}
.ricci-contatti-dati .ricci-contatti-etichetta{color:#00a0e3;font-size:12px;font-weight:800;letter-spacing:1px;margin:24px 0 7px}
.ricci-contatti-orari-foto{gap:0!important;align-items:stretch}
.ricci-contatti-orari{background:#001522;color:#fff;padding:42px 24px;box-sizing:border-box}
.ricci-contatti-orari h3,.ricci-contatti-orari p{color:#fff!important}
.ricci-contatti-orari h3{font-size:clamp(22px,2vw,30px)!important}
.ricci-contatti-orari p:not(:has(strong)){color:#80d0f1!important}
.ricci-contatti-foto,.ricci-contatti-foto img{width:100%;height:100%;margin:0!important;object-fit:cover;display:block}
.ricci-contatti-azienda h3,.ricci-contatti-modulo h3{font-size:clamp(23px,2.2vw,32px)!important}
.ricci-contatti-azienda p:first-of-type{color:#00a0e3;font-weight:700}
.ricci-contatti-mappa iframe{width:100%;min-height:520px;border:0}
@media(max-width:900px){.ricci-contatti-top{flex-wrap:wrap}.ricci-contatti-top>.wp-block-column{flex-basis:100%!important}.ricci-contatti-bottom{gap:35px}}
@media(max-width:767px){.ricci-contatti-page{padding:55px 24px 70px!important}.ricci-contatti-top{margin-bottom:50px}.ricci-contatti-bottom{flex-direction:column}.ricci-contatti-bottom>.wp-block-column{width:100%}.ricci-contatti-orari-foto{flex-direction:column}.ricci-contatti-orari-foto>.wp-block-column{flex-basis:100%!important}.ricci-contatti-foto img{max-height:360px}}




/* Solo pagina Autobus di linea; non modificare il CSS globale */
.ricci-linea-hero{background:linear-gradient(rgba(0,20,30,.75),rgba(0,20,30,.75)),url("https://www.riccibus.com/wp-content/uploads/2020/10/autobusbanner.png") center/cover;min-height:155px;display:flex;align-items:center;justify-content:center;padding:28px 20px!important;margin:0!important}
.ricci-linea-hero h1{color:#d44a01!important;margin:0!important;text-align:center}
.ricci-linea-shuttle{background:#001522;color:white;padding:45px max(24px,calc((100vw - 1200px)/2))!important}
.ricci-linea-shuttle h2{color:#d44a01!important}.ricci-linea-shuttle img{max-width:100%;height:auto}
.ricci-linea-vehicle{background:#f2efe6;padding:70px max(24px,calc((100vw - 1200px)/2))!important;margin:0!important}
.ricci-linea-vehicle-cols{align-items:start;gap:clamp(25px,5vw,80px)}
.ricci-linea-details{flex-basis:40%!important}.ricci-linea-vehicle-cols>.wp-block-column:last-child{flex-basis:60%!important}
.ricci-linea-details h2{color:#001522!important;line-height:1.02!important;margin:10px 0!important}
.ricci-linea-seats{color:#00a0e3!important;font-weight:800;font-size:13px!important;letter-spacing:1px}.ricci-linea-year{font-size:13px!important;font-weight:800}
.ricci-linea-details .wp-block-buttons{margin-top:35px}.ricci-linea-details .wp-block-button__link{font-size:14px;border-radius:0;padding:9px 20px}
.ricci-linea-quality{background:linear-gradient(rgba(0,48,62,.82),rgba(0,48,62,.82)),url("https://www.riccibus.com/wp-content/uploads/2020/10/autobusbanner.png") center/cover;padding:90px 20px!important;text-align:center}
.ricci-linea-quality h2{color:#d44a01!important;margin:0!important}
@media(max-width:767px){.ricci-linea-vehicle{padding:45px 20px!important}.ricci-linea-vehicle-cols{display:block}.ricci-linea-vehicle-cols>.wp-block-column{margin-bottom:28px}.ricci-linea-shuttle{padding:40px 20px!important}}


/* Contattaci - schede autobus */
.ricci-linea-details .wp-block-button a.wp-block-button__link,
.ricci-linea-details .wp-block-button a.wp-block-button__link:not(.has-background) {
    background-color: #ffffff !important;
    color: #101b32 !important;
    border: 2px solid #101b32 !important;
    border-radius: 4px;
    text-decoration: none !important;
}

/* Hover */
.ricci-linea-details .wp-block-button a.wp-block-button__link:hover {
    background-color: #101b32 !important;
    color: #ffffff !important;
    border-color: #101b32 !important;
}



/* Autobus turistici: solo stili aggiuntivi della pagina */
.ricci-turistici-hero{min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(0,20,33,.76),rgba(0,20,33,.76)),url('https://www.riccibus.com/wp-content/uploads/2020/10/autobusbanner.png') center/cover;color:#d44a01;padding:55px 24px}
.ricci-turistici-hero h1{color:#d44a01!important;margin:0}
.ricci-turistici-page{background:#f4f0e7;padding:65px max(24px,calc((100vw - 1200px)/2)) 85px}
.ricci-turistici-intro{max-width:950px;margin:0 auto 85px}
.ricci-turistici-intro p{margin-bottom:14px}
.ricci-turistici-vehicle{align-items:center!important;gap:45px!important;margin:0 auto 80px!important;padding-bottom:55px;border-bottom:1px solid rgba(16,27,50,.2)}
.ricci-turistici-vehicle:last-child{margin-bottom:0!important;border-bottom:0}
.ricci-turistici-vehicle>.wp-block-column:first-child{flex-basis:40%!important}
.ricci-turistici-vehicle>.wp-block-column:last-child{flex-basis:60%!important;min-width:0}
.ricci-turistici-vehicle .gpsk-gallery{width:100%}
.ricci-turistici-ford{gap:8px!important}
.ricci-turistici-ford img{width:100%;height:220px;object-fit:cover}
.ricci-turistici-quality{min-height:350px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(0,40,52,.83),rgba(0,40,52,.83)),url('https://www.riccibus.com/wp-content/uploads/2020/10/home_detailing2_sectionbg3.jpg') center/cover;padding:70px 24px}
.ricci-turistici-quality h2{color:#d44a01!important;line-height:1.1}
@media(max-width:781px){.ricci-turistici-page{padding:45px 22px}.ricci-turistici-intro{margin-bottom:50px}.ricci-turistici-vehicle{gap:25px!important;margin-bottom:50px!important;padding-bottom:40px}.ricci-turistici-vehicle>.wp-block-column:first-child,.ricci-turistici-vehicle>.wp-block-column:last-child{flex-basis:100%!important}}





/* Solo pagina Auto: non modificare gli stili globali esistenti */

.ricci-auto-hero {
    background: linear-gradient(
        rgba(0,20,30,.78),
        rgba(0,20,30,.78)
    ), url("https://www.riccibus.com/wp-content/uploads/2020/10/autobanner-1.jpeg") center/cover;
    min-height: 155px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px !important;
    margin: 0 !important;
}

.ricci-auto-hero h1 {
    color: var(--ricci-orange,#d44a01) !important;
    margin: 0 !important;
    text-align: center;
}

.ricci-auto-page {
    color: var(--ricci-navy,#101b32);
}

.ricci-auto-page h2,
.ricci-auto-page h3,
.ricci-auto-page p {
    color: inherit !important;
}

.ricci-auto-page > p,
.ricci-auto-page > h3,
.ricci-auto-page > .wp-block-image {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.ricci-auto-page > .wp-block-image img {
    max-width: 100%;
    height: auto;
}

.ricci-auto-vehicle {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
}

.ricci-auto-feature {
    align-items: center;
    gap: 28px;
}

.ricci-auto-feature .wp-block-image {
    margin: 0;
}

.ricci-auto-gallery {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
    margin-top: 20px;
}

.ricci-auto-gallery > .wp-block-column {
    min-width: 0;
    margin: 0 !important;
}

.ricci-auto-gallery figure {
    margin: 0 !important;
}

.ricci-auto-gallery img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

@media (max-width: 767px) {
    .ricci-auto-gallery {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .ricci-auto-gallery img {
        height: 150px;
    }
}



/* SOLO elementi particolari della pagina Chi siamo.
   Font, titoli H1-H6, colori e spaziature delle sezioni
   continuano a usare il CSS globale esistente. */

.ricci-chi-grid {
    gap: 0 !important;
    margin-bottom: 0;
}

.ricci-chi-grid > .wp-block-column {
    min-width: 0;
}

.ricci-chi-grid .wp-block-image {
    margin: 0;
}

.ricci-chi-grid .wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ricci-chi-grid > .wp-block-column:nth-child(1),
.ricci-chi-grid > .wp-block-column:nth-child(2),
.ricci-chi-grid > .wp-block-column:nth-child(3) {
    padding: 28px;
}

.ricci-chi-grid > .wp-block-column:nth-child(1) .wp-block-image img,
.ricci-chi-grid > .wp-block-column:nth-child(2) .wp-block-image img,
.ricci-chi-grid > .wp-block-column:nth-child(3) .wp-block-image img {
    width: 54px;
    height: auto;
    object-fit: contain;
}

.ricci-chi-grid h3 {
    margin-top: 16px;
}

.ricci-chi-title-right > .wp-block-group__inner-container > h2 {
    margin-left: 50%;
}

@media (max-width: 781px) {
    .ricci-chi-grid {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .ricci-chi-grid > .wp-block-column {
        margin: 0 !important;
    }

    .ricci-chi-title-right > .wp-block-group__inner-container > h2 {
        margin-left: 0;
    }
}






/* ==========================================
   RICCI BUS - CHI SIAMO
   Ripristino pagina ID 229
   ========================================== */

body:is(.page-id-229, .page-id-478) {
    background: #001522;
}

/* Layout completo senza spazi del tema */
body:is(.page-id-229, .page-id-478) #page,
body:is(.page-id-229, .page-id-478) #content,
body:is(.page-id-229, .page-id-478) #primary,
body:is(.page-id-229, .page-id-478) #main,
body:is(.page-id-229, .page-id-478) .inside-article,
body:is(.page-id-229, .page-id-478) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:is(.page-id-229, .page-id-478) #secondary,
body:is(.page-id-229, .page-id-478) .entry-header {
    display: none !important;
}

body:is(.page-id-229, .page-id-478) .inside-article {
    background: transparent !important;
}

body:is(.page-id-229, .page-id-478) .entry-content > .wp-block-group {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* HERO */
body:is(.page-id-229, .page-id-478) .ricci-chi-hero {
    min-height: 155px;
    padding: 35px 20px !important;
    background: #001522;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-hero h1 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(34px, 4vw, 54px);
    color: #d44a01 !important;
    margin: 0 !important;
}

/* TRE COLONNE INTRODUTTIVE */
body:is(.page-id-229, .page-id-478) .ricci-chi-intro {
    background: #101b32;
    padding: 65px 28px !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-intro
> .wp-block-group__inner-container {
    max-width: 1160px !important;
    margin: 0 auto !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 45px !important;
    margin: 0 !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid > .wp-block-column {
    min-width: 0;
    padding: 0 !important;
    background: transparent !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid figure {
    margin: 0 0 15px !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid img {
    width: 48px !important;
    height: auto !important;
    object-fit: contain !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid h3 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(25px, 2.3vw, 34px);
    line-height: 1.15;
    color: #fff !important;
    margin: 0 0 18px !important;
}

body:is(.page-id-229, .page-id-478) .ricci-chi-grid p {
    color: #f5f2e9 !important;
    font-size: 15px;
    line-height: 1.75;
}

/* SEZIONI ALTERNATE */
body:is(.page-id-229, .page-id-478) .ricci-section {
    display: block !important;
    position: relative;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 85px max(28px, calc((100vw - 1160px)/2)) !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body:is(.page-id-229, .page-id-478) .ricci-section
> .wp-block-group__inner-container {
    display: block !important;
    width: 100% !important;
    max-width: 1160px !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Sezioni blu */
body:is(.page-id-229, .page-id-478) .ricci-section-dark {
    background: #001522 !important;
    color: #f5f2e9 !important;
}

/* Sezioni crema */
body:is(.page-id-229, .page-id-478) .ricci-section-light {
    background: #f2efe6 !important;
    color: #001522 !important;
}

/* Titoli delle sezioni */
body:is(.page-id-229, .page-id-478) .ricci-section h2 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(42px, 5.5vw, 76px) !important;
    line-height: 1.05 !important;
    letter-spacing: -1.5px;
    font-weight: 700;
    color: inherit !important;
    margin: 0 0 38px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Testi */
body:is(.page-id-229, .page-id-478) .ricci-section p,
body:is(.page-id-229, .page-id-478) .ricci-section p.text {
    color: inherit !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    margin: 0 0 20px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body:is(.page-id-229, .page-id-478) .ricci-section strong {
    color: inherit !important;
}

/* Titoli a destra nelle sezioni chiare */
@media (min-width: 900px) {
    body:is(.page-id-229, .page-id-478) .ricci-chi-title-right h2 {
        margin-left: 50% !important;
    }
}

/* Colonne del regolamento */
body:is(.page-id-229, .page-id-478) .ricci-section .wp-block-columns {
    display: flex;
    gap: 55px !important;
    align-items: flex-start;
    margin: 0 !important;
}

body:is(.page-id-229, .page-id-478) .ricci-section .wp-block-column {
    min-width: 0;
}

/* RESPONSIVE */
@media (max-width: 781px) {
    body:is(.page-id-229, .page-id-478) .ricci-chi-intro {
        padding: 45px 20px !important;
    }

    body:is(.page-id-229, .page-id-478) .ricci-chi-grid {
        grid-template-columns: 1fr;
        gap: 35px !important;
    }

    body:is(.page-id-229, .page-id-478) .ricci-section {
        padding: 55px 22px !important;
    }

    body:is(.page-id-229, .page-id-478) .ricci-section h2 {
        font-size: clamp(36px, 9vw, 52px) !important;
        letter-spacing: -1px;
        margin-left: 0 !important;
    }

    body:is(.page-id-229, .page-id-478) .ricci-section .wp-block-columns {
        flex-direction: column;
        gap: 25px !important;
    }

    body:is(.page-id-229, .page-id-478) .ricci-section .wp-block-column {
        width: 100%;
        flex-basis: auto !important;
    }
}



