/* ==========================================================================
   ENERFUEL — Responsive
   Breakpoint:  1280 laptop · 1024 tablet orizzontale · 768 tablet · 560 smartphone
   ========================================================================== */

/* --- Laptop -------------------------------------------------------------- */
@media (max-width: 1280px) {
  .hero__title { grid-column: 1 / span 11; }
  .flex-ops__figure { grid-column: 1 / span 5; }
  .point { grid-template-columns: 2.5rem minmax(0, 11rem) minmax(0, 1fr); }
  .values__intro { grid-column: 1 / span 5; }
  .values-list { grid-column: 6 / -1; }
  .value { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .value p { grid-column: 2; }
}

/* --- Tablet orizzontale: menu compatto ----------------------------------- */
@media (max-width: 1024px) {
  :root { --header-h: 4.75rem; }

  .nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .brand svg { height: 3rem; }

  .hero__intro { grid-column: 1 / span 7; }
  .hero__actions { grid-column: 1 / -1; justify-content: flex-start; margin-top: var(--s-6); }
  .hero__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero__meta .hero__scroll { display: none; }
  .hero__intro { max-width: 36rem; }

  .profile__year { grid-column: 1 / -1; }
  .profile__text { grid-column: 1 / -1; margin-top: var(--s-7); max-width: 44rem; }
  .profile__figure { grid-column: 2 / -1; }

  .products__head .t-h2 { grid-column: 1 / span 10; }
  .products__head p { grid-column: 1 / span 8; margin-top: var(--s-5); }

  .channel--extra { grid-column: 1 / span 6; }
  .channel--rete { grid-column: 7 / span 6; }

  .flex-ops__figure { grid-column: 1 / span 5; grid-row: 1 / span 2; }
  .flex-ops .section-head,
  .flex-ops__statement { grid-column: 7 / -1; }
  .points { grid-column: 1 / -1; }
  .point { grid-template-columns: 3rem minmax(0, 14rem) minmax(0, 1fr); }

  .fleet__intro { grid-column: 1 / -1; max-width: 40rem; margin-bottom: var(--s-7); }
  .fleet-sheet { grid-column: 1 / -1; }

  .quality__intro { grid-column: 1 / -1; max-width: 40rem; margin-bottom: var(--s-7); }
  .cert-list,
  .compliance { grid-column: 1 / -1; }
  .cert-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cert,
  .cert:nth-child(even) { padding-left: var(--s-4); padding-right: var(--s-4); border-left: 1px solid var(--c-line-strong); }
  .cert:first-child { padding-left: 0; border-left: 0; }

  .values__intro { position: static; grid-column: 1 / -1; max-width: 40rem; margin-bottom: var(--s-7); }
  .values-list { grid-column: 1 / -1; }
  .value { grid-template-columns: 3rem minmax(0, 1.1fr) minmax(0, 1fr); }
  .value p { grid-column: auto; }

  .cta__title { grid-column: 1 / -1; }
  .cta__body > p { grid-column: 1 / span 6; }
  .cta__channels { grid-column: 7 / -1; }

  .footer__brand { grid-column: 1 / -1; }
  .footer__col,
  .footer__col--wide { grid-column: span 4; }
}

/* --- Tablet verticale ---------------------------------------------------- */
@media (max-width: 768px) {
  .hero__title { grid-column: 1 / -1; }
  .hero__intro { grid-column: 1 / -1; }

  .facts { grid-template-columns: 1fr; border-top: 0; }
  .fact,
  .fact + .fact {
    display: grid;
    grid-template-columns: minmax(7rem, auto) 1fr;
    align-items: baseline;
    gap: var(--s-5);
    padding: var(--s-5) 0;
    border-left: 0;
    border-top: 1px solid var(--c-line-strong);
  }
  .fact .t-num { margin: 0; }

  .profile__figure { grid-column: 1 / -1; }

  .product-row { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .product-row__tag { grid-column: 2; text-align: left; margin-top: calc(-1 * var(--s-3)); }

  .channel--extra,
  .channel--rete { grid-column: 1 / -1; }

  .flex-ops__figure {
    grid-column: 1 / span 10;
    grid-row: auto;
    margin-bottom: var(--s-8);
  }
  .flex-ops__figure .media { aspect-ratio: 5 / 4; }
  .flex-ops .section-head,
  .flex-ops__statement { grid-column: 1 / -1; }
  .point { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--s-2) var(--s-4); }
  .point p { grid-column: 2; }

  .fleet__panorama .media { aspect-ratio: 2 / 1; }

  .cert-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert:nth-child(odd) { padding-left: 0; border-left: 0; }
  .cert:nth-child(even) { padding-left: var(--s-4); border-left: 1px solid var(--c-line-strong); }

  .value { grid-template-columns: 2.5rem minmax(0, 1fr); row-gap: var(--s-2); }
  .value p { grid-column: 2; }

  .cta__body { display: block; }
  .cta__body > p { margin-bottom: var(--s-7); }

  .footer__col,
  .footer__col--wide { grid-column: span 6; }
}

/* --- Smartphone ---------------------------------------------------------- */
@media (max-width: 560px) {
  :root {
    --header-h: 4.25rem;
    --fs-body: 1rem;
  }

  .brand svg { height: 2.6rem; }

  /* Le parole lunghe in Expanded non devono uscire dalla colonna */
  h1, h2, h3,
  .t-h2,
  .t-display,
  .next-page__title,
  .product-row__name,
  .value__name { overflow-wrap: break-word; hyphens: manual; -webkit-hyphens: manual; }

  .fact,
  .fact + .fact { grid-template-columns: 1fr; gap: var(--s-3); }
  .site-header .btn { display: none; }

  .hero__media img { object-position: 50% 30%; }
  .hero::before {
    background:
      linear-gradient(180deg, rgba(14, 16, 19, .6) 0%, rgba(14, 16, 19, 0) 20%),
      linear-gradient(0deg, rgba(14, 16, 19, .95) 0%, rgba(14, 16, 19, .75) 45%, rgba(14, 16, 19, .2) 80%),
      linear-gradient(rgba(14, 16, 19, .3), rgba(14, 16, 19, .3));
  }
  .hero__folio span:last-child { display: none; }
  .hero__intro { font-size: 1rem; }
  .hero__body { padding-bottom: var(--s-6); }
  .hero__title .line--indent { padding-left: 0; }
  .hero__actions { flex-direction: column; align-items: stretch; gap: var(--s-3); }
  .hero__actions .btn { justify-content: space-between; }
  .hero__actions .link-arrow { justify-content: space-between; }
  .hero__meta { display: none; }

  .section-head::before { width: calc(var(--edge) + 85%); }

  .profile__year .t-mega { font-size: clamp(5.5rem, 30vw, 9rem); }
  .profile__figure { margin-right: calc(-1 * var(--edge)); margin-left: calc(-1 * var(--edge) + 2.5rem); }
  .profile__figure .media { aspect-ratio: 4 / 3; }

  .product-row { padding-block: var(--s-4); }
  .product-row__name { font-size: clamp(1.3rem, 6.4vw, 2.25rem); }

  .flex-ops__figure { grid-column: 1 / span 11; }

  .fleet-sheet__list { grid-template-columns: 1fr; }
  .fleet__panorama { margin-inline: calc(-1 * var(--edge)); }
  .fleet__panorama .media { aspect-ratio: 4 / 3; }
  .fleet__panorama .media img { object-position: 38% 70%; }

  .cert-list { grid-template-columns: 1fr; }
  .cert,
  .cert:nth-child(even),
  .cert:nth-child(odd) {
    grid-template-columns: 2.25rem 1fr;
    grid-template-rows: auto;
    align-items: center;
    min-height: 0;
    padding: var(--s-5) 0;
    border-left: 0;
  }
  .cert__scope { grid-column: 2; margin-top: calc(-1 * var(--s-4)); }
  .compliance { padding: var(--s-5) var(--s-4); }

  .value { grid-template-columns: 2rem minmax(0, 1fr); }

  .cta__title .line--indent { padding-left: 0; }
  .cta__channel { font-size: 1.05rem; }
  .cta__channels .btn { justify-self: stretch; justify-content: space-between; }

  .footer__col,
  .footer__col--wide { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; }
}

/* ==========================================================================
   PAGINE INTERNE — responsive
   ========================================================================== */
@media (max-width: 1024px) {
  .page-hero__title { grid-column: 1 / -1; }
  .page-hero__lead { grid-column: 1 / span 9; }

  .split__aside,
  .split--reverse .split__aside { grid-column: 1 / -1; grid-row: auto; }
  .split__aside .t-h2 { position: static; }
  .split__main,
  .split--reverse .split__main { grid-column: 1 / -1; grid-row: auto; max-width: 46rem; }

  .feature__media,
  .feature--reverse .feature__media { grid-column: 1 / span 6; grid-row: auto; }
  .feature__body,
  .feature--reverse .feature__body { grid-column: 7 / -1; grid-row: auto; }

  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pillar:nth-child(3) { padding-left: 0; border-left: 0; }
  .pillar:nth-child(n+3) { border-top: 1px solid var(--c-line); }

  .cert-row { grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.2fr); }
  .cert-row p { grid-column: 2 / -1; }

  .contact__info { grid-column: 1 / span 5; }
  .contact__form { grid-column: 6 / -1; }
}

@media (max-width: 768px) {
  .page-hero__lead { grid-column: 1 / -1; }
  .page-hero__media .media { aspect-ratio: 4 / 3; }

  .steps { grid-template-columns: 1fr; row-gap: var(--s-7); }

  .row { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--s-2) var(--s-4); }
  .row p { grid-column: 2; }

  .feature__media,
  .feature--reverse .feature__media,
  .feature__body,
  .feature--reverse .feature__body { grid-column: 1 / -1; }
  .feature__media--bleed,
  .feature--reverse .feature__media--bleed { margin-left: calc(-1 * var(--edge)); margin-right: 0; }
  .feature__media .media { aspect-ratio: 4 / 3; }

  .gallery__a,
  .gallery__b,
  .gallery__c { grid-column: 1 / -1; margin-top: 0 !important; }
  .gallery__b { grid-column: 4 / -1; }
  .gallery__b .media { aspect-ratio: 4 / 3; }

  .contact__info,
  .contact__form { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .page-hero__top .page-hero__index { display: none; }

  /* Parole lunghe in Expanded ("organizzazione", "documentazione") intere su una riga */
  .page-hero__title,
  .cta--compact .cta__title .t-display { font-size: clamp(1.5rem, 7.4vw, 2.25rem); }
  .t-h2 { font-size: clamp(1.4rem, 6.6vw, 1.7rem); }

  .pillars { grid-template-columns: 1fr; }
  .pillar,
  .pillar + .pillar { padding: var(--s-5) 0; border-left: 0; border-top: 1px solid var(--c-line); }
  .pillar:first-child { border-top: 0; }
  .pillar__n { margin-bottom: var(--s-4); }

  .cert-row { grid-template-columns: 2.25rem minmax(0, 1fr); row-gap: var(--s-2); }
  .cert-row__scope,
  .cert-row p { grid-column: 2; }

  .gallery__b { grid-column: 1 / -1; }

  .form { grid-template-columns: 1fr; }
  .form__foot .btn { width: 100%; justify-content: space-between; }

  .next-page__inner { align-items: center; gap: var(--s-4); }
  .next-page__title { display: block; font-size: clamp(1.35rem, 6.4vw, 1.9rem); overflow-wrap: break-word; }
}

/* --- Partner ------------------------------------------------------------- */
@media (max-width: 1024px) {
  .partners__head .t-h2,
  .partners__head p { grid-column: 1 / -1; }
  .partners__head p { max-width: 36rem; }
}
@media (max-width: 560px) {
  .partner-logo { min-height: 7rem; padding: var(--s-6) var(--s-2) var(--s-4); }
  .partner-logo img { max-width: 90%; height: 2.75rem; }
  .partner-logo img[src*="partner-eni"] { height: 3.75rem; }
  .partner-logo__name { left: var(--s-2); top: var(--s-2); }
}
