/**
Theme Name: Project Line Child
Author: Grafì Comunicazione
Author URI: https://www.grafi.it/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: project-line-child
Template: astra
*/
.pfg-wrap {
    --pfg-gap: clamp(14px, 2vw, 24px);
    --pfg-border: #d9dee7;
    --pfg-text: #1b2430;
    --pfg-chip-bg: #f5f7fa;
    --pfg-active: #111827;
    --pfg-active-text: #fff;
}

.pfg-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    justify-content: center;
}

.pfg-tab {
    appearance: none;
    border: 1px solid transparent;
    background: transparent;
    color: var(--pfg-text);
    padding: 20px 25px;
    border-radius: 0;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .4s ease-in-out;
}

.pfg-tab:hover {
    border-color: #566ca5ae;
    background: #566ca5ae;
}

.pfg-tab.is-active {
    background: #566CA5;
    color: var(--pfg-active-text);
    border-color: #566CA5;
}

.pfg-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

@media (max-width:1024px) {
    .pfg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:680px) {
    .pfg-grid {
        grid-template-columns: 1fr
    }
        .pfg-tabs { 
            gap: 25px!important;
        }
}

.pfg-card {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    background: #0f1722;
    border: 1px solid #e4eaf2;
    box-shadow: 0 8px 30px rgba(10, 16, 24, .08);
    transform-origin: center center;
    transition: opacity .28s ease, transform .28s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity;
}

.pfg-card.is-leaving {
    opacity: 0;
    transform: scale(.72);
}

.pfg-card.is-entering {
    opacity: 0;
    transform: scale(.84);
}

.pfg-card.is-hidden {
    display: none !important;
}

.pfg-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.pfg-thumb {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    background: #f1f3f7;
    overflow: hidden;
}

.pfg-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.22, .61, .36, 1), filter .4s ease;
}

.pfg-card:hover .pfg-thumb img {
    transform: scale(1.07);
    filter: saturate(1.05);
}

.pfg-thumb-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(140deg, #edf1f6 0%, #f7f9fb 100%);
}

.pfg-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 30px 30% 30px 30px;
    background: linear-gradient(to top,
            rgba(6, 11, 19, .92) 0%,
            rgba(6, 11, 19, .72) 34%,
            rgba(6, 11, 19, .25) 62%,
            rgba(6, 11, 19, 0) 100%);
}

.pfg-overlay-panel {
    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.pfg-title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.5rem, 1.3vw + .9rem, 1.78rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .01em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .45);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pfg-data {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin: 8px 0 0;
    color: #e8eef7;
    font-size: .84rem;
    line-height: 1.28;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .38);
}

.pfg-data span {
    display: inline-block;
}

.pfg-category {
    margin: 4px 0 0;
    color: #dce6f4;
    font-size: .82rem;
    line-height: 1.28;
    text-transform: none;
    letter-spacing: 0;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .38);
}

@media (max-width:680px) {
    .pfg-overlay {
        padding: 14px
    }

    .pfg-title {
        font-size: 1.22rem
    }

    .pfg-data {
        font-size: .82rem
    }

    .pfg-category {
        font-size: .8rem
    }
}
.pfg-overlay-panel {
    transition: transform .32s cubic-bezier(0.22, 1, 0.36, 1);
}

.pfg-title,
.pfg-data-row,
.pfg-category {
    transition:
        transform .5s cubic-bezier(0.22, 1, 0.36, 1),
        opacity .5s ease-in-out,
        text-shadow .5s ease-in-out;
    will-change: transform, opacity;
}

.pfg-data-row:nth-child(1) {
    transition-delay: .02s;
}

.pfg-data-row:nth-child(2) {
    transition-delay: .05s;
}

.pfg-category {
    transition-delay: .08s;
}

.pfg-card:hover .pfg-overlay-panel,
.pfg-card:focus-within .pfg-overlay-panel {
    transform: translateY(-2px);
}

.pfg-card:hover .pfg-title,
.pfg-card:focus-within .pfg-title {
    transform: translateY(-2px);
    text-shadow: 0 4px 18px rgba(0, 0, 0, .42);
}

.pfg-card:hover .pfg-data-row,
.pfg-card:focus-within .pfg-data-row {
    transform: translateY(-1px);
    opacity: .98;
}

.pfg-card:hover .pfg-category,
.pfg-card:focus-within .pfg-category {
    transform: translateY(-1px);
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {

    .pfg-overlay-panel,
    .pfg-title,
    .pfg-data-row,
    .pfg-category {
        transition: none !important;
        transform: none !important;
    }
}
body .p-min-margin {
    margin-bottom: 5px!important;
}
body .entry-content .a-lavorazioni a {
    color: #18191A!important;
    transition: .4s ease-in-out;
    text-transform: normal!important;
}
body .entry-content .a-lavorazioni a:hover { 
    color: #566CA5!important;
}
body .entry-content :where(h3) a {
    text-transform: normal!important;
}
.home h1,
.page-id-3862 h1,
.archive h1 {
    font-size: clamp(4rem, 1.5rem + 4vw, 6rem)!important;
}
.page-id-1354 h1,
.page-id-1352 h1,
.single-progetti h1 {
    font-size: clamp(4rem, 6vw, 5.12rem) !important;
}
.single-progetti h1 {
    font-size: clamp(3rem, 1.2rem + 4vw, 5.12rem) !important;
}
#gspb_heading-id-gsbp-a12cd61 {
    font-size: clamp(3rem, 6vw, 4rem) !important;
}
.page-id-3862 h2 {
    font-size: clamp(2.8rem, 6vw, 3.625rem) !important;
}
.page-id-3862 .uagb-ifb-title-wrap .uagb-ifb-title {
    font-size: clamp(1.9rem, 5vw, 2.125rem) !important;
}
.page-id-1354 h2:not(.gspb_heading-id-gsbp-7b7e089) {
    font-size: clamp(2.8rem, 5vw, 3rem) !important;
}
.single-progetti .entry-content.wp-block-post-content[data-aos],
.single-progetti .entry-content.wp-block-post-content.aos-init,
.single-progetti .entry-content.wp-block-post-content.aos-animate {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    filter: none !important;
}
/* 1) Correggi il tuo pattern: niente 100vw e z-index valido */
body .measure-block::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  max-width: 100%;
  height: 50px;
  background-image: url("https://projectline.testgrafi.it/wp-content/uploads/2025/10/pattern.svg");
  background-repeat: repeat-x;
  background-size: auto 50px;
  z-index: 1;
  pointer-events: none;
}

/* 2) Fix overflow orizzontale solo mobile/tablet */
@media (max-width: 921px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .entry-content[data-ast-blocks-layout],
  .uagb-is-root-container,
  .gspb_row,
  .gspb_row__content,
  [id^="gspb_col-id"],
  [class*="gspb_col-id-"],
  .gspb_image,
  .alignfull {
    max-width: 100%;
    overflow-x: hidden;
  }

  .gspb_image img,
  .wp-block-image img,
  .uagb-image__img {
    max-width: 100%;
    height: auto;
  }
}
body .measure-block::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    max-width: 100%;
    height: 50px;
    background-image: url("https://projectline.testgrafi.it/wp-content/uploads/2025/10/pattern.svg");
    background-repeat: repeat-x;
    background-size: auto 50px;
    z-index: 1;
    pointer-events: none;
}

@media (max-width: 921px) {
    .entry-content[data-ast-blocks-layout],
    .uagb-is-root-container,
    .gspb_row,
    .gspb_row__content,
    [id^="gspb_col-id"],
    [class*="gspb_col-id-"],
    .gspb_image,
    .alignfull {
        overflow: visible !important;
    }
    html,
    body,
    #page,
    .site,
    #content,
    .site-content {
        overflow-x: clip !important;
    }
    @supports not (overflow: clip) {

        html,
        body,
        #page,
        .site,
        #content,
        .site-content {
            overflow-x: hidden !important;
        }
    }
    .ast-page-builder-template .entry-content>.alignfull,
    .ast-page-builder-template .entry-content[data-ast-blocks-layout]>.alignfull,
    .ast-page-builder-template .entry-content[data-ast-blocks-layout]>.alignwide {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 599px) {
    #gspb_row-id-gsbp-22e2e64>.gspb_backgroundOverlay.gspb-inview-active {
            background-size: cover !important;
        }
    body .inverse-container .gspb_row__content {
        flex-direction: column-reverse!important;
    }
    body .prev-next-text a {
        font-size: 15px;
        font-weight: 900;
    }
}
