/* Chancay HOY: approved editorial palette. */
:root {
  --brand-blue: #06477e;
  --brand-blue-hover: #05365f;
  --brand-red: #e72738;
  --brand-red-text: #c91f30;
  --brand-ink: #172b43;
  --brand-muted: #5c6b7a;
  --brand-panel: #f2f5f8;
  --brand-line: #d8e0e8;
  --background: #fff;
  --on-background: var(--brand-ink);
  --surface-canvas: #fff;
  --surface-container-low: #f7f9fb;
  --surface-container: var(--brand-panel);
  --surface-variant: var(--brand-panel);
  --outline: #67788a;
  --outline-variant: var(--brand-line);
  --primary-container: var(--brand-blue);
  --on-primary-container: #fff;
  --inverse-primary: #dcecff;
  --secondary: var(--brand-blue);
  --secondary-container: #e5eef7;
  --ocean-deep: var(--brand-blue);
  --ocean-mid: var(--brand-blue);
  --ocean-teal: var(--brand-blue);
  --ocean-700: var(--brand-blue);
  --ocean-500: var(--brand-blue);
  --ocean-100: #e5eef7;
  --tertiary-fixed: #e5eef7;
  --sand-base: #fff;
  --sand-muted: var(--brand-panel);
  --ink-primary: var(--brand-ink);
  --ink-secondary: var(--brand-muted);
  --terracotta: var(--brand-blue);
  --accent: var(--brand-blue);
  --accent-hover: var(--brand-blue-hover);
  --shadow: 0 3px 12px rgb(23 43 67 / 6%);
  --shadow-sm: 0 2px 8px rgb(23 43 67 / 4%);
}
body { background: #fff; }
a { color: var(--brand-blue); }
a:hover { color: var(--brand-blue-hover); }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--brand-blue);
  outline-offset: 3px;
}
.site-header { border-bottom-color: var(--brand-line); box-shadow: 0 1px 0 var(--brand-line); }
/* Keep the original wordmark colours. */
.site-header .header-cta-btn { background: var(--brand-blue); }
.site-header .header-cta-btn:hover { background: var(--brand-blue-hover); transform: none; }
.site-header .nav-toggle { min-width: 44px; min-height: 44px; color: var(--brand-blue); }
.site-header .nav-lang-switch > summary { min-height: 44px; }
.site-header .header-trending-label { color: #fff; }
.site-header .header-trending-label::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 6px; background: var(--brand-red); border-radius: 50%; }
.site-header .header-trending-track a { color: #fff; }
.site-header .header-catbar.open { background: #fff; box-shadow: var(--shadow); }
.site-header .header-catbar.open .nav-menu--bar a { min-height: 44px; }
.site-header .header-catbar.open .nav-menu--bar a:hover { background: var(--brand-panel); color: var(--brand-blue); }
.hero-bg { background: var(--brand-blue); background-image: none; }
.hero .hero-brand { color: #fff; text-shadow: none; }
.hero h1 em { color: #fff; }
.hero .hero-search:focus-within { outline: 3px solid #fff; outline-offset: 4px; }
.hero .hero-tags a { background: transparent; color: #fff; border-color: rgb(255 255 255 / 60%); }
.hero .hero-tags a:hover { background: rgb(255 255 255 / 12%); }
.hero :where(a, button, input):focus-visible { outline-color: #fff; }
.btn, .btn-primary, .hero-search button { background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; min-height: 44px; }
.btn:hover, .btn-primary:hover { background: var(--brand-blue-hover); }
.btn.btn-outline { background: #fff; color: var(--brand-blue); border-color: var(--brand-blue); }
.btn.btn-outline:hover { background: var(--brand-blue); color: #fff; }
.btn.btn-light { background: #fff; color: var(--brand-blue); }
.listing-card, .category-card, .main .explore-card { border: 1px solid var(--brand-line); box-shadow: none; border-radius: 10px; }
.listing-card:hover, .category-card:hover { transform: none; border-color: #8aa4bf; box-shadow: var(--shadow-sm); }
.listing-card:hover .listing-card-thumb img { transform: none; }
.listing-card :is(h2, h3) { font-size: 1.2rem; line-height: 1.35; }
.listing-card :is(h2, h3) a { color: var(--brand-ink); }
.listing-card :is(h2, h3) a:hover { color: var(--brand-blue); text-decoration: underline; text-underline-offset: .15em; }
.listing-meta, .listing-card-excerpt { color: var(--brand-muted); }
.section-latest-news { background: #fff; }
.section-gyms { background: var(--brand-panel); color: var(--brand-ink); }
.section-gyms .section-head--light :is(h2,p) { color: var(--brand-ink); }
.section-gyms .btn-light { border: 1px solid var(--brand-blue); }
.main .chz-anuncia-home-banner { background: var(--brand-blue); }
.page-header { background: #fff; border-bottom: 1px solid var(--brand-line); }
.page-header h1 { color: var(--brand-ink); }
.page-header .lead { color: var(--brand-muted); }
.page-header .chz-media-badge, .article-chip { background: var(--brand-panel); color: var(--brand-blue); }
.page-header .chz-media-badge::before { background: var(--brand-blue); }
.page-header .chz-header-rule { border-color: var(--brand-blue); }
.page-header .chz-media-byline a { color: var(--brand-blue); }
.main .chz-progress-bar { background: var(--brand-blue); }
.article-body { background: #fff; }
.article-body .content-prose { max-width: 68ch; font-size: 1.125rem; line-height: 1.7; }
.article-body .content-prose h2 { margin-top: 2rem; line-height: 1.3; }
.article-body .content-prose a { color: var(--brand-blue); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.article-body .content-prose a:hover { color: var(--brand-blue-hover); text-decoration-thickness: 2px; }
.article-body blockquote { margin: 1.75rem 0; padding: 1rem 1.25rem; border-left: 3px solid var(--brand-blue); background: var(--brand-panel); color: var(--brand-ink); }
.article-body table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.article-body :is(th,td) { padding: .75rem; border: 1px solid var(--brand-line); overflow-wrap: anywhere; }
.article-body th { background: var(--brand-panel); color: var(--brand-ink); text-align: left; }
.site-footer { background: var(--brand-blue); color: #fff; }
.site-footer .footer-brand .brand-wordmark, .site-footer .footer-links h4 { color: #fff; }
.site-footer .footer-links a, .site-footer .footer-bottom { color: #fff; opacity: 1; }
.site-footer .footer-links a { font-size: .875rem; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer :is(a,button):focus-visible { outline-color: #fff; }
@media (max-width: 640px) {
  .listing-grid { grid-template-columns: minmax(0, 1fr); }
  .listing-card-body { padding: 1rem; }
  .page-header h1 { font-size: clamp(1.85rem, 7vw, 2.5rem); }
  .article-body .content-prose { font-size: 1.125rem; }
  .site-header .header-cta-btn { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .listing-card, .listing-card-thumb img, .category-card, .header-cta-btn { transition: none; }
}

/* Keep consent controls above promotional widgets on first visit. */
.cookie-banner { z-index: 10000; }
.cookie-banner__btn { min-height: 44px; }
@media (max-width: 480px) {
  .site-header .header-inner--centered { display: flex; gap: .375rem; }
  .site-header .header-side--left { flex: 0 0 auto; }
  .site-header .nav-toggle { margin-right: 0; }
  .site-header .header-brand-center { flex: 1 1 auto; min-width: 0; justify-content: center; }
  .site-header .chz-logo-text { gap: .2rem; }
  .site-header .chz-logo-chancay, .site-header .chz-logo-hoy { font-size: clamp(.9rem, 3.65vw, 1.15rem); }
  .site-header .header-side--right { flex: 0 0 auto; }
  .site-header .header-cta-btn { font-size: .72rem; margin-left: .3rem; padding: .45rem .55rem; }
  .site-header .nav-lang-switch > summary { padding-inline: .5rem; }
}

/* Six recent stories form balanced rows across breakpoints. */
.section-latest-news .listing-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) {
  .section-latest-news .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .section-latest-news .listing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.page-header:has(+ .article-body) h1 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.15; }

/* Reusable status styles: urgency stays distinct from normal categories. */
.editorial-alert { border-left: 4px solid var(--brand-red); background: #fff5f6; padding: 1rem; color: var(--brand-ink); }
.editorial-alert strong { color: var(--brand-red-text); }
.btn:disabled { background: var(--brand-panel); color: var(--brand-muted); border-color: var(--brand-line); cursor: not-allowed; }

/* Preserve contrast in the specialised gym header. */
.page-header.page-header-gym { background: var(--brand-blue); color: #fff; }
.page-header.page-header-gym h1, .page-header.page-header-gym .lead { color: #fff; }
