/* PORTAL WEB AC LOCAL v0.5.2
   Optimització visual per a pantalles grans i mode fullscreen. */

@media (min-width: 1440px) {
  .shell {
    width: min(calc(100% - 72px), 1380px);
  }

  .hero .shell,
  .voice .shell,
  .program .shell,
  .territory .shell,
  .news .shell,
  .donation .shell,
  .social-inner,
  .site-footer .shell {
    width: min(calc(100% - 72px), 1480px);
  }

  .hero-copy {
    width: min(1180px, 88%);
  }

  .voice,
  .program,
  .news {
    overflow: hidden;
  }

  .voice::before,
  .voice::after,
  .program::before,
  .news::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: min(20vw, 320px);
    pointer-events: none;
    z-index: 0;
    opacity: 0.9;
  }

  .voice::before {
    left: 0;
    background: radial-gradient(circle at 0% 30%, rgba(15, 77, 129, 0.10) 0%, rgba(15, 77, 129, 0.05) 28%, rgba(15, 77, 129, 0.015) 46%, transparent 68%);
  }

  .voice::after {
    right: 0;
    background: radial-gradient(circle at 100% 38%, rgba(23, 95, 156, 0.10) 0%, rgba(23, 95, 156, 0.05) 26%, rgba(23, 95, 156, 0.015) 44%, transparent 68%);
  }

  .program::before {
    left: 0;
    background: radial-gradient(circle at 0% 52%, rgba(15, 77, 129, 0.075) 0%, rgba(15, 77, 129, 0.03) 30%, rgba(15, 77, 129, 0.01) 48%, transparent 72%);
  }

  .news::after {
    right: 0;
    background: radial-gradient(circle at 100% 20%, rgba(15, 77, 129, 0.08) 0%, rgba(15, 77, 129, 0.035) 28%, rgba(15, 77, 129, 0.012) 46%, transparent 70%);
  }

  .voice > .shell,
  .program > .shell,
  .news > .shell {
    position: relative;
    z-index: 1;
  }

  .split-heading {
    grid-template-columns: minmax(440px, 1.08fr) minmax(340px, 0.92fr);
    gap: 48px 88px;
    align-items: start;
  }

  .split-heading > p {
    max-width: 640px;
    font-size: calc(clamp(1.06rem, 1.35vw, 1.3rem) + var(--ac-font-increase));
  }

  .media-carousel {
    padding-inline: 88px;
  }

  .media-track {
    gap: 22px;
    min-height: 438px;
  }

  .media-card {
    flex: 0 0 18.8%;
    height: 354px;
  }

  .program-grid {
    gap: 24px;
  }

  .program-card {
    min-height: 348px;
  }

  .news-layout {
    gap: 24px;
  }

  .news-feature {
    min-height: 340px;
  }

  .news-feature-copy {
    min-height: 340px;
    max-width: 760px;
  }

  .news-feature h3 {
    max-width: 700px;
  }
}

@media (min-width: 1680px) {
  .shell {
    width: min(calc(100% - 88px), 1480px);
  }

  .hero .shell,
  .voice .shell,
  .program .shell,
  .territory .shell,
  .news .shell,
  .donation .shell,
  .social-inner,
  .site-footer .shell {
    width: min(calc(100% - 88px), 1600px);
  }

  .hero-copy {
    width: min(1260px, 90%);
  }

  .split-heading {
    grid-template-columns: minmax(480px, 1.1fr) minmax(360px, 0.9fr);
    gap: 56px 104px;
  }

  .media-carousel {
    padding-inline: 94px;
  }

  .media-track {
    gap: 24px;
    min-height: 456px;
  }

  .media-card {
    flex: 0 0 18.2%;
    height: 368px;
  }

  .program-grid {
    gap: 28px;
  }

  .program-card {
    min-height: 360px;
  }
}
