/* Componenti condivisi */
@media(min-width:1500px) {
    .ispcc-header .fy-container, .ispcc-footer .fy-container {
        padding-left:90px;
        padding-right:90px;
    }
}

@media(max-width:1100px) {
    .fy-menu-bar .fy-container {
        justify-content:flex-end;
        flex-wrap:wrap;
        padding-top:7px;
        padding-bottom:7px;
    }
    .fy-hamburger {
        display:flex;
        cursor:pointer;
    }
    #ispcc-navigation {
        width:100%;
    }
    .ispcc-header.menu-ready #ispcc-navigation {
        display:none;
    }
    .ispcc-header.menu-open #ispcc-navigation {
        display:block;
    }
    .fy-toplinks {
        align-items:stretch;
        flex-direction:column;
        gap:0;
        padding:10px 0;
    }
    .fy-toplinks > li {
        flex-wrap:wrap;
    }
    .fy-toplinks > li > a {
        padding:12px 0;
    }
    .fy-submenu ul {
        position:static;
        width:100%;
        max-width:none;
    }
    .fy-submenu[open] {
        width:100%;
    }
    .fy-brand {
        flex-wrap:wrap;
    }
}

@media(max-width:640px) {
    .ispcc-header .fy-container, .ispcc-footer .fy-container {
        padding-left:18px;
        padding-right:18px;
    }
    .fy-brand {
        flex-direction:column;
        gap:14px;
    }
    .fy-main-logos {
        width:100%;
        gap:14px;
        justify-content:center;
    }
    .fy-main-logos a {
        flex:1 1 0;
        min-width:0;
        display:flex;
        justify-content:center;
    }
    .fy-main-logos img {
        width:180px;
        object-fit:contain;
    }
    .fy-patronage {
        width:100%;
        margin:12px 0 0;
        justify-content:center;
        flex-wrap:wrap;
        white-space:normal;
        text-align:center;
    }
    .fy-patronage strong {
        width:100%;
    }
    .ispcc-footer {
        padding:28px 0 16px;
    }
    .fy-footer-form-row {
        grid-template-columns:1fr;
        gap:20px;
    }
    .fy-footer-form input, .fy-footer-form textarea {
        padding:16px 18px;
        border-radius:14px;
        font-size:18px;
    }
    .fy-footer-form textarea {
        min-height:140px;
    }
    .fy-footer-cta {
        width:100%;
        padding:16px 20px;
        border-radius:16px;
        font-size:20px;
    }
}

/* Homepage ISPCC e preferenze di movimento */
@media(max-width:1024px) {
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-grid-2 {
        grid-template-columns:1fr;
    }
}

@media(max-width:640px) {
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-container {
        padding-left:18px;
        padding-right:18px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-section {
        padding:54px 18px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-title {
        font-size:30px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-body-text {
        font-size:13pt;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-main-hero {
        min-height:500px;
        background-position:center top;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-hero-card {
        width:100%;
        max-width:100%;
        padding:22px 20px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-hero-title-logo {
        flex-direction:column;
        gap:18px;
        text-align:center;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-hero-title-logo img {
        width:130px;
        max-width:70%;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-hero-title-text {
        width:100%;
        font-size:30px;
        line-height:1.12;
        overflow-wrap:break-word;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-grid-2 {
        padding:0;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-about-image {
        float:none;
        width:100%;
        max-width:360px;
        margin:0 auto 24px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-box {
        padding:24px 18px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-partner-head {
        flex-direction:column;
        gap:20px;
        text-align:center;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-partner-head img {
        width:100%;
        max-width:220px;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-partner-text p {
        overflow-wrap:break-word;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-internship-cta {
        width:100%;
        min-width:0;
        min-height:62px;
        font-size:20px;
    }
}

@media(prefers-reduced-motion:reduce) {
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) *, :is(#ispcc-home, #ispcc-committees, #ispcc-generic) *::before, :is(#ispcc-home, #ispcc-committees, #ispcc-generic) *::after {
        transition:none !important;
    }
    :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-card:hover, :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-box:hover, :is(#ispcc-home, #ispcc-committees, #ispcc-generic) .cp-internship-cta:hover {
        transform:none;
    }
}

/* Committees */
@media (max-width: 1024px) {
    #ispcc-committees .committee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    #ispcc-committees .committee-grid { grid-template-columns: 1fr; margin: 24px auto 40px; }
    #ispcc-committees .committee-card { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    #ispcc-committees .committee-card:hover { transform: none; }
}

/* Pagine generiche */
  @media (max-width:640px) {
    #ispcc-generic .cp-topics-box {
      padding: 24px 18px;
      border-radius: 18px;
    }

    #ispcc-generic .cp-topics-list {
      grid-template-columns: 1fr;
    }

    #ispcc-generic .cp-topic-item {
      min-height: 64px;
      padding: 14px 16px;
    }

    #ispcc-generic .cp-topic-item:last-child:nth-child(odd) {
      grid-column: auto;
      width: 100%;
    }

    #ispcc-generic .cp-topic-name {
      font-size: 16px;
    }
  }


@media (max-width: 640px) {
    #ispcc-generic .cp-internship-box { padding: 24px 18px; }
    #ispcc-generic .cp-internship-options { grid-template-columns: 1fr; }
    #ispcc-generic .cp-internship-option:nth-child(3) { grid-column: auto; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    #ispcc-generic .zoom-card:hover, #ispcc-generic .cp-topic-item:hover { transform: none; }
}
