/* ==================================================
   Pagina: Notizie e comunicati (pages/notizie-comunicati.html)
   Si appoggia a assets/css/styles.css (common + componenti).
   Qui solo layout e look specifici del PDF / pagina interna.
================================================== */

/* --- Card in evidenza (riuso .activity-card + .card-footer + .btn) --- */

.page-attivita__featured {
  padding-bottom: clamp(16px, 2.4vw, 32px);
}

.page-attivita__title-block {
  padding-bottom: clamp(42px, 5vw, 76px);
}

.page-attivita__heading-copy h1 {
  flex: 0 0 auto;
  min-width: 0;
  overflow-wrap: normal;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .page-attivita__heading-copy,
  .page-attivita__region {
    align-items: flex-end;
  }

  .page-attivita__region {
    margin-top: 0;
  }

  .page-attivita__title-block > .document-search {
    margin-top: clamp(20px, 2vw, 32px);
  }
}

.activity-card__latest-badge {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  justify-content: center;
  width: 100%;
  min-height: var(--activity-footer-button-height);
  padding-inline: clamp(14px, 1.8vw, 35px);
  margin: 0;
  color: var(--blue);
  background: var(--yellow);
  font-size: clamp(
    calc(11px * var(--user-ui-scale)),
    calc(0.9vw * var(--user-ui-scale)),
    calc(18px * var(--user-ui-scale))
  );
  letter-spacing: clamp(0.08em, 0.2vw, 0.22em);
  white-space: normal;
}

@supports (width: 1cqw) {
  .activity-card__latest-badge {
    padding-inline: clamp(14px, 4cqw, 35px);
    font-size: clamp(
      calc(11px * var(--user-ui-scale)),
      calc(2.45cqw * var(--user-ui-scale)),
      calc(18px * var(--user-ui-scale))
    );
    letter-spacing: clamp(0.08em, 0.7cqw, 0.22em);
  }
}

.page-attivita .activity-card--feature {
  flex: none;
  width: 100%;
  max-width: 100%;
  max-height: min(760px, calc(100vh - 120px));
  max-height: min(760px, calc(100svh - 120px));
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, min(44vw, 540px)) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  column-gap: clamp(20px, 4vw, 48px);
  row-gap: clamp(18px, 2.2vw, 36px);
  align-items: stretch;
  overflow: hidden;
}

.page-attivita .activity-card--feature .activity-card__feature-media {
  display: contents;
}

.page-attivita .activity-card--feature .activity-card__feature-media .activity-card__media {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  aspect-ratio: 543 / 521;
  max-height: min(72vh, 560px);
}

.page-attivita .activity-card--feature .activity-card__body {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  align-self: stretch;
}

.page-attivita .activity-card--feature .activity-card__body h2 {
  margin: 0 0 clamp(16px, 2vw, 36px);
  font-family: var(--font-display);
  font-size: clamp(
    calc(28px * var(--user-heading-scale)),
    calc(2.8vw * var(--user-heading-scale)),
    calc(48px * var(--user-heading-scale))
  );
  font-weight: 900;
  line-height: 1.02;
  color: var(--blue);
}

.page-attivita .activity-card--feature .activity-card__excerpt {
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  font-size: clamp(
    calc(18px * var(--user-text-scale)),
    calc(1.6vw * var(--user-text-scale)),
    calc(28px * var(--user-text-scale))
  );
  line-height: 1.12;
}

.page-attivita .activity-card--feature .card-footer {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  margin-top: 0;
  padding-top: 0;
}

/* --- Sezione “Altre notizie” (riuso .section-blue + .news-card) --- */

.page-attivita__more {
  padding-block: clamp(28px, 4vw, 52px) clamp(64px, 8vw, 140px);
  border-top: 0;
  border-bottom: 11px solid rgba(255, 255, 255, 0.9);
}

.page-attivita__more-inner {
  min-width: 0;
}

.page-attivita__more-head {
  position: relative;
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 40px);
  margin-bottom: clamp(28px, 4vw, 56px);
  overflow: visible;
  min-width: 0;
}

.page-attivita__script-title {
  margin: 0;
  color: var(--yellow);
  font-family: var(--font-script);
  font-size: clamp(
    calc(40px * var(--user-display-scale)),
    calc(8vw * var(--user-display-scale)),
    calc(88px * var(--user-display-scale))
  );
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

.page-attivita__more-title-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(14px, 2vw, 24px);
}

.page-attivita__marquee-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.page-attivita__marquee-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: clamp(42px, 3.5vw, 52px);
  height: clamp(42px, 3.5vw, 52px);
  padding: 0;
  border: 2px solid var(--white);
  color: var(--white);
  background: transparent;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.page-attivita__marquee-control svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.page-attivita__marquee-control:is(:hover, :focus-visible, [aria-pressed="true"]) {
  color: var(--blue);
  background: var(--yellow);
  transform: scale(1.05);
}

.page-attivita__marquee-control:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  transform: none;
}

.page-attivita__filters {
  --filter-control-min: 0;
  --filter-selected-max: min(56vw, 720px);
  --filter-trigger-width: 44px;
  position: relative;
  z-index: 2;
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
}

.page-attivita__filters.has-selected-filters {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  justify-content: flex-end;
}

.page-attivita__selected-filters {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: min(
    var(--filter-selected-max),
    calc(100% - var(--filter-trigger-width) - var(--filter-gap))
  );
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  scroll-padding-inline: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--white) rgba(255, 255, 255, 0.22);
}

.page-attivita__selected-filters:empty {
  display: none;
}

.page-attivita__selected-filters .filter-selected__track:empty {
  display: none;
}

.page-attivita__selected-filters:not(:has(.filter-selected__track > *)) {
  display: none;
}

.page-attivita__selected-filters::-webkit-scrollbar {
  height: 10px;
}

.page-attivita__selected-filters::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-pill);
}

.page-attivita__selected-filters::-webkit-scrollbar-thumb {
  background: var(--white);
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-pill);
}

.page-attivita__selected-filters::-webkit-scrollbar-thumb:hover {
  background: var(--yellow);
}

.page-attivita__selected-filters .filter-chip--yellow-card {
  flex: 0 0 auto;
}

.page-attivita__selected-filters .filter-selected__track {
  align-items: center;
  padding: 0 6px;
}

/* Carosello notizie: card attività come in home, scalate al contesto compatto. */
.page-attivita__news-track > .news-card.activity-card {
  --compact-card-width: clamp(270px, 15.6vw, 300px);
  --activity-news-card-height: clamp(360px, 24vw, 420px);
  --activity-news-footer-icon-size: clamp(34px, 2.8vw, 44px);
  --activity-news-footer-button-height: clamp(34px, 2.6vw, 40px);

  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-content: stretch;
  flex: 0 0 var(--compact-card-width);
  width: var(--compact-card-width);
  min-width: var(--compact-card-width);
  max-width: var(--compact-card-width);
  height: var(--activity-news-card-height);
  min-height: var(--activity-news-card-height);
  max-height: var(--activity-news-card-height);
  padding: clamp(16px, 1.4vw, 20px) clamp(16px, 1.5vw, 20px) clamp(14px, 1.2vw, 18px);
  overflow: hidden;
  color: var(--blue);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.page-attivita__news-track > .news-card.activity-card.activity-card--no-cover {
  grid-template-rows: minmax(0, 1fr) auto;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__cover,
.page-attivita__news-track > .news-card.activity-card .image-placeholder {
  aspect-ratio: 680 / 300;
  margin-bottom: clamp(12px, 1vw, 16px);
}

.page-attivita__news-track > .news-card.activity-card .activity-card__cover-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.page-attivita__news-track > .news-card.activity-card.activity-card--no-cover .activity-card__body {
  flex: 1 1 auto;
}

.page-attivita__news-track > .news-card.activity-card h3 {
  margin: 0 0 clamp(10px, 0.9vw, 14px);
  font-family: var(--font-display);
  font-size: clamp(
    calc(17px * var(--user-heading-scale)),
    calc(1.35vw * var(--user-heading-scale)),
    calc(22px * var(--user-heading-scale))
  );
  font-weight: 900;
  line-height: 1.02;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__excerpt {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  font-size: clamp(
    calc(13px * var(--user-text-scale)),
    calc(0.95vw * var(--user-text-scale)),
    calc(15px * var(--user-text-scale))
  );
  line-height: 1.18;
  font-weight: 600;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__summary {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__summary p,
.page-attivita__news-track > .news-card.activity-card .activity-card__excerpt > p:not(.activity-card__meta) {
  margin: 0;
  overflow: hidden;
  color: var(--blue);
  font-weight: 400;
}

.page-attivita__news-track > .news-card.activity-card .activity-card__meta {
  margin: 0 0 0.45em;
}

.page-attivita__news-track > .news-card.activity-card > .card-footer {
  margin-top: 0;
  padding-top: clamp(12px, 1vw, 16px);
  gap: clamp(6px, 0.7vw, 10px);
  min-width: 0;
}

.page-attivita__news-track > .news-card.activity-card .card-footer .btn-card {
  min-width: 0;
  flex: 1 1 0%;
  min-height: var(--activity-news-footer-button-height);
  padding-inline: clamp(10px, 0.9vw, 14px);
  font-size: clamp(
    calc(8px * var(--user-ui-scale)),
    calc(0.62vw * var(--user-ui-scale)),
    calc(10px * var(--user-ui-scale))
  );
  letter-spacing: 0.14em;
}

.page-attivita__news-track > .news-card.activity-card .card-footer .mini-access {
  --access-icon-size: var(--activity-news-footer-icon-size);
  flex: 0 0 auto;
  flex-shrink: 0;
}

.page-attivita .activity-card--feature.has-open-range {
  overflow: visible;
}

.page-attivita__news-track > .news-card.activity-card.has-open-range {
  overflow: visible;
}

.page-attivita__news-track > .news-card.activity-card .icon-range-control.is-open {
  z-index: 40;
}

.page-attivita__news-track > .news-card.activity-card .icon-range-control .icon-range-popover {
  left: auto;
  right: 0;
  width: min(240px, calc(var(--compact-card-width) - 16px));
  max-width: none;
  padding-inline: 14px;
  transform: translateY(6px);
}

.page-attivita__news-track > .news-card.activity-card .icon-range-control.is-open .icon-range-popover {
  transform: translateY(0);
}

.page-attivita__news-marquee:has(.activity-card.has-open-range) {
  overflow: visible;
}

.page-attivita__news-marquee:has(.activity-card.has-open-range) .gallery-marquee__belt {
  overflow: visible;
}

.page-attivita__news-track > .news-card.activity-card .card-footer .megaphone-button,
.page-attivita__news-track > .news-card.activity-card .card-footer .icon-range-trigger {
  width: var(--activity-news-footer-icon-size);
  height: var(--activity-news-footer-icon-size);
}

/* Traccia news continua: riuso del comportamento marquee della galleria home. */
.page-attivita__news-marquee {
  --gallery-gap: clamp(20px, 4vw, 56px);

  position: relative;
  z-index: 1;
}

.page-attivita__news-track {
  gap: var(--gallery-gap);
}

.page-attivita__news-marquee .gallery-marquee__belt {
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.page-attivita__news-marquee.is-loading .gallery-marquee__belt {
  visibility: hidden;
  opacity: 0;
}

.page-attivita__news-marquee.has-empty-results {
  min-height: clamp(220px, 28vw, 320px);
}

.page-attivita__news-marquee.has-empty-results .gallery-marquee__belt,
.page-attivita__news-marquee.has-empty-results .gallery-marquee__pause {
  display: none;
}

.page-attivita__news-empty {
  width: min(760px, 100%);
  margin-inline: auto;
}

.page-attivita__news-empty[hidden] {
  display: none;
}

.page-attivita__news-marquee.has-empty-results:not(.is-loading) .page-attivita__news-empty {
  display: block;
}

.page-attivita__news-marquee.is-loading .page-attivita__news-empty {
  visibility: hidden;
  opacity: 0;
}

.page-attivita__news-empty-reset {
  margin-top: clamp(18px, 2.4vw, 28px);
  color: var(--white);
  border-color: var(--white);
}

.page-attivita__news-loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: clamp(220px, 28vw, 320px);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease, visibility 0.24s ease;
}

.page-attivita__news-marquee.is-loading .page-attivita__news-loading {
  visibility: visible;
  opacity: 1;
}

.page-attivita__news-loading-spinner {
  width: 46px;
  height: 46px;
  border: 4px solid rgba(255, 255, 255, 0.28);
  border-top-color: var(--yellow);
  border-radius: 50%;
  animation: page-attivita-news-spin 0.85s linear infinite;
}

.page-attivita__news-loading-label {
  color: var(--white);
  font-family: var(--font-display);
  font-size: calc(14px * var(--user-text-scale));
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@keyframes page-attivita-news-spin {
  to {
    transform: rotate(360deg);
  }
}

.news-card--enter {
  animation: page-attivita-news-card-enter 0.5s ease both;
}

@keyframes page-attivita-news-card-enter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 899px) {
  .page-attivita__heading-copy {
    gap: clamp(8px, 1.5vw, 14px);
  }

  .page-attivita__region {
    margin-top: 0;
  }

  .page-attivita .activity-card--feature {
    display: flex;
    flex-direction: column;
    max-height: none;
  }

  .page-attivita .activity-card--feature .activity-card__feature-media {
    display: flex;
    flex-direction: column;
    grid-column: auto;
    grid-row: auto;
    gap: clamp(18px, 2.2vw, 28px);
    width: 100%;
    margin-bottom: clamp(20px, 2vw, 28px);
  }

  .page-attivita .activity-card--feature .activity-card__feature-media .activity-card__media {
    flex: 1 1 auto;
    max-height: none;
    height: auto;
    aspect-ratio: 680 / 330;
    margin-bottom: 0;
  }

  .page-attivita .activity-card--feature .activity-card__body,
  .page-attivita .activity-card--feature .card-footer {
    grid-column: auto;
    grid-row: auto;
  }

  .page-attivita .activity-card--feature {
    --activity-footer-icon-size: var(--activity-footer-button-height);
  }

  .page-attivita__news-track > .news-card.activity-card {
    --activity-footer-icon-size: var(--activity-news-footer-icon-size);
    --activity-footer-button-height: var(--activity-news-footer-button-height);
  }

  .page-attivita .activity-card--feature .card-footer,
  .page-attivita__news-track > .news-card.activity-card > .card-footer {
    align-self: stretch;
    justify-content: space-between;
    width: 100%;
    max-width: 100%;
  }

  .page-attivita .activity-card--feature .card-footer .btn-card,
  .page-attivita__news-track > .news-card.activity-card .card-footer .btn-card {
    flex: 1 1 0%;
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  .page-attivita .activity-card--feature .card-footer .mini-access,
  .page-attivita__news-track > .news-card.activity-card .card-footer .mini-access {
    flex: 0 0 auto;
    justify-content: flex-end;
    min-width: 0;
  }

  .page-attivita .activity-card--feature .activity-card__excerpt {
    flex: 0 1 auto;
    max-height: clamp(150px, 42vw, 230px);
    min-height: 0;
    overflow: hidden;
  }

  .page-attivita__more-head {
    flex-direction: column;
    align-items: stretch;
  }

  .page-attivita__filters {
    --filter-selected-max: calc(100vw - (var(--page-gutter) * 2) - 62px);
    width: 100%;
    max-width: 100%;
    justify-content: flex-end;
  }

  .page-attivita__news-track > .news-card.activity-card {
    --activity-news-card-height: clamp(380px, 58vw, 440px);
  }
}

@media (max-width: 599px) {
  .activity-card__latest-badge {
    padding-inline: clamp(10px, 2.6vw, 14px);
    font-size: clamp(
      calc(9px * var(--user-ui-scale)),
      calc(2.35vw * var(--user-ui-scale)),
      calc(11px * var(--user-ui-scale))
    );
    letter-spacing: 0.06em;
    white-space: nowrap;
  }

  .page-attivita__news-track > .news-card.activity-card {
    --compact-card-width: min(280px, calc(100vw - (var(--page-gutter) * 2) - 24px));
    --activity-news-card-height: clamp(360px, 112vw, 420px);
    width: var(--compact-card-width);
    min-width: var(--compact-card-width);
    max-width: var(--compact-card-width);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-attivita__marquee-control {
    transition: none;
  }

  .page-attivita__marquee-control:is(:hover, :focus-visible, [aria-pressed="true"]) {
    transform: none;
  }

  .page-attivita__news-loading-spinner {
    animation: none;
    border-top-color: var(--yellow);
    opacity: 0.9;
  }

  .news-card--enter {
    animation: none;
  }
}
