.news-page {
  padding-bottom: 5rem;
}

.news-page .page-hero {
  max-width: 1160px;
  padding-bottom: 2.5rem;
}

.news-page .page-hero h1,
.news-page .news-card h2 {
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  letter-spacing: -0.035em;
}

.news-page .page-hero h1 {
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  line-height: .98;
}

.news-calendar {
  margin-bottom: 1.5rem;
  padding: 2rem;
  background: #171719;
  border-top: 5px solid #a3182a;
  border-radius: 12px;
  box-shadow: 0 18px 42px rgba(23,23,25,.14);
}

.news-calendar__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 1.7rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid #3a3a3f;
}

.news-calendar__head span {
  color: #e9b8c0;
  font: 800 .68rem/1.2 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.news-calendar__head h2 {
  margin: .55rem 0 0;
  color: #fff;
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  letter-spacing: -.04em;
}

.news-calendar__legend {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: #c6c6cb;
  font: 600 .7rem/1.4 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.news-calendar__legend::before {
  content: "";
  width: 11px;
  height: 11px;
  background: #c51d35;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(197,29,53,.2);
}

.news-calendar__months {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}

.calendar-month {
  padding: 1.15rem;
  background: #242428;
  border: 1px solid #3b3b40;
  border-radius: 9px;
}

.calendar-month h3 {
  margin: 0 0 1rem;
  color: #fff;
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .28rem;
}

.calendar-grid > span,
.calendar-grid > a {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  color: #d5d5d9;
  border-radius: 5px;
  font: 600 .67rem/1 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.calendar-grid .calendar-weekday {
  aspect-ratio: auto;
  min-height: 20px;
  color: #8f8f96;
  font-size: .56rem;
  font-weight: 800;
  text-transform: uppercase;
}

.calendar-grid .calendar-empty { color: transparent; }

.calendar-day--event {
  color: #fff !important;
  background: #b1162c;
  box-shadow: 0 5px 13px rgba(177,22,44,.34);
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.calendar-day--event:hover,
.calendar-day--event:focus-visible {
  background: #e02743;
  box-shadow: 0 8px 18px rgba(224,39,67,.42);
  transform: translateY(-2px) scale(1.05);
  outline: 0;
}

.calendar-day--range {
  color: #f7dbe0 !important;
  background: #4c222a;
}

.news-calendar__events {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.2rem;
  margin-top: 1.35rem;
  padding-top: 1.2rem;
  border-top: 1px solid #3a3a3f;
}

.news-calendar__events a {
  color: #d5d5d9;
  font: 600 .67rem/1.4 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.news-calendar__events a strong { color: #ef7183; margin-right: .35rem; }
.news-calendar__events a:hover { color: #fff; }

.news-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
}

.advisory-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.25rem;
  padding-block: 2rem;
  border-bottom: 1px solid #cfd4d7;
}

.advisory-row .news-card--service {
  grid-template-columns: minmax(150px, 42%) minmax(0,1fr);
  gap: 1.25rem;
  padding: 0;
  border: 1px solid #d9dade;
  border-radius: 10px;
  overflow: hidden;
}

.advisory-row .news-card__poster { width: 100%; }
.advisory-row .news-card__body { padding: 1rem 1rem 1rem 0; }
.advisory-row .news-card h2 {
  font-size: clamp(.88rem,1.2vw,1.12rem);
  white-space: nowrap;
}
.advisory-row .button { min-width: 0; min-height: 36px; padding-inline: .85rem; font-size: .62rem; }

.news-grid__title {
  grid-column: 1 / -1;
  margin: 0 0 .4rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid #d8dde0;
  color: #a3182a;
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.news-card {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: 2.25rem 0;
  background: transparent;
  border-bottom: 1px solid #cfd4d7;
}

.news-card__poster {
  margin: 0;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #eceeef;
}

.news-card__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__body {
  align-self: center;
  padding: 0;
}

.news-card__eyebrow {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
  color: #a3182a;
  font: 700 .76rem/1.2 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.news-card h2 {
  margin: 0 0 .85rem;
  color: #173947;
  max-width: 720px;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.08;
}

.news-card p {
  margin: 0;
  color: #536873;
  font: 400 1rem/1.65 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.news-card__facts {
  display: grid;
  gap: .6rem;
  max-width: 650px;
  margin: 1.6rem 0 1.5rem;
  padding: 1.1rem 0;
  border-top: 1px solid #dce4e7;
  border-bottom: 1px solid #dce4e7;
  list-style: none;
}

.news-card__facts li {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: .75rem;
  color: #173947;
  font: 600 .92rem/1.4 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.news-card__facts span {
  color: #7b8d95;
  font-weight: 500;
}

.news-card .button {
  width: auto;
  min-width: 150px;
}

.news-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.news-card--service {
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  min-height: 0;
  padding: 2.25rem 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #cfd4d7;
}

.news-card--service .news-card__body {
  display: block;
}

.news-card--service h2 { margin-bottom: 1.5rem; }

@media (max-width: 760px) {
  .news-calendar { padding: 1.3rem; }
  .news-calendar__head { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .news-calendar__months { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; }
  .news-card__poster { width: min(360px, 100%); }
  .news-card__body { padding: 0 0 .5rem; }
  .news-card--service { grid-template-columns: 1fr; }
}

/* Encabezado compacto con un solo mes visible. */
.news-overview {
  display: flex;
  justify-content: flex-end;
  gap: clamp(2rem,4vw,4rem);
  align-items: center;
  min-height: 0;
  margin-top: 1.5rem;
  padding: .7rem .8rem;
  background: #fff;
  border: 1px solid #dedfe2;
  border-top: 3px solid #b1162c;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(23,23,25,.08);
}

.news-overview__invitation {
  max-width: 620px;
  margin: 0 auto;
  padding: .8rem 1.2rem;
  color: #a3182a;
  background: #fbf0f2;
  border-left: 4px solid #a3182a;
  border-radius: 7px;
  font: italic 700 clamp(1.15rem,2.2vw,1.85rem)/1.35 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  letter-spacing: -.025em;
  text-align: center;
}

.news-overview .page-hero {
  max-width: none;
  margin: 0;
  padding: 0;
}

.news-overview .page-hero h1 {
  margin: 0;
  color: #171719;
  font-size: clamp(1.8rem,2.6vw,2.55rem);
  line-height: 1;
  letter-spacing: -.025em;
}

.news-overview .news-calendar {
  width: 100%;
  margin: 0;
  max-width: 150px;
  padding: .4rem;
  background: #fff;
  border: 1px solid #dedfe2;
  border-top-width: 3px;
  border-radius: 8px;
  box-shadow: none;
}

.news-overview .news-calendar__head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .8rem;
  margin-bottom: .7rem;
  padding-bottom: .65rem;
  border-bottom-color: #dedfe2;
}

.news-calendar__identity {
  display: flex;
  align-items: baseline;
  gap: .8rem;
}

.news-overview .news-calendar__head h2 {
  margin: 0;
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .12em;
  color: #171719;
}

.news-calendar__year {
  color: #ef7183;
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1;
}

.news-calendar__controls {
  display: flex;
  align-items: center;
  gap: .35rem;
}

.news-calendar__controls button {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #8f1426;
  background: #f4e6e9;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color .18s ease, transform .18s ease;
}

.news-calendar__controls button:hover,
.news-calendar__controls button:focus-visible {
  background: #b1162c;
  transform: translateY(-2px);
  outline: 0;
}

.news-calendar__month-label {
  margin: 0 0 .5rem;
  color: #171719;
  font: 800 .58rem/1.2 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.news-overview .news-calendar__months { display: block; }
.news-overview .calendar-month {
  padding: .38rem;
  background: #fafafa;
  border-color: #e4e5e7;
}
.news-overview .calendar-month h3 { display: none; }
.news-overview .calendar-grid { gap: .2rem; }
.news-overview .calendar-grid > span,
.news-overview .calendar-grid > a {
  color: #343438;
  font-size: .38rem;
}

@media (max-width: 820px) {
  .news-overview { grid-template-columns: 1fr; }
  .news-overview .news-calendar { max-width: 190px; justify-self: end; }
}

@media (max-width: 760px) {
  .advisory-row { grid-template-columns: 1fr; }
  .news-overview { align-items: flex-start; flex-direction: column; }
  .news-overview__invitation { margin-bottom: 1rem; }
}

@media (max-width: 520px) {
  .news-overview { padding-block: 2.2rem 1.5rem; }
  .news-overview .news-calendar { max-width: 150px; align-self: flex-end; }
}

/* Calendario horizontal 2026. */
.news-overview{display:block;width:min(1180px,calc(100% - 48px));padding:18px;margin-top:28px}
.news-overview__invitation{max-width:none;margin:0 0 16px;padding:14px 20px;border-left:0;border-bottom:3px solid #a3182a;font-size:clamp(1rem,1.8vw,1.35rem)}
.news-overview .news-calendar{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.72fr);grid-template-rows:auto auto 1fr;width:100%;max-width:none;padding:24px;border:1px solid #e0e0e4;border-top:5px solid #a3182a;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(23,23,25,.08)}
.news-overview .news-calendar__head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid #dedfe2}
.news-overview .news-calendar__head h2{font-size:1rem;color:#a3182a}.news-calendar__year{font-size:1.55rem;color:#171719}
.news-calendar__controls button{width:36px;height:36px;border-radius:8px;font-size:1.25rem}.news-calendar__controls button:hover,.news-calendar__controls button:focus-visible{color:#fff}
.news-calendar__month-label{grid-column:1;margin:0 0 12px;color:#171719;font-size:.8rem}
.news-overview .news-calendar__months{grid-column:1;display:block;padding-right:26px;border-right:1px solid #e4e4e7}
.news-overview .calendar-month{padding:0;border:0;background:#fff}
.news-overview .calendar-grid{gap:6px}.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{aspect-ratio:auto;min-height:48px;border:1px solid #ededf0;border-radius:8px;color:#222226;background:#fafafa;font-size:.73rem;position:relative}
.news-overview .calendar-grid .calendar-weekday{min-height:28px;border:0;color:#707078;background:transparent;font-size:.65rem;font-weight:900}
.news-overview .calendar-grid .calendar-empty{border-color:transparent;background:transparent}
.calendar-day b{font-weight:800}.calendar-day i{width:5px;height:5px;border-radius:50%;background:currentColor;position:absolute;bottom:6px}
.news-overview .calendar-day.is-past{color:#a0a0a7;background:#f0f0f2;border-color:#e5e5e8}.news-overview .calendar-day.is-holiday{color:#a3182a;background:#f9e9ec;border-color:#e7b7c0}.news-overview .calendar-day.is-event{color:#fff;background:#a3182a;border-color:#a3182a;box-shadow:0 7px 16px rgba(163,24,42,.2)}
.news-overview .calendar-day.is-today{color:#fff;background:#171719;border-color:#171719;box-shadow:0 0 0 3px #efbfc7,0 8px 18px rgba(23,23,25,.2)}
.news-overview .calendar-day.is-event:hover,.news-overview .calendar-day.is-event:focus-visible{background:#77101f;transform:translateY(-2px)}
.news-calendar__agenda{grid-column:2;grid-row:2/4;padding-left:26px}.news-calendar__agenda-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e4e4e7;color:#a3182a;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.news-calendar__agenda-head strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#a3182a;font-size:.65rem}.news-calendar__agenda-list{display:grid;gap:8px}.agenda-item{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;min-height:62px;padding:9px 12px;border:1px solid #e3e3e7;border-radius:9px;background:#fafafa}.agenda-item time{display:flex;align-items:center;flex-direction:column;padding-right:10px;border-right:1px solid #dedee2}.agenda-item time b{color:#a3182a;font-size:1.25rem;line-height:1}.agenda-item time small,.agenda-item>span small{color:#77777f;font-size:.52rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.agenda-item>span{display:flex;flex-direction:column;gap:4px}.agenda-item>span strong{font-size:.7rem;line-height:1.35}.agenda-item.is-past{filter:grayscale(1);opacity:.58}.agenda-item[href]:hover{border-color:#a3182a;background:#fff;transform:translateY(-1px)}.agenda-empty{margin:0;padding:22px;border:1px dashed #d7d7dc;border-radius:9px;color:#77777f;font-size:.7rem;line-height:1.5}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid #e4e4e7}.calendar-legend span{display:flex;align-items:center;gap:6px;color:#6e6e75;font-size:.55rem;font-weight:700}.calendar-legend i{width:9px;height:9px;border-radius:3px;background:#ddd}.calendar-legend .legend-today{background:#171719}.calendar-legend .legend-event{background:#a3182a}.calendar-legend .legend-holiday{background:#efbfc7}.calendar-legend .legend-past{background:#aaaab0}
@media(max-width:800px){.news-overview .news-calendar{grid-template-columns:1fr}.news-overview .news-calendar__months{grid-column:1;padding:0 0 20px;border-right:0;border-bottom:1px solid #e4e4e7}.news-calendar__agenda{grid-column:1;grid-row:auto;padding:20px 0 0}.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{min-height:40px}}
@media(max-width:520px){.news-overview{width:min(100% - 24px,1180px);padding:10px}.news-overview .news-calendar{padding:14px}.news-overview .calendar-grid{gap:3px}.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{min-height:34px;font-size:.63rem}}

/* Restauración del calendario compacto solicitado. */
.news-overview{display:flex;width:min(1180px,100% - 48px);justify-content:flex-end;gap:clamp(2rem,4vw,4rem);align-items:center;margin-top:1.5rem;padding:.7rem .8rem}
.news-overview__invitation{max-width:620px;margin:0 auto;padding:.8rem 1.2rem;border-left:4px solid #a3182a;border-bottom:0;font:italic 700 clamp(1.15rem,2.2vw,1.85rem)/1.35 "Century Gothic",AppleGothic,"URW Gothic L",Arial,sans-serif}
.news-overview .news-calendar{display:block;width:100%;max-width:150px;margin:0;padding:.4rem;border:1px solid #dedfe2;border-top:3px solid #b1162c;border-radius:8px;background:#fff;box-shadow:none}
.news-overview .news-calendar__head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.8rem;margin:0 0 .7rem;padding:0 0 .65rem;border-bottom:1px solid #dedfe2}
.news-overview .news-calendar__head h2{font-size:.55rem;color:#171719}.news-calendar__year{font-size:.82rem;color:#ef7183}
.news-calendar__controls button{width:18px;height:18px;border-radius:5px;font-size:1rem}.news-calendar__month-label{margin:0 0 .5rem;font-size:.58rem}
.news-overview .news-calendar__months{display:block;padding:0;border:0}.news-overview .calendar-month{padding:.38rem;border:1px solid #e4e5e7;background:#fafafa}
.news-overview .calendar-grid{gap:.2rem}.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{aspect-ratio:1;min-height:0;border:0;border-radius:5px;color:#343438;background:transparent;font-size:.38rem}
.news-overview .calendar-grid .calendar-weekday{min-height:20px;color:#8f8f96;background:transparent;font-size:.56rem}.news-overview .calendar-grid .calendar-empty{color:transparent}
.news-overview .calendar-day--event{color:#fff!important;background:#b1162c;box-shadow:0 5px 13px rgba(177,22,44,.34)}.news-overview .calendar-day--range{color:#7d2634!important;background:#f7dbe0}
@media(max-width:760px){.news-overview{align-items:flex-start;flex-direction:column}.news-overview__invitation{margin-bottom:1rem}.news-overview .news-calendar{max-width:190px;align-self:flex-end}}
@media(max-width:520px){.news-overview{width:min(1180px,100% - 48px);padding-block:2.2rem 1.5rem}.news-overview .news-calendar{max-width:150px;padding:.4rem}}

/* Contención precisa del calendario compacto. */
.news-overview .news-calendar{box-sizing:border-box;max-width:220px;overflow:hidden}.news-overview .news-calendar__head{grid-template-columns:minmax(0,1fr) auto;min-width:0}.news-calendar__identity{min-width:0;gap:.45rem}.news-calendar__controls{flex:0 0 auto}.news-overview .news-calendar__months,.news-overview .calendar-month,.news-overview .calendar-grid{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.news-overview .calendar-month{overflow:hidden}.news-overview .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0!important;overflow:hidden}
@media(max-width:760px){.news-overview .news-calendar{width:220px;max-width:100%;align-self:flex-end}}@media(max-width:520px){.news-overview .news-calendar{width:190px;max-width:100%}}

/* Estados inequívocos y alineación estable del calendario. */
.news-overview .news-calendar{width:220px;min-width:220px;max-width:220px}
.news-overview .calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;align-items:stretch}
.news-overview .calendar-grid>span,.news-overview .calendar-grid>a{display:grid!important;place-items:center!important;height:auto!important;aspect-ratio:1!important;line-height:1!important}
.news-overview .calendar-day--event{color:#fff!important;background:#b1162c!important;box-shadow:0 4px 10px rgba(177,22,44,.32)!important}
.news-overview .calendar-day--range{color:#7d2634!important;background:#f7dbe0!important}
.news-overview .calendar-day--today{color:#fff!important;background:#202024!important;box-shadow:0 0 0 2px #ef7183,0 4px 10px rgba(23,23,25,.25)!important;font-weight:900!important}
.news-overview .calendar-day--range{color:#343438!important;background:transparent!important;box-shadow:none!important}
.news-overview .calendar-day--past{color:#a2a2a8!important;background:#ededf0!important;box-shadow:none!important;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#77777e;pointer-events:none}
.news-overview .calendar-day--event.calendar-day--past{color:#85858c!important;background:#dedee2!important}
.news-overview .calendar-day--today,.news-overview .calendar-day--today.calendar-day--past{color:#fff!important;background:#202024!important;text-decoration:none!important;box-shadow:0 0 0 2px #ef7183,0 4px 10px rgba(23,23,25,.25)!important}
@media(max-width:520px){.news-overview .news-calendar{width:190px;min-width:190px;max-width:190px}}

/* Fondo institucional del bloque principal de eventos. */
.news-overview {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(118deg,#fff 0%,#fffafb 58%,#f8eaed 100%);
}
.news-overview::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: clamp(28px,7vw,110px);
  width: clamp(300px,38vw,570px);
  aspect-ratio: 1;
  background: url('/favicon-world.png?v=20260824-1') center/contain no-repeat;
  opacity: .075;
  filter: grayscale(.35) saturate(.75);
  transform: translateY(-50%) rotate(-8deg);
  pointer-events: none;
}
.news-overview::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.62) 54%,rgba(255,255,255,.18));
  pointer-events: none;
}
.news-overview__invitation,.news-overview .news-calendar { position: relative; z-index: 1; }
@media(max-width:760px){.news-overview::before{left:50%;width:min(78vw,430px);transform:translate(-50%,-50%) rotate(-8deg);opacity:.055}}

/* Cabecera de eventos: franja institucional y controles limpios. */
.news-overview {
  background: #a3182a;
  border-top-color: #a3182a;
}
.news-overview::before {
  opacity: .11;
  filter: brightness(0) invert(1);
}
.news-overview::after { display: none; }
.news-overview__invitation {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.news-calendar__controls { gap: 12px; }
.news-calendar__controls button,
.news-calendar__controls button:hover,
.news-calendar__controls button:focus-visible {
  position: relative;
  width: 24px;
  height: 24px;
  padding: 0;
  color: transparent;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}
.news-calendar__controls button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 3px solid #a3182a;
  border-right: 3px solid #a3182a;
}
.news-calendar__controls [data-calendar-prev]::before {
  transform: translate(-35%,-50%) rotate(-135deg);
}
.news-calendar__controls [data-calendar-next]::before {
  transform: translate(-65%,-50%) rotate(45deg);
}
.news-calendar__controls button:hover::before,
.news-calendar__controls button:focus-visible::before {
  border-color: #77101f;
}

/* Jerarquía simplificada: año arriba y mes debajo. */
.news-calendar__identity h2 { display: none; }
.news-calendar__year {
  color: #a3182a;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: .04em;
}
.news-calendar__month-label {
  color: #171719;
  font-size: .66rem;
  letter-spacing: .12em;
}

/* Calendario compacto en rojo institucional. */
.news-overview::before { display: none; }
.news-overview .news-calendar {
  background: #a3182a !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-top: 3px solid #fff !important;
  box-shadow: 0 10px 24px rgba(71,7,17,.24) !important;
}
.news-overview .news-calendar__head {
  border-bottom-color: rgba(255,255,255,.28) !important;
}
.news-calendar__year,
.news-calendar__month-label {
  color: #fff !important;
}
.news-calendar__year { font-size: 1.25rem !important; }
.news-calendar__month-label { margin-bottom: .55rem !important; }
.news-overview .calendar-month {
  background: rgba(255,255,255,.09) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.news-overview .calendar-grid > span,
.news-overview .calendar-grid > a,
.news-overview .calendar-grid .calendar-weekday {
  color: #fff !important;
}
.news-overview .calendar-grid .calendar-weekday { opacity: .78; }
.news-overview .calendar-day--past {
  color: rgba(255,255,255,.48) !important;
  background: transparent !important;
  text-decoration-color: rgba(255,255,255,.36) !important;
}
.news-overview .calendar-day--event,
.news-overview .calendar-day--event.calendar-day--past {
  color: #a3182a !important;
  background: #fff !important;
  box-shadow: 0 4px 10px rgba(60,5,14,.28) !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}
.news-overview .calendar-day--today,
.news-overview .calendar-day--today.calendar-day--past {
  color: #fff !important;
  background: #211f22 !important;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(31,4,9,.3) !important;
}
.news-calendar__controls button::before {
  border-color: #fff !important;
}
.news-calendar__controls button:hover::before,
.news-calendar__controls button:focus-visible::before {
  border-color: #f5c9d0 !important;
}

/* Números visibles dentro de las fechas destacadas. */
.news-overview .calendar-grid > a.calendar-day--event,
.news-overview .calendar-grid > a.calendar-day--event:link,
.news-overview .calendar-grid > a.calendar-day--event:visited,
.news-overview .calendar-grid > a.calendar-day--event:hover,
.news-overview .calendar-grid > a.calendar-day--event:focus-visible {
  color: #202024 !important;
  -webkit-text-fill-color: #202024 !important;
  opacity: 1 !important;
  font-size: .44rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Paleta autoexplicativa del calendario: cada estado se reconoce sin leyenda. */
.news-overview .calendar-month {
  background: #fff7f8 !important;
  border-color: #f1c6ce !important;
}
.news-overview .calendar-grid > span,
.news-overview .calendar-grid > a {
  color: #29272a !important;
  -webkit-text-fill-color: #29272a !important;
}
.news-overview .calendar-grid .calendar-weekday {
  color: #8e2334 !important;
  -webkit-text-fill-color: #8e2334 !important;
  opacity: 1;
}
.news-overview .calendar-grid .calendar-empty {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.news-overview .calendar-day--past {
  color: #a88f94 !important;
  -webkit-text-fill-color: #a88f94 !important;
  background: #f7ecee !important;
  text-decoration: none !important;
}
.news-overview .calendar-grid > a.calendar-day--event {
  position: relative;
  color: #52101b !important;
  -webkit-text-fill-color: #52101b !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 2px #c51d35, 0 5px 12px rgba(109,12,27,.2) !important;
}
.news-overview .calendar-grid > a.calendar-day--event::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 3px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c51d35;
}
.news-overview .calendar-day--today,
.news-overview .calendar-day--today.calendar-day--past {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #252328 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c51d35 !important;
}

/* Insignia de fecha con icono de calendario en cada evento. */
.news-card__eyebrow time {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 36px;
  padding: .42rem .72rem;
  color: #fff;
  background: #b1162c;
  border: 1px solid #b1162c;
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(163,24,42,.24);
  white-space: nowrap;
}
.news-card__eyebrow time::before {
  content: "";
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3Cpath d='M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width: 620px) {
  .news-card__eyebrow { align-items: flex-start; flex-direction: column; }
}

/* Escena comunitaria y cita editorial del bloque principal de eventos. */
.news-overview__visual {
  position: relative;
  align-self: stretch;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 300px;
  overflow: hidden;
  border-radius: 8px;
  background: #5f111e;
}
.news-overview__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg,rgba(69,8,18,.04) 30%,rgba(69,8,18,.2) 64%,rgba(33,19,23,.76) 100%);
  pointer-events: none;
}
.news-overview__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
}
.news-overview__visual .news-overview__invitation {
  position: absolute;
  z-index: 2;
  right: clamp(18px,3vw,42px);
  bottom: clamp(16px,2.5vw,34px);
  width: min(520px,72%);
  margin: 0;
  padding: 0;
  color: #fff;
  text-align: right;
  text-shadow: 0 2px 12px rgba(20,8,12,.65);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.05rem,2vw,1.65rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.3;
}

/* Fechas importantes en rojo; fecha actual clara y translúcida. */
.news-overview .calendar-grid > a.calendar-day--event,
.news-overview .calendar-grid > a.calendar-day--event:link,
.news-overview .calendar-grid > a.calendar-day--event:visited,
.news-overview .calendar-day--event.calendar-day--past {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #c51d35 !important;
  box-shadow: 0 4px 11px rgba(78,7,18,.34) !important;
  text-decoration: none !important;
}
.news-overview .calendar-grid > a.calendar-day--event::after { background: #fff; }
.news-overview .calendar-day--today,
.news-overview .calendar-day--today.calendar-day--past {
  color: #421019 !important;
  -webkit-text-fill-color: #421019 !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.95),0 4px 10px rgba(54,6,14,.2) !important;
  text-decoration: none !important;
}
@media (max-width: 760px) {
  .news-overview__visual { width: 100%; min-height: 260px; }
  .news-overview__visual img { min-height: 260px; }
}

/* Composición compacta: imagen y calendario a la misma altura, sin fondo exterior. */
.news-overview {
  width: min(1180px,calc(100% - 48px));
  align-items: stretch;
  gap: 20px;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.news-overview__visual {
  align-self: auto;
  height: 340px;
  min-height: 0;
  border-radius: 8px;
}
.news-overview__visual img {
  height: 100%;
  min-height: 0;
}
.news-overview .news-calendar {
  align-self: stretch;
  height: 340px;
  margin: 0;
}
.news-overview__visual .news-overview__invitation {
  width: min(430px,68%);
  font-size: clamp(.88rem,1.35vw,1.12rem);
  font-weight: 400;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .news-overview { align-items: stretch; padding: 0; }
  .news-overview__visual { height: 280px; min-height: 280px; }
  .news-overview__visual img { min-height: 280px; }
  .news-overview .news-calendar { align-self: flex-end; height: auto; }
}

/* Ajuste final compacto sin espacios vacíos. */
.news-overview {
  align-items: stretch;
  gap: 16px;
}
.news-overview__visual {
  height: auto;
  min-height: 0;
}
.news-overview__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.news-overview .news-calendar {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
  height: auto;
  padding: .35rem;
}
.news-overview .calendar-month { padding: .28rem; }
.news-overview .calendar-grid { gap: .14rem; }
.news-overview__visual .news-overview__invitation {
  right: 22px;
  bottom: 18px;
  width: 42%;
  font-size: clamp(.76rem,1.05vw,.96rem);
  font-weight: 400;
  line-height: 1.42;
}
@media (max-width: 760px) {
  .news-overview__visual { height: 230px; min-height: 230px; }
  .news-overview__visual img { min-height: 0; }
  .news-overview .news-calendar { width: 180px; min-width: 180px; max-width: 180px; }
  .news-overview__visual .news-overview__invitation { width: 55%; }
}
