/* Ristorante Gallo Nero | GeneratePress + Gutenberg
   Override dedicato a .gn-site
   Contenuto principale: 1280px; slider ed Experiences full width.
*/
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;900&display=swap');

.gn-site{--gn-content:1280px;font-family:Raleway,Arial,sans-serif;color:#151515;background:#fff;font-size:16px;line-height:1.6}
.gn-site .site-header,.gn-site #site-navigation,.gn-site .site-footer,.gn-site .entry-header,.gn-site .page-header{display:none!important}
.gn-site .site,.gn-site .site-content,.gn-site .content-area,.gn-site .inside-article,.gn-site .entry-content{width:100%;max-width:none;margin:0;padding:0;background:transparent}
.gn-site .grid-container{max-width:none}
.gn-site .entry-content>*{margin-top:0}

/* Header e menu fullscreen */
.gn-site .gn-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:99990;background:rgba(255,255,255,.96);box-shadow:0 2px 9px #0001}
.gn-site.admin-bar .gn-header{top:32px}
.gn-site .gn-header-inner{max-width:1420px;min-height:68px;margin:auto;padding:5px 25px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.gn-site .gn-logo img{display:block;width:55px;max-height:55px;object-fit:contain}
.gn-site .gn-header-title{font-size:14px;letter-spacing:.23em;font-weight:700;text-align:center}
.gn-site .gn-nav{display:flex;gap:19px;align-items:center;flex-wrap:wrap}
.gn-site .gn-nav a{color:#151515;text-decoration:none;font-size:15px;font-weight:600}
.gn-site .gn-nav a:hover{color:#9b2226}
.gn-site .gn-mobile{display:none}
.gn-site .gn-menu-toggle{justify-self:end;width:48px;height:48px;border:0;background:transparent!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;z-index:100002;padding:9px}
.gn-site .gn-menu-toggle span{display:block;width:27px;height:2px;background:#111;transition:transform .25s,opacity .25s}
.gn-site .gn-menu-toggle.is-open{position:fixed;top:10px;right:24px}
.gn-site.admin-bar .gn-menu-toggle.is-open{top:42px}
.gn-site .gn-menu-toggle.is-open span{background:#fff}
.gn-site .gn-menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.gn-site .gn-menu-toggle.is-open span:nth-child(2){opacity:0}
.gn-site .gn-menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.gn-site .gn-fullscreen-menu{position:fixed;inset:0;background:#090909;color:#fff;z-index:100001;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;overflow:auto;display:flex;align-items:center;justify-content:center;padding:90px 20px 35px}
.gn-site .gn-fullscreen-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.gn-site .gn-fullscreen-menu .gn-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.gn-site .gn-fullscreen-menu a{font-size:clamp(20px,2.4vw,34px);font-weight:500;line-height:1.3;color:#fff;text-decoration:none;transition:color .2s}
.gn-site .gn-fullscreen-menu a:hover{color:#cf9c82}
.gn-site .gn-overlay-languages{display:flex;gap:24px;margin-top:25px}
.gn-site .gn-overlay-languages a{font-size:17px}
body.gn-menu-open{overflow:hidden}

/* Sezioni Gutenberg: larghezza ampliata da 1100 a 1280px */
.gn-site .gn-section{width:100%;max-width:none;padding:45px max(24px,calc((100% - var(--gn-content))/2));scroll-margin-top:90px;box-sizing:border-box}
.gn-site .gn-section>.wp-block-group__inner-container{width:100%;max-width:var(--gn-content);margin-left:auto;margin-right:auto}
.gn-site .gn-section> :not(.wp-block-group__inner-container){max-width:var(--gn-content);margin-left:auto;margin-right:auto}
.gn-site .gn-section h2{font-size:34px;line-height:1.2;font-weight:700;letter-spacing:1px;text-align:center;margin:0 0 25px}
.gn-site .gn-section h3{font-size:22px;line-height:1.25;font-weight:500;margin:22px 0}
.gn-site .gn-section h4{font-size:17px;line-height:1.35;font-weight:500}
.gn-site .gn-section h5{font-size:16px;line-height:1.65;font-weight:500;letter-spacing:.3px}
.gn-site .gn-section p{margin:0 0 20px}
.gn-site .gn-section img{max-width:100%;height:auto}
.gn-site .gn-section .wp-block-image{margin:20px auto}
.gn-site .gn-section .wp-block-button__link{background:#000;border-radius:0;color:#fff;font-size:14px;padding:12px 24px}
.gn-site .gn-dark{background:#050505;color:#fff}
.gn-site .gn-dark h2,.gn-site .gn-dark h3,.gn-site .gn-dark h4,.gn-site .gn-dark h5,.gn-site .gn-dark p{color:#fff}
.gn-site .gn-home,.gn-site .gn-menu,.gn-site .gn-cantina,.gn-site .gn-seguici,.gn-site .gn-contatti,.gn-site .gn-lavora-con-noi{ text-align:center }
.gn-site .gn-home p,.gn-site .gn-menu>p{max-width:1050px;text-align:center}
.gn-site .gn-menu h3{color:#000}
.gn-site .gn-menu .wp-block-image{max-width:100%}
.gn-site .gn-menu .wp-block-shortcode{margin:20px auto 38px}
.gn-site .gn-menu .wp-block-buttons{justify-content:center}
.gn-site .gn-istruzioni{text-align:left}
.gn-site .gn-istruzioni h2{text-align:center}
.gn-site .gn-istruzioni h3{font-size:20px;text-align:left;text-decoration:underline}
.gn-site .gn-istruzioni h5{font-size:15px;text-align:left}

/* Hero legacy (solo se presente nel template) */
.gn-site .gn-hero{margin-top:68px;min-height:570px;display:flex;align-items:center;justify-content:center;position:relative;background:#201c18;isolation:isolate}
.gn-site .gn-hero-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0003,#0005),url('https://www.ristorantegallonero.it/wp-content/uploads/2025/06/IMG-20250624-WA0028.jpg') center/cover no-repeat}
.gn-site .gn-hero h1{font-size:clamp(36px,5vw,68px);font-weight:700;letter-spacing:2px;color:#fff;text-shadow:0 2px 12px #0009}

/* Slider homepage: bordo a bordo */
.gn-site .gn-home-slider{position:relative;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important;overflow:hidden}
.gn-site .gn-home-slider>.wp-block-group__inner-container{position:relative;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.gn-site .gn-home-slider .wp-block-shortcode,.gn-site .gn-home-slider .gpsk-slider,.gn-site .gn-home-slider .gpsk-slides,.gn-site .gn-home-slider .gpsk-slide{width:100%!important;max-width:none!important;margin-left:0;margin-right:0}
.gn-site .gn-home-slider .gpsk-slide img{width:100%!important;height:100%!important;object-fit:cover}
.gn-site .gn-home-slider .gn-slider-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;width:100%;max-width:none;margin:0!important;padding:0 20px;box-sizing:border-box;color:#fff;font-size:clamp(42px,6vw,90px);font-weight:700;letter-spacing:5px;text-align:center;pointer-events:none;text-shadow:0 2px 15px #0007}

/* Tile con foto */
.gn-site .gn-chisiamo{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.gn-site .gn-chisiamo>.wp-block-image{grid-column:span 3;display:flex;justify-content:center;align-items:center;margin:0}
.gn-site .gn-chisiamo>.wp-block-image img{max-height:160px;object-fit:contain}
.gn-site .gn-chisiamo>.gn-tile{grid-column:span 2;min-height:260px}
.gn-site .gn-tile{position:relative;display:block;min-height:230px;overflow:hidden;color:#fff;text-decoration:none}
.gn-site .gn-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .3s}
.gn-site .gn-tile:hover img{transform:scale(1.04)}
.gn-site .gn-tile:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009)}
.gn-site .gn-tile span{position:absolute;z-index:1;bottom:18px;left:0;right:0;text-align:center;font-size:21px;font-weight:700;color:#fff}

/* Gallerie legacy e gallerie Gutenberg */
.gn-site .gn-gallery{display:grid;gap:7px;width:100%;max-width:var(--gn-content);margin:28px auto 45px}
.gn-site .gn-gallery a{display:block;overflow:hidden;min-width:0;aspect-ratio:1.48}
.gn-site .gn-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gn-site .gn-gallery a:hover img{transform:scale(1.045)}
.gn-site .gn-gallery-four,.gn-site .gn-gallery-two,.gn-site .gn-cantina .gn-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gn-site .gn-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gn-site .gn-home .gn-gallery{margin-top:40px}
.gn-site .gn-menu .gn-gallery{margin-top:28px;margin-bottom:32px}
.gn-site .gn-native-gallery{max-width:var(--gn-content);margin:8px auto!important;gap:7px!important;align-items:stretch!important}
.gn-site .gn-native-gallery>.wp-block-column{min-width:0;flex:1 1 0;margin:0!important}
.gn-site .gn-native-gallery figure,.gn-site .gn-native-gallery figure a{display:block;width:100%;height:100%;margin:0!important}
.gn-site .gn-native-gallery figure img{display:block;width:100%;height:100%;aspect-ratio:1.48;object-fit:cover}

/* Menu ristorante */
.gn-site .gn-menu-columns{max-width:var(--gn-content);margin:35px auto 55px;gap:70px;align-items:flex-start;text-align:center}
.gn-site .gn-menu-columns>.wp-block-column{min-width:0}
.gn-site .gn-menu-columns h3{color:#000;font-size:25px;font-weight:700;margin:0 0 30px}
.gn-site .gn-menu-columns p{color:#000;font-size:17px;font-weight:500;line-height:1.6;margin:0 0 20px}
.gn-site .gn-menu-columns p strong{font-weight:700}
.gn-site .gn-wine-buttons{gap:20px;margin:35px auto}
.gn-site .gn-wine-buttons .wp-block-buttons{justify-content:center}
.gn-site .gn-wine-buttons .gn-wine-button .wp-block-button__link{background:#000!important;color:#fff!important;border-radius:0;padding:18px 24px;font-size:15px;font-weight:600;text-align:center;text-decoration:none;white-space:nowrap}
.gn-site .gn-wine-buttons .gn-wine-button .wp-block-button__link:hover{background:#333!important}

/* Experiences & Events: sezione e righe a larghezza piena */
.gn-site .gn-section.gn-experiences-events{display:block!important;position:relative;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:70px 0 40px!important;background:#000;color:#fff;text-align:left;box-sizing:border-box}
.gn-site .gn-experiences-events>.wp-block-group__inner-container{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.gn-site .gn-experiences-events>.wp-block-group__inner-container>h2,.gn-site .gn-experiences-events>.wp-block-group__inner-container>p{max-width:var(--gn-content)!important;margin-left:auto!important;margin-right:auto!important;padding:0 24px;text-align:center}
.gn-site .gn-experiences-events .gn-experience-row{display:flex!important;width:100%!important;max-width:none!important;margin:40px 0!important;padding:0 4%!important;gap:30px;box-sizing:border-box}
.gn-site .gn-experiences-events .gn-experience-row>.wp-block-column{min-width:0;max-width:none}
.gn-site .gn-experiences-events .gn-experience-row figure{width:100%;margin:0!important}
.gn-site .gn-experiences-events .gn-experience-row img{display:block;width:100%!important;height:auto}
.gn-site .gn-experiences-events .gn-experience-row h3{font-size:28px;font-weight:600;margin-bottom:20px}
.gn-site .gn-experiences-events .gn-experience-row p{font-size:18px;line-height:1.7}
.gn-site .gn-experiences-events .gn-experience-events-final{width:100%;max-width:var(--gn-content)!important;margin:50px auto 0!important;padding:30px 20px;box-sizing:border-box;text-align:center}

/* Dove siamo: testo a sinistra e mappa a destra */
.gn-site .gn-dove-siamo .gn-location-columns{display:flex;width:100%;max-width:var(--gn-content);margin:40px auto;gap:50px;align-items:center;text-align:left}
.gn-site .gn-dove-siamo .gn-location-columns>.wp-block-column{min-width:0}
.gn-site .gn-dove-siamo .gn-location-columns h2{text-align:left;margin:0 0 25px}
.gn-site .gn-dove-siamo .gn-location-columns p{font-size:17px;line-height:1.7;margin-bottom:20px;color:#000}
.gn-site .gn-dove-siamo .gn-location-columns .wp-block-shortcode,.gn-site .gn-dove-siamo .gn-location-columns iframe{width:100%;max-width:100%}
.gn-site .gn-dove-siamo .gn-location-columns iframe{min-height:500px;border:0}

/* Contatti e footer */
.gn-site .gn-contact-social{display:flex;justify-content:center;align-items:center;gap:20px;margin:22px auto 35px}
.gn-site .gn-contact-social a,.gn-site .gn-contact-social img{display:block;width:40px;height:40px}
.gn-site .gn-contact-social img{object-fit:contain}
.gn-site .gn-contatti h3{margin-top:22px}
.gn-site .gn-contatti h4{margin:8px 0}
.gn-site .gn-seguici .sbi{max-width:var(--gn-content);margin:auto}
.gn-site .gn-footer{background:#000;color:#fff;padding:75px 24px}
.gn-site .gn-footer-inner{max-width:var(--gn-content);margin:auto;display:grid;grid-template-columns:1fr 1.4fr 1.3fr;gap:45px;align-items:start}
.gn-site .gn-footer-logo{width:230px;max-width:100%;height:auto}
.gn-site .gn-footer h2{color:#fff;font-size:27px;margin:0 0 28px}
.gn-site .gn-footer p{line-height:1.8;margin-bottom:25px}
.gn-site .gn-footer a{color:#fff;text-decoration:none}
.gn-site .gn-footer a:hover{text-decoration:underline}
.gn-site .gn-languages{display:flex;gap:20px;margin-top:12px}
.gn-site .gn-socials{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gn-site .gn-socials img{width:56px;height:56px;object-fit:contain}

/* Tablet */
@media(max-width:900px){
 .gn-site .gn-nav{display:none}
 .gn-site .gn-mobile{display:block;position:relative}
 .gn-site .gn-mobile summary{cursor:pointer;font-size:28px;list-style:none}
 .gn-site .gn-mobile nav{position:absolute;right:0;top:100%;background:#fff;box-shadow:0 5px 20px #0003;min-width:220px;display:grid;padding:12px}
 .gn-site .gn-mobile nav a{padding:9px;color:#111;text-decoration:none}
 .gn-site .gn-section{padding:45px 24px}
 .gn-site .gn-footer-inner{grid-template-columns:1fr 1.4fr;gap:30px}
 .gn-site .gn-socials{grid-column:1/-1;justify-content:center}
}

/* Mobile: colonne in verticale */
@media(max-width:781px){
 .gn-site .gn-experiences-events{padding:45px 0!important}
 .gn-site .gn-experiences-events .gn-experience-row{flex-direction:column!important;padding:0 20px!important;gap:20px;margin:30px 0!important}
 .gn-site .gn-experiences-events .gn-experience-row>.wp-block-column{width:100%!important;flex-basis:auto!important}
 .gn-site .gn-experiences-events .gn-experience-row h3{font-size:24px}
 .gn-site .gn-experiences-events .gn-experience-row p{font-size:16px}
 .gn-site .gn-dove-siamo .gn-location-columns{flex-direction:column;gap:30px;margin:25px auto}
 .gn-site .gn-dove-siamo .gn-location-columns>.wp-block-column{width:100%;flex-basis:auto!important}
 .gn-site .gn-dove-siamo .gn-location-columns iframe{min-height:350px}
 .gn-site .gn-menu-columns{gap:35px;margin:25px auto 40px}
 .gn-site .gn-menu-columns p{font-size:16px}
 .gn-site .gn-wine-buttons>.wp-block-column:first-child,.gn-site .gn-wine-buttons>.wp-block-column:last-child{display:none}
 .gn-site .gn-wine-buttons>.wp-block-column{flex-basis:100%!important}
 .gn-site .gn-wine-buttons .gn-wine-button .wp-block-button__link{white-space:normal}
}

@media(max-width:600px){
 .gn-site .gn-header-inner{padding:5px 15px}
 .gn-site .gn-header-title{font-size:12px}
 .gn-site .gn-menu-toggle.is-open{right:12px}
 .gn-site .gn-hero{min-height:360px}
 .gn-site .gn-section{padding:42px 18px}
 .gn-site .gn-section h2{font-size:29px}
 .gn-site .gn-section h3{font-size:22px}
 .gn-site .gn-home-slider .gn-slider-title{font-size:38px;letter-spacing:2px}
 .gn-site .gn-gallery{gap:5px}
 .gn-site .gn-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gn-site .gn-gallery-four,.gn-site .gn-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gn-site .gn-gallery a,.gn-site .gn-native-gallery figure img{aspect-ratio:1.1}
 .gn-site .gn-native-gallery{flex-wrap:nowrap!important;gap:5px!important}
 .gn-site .gn-chisiamo{gap:10px}
 .gn-site .gn-chisiamo>.gn-tile{grid-column:span 2;min-height:115px}
 .gn-site .gn-tile span{font-size:12px;bottom:8px}
 .gn-site .gn-footer-inner{grid-template-columns:1fr;text-align:center;gap:28px}
 .gn-site .gn-socials{grid-column:auto}
 .gn-site .gn-footer-logo{width:160px}
 .gn-site .gn-languages,.gn-site .gn-socials{justify-content:center}
}
@media(max-width:782px){.gn-site.admin-bar .gn-header{top:46px}.gn-site.admin-bar .gn-menu-toggle.is-open{top:56px}}



/* CONTATTI - TRE COLONNE */

.gn-site .gn-contatti {
    text-align: left;
}

.gn-site .gn-contatti > h2 {
    text-align: center;
    margin-bottom: 50px;
}

.gn-site .gn-contatti .gn-contact-columns {
    display: flex;
    width: 100%;
    max-width: var(--gn-content, 1280px);
    margin: 0 auto 45px;
    gap: 45px;
    align-items: flex-start;
}

.gn-site .gn-contatti .gn-contact-columns > .wp-block-column {
    min-width: 0;
}

.gn-site .gn-contatti .gn-contact-columns h3 {
    font-size: 23px;
    font-weight: 600;
    text-align: left;
    margin: 0 0 25px;
}

.gn-site .gn-contatti .gn-contact-columns p {
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 12px;
    text-align: left;
}

.gn-site .gn-contatti .gn-contact-columns a {
    color: #151515;
    text-decoration: none;
}

.gn-site .gn-contatti .gn-contact-columns a:hover {
    text-decoration: underline;
}

/* Icone social */
.gn-site .gn-contatti .gn-contact-social {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin: 25px 0;
}

.gn-site .gn-contatti .gn-contact-social a,
.gn-site .gn-contatti .gn-contact-social img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/* Tablet e smartphone */
@media (max-width: 781px) {
    .gn-site .gn-contatti .gn-contact-columns {
        flex-direction: column;
        gap: 35px;
    }

    .gn-site .gn-contatti .gn-contact-columns > .wp-block-column {
        width: 100%;
        flex-basis: auto !important;
    }

    .gn-site .gn-contatti > h2 {
        margin-bottom: 35px;
    }
}


/* =========================================
   GALLO NERO - MODULO CANDIDATURA
   ========================================= */

.gn-site .gpsk-candidatura {
    width: 100%;
    max-width: 760px;
    margin: 30px auto 60px;
    padding: 0 20px;
    box-sizing: border-box;
    font-family: 'Raleway', Arial, sans-serif;
    color: #151515;
}

.gn-site .gpsk-candidatura form {
    display: flex;
    flex-direction: column;
    gap: 22px;
    text-align: left;
}

/* Etichette */
.gn-site .gpsk-candidatura form > label {
    display: flex;
    flex-direction: column;
    gap: 9px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: #222;
}

/* Campi testo */
.gn-site .gpsk-candidatura input[type="text"],
.gn-site .gpsk-candidatura input[type="email"],
.gn-site .gpsk-candidatura textarea {
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    box-sizing: border-box;
    background: #fff;
    color: #151515;
    border: 1px solid #d5d5d5;
    border-radius: 2px;
    font: 400 15px/1.5 'Raleway', Arial, sans-serif;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}

.gn-site .gpsk-candidatura textarea {
    min-height: 150px;
    resize: vertical;
}

/* Focus */
.gn-site .gpsk-candidatura input[type="text"]:focus,
.gn-site .gpsk-candidatura input[type="email"]:focus,
.gn-site .gpsk-candidatura textarea:focus {
    border-color: #222;
    box-shadow: 0 0 0 2px rgba(0,0,0,.07);
}

/* Caricamento curriculum */
.gn-site .gpsk-candidatura-file {
    padding: 20px;
    border: 1px dashed #bbb;
    background: #fafafa;
    border-radius: 3px;
}

.gn-site .gpsk-candidatura input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: 14px;
    font-weight: 400;
    color: #555;
}

.gn-site .gpsk-candidatura input[type="file"]::file-selector-button {
    padding: 10px 16px;
    margin-right: 14px;
    background: #eee;
    border: 1px solid #ccc;
    border-radius: 2px;
    color: #222;
    font-family: inherit;
    cursor: pointer;
}

/* Privacy */
.gn-site .gpsk-candidatura .gpsk-candidatura-privacy {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
    color: #555;
}

.gn-site .gpsk-candidatura-privacy input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 2px 0 0;
    accent-color: #111;
}

.gn-site .gpsk-candidatura-privacy a {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Pulsante invio */
.gn-site .gpsk-candidatura button[type="submit"] {
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 15px 25px;
    background: #111;
    border: 1px solid #111;
    border-radius: 0;
    color: #fff;
    font: 600 14px/1.4 'Raleway', Arial, sans-serif;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.gn-site .gpsk-candidatura button[type="submit"]:hover {
    background: #333;
    color: #fff;
}

/* Honeypot antispam: invisibile */
.gn-site .gpsk-candidatura .gpsk-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Mobile */
@media (max-width: 781px) {
    .gn-site .gpsk-candidatura {
        padding: 0;
        margin: 20px auto 40px;
    }

    .gn-site .gpsk-candidatura form {
        gap: 18px;
    }

    .gn-site .gpsk-candidatura-file {
        padding: 15px;
    }
}


/* ==========================================
   GALLO NERO - HEADER E MENU DEFINITIVO
   ========================================== */

/* Header */
.gn-site .gn-header {
    height: 70px;
    overflow: visible !important;
}

.gn-site .gn-header-inner {
    max-width: 1420px;
    height: 70px;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 25px;
    overflow: visible !important;
}

/* Logo grande, sporgente sotto l'header */
.gn-site .gn-logo {
    position: relative;
    z-index: 100;
    flex-shrink: 0;
    align-self: flex-start;
}

.gn-site .gn-logo img {
    display: block;
    width: auto !important;
    height: 120px !important;
    max-height: none !important;
    object-fit: contain;
    padding: 5px;
    box-sizing: border-box;
}

/* Nasconde il vecchio titolo */
.gn-site .gn-header-title {
    display: none !important;
}

/* Gruppo logo e riconoscimenti */
.gn-site .gn-header-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    min-width: 0;
}

/* Michelin e Gambero Rosso */
.gn-site .gn-header-awards {
    display: flex;
    align-items: center;
    gap: 15px;
}

.gn-site .gn-header-awards a {
    display: flex;
    align-items: center;
}

.gn-site .gn-header-awards img {
    display: block;
    width: auto;
    max-width: 110px;
    max-height: 55px;
    height: auto;
    object-fit: contain;
}

/* Zona destra: lingue e hamburger */
.gn-site .gn-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    margin-left: auto;
}

/* Bandierine */
.gn-site .gn-header-languages,
.gn-site .gn-overlay-languages,
.gn-site .gn-languages {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gn-site .gn-header-languages a,
.gn-site .gn-overlay-languages a,
.gn-site .gn-languages a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 25px !important;
    line-height: 1;
    text-decoration: none;
    transition: transform .2s;
}

.gn-site .gn-header-languages a:hover,
.gn-site .gn-overlay-languages a:hover,
.gn-site .gn-languages a:hover {
    transform: scale(1.12);
}

/* Menu fullscreen: font 24px */
.gn-site .gn-fullscreen-menu a {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
}

/* Spaziatura voci menu */
.gn-site .gn-fullscreen-menu .gn-overlay-inner {
    gap: 12px;
}

/* Bandierine nel menu */
.gn-site .gn-overlay-languages {
    margin-top: 25px;
    gap: 20px;
}

.gn-site .gn-overlay-languages a {
    font-size: 28px !important;
}

/* Bandierine footer */
.gn-site .gn-footer .gn-languages {
    gap: 18px;
}

.gn-site .gn-footer .gn-languages a {
    font-size: 26px !important;
}

/* Desktop e tablet */
@media (max-width: 1024px) {
    .gn-site .gn-header-awards {
        display: none !important;
    }
}

/* Smartphone */
@media (max-width: 600px) {
    .gn-site .gn-header-inner {
        padding: 0 15px;
        gap: 10px;
    }

    .gn-site .gn-logo img {
        height: 95px !important;
    }

    .gn-site .gn-header-actions {
        gap: 12px;
    }

    .gn-site .gn-header-languages {
        gap: 7px;
    }

    .gn-site .gn-header-languages a {
        font-size: 20px !important;
    }

    .gn-site .gn-menu-toggle {
        width: 42px;
        height: 42px;
        padding: 7px;
    }

    .gn-site .gn-fullscreen-menu a {
        font-size: 22px;
    }
}


/* ==========================================
   GALLO NERO - FIX HEADER
   ========================================== */

/* Barra header */
.gn-site .gn-header {
    height: 70px;
    overflow: visible !important;
}

.gn-site .gn-header-inner {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    justify-content: space-between;
    height: 70px;
    min-height: 70px;
    max-width: 1420px;
    padding: 0 25px;
    overflow: visible !important;
}

/* Logo e riconoscimenti */
.gn-site .gn-header-brand {
    display: flex;
    align-items: center;
    gap: 25px;
    flex: 0 1 auto;
    min-width: 0;
    overflow: visible;
}

/* Logo 120px, sporgente sotto la barra */
.gn-site .gn-header .gn-logo {
    display: block;
    flex: 0 0 auto;
    width: auto;
    align-self: flex-start;
    position: relative;
    z-index: 100;
}

.gn-site .gn-header .gn-logo img {
    display: block !important;
    width: auto !important;
    height: 120px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    padding: 5px;
    box-sizing: border-box;
}

/* Michelin e Gambero Rosso */
.gn-site .gn-header .gn-awards {
    display: flex !important;
    align-items: center;
    gap: 15px;
    flex: 0 1 auto;
    min-width: 0;
}

.gn-site .gn-header .gn-awards a {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.gn-site .gn-header .gn-awards img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100px !important;
    max-height: 50px !important;
    object-fit: contain;
}

/* Bandierine e hamburger */
.gn-site .gn-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    margin-left: auto;
    flex: 0 0 auto;
}

.gn-site .gn-header-languages,
.gn-site .gn-overlay-languages,
.gn-site .gn-footer .gn-languages {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gn-site .gn-header-languages a,
.gn-site .gn-overlay-languages a,
.gn-site .gn-footer .gn-languages a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* WordPress trasforma le emoji in immagini SVG */
.gn-site .gn-header-languages img.emoji,
.gn-site .gn-overlay-languages img.emoji,
.gn-site .gn-footer .gn-languages img.emoji {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    max-width: 27px !important;
    max-height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
}

/* Menu fullscreen */
.gn-site .gn-fullscreen-menu .gn-overlay-inner > a {
    font-size: 24px !important;
    line-height: 1.3;
}

/* Nasconde il vecchio titolo */
.gn-site .gn-header-title {
    display: none !important;
}

/* Tablet e mobile */
@media (max-width: 1024px) {
    .gn-site .gn-header .gn-awards {
        display: none !important;
    }
}

@media (max-width: 600px) {
    .gn-site .gn-header-inner {
        padding: 0 15px;
        gap: 10px;
    }

    .gn-site .gn-header .gn-logo img {
        height: 95px !important;
    }

    .gn-site .gn-header-actions {
        gap: 10px;
    }

    .gn-site .gn-header-languages {
        gap: 7px;
    }

    .gn-site .gn-header-languages img.emoji {
        width: 23px !important;
        height: 23px !important;
    }

    .gn-site .gn-fullscreen-menu .gn-overlay-inner > a {
        font-size: 21px !important;
    }
}

/* LOGO: SPORGE SOLO SOTTO L'HEADER */

.gn-site .gn-header .gn-header-brand {
    align-self: flex-start;
    align-items: flex-start;
}

.gn-site .gn-header .gn-logo {
    position: relative;
    display: block;
    align-self: flex-start;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    transform: none !important;
    z-index: 100;
}

.gn-site .gn-header .gn-logo img {
    display: block !important;
    width: auto !important;
    height: 120px !important;
    max-height: none !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
}

/* I riconoscimenti restano centrati nella barra */
.gn-site .gn-header .gn-awards {
    align-self: center;
    margin-top: 10px;
}

/* Mobile */
@media (max-width: 600px) {
    .gn-site .gn-header .gn-logo img {
        height: 95px !important;
    }
}


