.cgk-shop-placeholder{border:2px dashed #7f54b3;border-radius:14px;padding:24px;text-align:center;background:#fff;margin:24px 0}.cgk-layout-on img{max-width:100%;height:auto}@media(max-width:768px){.cgk-layout-on .site-content{width:100%;}.cgk-layout-on .inside-article{box-sizing:border-box}}

/* RC24.26.5 — GeneratePress footer typography and vertical spacing */
.site-footer .footer-widgets .widget {
    margin-bottom: 0;
}
.site-footer .footer-widgets .widget p,
.site-footer .footer-widgets .widget li {
    line-height: 1.35;
}
.site-footer .footer-widgets .widget p {
    margin-top: 0;
    margin-bottom: 10px;
}
.site-footer .footer-widgets .widget p:last-child,
.site-footer .footer-widgets .widget li:last-child {
    margin-bottom: 0;
}
.site-footer .footer-widgets .widget ul,
.site-footer .footer-widgets .widget ol {
    margin-top: 0;
    margin-bottom: 0;
}
.site-footer .footer-widgets .widget li {
    margin-bottom: 8px;
}
.site-footer .footer-widgets .widget h2,
.site-footer .footer-widgets .widget h3,
.site-footer .footer-widgets .widget h4,
.site-footer .footer-widgets .widget .widget-title {
    line-height: 1.25;
    margin-bottom: 12px;
}
.site-footer .footer-widgets .widget hr {
    margin-top: 16px;
    margin-bottom: 18px;
}
@media (max-width: 768px) {
    .site-footer .footer-widgets .widget p {
        margin-bottom: 8px;
    }
    .site-footer .footer-widgets .widget li {
        margin-bottom: 7px;
    }
    .site-footer .footer-widgets .widget hr {
        margin-top: 14px;
        margin-bottom: 16px;
    }
}


/* RC24.34.1 — Home mobile responsive polish (layout only)
 * Scope: GeneratePress header, homepage hero and footer on smartphones.
 * No commercial/product logic is changed.
 */
@media (max-width: 768px) {
    /* Header: compact, balanced and easier to use with one hand. */
    body.home .site-header .inside-header,
    body.home .navigation-stick .inside-navigation,
    body.home .sticky-enabled .main-navigation.is_stuck .inside-navigation {
        min-height: 76px;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        padding-left: 20px !important;
        padding-right: 18px !important;
        box-sizing: border-box;
    }

    body.home .site-logo,
    body.home .navigation-branding {
        margin-right: auto !important;
    }

    body.home .site-logo img,
    body.home .navigation-branding img,
    body.home .is_stuck .navigation-branding img {
        width: auto !important;
        height: auto !important;
        max-height: 58px !important;
    }

    body.home .menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        padding: 7px 0 7px 14px !important;
        margin-left: auto !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
        letter-spacing: .01em;
    }

    body.home .menu-toggle .gp-icon,
    body.home .menu-toggle .mobile-menu {
        font-size: inherit !important;
        line-height: 1 !important;
    }

    /* Homepage hero: retain the original content while reducing vertical bulk. */
    body.home .entry-content > .gb-container:first-child,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child,
    body.home .site-main > article:first-child .entry-content > .wp-block-group:first-child {
        min-height: auto !important;
        padding-top: clamp(44px, 11vw, 58px) !important;
        padding-bottom: clamp(42px, 10vw, 54px) !important;
        background-position: 68% center !important;
    }

    body.home .entry-content > .gb-container:first-child > .gb-inside-container,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
    body.home .site-main > article:first-child .entry-content > .wp-block-group:first-child > .wp-block-group__inner-container {
        width: min(100%, 720px);
        margin-left: auto;
        margin-right: auto;
        padding-left: 22px !important;
        padding-right: 22px !important;
        box-sizing: border-box;
    }

    body.home .entry-content > .gb-container:first-child h1,
    body.home .entry-content > .gb-container:first-child h2,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h1,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h2 {
        margin-top: 0 !important;
        margin-bottom: 18px !important;
        font-size: clamp(32px, 9.3vw, 40px) !important;
        line-height: 1.16 !important;
        letter-spacing: -.02em;
    }

    body.home .entry-content > .gb-container:first-child h3,
    body.home .entry-content > .gb-container:first-child h4,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h3,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h4 {
        margin-top: 0 !important;
        margin-bottom: 22px !important;
        font-size: clamp(23px, 6.5vw, 28px) !important;
        line-height: 1.32 !important;
    }

    body.home .entry-content > .gb-container:first-child p,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child p {
        margin-top: 0 !important;
        margin-bottom: 22px !important;
        font-size: clamp(17px, 4.7vw, 19px) !important;
        line-height: 1.48 !important;
    }

    body.home .entry-content > .gb-container:first-child p:last-child,
    body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child p:last-child {
        margin-bottom: 0 !important;
    }

    /* Footer blocks: preserve the current structure but remove excess empty space. */
    body.home .site-footer .footer-widgets-container {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.home .site-footer .footer-widget-1,
    body.home .site-footer .footer-widget-2,
    body.home .site-footer .footer-widget-3,
    body.home .site-footer .footer-widgets .widget {
        margin-bottom: 0 !important;
    }

    body.home .site-footer .footer-widgets > div {
        padding-top: 22px;
        padding-bottom: 22px;
    }

    body.home .site-footer .footer-widgets > div:first-child {
        padding-top: 0;
    }

    body.home .site-footer .footer-widgets > div:last-child {
        padding-bottom: 0;
    }

    body.home .site-footer .footer-widgets img {
        max-height: 62px;
        width: auto;
    }

    body.home .site-footer .footer-widgets p,
    body.home .site-footer .footer-widgets li {
        line-height: 1.4;
    }

    body.home .site-footer .footer-widgets a {
        display: inline-block;
        min-height: 32px;
        padding-top: 3px;
        padding-bottom: 3px;
    }

    body.home .site-footer .footer-widgets hr {
        width: 88%;
        margin: 14px auto 16px !important;
    }

    body.home .site-info {
        padding: 10px 44px 10px 16px !important;
        font-size: 14px;
        line-height: 1.55;
        text-align: center;
    }
}

@media (max-width: 420px) {
    body.home .site-header .inside-header,
    body.home .navigation-stick .inside-navigation,
    body.home .sticky-enabled .main-navigation.is_stuck .inside-navigation {
        min-height: 70px;
        padding-left: 18px !important;
        padding-right: 16px !important;
    }

    body.home .site-logo img,
    body.home .navigation-branding img,
    body.home .is_stuck .navigation-branding img {
        max-height: 52px !important;
    }

    body.home .menu-toggle {
        font-size: 17px !important;
    }
}


/* RC24.34.2 — Home mobile compact pass 2
 * Solo layout responsive. Nessuna logica commerciale modificata.
 */
@media (max-width: 768px) {
  body.home .site-header .inside-header,
  body.home .navigation-stick .inside-navigation,
  body.home .sticky-enabled .main-navigation.is_stuck .inside-navigation {
    min-height: 62px !important;
    padding: 7px 14px !important;
  }
  body.home .site-logo img,
  body.home .navigation-branding img,
  body.home .is_stuck .navigation-branding img {
    max-height: 46px !important;
  }
  body.home .menu-toggle {
    min-height: 40px !important;
    padding: 5px 0 5px 10px !important;
    gap: 7px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
  }

  body.home .entry-content > .gb-container:first-child,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child,
  body.home .site-main > article:first-child .entry-content > .wp-block-group:first-child {
    min-height: 0 !important;
    padding: 30px 0 32px !important;
    background-position: 72% center !important;
  }
  body.home .entry-content > .gb-container:first-child > .gb-inside-container,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
  body.home .site-main > article:first-child .entry-content > .wp-block-group:first-child > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.home .entry-content > .gb-container:first-child h1,
  body.home .entry-content > .gb-container:first-child h2,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h1,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h2 {
    font-size: clamp(29px, 8.2vw, 34px) !important;
    line-height: 1.12 !important;
    margin: 0 0 12px !important;
  }
  body.home .entry-content > .gb-container:first-child h3,
  body.home .entry-content > .gb-container:first-child h4,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h3,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child h4 {
    font-size: clamp(20px, 5.7vw, 23px) !important;
    line-height: 1.28 !important;
    margin: 0 0 15px !important;
  }
  body.home .entry-content > .gb-container:first-child p,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child p {
    font-size: clamp(15.5px, 4.25vw, 17px) !important;
    line-height: 1.42 !important;
    margin: 0 0 15px !important;
  }

  body.home .site-footer .footer-widgets-container {
    padding: 14px 14px 12px !important;
  }
  body.home .site-footer .footer-widgets,
  body.home .site-footer .inside-footer-widgets {
    gap: 0 !important;
    row-gap: 0 !important;
  }
  body.home .site-footer .footer-widgets > div,
  body.home .site-footer .inside-footer-widgets > div {
    padding: 12px 0 !important;
    margin: 0 !important;
  }
  body.home .site-footer .footer-widgets img {
    max-height: 48px !important;
    margin-bottom: 2px !important;
  }
  body.home .site-footer .footer-widgets p,
  body.home .site-footer .footer-widgets li {
    font-size: 15px !important;
    line-height: 1.3 !important;
    margin-bottom: 5px !important;
  }
  body.home .site-footer .footer-widgets a {
    min-height: 0 !important;
    padding: 2px 0 !important;
    line-height: 1.25 !important;
  }
  body.home .site-footer .footer-widgets hr {
    width: 92% !important;
    margin: 9px auto 10px !important;
  }
  body.home .site-info {
    padding: 8px 38px 8px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 420px) {
  body.home .site-header .inside-header,
  body.home .navigation-stick .inside-navigation,
  body.home .sticky-enabled .main-navigation.is_stuck .inside-navigation {
    min-height: 58px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.home .site-logo img,
  body.home .navigation-branding img,
  body.home .is_stuck .navigation-branding img {
    max-height: 42px !important;
  }
  body.home .entry-content > .gb-container:first-child,
  body.home .site-main > article:first-child .entry-content > .wp-block-cover:first-child,
  body.home .site-main > article:first-child .entry-content > .wp-block-group:first-child {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
  }
}
