/*
 * GMP S.p.A. â€” Custom Theme CSS
 * Brand: #DB0812 (primary red), #AF060E (dark red), #1D1D1B (black), #8B8179 (warm gray)
 * Font: Articulat CF (via TypeKit)
 * Design: Dark corporate, diagonal cuts, geometric accents
 *
 * NOTE: All rules that the live editor might override use :where() for zero specificity.
 * This ensures live editor generated CSS always wins.
 */

/* â•â•â• ROOT VARIABLES â•â•â• */
:root {
    --gmp-red: #DB0812;
    --gmp-red-dark: #AF060E;
    --gmp-black: #1D1D1B;
    --gmp-gray: #8B8179;
    --gmp-gray-light: #BBB3AD;
    --gmp-gray-warm: #9C948D;
    --gmp-white: #FFFFFF;
    --gmp-off-white: #F5F5F3;
}

/* â•â•â• GLOBAL TYPOGRAPHY â•â•â• */
body {
    color: var(--gmp-black);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:where(h1, h2, h3, h4, h5, h6) {
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* â•â•â• HEADER â•â•â• */
:where(.site-header) {
    transition: background-color 0.4s ease;
}

:where(.site-header .nav-links) .nav-link {
    transition: color 0.3s ease;
}

/* Dropdown menu â€” overridable by live editor */
:where(.site-header .dropdown-menu) {
    background: var(--gmp-black);
    border: none;
    border-top: 3px solid var(--gmp-red);
    border-radius: 0;
    min-width: 220px;
}
:where(.site-header .submenu-lateral-panel) {
    background: var(--gmp-black);
    border: none;
    border-left: 3px solid var(--gmp-red);
    border-radius: 0;
}
:where(.site-header) .nav-item.has-submenu > a .submenu-chevron {
    color: inherit;
}

/* Mobile menu â€” overridable by live editor */
:where(.mobile-menu) {
    background: var(--gmp-black);
}
:where(.mobile-menu .nav-link) {
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* â•â•â• BUTTONS â•â•â• */
/*:where(.custom-button.primary),*/
/*:where(.custom-button:not(.secondary):not(.outline):not(.ghost)) {*/
/*    transition: transform 0.2s ease;*/
/*}*/
/*:where(.custom-button:hover) {*/
/*    transform: translateY(-2px);*/
/*}*/

/* Ghost button GMP style */
:where(.custom-button.ghost) {
    border: 2px solid var(--gmp-white);
    color: var(--gmp-white);
    background: transparent;
}
:where(.custom-button.ghost:hover) {
    background: var(--gmp-white);
    color: var(--gmp-black);
}

/* â•â•â• HERO SECTIONS â•â•â• */
:where(.hero-carousel) {
    position: relative;
}
:where(.hero-carousel)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
    pointer-events: none;
    z-index: 1;
}

/* â•â•â• SERVICE CARDS (dark background) â•â•â• */
:where(.pp-service-card) {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 4px;
    padding: 40px 30px;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
:where(.pp-service-card:hover) {
    border-color: var(--gmp-red);
    transform: translateY(-4px);
}
:where(.pp-service-card .pp-service-icon) {
    width: 80px;
    height: 80px;
    margin-bottom: 24px;
}

/* â•â•â• ACCORDION / COLLAPSE (GMP Style) â•â•â• */
:where(.pb-collapse-item) {
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
:where(.pb-collapse-title) {
    font-weight: 600;
    font-size: 16px;
    padding: 18px 0;
    cursor: pointer;
    transition: color 0.2s;
}
:where(.pb-collapse-title:hover) {
    color: var(--gmp-red);
}

/* On dark backgrounds */
:where([style*="background-color: #1D1D1B"] .pb-collapse-item),
:where([style*="background-color: rgb(29, 29, 27)"] .pb-collapse-item) {
    border-bottom-color: rgba(255,255,255,0.1);
}

/* â•â•â• ICON LIST (GMP Style) â•â•â• */
:where(.min-title h6) {
    font-weight: 600;
}

/* â•â•â• COUNTER (GMP Style) â•â•â• */
:where(.tpl-counter-value) {
    letter-spacing: -0.03em;
}

/* â•â•â• QUERY LOOP CARDS â•â•â• */
/* Query card styles managed by live editor */

/* â•â•â• DOWNLOAD CARDS â•â•â• */
:where(.tpl-download-card) {
    transition: border-color 0.2s;
}
:where(.tpl-download-card:hover) {
    border-color: var(--gmp-red);
}
:where(.tpl-download-btn) {
    background: var(--gmp-red);
    color: #fff;
    transition: background 0.2s;
}
:where(.tpl-download-btn:hover) {
    background: var(--gmp-red-dark);
}

/* â•â•â• FORM STYLING â•â•â• */
:where(.custom-input) {
    border: 1px solid var(--gmp-gray-light);
    border-radius: 2px;
    padding: 14px 16px;
    font-size: 15px;
    transition: border-color 0.2s;
    background: var(--gmp-white);
}
:where(.custom-input:focus) {
    border-color: var(--gmp-red);
    outline: none;
}
:where(.form-submit-group .custom-button) {
    background: var(--gmp-red);
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-weight: 400;
    letter-spacing: 1px;
    border-radius: 2px;
}
:where(.form-submit-group .custom-button:hover) {
    background: var(--gmp-red-dark);
}

/* â•â•â• FOOTER â•â•â• */
:where(.site-footer) {
    position: relative;
}
:where(.site-footer a) {
    transition: color 0.2s;
}
:where(.site-footer a:hover) {
    color: var(--gmp-white);
    text-decoration: underline;
}

/* Footer copyright bar */
:where(.pp-footer-copyright) {
    border-top: 1px solid rgba(255,255,255,0.15);
    padding: 16px 0;
    font-size: 13px;
    color: rgba(255,255,255,0.6);
}

/* â•â•â• SHAPE DIVIDERS â•â•â• */
:where(.pp-shape-divider svg) {
    display: block;
}

/* â•â•â• BREADCRUMBS â•â•â• */
:where(.pp-breadcrumbs) {
    font-size: 13px;
    color: var(--gmp-gray);
    padding: 12px 0;
}
:where(.pp-breadcrumbs a) {
    color: var(--gmp-gray);
    text-decoration: none;
}
:where(.pp-breadcrumbs a:hover) {
    color: var(--gmp-red);
}

/* â•â•â• SCROLL ANIMATIONS â•â•â• */
.pp-anim-fadeInUp {
    animation: gmpFadeInUp 0.8s ease forwards;
}
@keyframes gmpFadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* â•â•â• SELECTION â•â•â• */
::selection {
    background: var(--gmp-red);
    color: var(--gmp-white);
}

/* â•â•â• SCROLLBAR â•â•â• */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--gmp-off-white);
}
::-webkit-scrollbar-thumb {
    background: var(--gmp-gray-light);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--gmp-gray);
}

/* â•â•â• RESPONSIVE â•â•â• */
@media (max-width: 991px) {
    :where(.site-header .nav-links) .nav-link {
        font-size: 14px;
        padding: 12px 20px;
    }
}

@media (max-width: 768px) {
    :where(h1) { font-size: 28px; }
    :where(h2) { font-size: 24px; }

    :where(.pp-query-card:hover) {
        transform: none;
    }
}

/* â•â•â• UTILITY CLASSES â•â•â• */
.gmp-text-red { color: var(--gmp-red); }
.gmp-bg-red { background-color: var(--gmp-red); }
.gmp-bg-black { background-color: var(--gmp-black); }
.gmp-text-gray { color: var(--gmp-gray); }
.gmp-uppercase { text-transform: uppercase; letter-spacing: 0.05em; }
.gmp-divider { width: 60px; height: 3px; background: var(--gmp-red); }


/* Shape masks â€” SVG masks preserve exact shape regardless of element size */
.costruzioni,
.materiali,
.green {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  -webkit-mask-position: center;
  mask-position: center;
}

/* costruzioni.svg â€” viewBox: 155.56 x 200 */
.costruzioni {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 200 0 200 0 81.56 63.77 0' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 200 0 200 0 81.56 63.77 0' fill='black'/%3E%3C/svg%3E");
}

/* materiali.svg â€” viewBox: 155.56 x 200 */
.materiali {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 84.52 82.11 200 0 200 0 115.48 73.44 0' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 84.52 82.11 200 0 200 0 115.48 73.44 0' fill='black'/%3E%3C/svg%3E");
}

/* green.svg â€” viewBox: 155.56 x 200 */
.green {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 125.23 56.58 200 0 200 0 74.77 97.18 0' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155.56 200'%3E%3Cpolygon points='155.56 0 155.56 125.23 56.58 200 0 200 0 74.77 97.18 0' fill='black'/%3E%3C/svg%3E");
}

/* Overlap slides containing shaped cards */
.splide__slide:has(.costruzioni, .materiali, .green) {margin-right: -150px !important;}


@media screen 
  and (min-device-width: 1200px) 
  and (max-device-width: 1450px)  {
    
.splide__slide:has(.costruzioni, .materiali, .green) {margin-right: -40px !important;}


}

@media (min-width: 768px) and (max-width: 1024px) {
    .splide__slide:has(.costruzioni, .materiali, .green) {margin-right: 40px !important;}

}

@media (min-width: 768px) and (max-width: 1280px) and (orientation: portrait) {
    .splide__slide:has(.costruzioni, .materiali, .green) {margin-right: 20px !important;}

}

@media (max-width: 767px) {
    .splide__slide:has(.costruzioni, .materiali, .green) {margin-right: 20px !important;}
    

}

@media (min-width: 1025px) and (max-width: 1280px) and (orientation: landscape) {
   .splide__slide:has(.costruzioni, .materiali, .green) {margin-right: 40px !important;}
}


