/* Reset and Base Styles 445 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Georgia, "Times New Roman", Times, serif;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #eff6ff 100%);
  color: #0f172a;
  line-height: 1.6;
  min-height: 100vh;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Header Styles */
.header {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #e2e8f0;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 3.5rem;
  gap: 1rem;
}

.logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.logo a {
  text-decoration: none;
  display: flex;
  align-items: center;
}

.logo-icon {
  height: 1.5rem;
  width: 1.5rem;
  background: linear-gradient(135deg, #16a34a 0%, #14b8a6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 0.5rem;
}

.logo-text {
  font-size: 1.5rem;
  font-weight: bold;
  background: linear-gradient(to right, #16a34a, #14b8a6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.025em;
}

.logo-svg {
  height: 1.7rem;
  width: auto;
  max-width: 200px;
  display: block;
  vertical-align: middle;
}

.subscribe-btn-container {
  display: none;
}

.subscribe-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  background: linear-gradient(to right, #fff7ed, #fef2f2);
  border: 1px solid #fed7aa;
  color: #9a3412;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}

.subscribe-btn:hover {
  background: linear-gradient(to right, #ffedd5, #fee2e2);
  border-color: #fb923c;
}

.bell-icon {
  height: 0.75rem;
  width: 0.75rem;
}

.search-container {
  flex: 1;
  max-width: 20rem;
  margin: 0 1rem;
}

.search-wrapper {
  position: relative;
  transition: all 0.2s;
}

.search-icon {
  position: absolute;
  left: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  height: 0.875rem;
  width: 0.875rem;
  color: #94a3b8;
}

.search-input {
  width: 100%;
  padding: 0.375rem 0.5rem 0.375rem 2rem;
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f8fafc;
  transition: all 0.2s;
}

.search-input:focus {
  outline: none;
  border-color: #22c55e;
  background: white;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1);
}

.search-input:hover {
  background: white;
  border-color: #cbd5e1;
}

/* Search Results Dropdown */
.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  z-index: 50;
  max-height: 300px;
  overflow-y: auto;
  display: none;
  margin-top: 0.25rem;
}

.search-result-item {
  display: block;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  color: #1e293b;
  text-decoration: none;
  transition: background-color 0.15s ease-in-out;
}

.search-result-item:last-child {
  border-bottom: none;
}

.search-result-item:hover,
.search-result-item.active {
  background-color: #f8fafc;
}

.search-result-name {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.search-no-results {
  padding: 0.75rem 1rem;
  color: #64748b;
  font-size: 0.875rem;
  text-align: center;
  font-style: italic;
}

.country-selector {
  position: relative;
  flex-shrink: 0;
}

.country-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}

.country-btn:hover {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.flag {
  font-size: 1rem;
}

.country-name {
  color: #374151;
}

.chevron-down {
  height: 0.75rem;
  width: 0.75rem;
  color: #6b7280;
}

.country-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  min-width: 200px;
  z-index: 60;
  display: none;
  overflow: hidden;
}

.country-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  text-decoration: none;
  color: #374151;
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: background-color 0.2s;
  border-bottom: 1px solid #f3f4f6;
}

.country-option:last-child {
  border-bottom: none;
}

.country-option:hover {
  background-color: #f9fafb;
}

.country-option.active {
  background-color: #ecfdf5;
  color: #16a34a;
  font-weight: 500;
}

.country-option.coming-soon {
  opacity: 0.6;
  cursor: not-allowed;
}

.country-option.coming-soon:hover {
  background-color: transparent;
}

.coming-soon-badge {
  margin-left: auto;
  padding: 0.125rem 0.5rem;
  background-color: #fef3c7;
  color: #92400e;
  font-size: 0.75rem;
  border-radius: 9999px;
  font-weight: 500;
}

/* Category Navigation */
.category-nav {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #f1f5f9;
  position: sticky;
  top: 3.5rem;
  z-index: 40;
  transition: transform 0.3s ease-in-out;
}

.category-nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
}

.category-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  overflow-x: auto;
  flex: 1;
}

.category-nav-right {
  display: flex;
  align-items: center;
  padding-left: 1rem;
  border-left: 1px solid #e2e8f0;
}

.category-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  font-weight: 500;
}

.category-btn:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.category-btn.active {
  background: linear-gradient(to right, #16a34a, #14b8a6);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.category-btn-special {
  background: white;
  border: 1px solid #16a34a;
  color: #16a34a;
}

.category-btn-special:hover {
  background: #f0fdf4;
  border-color: #14b8a6;
  color: #14b8a6;
}

.category-icon {
  height: 0.875rem;
  width: 0.875rem;
}

/* Main Content */
.main-content {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}

.page-title {
  margin-bottom: 1.5rem;
}

.title {
  font-size: 1.5rem;
  font-weight: bold;
  background: linear-gradient(to right, #0f172a, #166534, #14b8a6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.subtitle {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.5;
  margin-bottom: 0.375rem;
}

.description {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.5;
}

/* Page Intro Layout */
.page-intro-wrapper {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.page-intro-main {
  flex: 1;
  text-align: left;
}

/* Press Summary Sidebar - Compact */
.press-summary-sidebar {
  flex-shrink: 0;
  width: 320px;
}

.press-summary-compact {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  border: 2px solid #16a34a;
  border-radius: 12px;
  padding: 1.25rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(22, 163, 74, 0.1);
}

.press-summary-compact:hover {
  box-shadow: 0 4px 8px rgba(22, 163, 74, 0.15);
  border-color: #14b8a6;
}

.summary-sidebar-label {
  font-size: 0.75rem;
  color: #059669;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.summary-sidebar-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.summary-sidebar-preview {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.5;
  margin-bottom: 0;
}

.summary-sidebar-link-inline {
  font-size: 0.875rem;
  color: #16a34a;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.summary-sidebar-link-inline:hover {
  color: #14b8a6;
  text-decoration: underline;
}

/* Category Sections */
.category-sections {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.category-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 960px;
  margin: 0 auto;
}

.section-title-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.section-icon {
  height: 1.125rem;
  width: 1.125rem;
  color: #16a34a;
}

.section-title h3 {
  font-size: 1.125rem;
  font-weight: bold;
  color: #0f172a;
}

.publication-count {
  font-size: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid;
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}

.more-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: none;
  color: #16a34a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  border-radius: 0.375rem;
  transition: all 0.2s;
  text-decoration: none;
}

.more-btn:hover {
  color: #166534;
  background: #ecfdf5;
}

.arrow-right {
  height: 1rem;
  width: 1rem;
}

/* See More Button */
.see-more-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.see-more-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  color: #16a34a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1);
}

.see-more-btn:hover {
  background: rgba(22, 163, 74, 0.05);
  border-color: #bbf7d0;
  color: #166534;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.15);
}

.see-more-btn:active {
  transform: translateY(0);
}

.see-more-btn .chevron-down {
  height: 1rem;
  width: 1rem;
  transition: transform 0.3s ease;
}

.hidden-count {
  font-size: 0.75rem;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: rgba(255, 255, 255, 0.6);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid #e2e8f0;
}

/* Newspaper Grid */
.newspaper-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  max-width: 960px;
  margin: 0 auto;
}

/* Hidden Items */
.hidden-item {
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.3s ease-in-out;
}

.hidden-item[style*="block"] {
  opacity: 1;
  transform: scale(1);
}

/* Hidden on desktop - shows 4th item on mobile but hides it on desktop */
.hidden-on-desktop {
  display: block;
}

.newspaper-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border-radius: 0.5rem;
  /* Add subtle border for clearer separation between cards */
  border: 1px solid #e2e8f0;
  /* Slightly stronger shadow for better depth */
  box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.12);
  /* Inner white spacing between border and image */
  padding: 0.5rem;
  transition: box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}

.newspaper-card:hover {
  /* Slightly stronger hover shadow only */
  box-shadow: 0 10px 16px -4px rgba(0, 0, 0, 0.16);
}

.newspaper-image {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 0.375rem;
  /* Keep margins and radius stable so the card does not move on hover */
}

.newspaper-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.3s ease;
  transform-origin: center;
  /* Slightly smaller at rest so hover zoom fits within container */
  transform: scale(0.965);
}

.newspaper-card:hover .newspaper-image img {
  /* Subtle zoom that stays within the card */
  transform: scale(1);
}

.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}

/* Keep overlay unchanged on hover (no extra effects) */

.newspaper-info {
  padding: 1rem;
}

.newspaper-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.newspaper-name {
  font-weight: bold;
  color: #0f172a;
  font-size: 0.875rem;
  line-height: 1.25;
  transition: color 0.2s;
}

/* Keep text color unchanged on hover for simpler interaction */

.category-badge {
  font-size: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

.category-badge.national {
  background: #dbeafe;
  color: #1e40af;
  border-color: #bfdbfe;
}

.category-badge.sport {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}

.category-badge.finance {
  background: #faf5ff;
  color: #7c2d12;
  border-color: #e9d5ff;
}

.category-badge.local {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}

.category-badge.tabloid {
  background: #fdf2f8;
  color: #be185d;
  border-color: #fbcfe8;
}

.badge-container {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

.country-flag {
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  opacity: 0.85;
  transition: opacity 0.2s;
}

.country-flag:hover {
  opacity: 1;
}

.newspaper-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.status-dot {
  width: 0.5rem;
  height: 0.5rem;
  background: linear-gradient(to right, #4ade80, #10b981);
  border-radius: 50%;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.date {
  font-size: 0.75rem;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 500;
}

/* Newspaper Item Page Styles */
/* Publication Summary */
.publication-summary {
  margin: 0.5rem 0 0 0;
  padding: 0.5rem 0 0 0;
}

.publication-date {
  font-size: 1.1rem;
  color: #475569;
  margin: 0 0 0.75rem 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-style: italic;
}

.publication-date-small {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0.5rem 0 0 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: normal;
  opacity: 0.8;
}

.publication-description {
  color: #475569;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  margin: 0 0 0.5rem 0;
}

.publication-location {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0;
}

/* Front Page Review Summary */
.frontpage-review {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  border: 1px solid #bbf7d0;
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  margin: 0.75rem 0 1.5rem 0;
}

.frontpage-review-content {
  position: relative;
  max-height: 9rem;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
}

.frontpage-review-content::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.5rem;
  background: linear-gradient(to bottom, rgba(240, 253, 244, 0), #f0fdf4 70%);
  pointer-events: none;
  transition: opacity 0.3s;
}

.frontpage-review-content.expanded {
  max-height: 60rem;
}

.frontpage-review-content.expanded::after {
  opacity: 0;
}

/* Full display mode (no truncation) */
.frontpage-review-content--full {
  max-height: none;
}

.frontpage-review-content--full::after {
  display: none;
}

.frontpage-review-text {
  font-size: 1rem;
  line-height: 1.75;
  color: #1e293b;
  margin: 0;
}

.frontpage-review-text p {
  margin: 0 0 0.75rem 0;
}

.frontpage-review-text p:last-child {
  margin-bottom: 0;
}

.frontpage-review-toggle {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 1rem;
  padding: 0;
  background: none;
  border: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #16a34a;
  cursor: pointer;
  transition: color 0.2s;
}

.frontpage-review-toggle:hover {
  color: #15803d;
}

.frontpage-review-toggle .toggle-chevron {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s;
}

/* Spanish version colors */
body.country-es .frontpage-review {
  background: linear-gradient(135deg, #fef2f2 0%, #fff1f2 100%);
  border-color: #fecaca;
}

body.country-es .frontpage-review-heading {
  color: #E62525;
}

body.country-es .frontpage-review-content::after {
  background: linear-gradient(to bottom, transparent, #fef2f2);
}

body.country-es .frontpage-review-toggle {
  color: #E62525;
}

body.country-es .frontpage-review-toggle:hover {
  color: #c41e1e;
}

/* Mobile responsive */
@media (max-width: 640px) {
  .publication-name {
    font-size: 1.75rem;
    line-height: 1.2;
  }

  .frontpage-review {
    padding: 1rem 1.25rem;
    margin: 1rem 0;
  }
  
  .frontpage-review-text {
    font-size: 0.9375rem;
    line-height: 1.7;
  }
  
  .frontpage-review-toggle {
    font-size: 0.8125rem;
  }
}

.newspaper-main {
  max-width: 64rem;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.newspaper-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.publication-info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.publication-name {
  font-size: 2.5rem;
  font-weight: bold;
  color: #0f172a;
}

.publication-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 0.875rem;
}

.website-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.globe-icon {
  height: 1rem;
  width: 1rem;
  color: #6b7280;
}

.country-flag-large {
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  opacity: 0.9;
}

.website-link a {
  color: #16a34a;
  text-decoration: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.website-link a:hover {
  color: #166534;
  text-decoration: underline;
}

.external-link {
  height: 0.75rem;
  width: 0.75rem;
}

.more-info-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  border: none;
  color: #374151;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s;
}

.more-info-btn:hover {
  background: #f8fafc;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

.building-icon {
  height: 1rem;
  width: 1rem;
}

.more-info-panel {
  display: none;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.more-info-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.publisher-description h4 {
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.5rem;
}

.publisher-description p {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.6;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.publisher-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

.stat {
  text-align: center;
}

.stat-value {
  font-size: 1.125rem;
  font-weight: bold;
  color: #0f172a;
}

.stat-label {
  font-size: 0.75rem;
  color: #475569;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.publisher-details {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

.detail {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}

.detail-icon {
  height: 1rem;
  width: 1rem;
  color: #6b7280;
}

.detail span {
  color: #475569;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.detail a {
  color: #16a34a;
  text-decoration: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.detail a:hover {
  color: #166534;
  text-decoration: underline;
}


.front-page-container {
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.front-page-image {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: contain;
}

.issue-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(12px);
  border-radius: 0.5rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  margin-bottom: 2rem;
}

.nav-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  transition: all 0.2s;
}

.nav-btn:hover:not(:disabled) {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.nav-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.chevron-left,
.chevron-right {
  height: 1rem;
  width: 1rem;
}

.current-issue {
  text-align: center;
}

.issue-label {
  font-size: 0.875rem;
  color: #475569;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.issue-date {
  font-weight: bold;
  color: #0f172a;
}

.issue-count {
  font-size: 0.75rem;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.issue-thumbnails {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 4rem;
}

.thumbnail {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.2s;
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.7;
}

.thumbnail:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transform: scale(1.02);
  opacity: 1;
}

.thumbnail.active {
  box-shadow: 0 0 0 2px #10b981;
  transform: scale(1.05);
  opacity: 1;
}

.thumbnail img {
  width: 4rem;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: top center;
}

.thumbnail-date {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  font-size: 0.75rem;
  padding: 0.25rem;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.category-sections-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem 2rem;
}

/* Site Description */
.site-description {
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  padding: 2rem 0;
  margin-top: 3rem;
}

.site-description p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #475569;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.site-description strong {
  color: #1e293b;
  font-weight: 600;
}

/* Footer */
.footer {
  background: linear-gradient(to right, #0f172a, #065f46, #0f766e);
  color: white;
  margin-top: 5rem;
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  padding: 2.5rem 0;
  text-align: center;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.75rem;
}

.footer-link {
  color: #cbd5e1;
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.2s;
}

.footer-link:hover {
  color: #86efac;
  text-decoration: underline;
}

.footer-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}

.footer-text {
  color: #94a3b8;
  font-size: 0.8rem;
}

.footer-text-studio:empty {
  display: none;
}

/* Social Sharing Styles */
.social-sharing {
  margin: 1.5rem 0;
  text-align: center;
}

.sharing-buttons {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}

.share-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.8);
  color: #64748b;
}

.share-btn:hover {
  background: rgba(248, 250, 252, 0.9);
  border-color: #cbd5e1;
  color: #475569;
}

.share-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: #94a3b8;
}

.share-btn:hover .share-icon {
  color: #64748b;
}

/* Responsive Design */
@media (min-width: 640px) {
  .title {
    font-size: 2rem;
  }

  .subtitle {
    font-size: 1rem;
  }

  .publication-name {
    font-size: 3rem;
  }


  .thumbnail img {
    width: 5rem;
  }
}

@media (min-width: 768px) {
  .subscribe-btn-container {
    display: flex;
  }

  .footer-nav {
    gap: 0.5rem 2rem;
  }

  .newspaper-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .hidden-on-desktop {
    display: none;
  }

  /* Tablet mixed grid: medium cards take half, small cards take full width */
  .summaries-mixed-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
  }

  .summary-card--featured {
    grid-column: span 6;
  }

  .summary-card--medium {
    grid-column: span 6;
  }

  .summary-card--medium .summary-card-link {
    flex-direction: row;
  }

  .summary-card--medium .summary-thumbnail {
    width: 180px;
  }

  .summary-card--small {
    grid-column: span 6;
  }

  /* Tablet international grid: 3 columns */
  .summaries-international-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
  }

  .summary-card--equal {
    grid-column: span 1;
  }

  .summary-card--equal .summary-thumbnail {
    width: 100%;
    aspect-ratio: 5/3;
  }
}

@media (min-width: 1024px) {
  .newspaper-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  /* Desktop mixed grid: featured left, mediums right stacked, smalls below */
  .summaries-mixed-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: minmax(200px, auto);
  }

  .summary-card--featured {
    grid-column: span 6;
    grid-row: span 2;
  }

  .summary-card--medium {
    grid-column: span 6;
    grid-row: span 1;
  }

  .summary-card--small {
    grid-column: span 6;
    grid-row: span 1;
  }

  /* Desktop international grid: 3 equal columns */
  .summaries-international-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
  }

  .summary-card--equal {
    grid-column: span 1;
  }
}



@media (max-width: 640px) {
  .country-name {
    display: none;
  }

  .publication-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .issue-navigation {
    flex-direction: column;
    gap: 1rem;
  }

  .nav-btn span {
    display: none;
  }

  /* Hide category badges on mobile */
  .category-badge {
    display: none;
  }

  /* Reduce padding for bigger thumbnails on mobile */
  .container {
    padding: 0 0.5rem;
  }

  .main-content {
    padding: 2rem 0.5rem;
  }

  .newspaper-grid {
    gap: 0.75rem;
  }

  .newspaper-card {
    padding: 0.25rem;
  }

  /* Make page title section much smaller on mobile */
  .page-title {
    margin-bottom: 1.5rem;
  }

  .page-intro-wrapper {
    flex-direction: column;
    gap: 1rem;
  }

  .page-intro-main {
    text-align: center;
  }

  .title {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    line-height: 1.1;
  }

  .subtitle {
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .description {
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .press-summary-sidebar {
    width: 100%;
  }

  .press-summary-compact {
    padding: 1rem;
  }

  .summary-sidebar-title {
    font-size: 0.95rem;
  }

  .summary-sidebar-preview {
    font-size: 0.8rem;
  }

  /* Mobile social sharing adjustments */
  .social-sharing {
    margin: 1rem 0;
  }

  .sharing-buttons {
    gap: 0.5rem;
  }

  .share-btn {
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
  }
}

/* Category View Styles */
.category-view {
  margin-top: 2rem;
}

.category-view .newspaper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}

.back-to-all {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #64748b;
  text-decoration: none;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  transition: all 0.2s;
}

.back-link:hover {
  color: #334155;
  background-color: #f1f5f9;
}

.back-link svg {
  width: 1.25rem;
  height: 1.25rem;
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem;
}

.empty-state h3 {
  color: #334155;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.empty-state p {
  color: #64748b;
  font-size: 1.1rem;
  line-height: 1.6;
}

.empty-state a {
  color: #3b82f6;
  text-decoration: none;
}

.empty-state a:hover {
  text-decoration: underline;
}

/* About Page Styles */
.about-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.about-header {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.about-title {
  font-size: 3rem;
  font-weight: bold;
  color: #0f172a;
  margin-bottom: 1rem;
}

.about-subtitle {
  font-size: 1.25rem;
  color: #64748b;
  line-height: 1.6;
}

.about-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.about-section h2 {
  font-size: 1.875rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1.5rem;
}

.about-section p {
  font-size: 1.1rem;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 1rem;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.feature-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  border-radius: 0.75rem;
  padding: 2rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transition: all 0.3s;
}

.feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.feature-icon {
  width: 3rem;
  height: 3rem;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.feature-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  color: white;
}

.feature-card h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.feature-card p {
  font-size: 0.95rem;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 0;
}

.about-cta {
  text-align: center;
  margin-top: 4rem;
  padding: 3rem 2rem;
  background: linear-gradient(135deg, #f8fafc, #e2e8f0);
  border-radius: 1rem;
}

.about-cta h2 {
  font-size: 2rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.about-cta p {
  font-size: 1.1rem;
  color: #64748b;
  margin-bottom: 2rem;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: white;
  text-decoration: none;
  font-weight: 600;
  padding: 1rem 2rem;
  border-radius: 0.75rem;
  transition: all 0.3s;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
  background: linear-gradient(135deg, #15803d, #16a34a);
}

.cta-arrow {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s;
}

.cta-button:hover .cta-arrow {
  transform: translateX(4px);
}

/* Responsive About Page */
@media (max-width: 768px) {
  .about-title {
    font-size: 2.25rem;
  }
  
  .about-subtitle {
    font-size: 1.1rem;
  }
  
  .features-grid {
    grid-template-columns: 1fr;
  }
  
  .about-cta {
    padding: 2rem 1rem;
  }
  
  .about-cta h2 {
    font-size: 1.75rem;
  }
}

/* Legal Pages Styles (Terms & Privacy) */
.legal-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.legal-header {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.legal-title {
  font-size: 3rem;
  font-weight: bold;
  color: #0f172a;
  margin-bottom: 0.5rem;
}

.legal-subtitle {
  font-size: 1rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.legal-content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.legal-section h2 {
  font-size: 1.75rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e2e8f0;
}

.legal-section h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #374151;
  margin: 1.5rem 0 0.75rem 0;
}

.legal-section p {
  font-size: 1rem;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 1rem;
}

.legal-section ul {
  margin: 1rem 0 1rem 1.5rem;
  color: #475569;
}

.legal-section li {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.legal-section li strong {
  color: #374151;
  font-weight: 600;
}

.legal-footer {
  margin-top: 4rem;
  padding: 2rem;
  background: linear-gradient(135deg, #f8fafc, #e2e8f0);
  border-radius: 1rem;
  text-align: center;
}

.legal-footer p {
  font-size: 1rem;
  color: #64748b;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.back-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: white;
  text-decoration: none;
  font-weight: 600;
  padding: 0.875rem 1.75rem;
  border-radius: 0.75rem;
  transition: all 0.3s;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.back-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
  background: linear-gradient(135deg, #15803d, #16a34a);
}

.back-button svg {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s;
}

.back-button:hover svg {
  transform: translateX(-4px);
}

/* Responsive Legal Pages */
@media (max-width: 768px) {
  .legal-title {
    font-size: 2.25rem;
  }
  
  .legal-section h2 {
    font-size: 1.5rem;
  }
  
  .legal-section h3 {
    font-size: 1.125rem;
  }
  
  .legal-footer {
    padding: 1.5rem 1rem;
  }
  
  .back-button {
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* ============================================================
   PRESS SUMMARY / RASSEGNA STAMPA STYLES
   ============================================================ */

/* Archive Page */
/* Homepage Summaries Section */
.homepage-summaries-section {
  margin: 3rem 0;
  padding: 2rem 0;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #f0fdf4 100%);
}

.homepage-summaries-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}

.homepage-summaries-header h2 {
  font-size: 1.875rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}

.view-all-summaries-link {
  color: #16a34a;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.view-all-summaries-link:hover {
  color: #14b8a6;
}

.view-all-summaries-link--mobile {
  display: none;
}

.homepage-summaries-footer {
  margin-top: 1.5rem;
  text-align: center;
}

.press-summary-main {
  background-color: #f8fafc;
  padding: 3rem 0;
  min-height: 60vh;
}

.press-summary-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.press-summary-header {
  text-align: center;
  margin-bottom: 3rem;
}

.press-summary-header h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.75rem;
}

.press-summary-subtitle {
  font-size: 1.125rem;
  color: #64748b;
  max-width: 600px;
  margin: 0 auto;
}

.pipeline-section {
  margin-bottom: 4rem;
}

.pipeline-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid #16a34a;
}

.pipeline-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 0.5rem;
  background: linear-gradient(to right, #16a34a, #14b8a6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pipeline-description {
  font-size: 1rem;
  color: #64748b;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.summaries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.5rem;
}

/* Mixed grid layout with visual hierarchy (desktop only) */
.summaries-mixed-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem;
}

/* Hide mobile wrapper on desktop */
.summaries-mobile-card {
  display: none;
}

/* Style for mobile individual cards */
.summary-card-mobile {
  margin-bottom: 1rem;
}

.summary-card-mobile:last-child {
  margin-bottom: 0;
}

.summary-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  overflow: hidden;
}

/* Featured card - left side with 2-row height */
.summary-card--featured {
  grid-column: span 6;
  grid-row: span 2;
}

.summary-card--featured .summary-thumbnail {
  aspect-ratio: 5/3;
  max-height: 280px;
  overflow: hidden;
}

.summary-card--featured .summary-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.summary-card--featured .summary-title {
  font-size: 1.5rem;
  line-height: 1.3;
}

.summary-card--featured .summary-subtitle {
  font-size: 1rem;
}

.summary-card--featured .summary-card-content {
  padding: 1.5rem;
}

/* Medium cards - right side, stacked, horizontal layout */
.summary-card--medium {
  grid-column: span 6;
}

.summary-card--medium .summary-card-link {
  flex-direction: row;
}

.summary-card--medium .summary-thumbnail {
  width: 200px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.summary-card--medium .summary-card-content {
  padding: 1rem 1.25rem;
}

.summary-card--medium .summary-title {
  font-size: 1.125rem;
  line-height: 1.3;
}

.summary-card--medium .summary-subtitle {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Small cards - half width (2 per row), horizontal layout */
.summary-card--small {
  grid-column: span 6;
}

.summary-card--small .summary-card-link {
  flex-direction: row;
}

.summary-card--small .summary-thumbnail {
  width: 200px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.summary-card--small .summary-card-content {
  padding: 1rem 1.25rem;
}

.summary-card--small .summary-title {
  font-size: 1.125rem;
  line-height: 1.3;
}

.summary-card--small .summary-subtitle {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* International summaries grid - 3 equal cards side by side */
.summaries-international-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* Equal cards for international summaries */
.summary-card--equal {
  grid-column: span 1;
}

.summary-card--equal .summary-thumbnail {
  aspect-ratio: 5/3;
  overflow: hidden;
}

.summary-card--equal .summary-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.summary-card--equal .summary-card-content {
  padding: 1rem 1.25rem;
}

.summary-card--equal .summary-title {
  font-size: 1.125rem;
  line-height: 1.3;
}

.summary-card--equal .summary-subtitle {
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.summary-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.summary-card-link {
  display: block;
  padding: 0;
  text-decoration: none;
  color: inherit;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.summary-thumbnail {
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
  background: #f1f5f9;
}

.summary-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.summary-card:hover .summary-thumbnail img {
  transform: scale(1.05);
}

.summary-card-content {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.summary-card-header {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.summary-category-tag {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.6875rem;
  font-weight: 500;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.summary-date {
  font-size: 0.875rem;
  color: #64748b;
  font-weight: 500;
}

.summary-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

.summary-subtitle {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
  margin-bottom: 0;
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: #64748b;
}

/* Article Detail Page */
.article-main {
  background-color: #ffffff;
  padding: 3rem 0;
  min-height: 60vh;
}

.article-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.article-header {
  margin-bottom: 3rem;
}

.article-meta {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  color: #64748b;
}

.article-date {
  font-weight: 500;
}

.article-publication-count {
  color: #059669;
  background-color: #d1fae5;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-weight: 600;
}

.article-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.article-subtitle {
  font-size: 1.25rem;
  font-weight: 500;
  color: #475569;
  line-height: 1.5;
}

.article-featured-image {
  margin: 2rem 0 3rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.article-featured-image img {
  width: 100%;
  height: auto;
  display: block;
}

.article-body {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #334155;
  margin-bottom: 3rem;
}

.article-body p {
  margin-bottom: 1.5rem;
}

.article-body h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1e293b;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.article-body h2:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}

.article-body h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #334155;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.article-body a.publication-link {
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.article-body a.publication-link:hover {
  border-bottom-color: #2563eb;
}

/* Article Attribution Block */
.article-attribution {
  margin: 2rem 0 3rem;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-left: 3px solid #3b82f6;
  border-radius: 0 8px 8px 0;
}

.article-attribution p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #475569;
  font-style: italic;
}

/* Article Category Tag - Enhanced styling */
.article-category-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  border-radius: 6px;
  border: 1px solid transparent;
}

.article-category-tag--politics { 
  background: #eff6ff; 
  color: #1d4ed8; 
  border-color: #bfdbfe;
}
.article-category-tag--economy { 
  background: #f0fdf4; 
  color: #15803d; 
  border-color: #bbf7d0;
}
.article-category-tag--international { 
  background: #fffbeb; 
  color: #b45309; 
  border-color: #fde68a;
}
.article-category-tag--sports { 
  background: #fef2f2; 
  color: #b91c1c; 
  border-color: #fecaca;
}
.article-category-tag--society { 
  background: #faf5ff; 
  color: #7c3aed; 
  border-color: #e9d5ff;
}
.article-category-tag--culture { 
  background: #fdf2f8; 
  color: #be185d; 
  border-color: #fbcfe8;
}
.article-category-tag--science { 
  background: #ecfeff; 
  color: #0e7490; 
  border-color: #a5f3fc;
}
.article-category-tag--other { 
  background: #f8fafc; 
  color: #475569; 
  border-color: #e2e8f0;
}

.article-sharing {
  margin-bottom: 3rem;
  padding: 2rem;
  background-color: #f8fafc;
  border-radius: 12px;
}

.article-sharing h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 1rem;
}

.newspapers-section {
  margin-bottom: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #e2e8f0;
}

.newspapers-section h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: 1.5rem;
}

.newspapers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.5rem;
}

.article-footer {
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}

.back-link:hover {
  color: #1d4ed8;
}

/* Responsive Design */
@media (max-width: 768px) {
  .category-nav-wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  .category-nav-right {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid #e2e8f0;
    padding-top: 0.5rem;
    justify-content: center;
  }

  .press-summary-header h1 {
    font-size: 2rem;
  }

  .press-summary-subtitle {
    font-size: 1rem;
  }

  .summaries-grid {
    grid-template-columns: 1fr;
  }

  /* Hide desktop grids on mobile */
  .summaries-mixed-grid,
  .summaries-international-grid {
    display: none !important;
  }

  /* Show mobile wrapper on mobile as a card */
  .summaries-mobile-card {
    display: block;
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    overflow: hidden;
  }

  .summary-card--featured,
  .summary-card--medium,
  .summary-card--small {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }

  /* Reset medium and small cards to vertical layout on mobile */
  .summary-card--medium .summary-card-link,
  .summary-card--small .summary-card-link {
    flex-direction: column;
  }

  .summary-card--medium .summary-thumbnail,
  .summary-card--small .summary-thumbnail {
    width: 100%;
  }

  .summary-card--medium .summary-card-content {
    padding: 1.5rem;
  }

  .summary-card--featured .summary-title {
    font-size: 1.5rem;
  }

  .summary-card--featured .summary-card-content {
    padding: 1.5rem;
  }

  .summary-card--medium .summary-title,
  .summary-card--small .summary-title {
    font-size: 1.25rem;
  }

  .summary-card--featured .summary-thumbnail,
  .summary-card--medium .summary-thumbnail,
  .summary-card--small .summary-thumbnail {
    aspect-ratio: 16/9;
  }

  .summary-card--medium .summary-subtitle {
    display: block;
    -webkit-line-clamp: unset;
  }

  /* Mobile compact layout for summaries */
  .homepage-summaries-section {
    margin: 2rem 0;
    padding: 1.25rem 0;
  }

  /* Single combined card on mobile */
  .summaries-mobile-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    display: block;
  }

  /* Remove individual card styling on mobile */
  .summaries-mobile-card .summary-card {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .summaries-mobile-card .summary-card-link {
    display: block;
  }

  /* Mobile card-specific styling */
  .summary-card-mobile .summary-thumbnail {
    margin-bottom: 0.75rem;
  }
  
  .summary-card-mobile .summary-card-content {
    padding: 0;
  }
  
  .summary-card-mobile .summary-card-header {
    margin-bottom: 0.625rem;
  }

  /* Hide dates on all summary cards on mobile */
  .summary-date {
    display: none;
  }

  /* Truncate subtitle on first card to 2 lines on mobile */
  .summary-subtitle--mobile-short {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .homepage-summaries-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
  }

  .homepage-summaries-header h2 {
    font-size: 1.375rem;
  }

  /* Show mobile link, hide desktop link */
  .view-all-summaries-link--desktop {
    display: none;
  }

  .view-all-summaries-link--mobile {
    display: flex;
    justify-content: center;
  }

  .homepage-summaries-footer {
    margin-top: 1rem;
  }

  /* Reduce padding in summary cards */
  .summary-card-content {
    padding: 0;
  }

  .summary-card--featured .summary-card-content {
    padding: 0;
  }

  .summary-card-header {
    margin-bottom: 0.5rem;
  }
  
  /* Reduce spacing between category tag and title */
  .summaries-mobile-card .summary-card-header {
    margin-bottom: 0.625rem;
  }

  /* Hide dates on mobile */
  .summary-date {
    display: none;
  }

  .article-title {
    font-size: 1.875rem;
  }

  .article-subtitle {
    font-size: 1.125rem;
  }

  .article-featured-image {
    margin: 1.5rem 0 2rem;
    border-radius: 8px;
  }

  .article-body {
    font-size: 1rem;
  }

  .article-body h2 {
    font-size: 1.25rem;
    margin-top: 2rem;
  }

  .article-body h3 {
    font-size: 1.125rem;
    margin-top: 1.5rem;
  }

  .newspapers-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1rem;
  }
}

/* ============================================================
   PAGINATION STYLES
   ============================================================ */

.pagination-container {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e7eb;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.pagination-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  background-color: white;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: all 0.15s ease;
}

.pagination-link:hover:not(.pagination-link--disabled) {
  background-color: #f9fafb;
  border-color: #9ca3af;
  color: #111827;
}

.pagination-link--disabled {
  color: #9ca3af;
  cursor: not-allowed;
  background-color: #f9fafb;
}

.pagination-pages {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0 0.5rem;
}

.pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  background-color: white;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: all 0.15s ease;
}

.pagination-page:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
  color: #111827;
}

.pagination-page--current {
  color: white;
  background-color: #2563eb;
  border-color: #2563eb;
  cursor: default;
}

.pagination-page--current:hover {
  background-color: #2563eb;
  border-color: #2563eb;
}

.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  color: #6b7280;
  font-size: 0.875rem;
}

.pagination-info {
  text-align: center;
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0;
}

/* Mobile pagination styles */
@media (max-width: 640px) {
  .pagination {
    flex-wrap: wrap;
  }

  .pagination-pages {
    margin: 0.5rem 0;
    flex-basis: 100%;
    justify-content: center;
  }

  .pagination-link {
    font-size: 0.8125rem;
    padding: 0.5rem 0.75rem;
  }

  .pagination-page {
    min-width: 2.25rem;
    height: 2.25rem;
    font-size: 0.8125rem;
  }

  /* Hide ellipsis on very small screens */
  .pagination-ellipsis {
    display: none;
  }

  /* Show fewer page numbers on mobile */
  .pagination-page:not(.pagination-page--current) {
    display: none;
  }

  .pagination-page--current {
    display: inline-flex;
  }
}

/* ============================================================
   SPANISH VERSION (PortadasHoy) - COUNTRY-SPECIFIC STYLES
   Colors from logo: Red #E62525, Gold #FCC10F
   ============================================================ */

/* Spanish color scheme: warm neutral */
body.country-es {
  background: #faf8f5;
}

/* Spanish logo text gradient */
body.country-es .logo-text {
  background: linear-gradient(to right, #E62525, #FCC10F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Spanish title gradient */
body.country-es .title {
  background: linear-gradient(to right, #0f172a, #E62525, #FCC10F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Spanish search input focus */
body.country-es .search-input:focus {
  border-color: #E62525;
  box-shadow: 0 0 0 3px rgba(230, 37, 37, 0.1);
}

/* Spanish country selector hover */
body.country-es .country-btn:hover {
  background: #fef2f2;
  border-color: #fecaca;
}

body.country-es .country-option.active {
  background-color: #fef2f2;
  color: #E62525;
}

/* Spanish active category button */
body.country-es .category-btn.active {
  background: linear-gradient(90deg, #E62525 0%, #f97316 50%, #FCC10F 100%);
  color: white;
  border: none;
  box-shadow: 0 4px 6px -1px rgba(230, 37, 37, 0.2);
}

body.country-es .category-btn-special {
  border: 1px solid #E62525;
  color: #E62525;
}

body.country-es .category-btn-special:hover {
  background: #fef2f2;
  border-color: #FCC10F;
  color: #b91c1c;
}

/* Spanish "Mundial" (World News) button - distinct blue style */
body.country-es .category-btn-world {
  border: 1px solid #2563eb;
  color: #2563eb;
  background: #eff6ff;
}

body.country-es .category-btn-world:hover {
  background: #dbeafe;
  border-color: #1d4ed8;
  color: #1d4ed8;
}

/* ============================================================= */
/* SPANISH HEADER NAVIGATION (Inline Main Menu) */
/* ============================================================= */

/* Main navigation links in header for Spain */
.header-nav-es {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin-left: auto;
  margin-right: 0.5rem;
  flex-wrap: nowrap;
}

.header-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.7rem;
  font-size: 0.82rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 600;
  color: #4a4a4a;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.header-nav-link:hover {
  color: #1a1a1a;
  border-bottom-color: #d4d4d4;
}

body.country-es .header-nav-link.active {
  color: #1a1a1a;
  border-bottom-color: #E62525;
}

/* Tablet: Slightly smaller nav items */
@media (max-width: 1200px) {
  .header-nav-es {
    gap: 0.1rem;
  }

  .header-nav-link {
    padding: 0.35rem 0.5rem;
    font-size: 0.75rem;
  }
}

/* Responsive: Spanish header nav hidden on mobile, show in category bar */
@media (max-width: 900px) {
  .header-nav-es {
    display: none;
  }
}

/* Mobile navigation bar for Spain - hidden on desktop */
.category-nav-mobile-es {
  display: none;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
}

/* Mobile: Show nav in category bar instead */
@media (max-width: 900px) {
  .category-nav-mobile-es {
    display: block;
  }
  
  body.country-es .mobile-nav-es {
    display: flex;
    justify-content: flex-start;
    gap: 0.375rem;
    padding: 0.75rem 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  
  body.country-es .mobile-nav-es::-webkit-scrollbar {
    display: none;
  }
  
  body.country-es .mobile-nav-es .header-nav-link {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    flex-shrink: 0;
    color: #4b5563;
  }

  body.country-es .mobile-nav-es .header-nav-link:hover,
  body.country-es .mobile-nav-es .header-nav-link.active {
    background: transparent;
    color: #1a1a1a;
    border-bottom-color: #E62525;
  }
}

/* ============================================================= */
/* SPANISH SECONDARY NAVIGATION (Periódicos link) */
/* ============================================================= */

/* Secondary nav wrapper for Spanish - minimalist */
.category-nav-wrapper--es-secondary {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.5rem 0;
}

/* Center the periódicos button for Spanish secondary nav */
.category-nav-right--es {
  display: flex;
  align-items: center;
  padding: 0;
  border: none;
}

/* Style for the Periódicos button - secondary/muted appearance */
body.country-es .category-btn-newspapers {
  background: transparent;
  border: 1px solid #cbd5e1;
  color: #64748b;
  font-weight: 500;
}

body.country-es .category-btn-newspapers:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #475569;
}

body.country-es .category-btn-newspapers.active {
  background: #334155;
  border-color: #334155;
  color: white;
  box-shadow: 0 2px 4px rgba(51, 65, 85, 0.2);
}

/* Responsive: Spanish secondary nav on mobile */
@media (max-width: 768px) {
  .category-nav-wrapper--es-secondary {
    justify-content: center;
  }
  
  .category-nav-right--es {
    justify-content: center;
  }
}

/* ============================================================= */
/* INTERNATIONAL COVERAGE SECTION (España en Portadas) */
/* ============================================================= */
.international-section {
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 2rem;
}

.international-coverage-card {
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.international-coverage-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.international-card-link {
  display: flex;
  text-decoration: none;
  color: inherit;
}

.international-thumbnail {
  flex-shrink: 0;
  width: 200px;
  height: 150px;
  overflow: hidden;
  background-color: #e0f2fe;
}

.international-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.international-content {
  flex: 1;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.international-content--full {
  padding: 2rem;
}

.international-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0 0 0.75rem 0;
}

.international-excerpt {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.5;
  margin: 0 0 1rem 0;
}

.international-section .read-more-indicator {
  font-size: 0.875rem;
  font-weight: 600;
  color: #2563eb;
}

/* International coverage archive page */
.international-coverage-header {
  text-align: center;
  padding: 2rem 0;
  margin-bottom: 2rem;
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
  border-radius: 1rem;
}

.international-coverage-header .section-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: #1e3a8a;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.international-coverage-header .section-description {
  font-size: 1rem;
  color: #4b5563;
}

.international-summaries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}

.international-summary-card {
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.international-summary-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.international-summary-card .summary-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.international-summary-card .summary-thumbnail {
  height: 180px;
  background-color: #e0f2fe;
  overflow: hidden;
}

.international-summary-card .summary-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.international-summary-card .summary-thumbnail--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}

.international-summary-card .summary-thumbnail--placeholder svg {
  width: 4rem;
  height: 4rem;
  color: #93c5fd;
}

.international-summary-card .summary-card-content {
  padding: 1.25rem;
}

.international-summary-card .summary-card-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.summary-type-badge {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1d4ed8;
  background-color: #dbeafe;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

.international-summary-card .summary-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

.international-summary-card .summary-subtitle {
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* International coverage detail page styles */
.international-coverage-main {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
}

.intl-coverage-badge {
  background-color: #dbeafe;
  color: #1d4ed8;
  font-weight: 600;
}

/* International newspapers grid */
.intl-newspapers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.intl-newspaper-card {
  background: #f8fafc;
  border-radius: 0.5rem;
  padding: 1rem;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: background-color 0.2s ease-in-out;
}

.intl-newspaper-card:hover {
  background: #f1f5f9;
}

.intl-pub-name {
  font-weight: 600;
  color: #0f172a;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.intl-pub-country {
  font-size: 0.8rem;
  color: #64748b;
}

.newspaper-coverage-card .pub-country {
  font-size: 0.75rem;
  color: #64748b;
  margin-top: 0.25rem;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .international-section {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }
  
  .international-card-link {
    flex-direction: column;
  }
  
  .international-thumbnail {
    width: 100%;
    height: 180px;
  }
  
  .international-title {
    font-size: 1.25rem;
  }
  
  .international-coverage-header .section-title {
    font-size: 1.75rem;
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .international-summaries-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* Spanish section icon color */
body.country-es .section-icon {
  color: #E62525;
}

/* Spanish publication count badge */
body.country-es .publication-count {
  background: #fef3c7;
  color: #92400e;
  border-color: #fcd34d;
}

/* Spanish more button */
body.country-es .more-btn {
  color: #E62525;
}

body.country-es .more-btn:hover {
  color: #b91c1c;
  background: #fef2f2;
}

/* Spanish see more button */
body.country-es .see-more-btn {
  color: #E62525;
}

body.country-es .see-more-btn:hover {
  background: rgba(230, 37, 37, 0.05);
  border-color: #fecaca;
  color: #b91c1c;
}

/* Spanish status dot */
body.country-es .status-dot {
  background: linear-gradient(to right, #FCC10F, #E62525);
}

/* Spanish website link */
body.country-es .website-link a {
  color: #E62525;
}

body.country-es .website-link a:hover {
  color: #b91c1c;
}

body.country-es .detail a {
  color: #E62525;
}

body.country-es .detail a:hover {
  color: #b91c1c;
}

/* Spanish thumbnail active */
body.country-es .thumbnail.active {
  box-shadow: 0 0 0 2px #E62525;
}

/* Spanish site-description */
body.country-es .site-description {
  background: #f3f0eb;
  border-top: 1px solid #ddd5c8;
}

body.country-es .site-description p {
  color: #5c5347;
}

body.country-es .site-description strong {
  color: #1a1a1a;
}

/* Spanish header — solid white, no blur/translucency over dark hero */
body.country-es .header {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid #e8e3db;
  box-shadow: none;
}

/* Spanish footer */
body.country-es .footer {
  background: #1a1a1a;
  margin-top: 0;
}

body.country-es .footer-link:hover {
  color: #fcd34d;
}

/* Spanish feature card icon */
body.country-es .feature-icon {
  background: linear-gradient(135deg, #E62525, #FCC10F);
}

/* Spanish CTA button */
body.country-es .cta-button {
  background: linear-gradient(135deg, #E62525, #b91c1c);
}

body.country-es .cta-button:hover {
  background: linear-gradient(135deg, #b91c1c, #7f1d1d);
}

/* Spanish back button */
body.country-es .back-button {
  background: linear-gradient(135deg, #E62525, #b91c1c);
}

body.country-es .back-button:hover {
  background: linear-gradient(135deg, #b91c1c, #7f1d1d);
}

/* Spanish press summary styles */
body.country-es .press-summary-compact {
  background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 100%);
  border: 2px solid #E62525;
  box-shadow: 0 2px 4px rgba(230, 37, 37, 0.1);
}

body.country-es .press-summary-compact:hover {
  box-shadow: 0 4px 8px rgba(230, 37, 37, 0.15);
  border-color: #FCC10F;
}

body.country-es .summary-sidebar-label {
  color: #E62525;
}

body.country-es .summary-sidebar-link-inline {
  color: #E62525;
}

body.country-es .summary-sidebar-link-inline:hover {
  color: #b91c1c;
}

/* Spanish pipeline header */
body.country-es .pipeline-header {
  border-bottom: 3px solid #E62525;
}

body.country-es .pipeline-title {
  background: linear-gradient(to right, #E62525, #FCC10F);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Spanish view all link */
body.country-es .view-all-summaries-link {
  color: #E62525;
}

body.country-es .view-all-summaries-link:hover {
  color: #b91c1c;
}

/* Spanish subscribe button */
body.country-es .subscribe-btn {
  background: linear-gradient(to right, #fef2f2, #fffbeb);
  border: 1px solid #fecaca;
  color: #b91c1c;
}

body.country-es .subscribe-btn:hover {
  background: linear-gradient(to right, #fee2e2, #fef3c7);
  border-color: #FCC10F;
}

/* ============================================================= */
/* SPANISH CONTENT HOMEPAGE STYLES */
/* ============================================================= */

.content-homepage {
  padding-bottom: 3rem;
}

.content-homepage .container {
  max-width: 1040px;
}

/* Site Overview / Tagline */
.site-overview {
  text-align: center;
  padding: 1.5rem 1rem 1rem;
  margin-bottom: 0.5rem;
}

.site-tagline {
  font-size: 1.125rem;
  color: #475569;
  line-height: 1.5;
  max-width: 640px;
  margin: 0 auto;
  font-style: italic;
}

/* Section Header with Date (right-aligned) */
.section-header-with-date {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.section-header-left {
  flex: 1;
}

.section-header-date {
  display: flex;
  align-items: center;
}

.date-display {
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748b;
  text-transform: capitalize;
  padding: 0.375rem 0.75rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
}

/* Bottom Date Pagination */
.date-pagination {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}

.date-pagination-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.date-pagination-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  color: #334155;
  text-decoration: none;
  transition: all 0.15s ease;
  min-width: 160px;
}

.date-pagination-btn:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.date-pagination-prev {
  justify-content: flex-start;
}

.date-pagination-next {
  justify-content: flex-end;
  text-align: right;
}

.date-pagination-btn svg {
  color: #94a3b8;
  flex-shrink: 0;
}

.date-pagination-btn:hover svg {
  color: #64748b;
}

.date-pagination-text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.date-pagination-label {
  font-size: 0.75rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.date-pagination-date {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #334155;
  text-transform: capitalize;
}

.date-pagination-spacer {
  flex: 1;
}

/* Legacy date badge styles (kept for backward compatibility) */
.date-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 100%);
  border: 2px solid #E62525;
  border-radius: 0.75rem;
}

.date-day {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #E62525;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.date-full {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Homepage Section Base Styles */
.homepage-section {
  margin-bottom: 2.5rem;
}

.section-header-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 3px solid #E62525;
}

.section-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

.section-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #E62525;
}

.section-meta {
  font-size: 0.875rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.section-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

.view-all-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #E62525;
  text-decoration: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: color 0.2s;
}

.view-all-link:hover {
  color: #b91c1c;
}

/* ============================================================= */
/* HERO ARTICLE SECTION */
/* ============================================================= */

.hero-section {
  margin-bottom: 2.5rem;
}

.hero-article {
  background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 50%, #f0fdf4 100%);
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.hero-article:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.hero-article-link {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 2.5rem 2rem;
}

.hero-article-content {
  max-width: 720px;
}

.article-type-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #E62525;
  background: rgba(230, 37, 37, 0.08);
  padding: 0.25rem 0.75rem;
  border-radius: 2rem;
  margin-bottom: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.hero-article-title {
  font-size: 2rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.2;
  margin: 0 0 0.75rem;
  font-family: "Merriweather", Georgia, serif;
}

.hero-article-subtitle {
  font-size: 1.125rem;
  color: #475569;
  line-height: 1.5;
  margin: 0 0 1rem;
}

.hero-article-date {
  font-size: 0.875rem;
  color: #94a3b8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ============================================================= */
/* RECENT ARTICLES SECTION */
/* ============================================================= */

.recent-articles-section {
  margin-bottom: 2.5rem;
}

.recent-articles-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .recent-articles-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .recent-articles-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.recent-article-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.recent-article-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}

.recent-article-link {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 1.25rem;
}

.article-type-badge--small {
  font-size: 0.6875rem;
  padding: 0.1875rem 0.5rem;
  margin-bottom: 0.5rem;
}

.recent-article-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0 0 0.5rem;
  font-family: "Merriweather", Georgia, serif;
}

.recent-article-subtitle {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0 0 0.75rem;
}

.recent-article-date {
  font-size: 0.8125rem;
  color: #94a3b8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ============================================================= */
/* NEWSLETTER CTA SECTION */
/* ============================================================= */

.newsletter-section {
  margin-bottom: 2rem;
}

.newsletter-cta {
  text-align: center;
  padding: 2.5rem 2rem;
  background: linear-gradient(135deg, #fef2f2 0%, #fff7ed 100%);
  border-radius: 1rem;
  border: 1px solid #fecaca;
}

.newsletter-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 0.5rem;
}

.newsletter-description {
  font-size: 1rem;
  color: #475569;
  margin: 0 0 1.25rem;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

.newsletter-btn {
  display: inline-block;
  padding: 0.75rem 2rem;
  background: #E62525;
  color: #fff;
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background 0.2s ease, transform 0.1s ease;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.newsletter-btn:hover {
  background: #b91c1c;
  transform: translateY(-1px);
}

/* ============================================================= */
/* EMPTY STATE */
/* ============================================================= */

.content-empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
  background: linear-gradient(135deg, #fefce8 0%, #fff7ed 100%);
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  margin: 2rem 0;
}

.content-empty-state .empty-icon {
  width: 3rem;
  height: 3rem;
  color: #94a3b8;
  margin-bottom: 1rem;
}

.content-empty-state h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #334155;
  margin: 0 0 0.5rem;
}

.content-empty-state p {
  font-size: 0.9375rem;
  color: #64748b;
  margin: 0;
}

/* ============================================================= */
/* ARTICLE DETAIL PAGE */
/* ============================================================= */

.article-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 1.5rem 0 3rem;
}

.article-header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.article-header .article-type-badge {
  margin-bottom: 1rem;
}

.article-title {
  font-size: 2.25rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.2;
  margin: 0 0 0.75rem;
  font-family: "Merriweather", Georgia, serif;
}

.article-subtitle {
  font-size: 1.1875rem;
  color: #475569;
  line-height: 1.5;
  margin: 0 0 1rem;
}

.article-date {
  font-size: 0.875rem;
  color: #94a3b8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.article-body {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #1e293b;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.article-body h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin: 2rem 0 0.75rem;
}

.article-body h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin: 1.75rem 0 0.5rem;
}

.article-body p {
  margin: 0 0 1.25rem;
}

.article-body ul,
.article-body ol {
  margin: 0 0 1.25rem;
  padding-left: 1.5rem;
}

.article-body li {
  margin-bottom: 0.5rem;
}

.article-body strong {
  color: #0f172a;
}

.article-body blockquote {
  border-left: 3px solid #E62525;
  padding-left: 1.25rem;
  margin: 1.5rem 0;
  color: #475569;
  font-style: italic;
}

/* ============================================================= */
/* ARTICLE LIST PAGE */
/* ============================================================= */

.page-title {
  font-size: 2rem;
  font-weight: 800;
  color: #0f172a;
  margin: 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 3px solid #E62525;
  font-family: "Merriweather", Georgia, serif;
}

.article-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.article-list-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.article-list-item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}

.article-list-link {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 1.25rem 1.5rem;
}

.article-list-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0 0 0.5rem;
  font-family: "Merriweather", Georgia, serif;
}

.article-list-subtitle {
  font-size: 0.9375rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0 0 0.75rem;
}

.article-list-date {
  font-size: 0.8125rem;
  color: #94a3b8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}

.pagination-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #E62525;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  transition: background 0.2s;
}

.pagination-link:hover {
  background: #fef2f2;
}

.pagination-info {
  font-size: 0.875rem;
  color: #64748b;
}

/* Mobile adjustments for article pages */
@media (max-width: 640px) {
  .article-title {
    font-size: 1.75rem;
  }
  .hero-article-title {
    font-size: 1.5rem;
  }
  .hero-article-link {
    padding: 1.5rem 1.25rem;
  }
  .page-title {
    font-size: 1.5rem;
  }
}

/* ============================================================= */
/* LEGACY TITULARES SECTION (kept for reference) */
/* ============================================================= */

.titulares-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 768px) {
  .titulares-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
}

/* Featured Story Card */
.story-card--featured {
  grid-column: 1;
}

@media (min-width: 768px) {
  .story-card--featured {
    grid-row: 1 / 3;
  }
}

.story-card--featured .story-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
}

.story-card--featured .story-card-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.story-card--featured .story-thumbnail {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  overflow: hidden;
}

.story-card--featured .story-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-card--featured .story-content {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex: 1;
}

.story-card--featured .story-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0;
}

.story-card--featured .story-subtitle {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.5;
  margin: 0;
}

/* Story Meta (category, coverage) */
.story-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.story-category {
  display: inline-block;
  padding: 0.125rem 0.375rem;
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-radius: 0.1875rem;
  background: #f1f5f9;
  color: #64748b;
}

.story-category--politics { background: #dbeafe; color: #1e40af; }
.story-category--economy { background: #dcfce7; color: #166534; }
.story-category--international { background: #fef3c7; color: #92400e; }
.story-category--sports { background: #fee2e2; color: #991b1b; }
.story-category--society { background: #f3e8ff; color: #7c3aed; }
.story-category--culture { background: #fce7f3; color: #be185d; }
.story-category--science { background: #cffafe; color: #0e7490; }

/* Mini category tags for compact layouts */
.story-category-mini {
  display: inline-block;
  padding: 0.0625rem 0.25rem;
  font-size: 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: 0.125rem;
  background: #f1f5f9;
  color: #64748b;
  flex-shrink: 0;
}

.story-category-mini--politics { background: #dbeafe; color: #1e40af; }
.story-category-mini--economy { background: #dcfce7; color: #166534; }
.story-category-mini--international { background: #fef3c7; color: #92400e; }
.story-category-mini--sports { background: #fee2e2; color: #991b1b; }
.story-category-mini--society { background: #f3e8ff; color: #7c3aed; }
.story-category-mini--culture { background: #fce7f3; color: #be185d; }
.story-category-mini--science { background: #cffafe; color: #0e7490; }

.story-coverage {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #64748b;
}

.story-coverage svg {
  width: 0.875rem;
  height: 0.875rem;
}

.story-coverage-mini {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  background: #E62525;
  color: #fff;
  border-radius: 0.25rem;
}

/* Secondary Stories Grid */
.secondary-stories-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .secondary-stories-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

/* Secondary Story Card */
.story-card--secondary .story-card-link {
  display: flex;
  gap: 0.75rem;
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
  padding: 0.75rem;
}

.story-card--secondary .story-card-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.story-card--secondary .story-thumbnail {
  flex-shrink: 0;
  width: 100px;
  height: 75px;
  border-radius: 0.5rem;
  overflow: hidden;
}

.story-card--secondary .story-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-card--secondary .story-content {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  flex: 1;
  min-width: 0;
}

.story-card--secondary .story-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.3;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.story-card--secondary .story-subtitle {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================= */
/* TITULARES DE HOY SECTION V2 - Bubble-free newspaper design */
/* ============================================================= */

.titulares-grid-v2 {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .titulares-grid-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: start;
  }
}

/* Base story card v2 - no bubble, clean design */
.story-card-v2 {
  /* No background, no shadow, no bubble */
}

.story-card-v2-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.story-card-v2-link:hover .story-title-v2 {
  color: #E62525;
}

/* Featured Story (Large) - Left Side */
.story-card-v2--featured {
  min-width: 0;
}

.story-card-v2--featured .story-card-v2-link {
  display: flex;
  flex-direction: column;
}

.story-card-v2--featured .story-thumbnail-v2 {
  width: 100%;
  aspect-ratio: 5 / 3;
  overflow: hidden;
  margin-bottom: 0.875rem;
}

.story-card-v2--featured .story-thumbnail-v2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.story-card-v2--featured .story-card-v2-link:hover .story-thumbnail-v2 img {
  transform: scale(1.02);
}

.story-card-v2--featured .story-content-v2 {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.story-card-v2--featured .story-title-v2 {
  font-size: 1.375rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  margin: 0;
  transition: color 0.2s ease;
}

@media (min-width: 768px) {
  .story-card-v2--featured .story-title-v2 {
    font-size: 1.5rem;
  }
}

.story-card-v2--featured .story-subtitle-v2 {
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.5;
  margin: 0;
}

/* Secondary Stories (Right Column) - Text Only */
.secondary-stories-v2 {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

@media (min-width: 768px) {
  .secondary-stories-v2 {
    padding-top: 0;
  }
}

/* Text-only story cards */
.story-card-v2--text-only {
  padding: 0.875rem 0;
  border-bottom: 1px solid #e2e8f0;
}

.story-card-v2--text-only:first-child {
  padding-top: 0;
}

.story-card-v2--text-only:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.story-card-v2--text-only .story-content-v2 {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.story-card-v2--text-only .story-title-v2 {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  margin: 0;
  transition: color 0.2s ease;
}

@media (min-width: 768px) {
  .story-card-v2--text-only .story-title-v2 {
    font-size: 1rem;
  }
}

.story-card-v2--text-only .story-subtitle-v2 {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Horizontal Story Card (Fourth Story) - Text Left, Thumbnail Right */
.story-card-v2--horizontal {
  padding-top: 0.875rem;
  border-top: 1px solid #e2e8f0;
}

.story-card-v2--horizontal .story-card-v2-link {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
}

.story-card-v2--horizontal .story-content-v2 {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.story-card-v2--horizontal .story-title-v2 {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  margin: 0;
  transition: color 0.2s ease;
}

.story-card-v2--horizontal .story-subtitle-v2 {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.story-card-v2--horizontal .story-thumbnail-v2--right {
  flex-shrink: 0;
  width: 120px;
  height: 80px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .story-card-v2--horizontal .story-thumbnail-v2--right {
    width: 160px;
    height: 100px;
  }
}

.story-card-v2--horizontal .story-thumbnail-v2--right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.story-card-v2--horizontal .story-card-v2-link:hover .story-thumbnail-v2--right img {
  transform: scale(1.02);
}

/* ============================================================= */
/* RESUMEN DE PRENSA SECTION */
/* ============================================================= */

.resumen-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .resumen-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .resumen-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.summary-card-content {
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
}

.summary-card-content:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.summary-card-content .summary-card-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  height: 100%;
}

.summary-card-content .summary-thumbnail {
  width: 100%;
  height: 140px;
  overflow: hidden;
}

.summary-card-content .summary-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.summary-card-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}

.summary-card-content .summary-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.summary-category-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 0.25rem;
  background: linear-gradient(135deg, #fee2e2 0%, #fef3c7 100%);
  color: #b91c1c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.summary-card-content .summary-title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.summary-excerpt {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.summary-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid #f1f5f9;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.summary-pub-count {
  font-size: 0.75rem;
  color: #94a3b8;
}

.read-more-indicator {
  font-size: 0.75rem;
  font-weight: 600;
  color: #E62525;
}

/* ============================================================= */
/* EXPLORAR PERIÓDICOS SECTION */
/* ============================================================= */

.newspapers-scroll-container {
  position: relative;
  margin: 0 -1rem;
  padding: 0 1rem;
}

.newspapers-scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #E62525 #f1f5f9;
  padding-bottom: 0.5rem;
}

.newspapers-scroll::-webkit-scrollbar {
  height: 6px;
}

.newspapers-scroll::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 3px;
}

.newspapers-scroll::-webkit-scrollbar-thumb {
  background: #E62525;
  border-radius: 3px;
}

.newspaper-card-compact {
  flex-shrink: 0;
  width: 140px;
  scroll-snap-align: start;
  text-decoration: none;
  transition: transform 0.2s;
}

.newspaper-card-compact:hover {
  transform: translateY(-4px);
}

.newspaper-image-compact {
  width: 140px;
  height: 196px;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  background: #f1f5f9;
}

.newspaper-image-compact img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.newspaper-info-compact {
  padding: 0.5rem 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.newspaper-name-compact {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.newspaper-date-compact {
  font-size: 0.6875rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ============================================================= */
/* EMPTY STATE */
/* ============================================================= */

.content-empty-state {
  text-align: center;
  padding: 4rem 2rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.empty-icon {
  width: 4rem;
  height: 4rem;
  color: #cbd5e1;
  margin-bottom: 1.5rem;
}

.content-empty-state h3 {
  font-size: 1.5rem;
  color: #0f172a;
  margin-bottom: 0.5rem;
}

.content-empty-state p {
  color: #64748b;
  margin-bottom: 1.5rem;
}

.btn-primary {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: #E62525;
  color: #fff;
  text-decoration: none;
  border-radius: 0.5rem;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: background 0.2s;
}

.btn-primary:hover {
  background: #b91c1c;
}

/* ============================================================= */
/* RESPONSIVE ADJUSTMENTS - CONTENT HOMEPAGE */
/* ============================================================= */

/* Mobile-first adjustments for content homepage */
@media (max-width: 767px) {
  /* General page padding */
  .content-homepage {
    padding-bottom: 2rem;
  }
  
  .content-homepage .container {
    padding: 0 0.75rem;
  }
  
  /* Date display mobile */
  .section-header-row {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  
  .section-header-with-date {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .section-header-date {
    width: 100%;
  }
  
  .date-display {
    font-size: 0.8125rem;
  }
  
  /* Date pagination mobile */
  .date-pagination {
    margin-top: 2rem;
    padding-top: 1.25rem;
  }
  
  .date-pagination-btn {
    padding: 0.75rem 1rem;
    min-width: 0;
    flex: 1;
  }
  
  .date-pagination-label {
    display: none;
  }
  
  .date-pagination-date {
    font-size: 0.8125rem;
  }
  
  /* Section headers mobile */
  .homepage-section {
    margin-bottom: 1.75rem;
  }
  
  .section-header-content {
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom-width: 2px;
  }
  
  .section-title {
    font-size: 1.125rem;
    gap: 0.375rem;
  }
  
  .section-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
  
  .section-meta {
    font-size: 0.75rem;
  }
  
  /* Titulares section mobile */
  .titulares-grid {
    gap: 0.625rem;
  }
  
  .story-card--featured .story-card-link {
    border-radius: 0.75rem;
  }
  
  .story-card--featured .story-thumbnail {
    padding-bottom: 50%; /* Shorter aspect ratio on mobile */
  }
  
  .story-card--featured .story-content {
    padding: 0.875rem;
    gap: 0.5rem;
  }
  
  .story-card--featured .story-title {
    font-size: 1rem;
    line-height: 1.35;
  }
  
  .story-card--featured .story-subtitle {
    font-size: 0.8125rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  /* Secondary story cards mobile */
  .secondary-stories-grid {
    gap: 0.5rem;
  }
  
  .story-card--secondary .story-card-link {
    padding: 0.5rem;
    border-radius: 0.5rem;
    gap: 0.625rem;
  }
  
  .story-card--secondary .story-thumbnail {
    width: 80px;
    height: 60px;
    border-radius: 0.375rem;
  }
  
  .story-card--secondary .story-title {
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
  }
  
  .story-meta {
    gap: 0.5rem;
  }
  
  /* Category tags mobile - even smaller */
  .story-category {
    padding: 0.0625rem 0.25rem;
    font-size: 0.5rem;
  }
  
  /* Resumen de prensa mobile */
  .resumen-cards-grid {
    gap: 0.75rem;
  }
  
  .summary-card-content {
    border-radius: 0.625rem;
  }
  
  .summary-card-content .summary-thumbnail {
    height: 120px;
  }
  
  .summary-card-body {
    padding: 0.75rem;
    gap: 0.375rem;
  }
  
  .summary-category-badge {
    padding: 0.125rem 0.375rem;
    font-size: 0.5rem;
  }
  
  .summary-card-content .summary-title {
    font-size: 0.9375rem;
  }
  
  .summary-excerpt {
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
  }
  
  .summary-footer {
    padding-top: 0.375rem;
  }
  
  .summary-pub-count,
  .read-more-indicator {
    font-size: 0.6875rem;
  }
  
  /* Newspapers scroll mobile */
  .newspapers-scroll-container {
    margin: 0 -0.75rem;
    padding: 0 0.75rem;
  }
  
  .newspaper-card-compact {
    width: 110px;
  }
  
  .newspaper-image-compact {
    width: 110px;
    height: 154px;
    border-radius: 0.375rem;
  }
  
  .newspaper-info-compact {
    padding: 0.375rem 0.125rem;
    gap: 0.0625rem;
  }
  
  .newspaper-name-compact {
    font-size: 0.6875rem;
  }
  
  .newspaper-date-compact {
    font-size: 0.5625rem;
  }
  
  /* Section footer mobile */
  .section-footer {
    margin-top: 0.75rem;
  }
  
  .view-all-link {
    font-size: 0.8125rem;
  }
  
  /* International section mobile */
  .international-section {
    padding: 1rem;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    border-radius: 0;
  }
  
  .international-content--full {
    padding: 1.25rem;
  }
  
  .international-title {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
  }
  
  .international-excerpt {
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
  }
  
  /* Empty state mobile */
  .content-empty-state {
    padding: 2.5rem 1.5rem;
    border-radius: 0.75rem;
  }
  
  .empty-icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
  }
  
  .content-empty-state h3 {
    font-size: 1.25rem;
  }
  
  .content-empty-state p {
    font-size: 0.875rem;
  }
  
  .btn-primary {
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
  }
}

/* Small mobile (under 375px) */
@media (max-width: 374px) {
  .content-homepage .container {
    padding: 0 0.5rem;
  }
  
  .section-title {
    font-size: 1rem;
  }
  
  .story-card--featured .story-title {
    font-size: 0.9375rem;
  }
  
  .story-card--secondary .story-thumbnail {
    width: 70px;
    height: 52px;
  }
  
  .story-card--secondary .story-title {
    font-size: 0.75rem;
  }
  
  .newspaper-card-compact {
    width: 100px;
  }
  
  .newspaper-image-compact {
    width: 100px;
    height: 140px;
  }
}

/* ============================================================= */
/* NOTICIAS DEL MUNDO (World News) SECTION - V2 */
/* ============================================================= */

.world-news-section {
  background: #fff;
  padding: 0;
  border-radius: 0;
  margin-top: 1.5rem;
}

/* V3 - Row-per-region layout with medium thumbnails (legacy) */
.world-news-rows {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.world-region-row {
  background: #fff;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.region-header-row {
  margin-bottom: 0.75rem;
}

.region-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #334155;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.region-title-row .region-emoji {
  font-size: 1.25rem;
}

/* V4 - New compact layout: Featured top, 3 text-only middle, thumbnail-left bottom */
.region-stories-v4 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Featured story - text left, thumbnail right */
.region-story-featured {
  display: flex;
  gap: 1rem;
  text-decoration: none;
  transition: opacity 0.15s;
}

.region-story-featured:hover {
  opacity: 0.9;
}

.region-story-featured-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  justify-content: flex-start;
  padding-top: 0.25rem;
}

.region-story-featured-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.region-story-featured:hover .region-story-featured-title {
  color: #E62525;
}

.region-story-featured-subtitle {
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.region-story-featured-thumb {
  width: 280px;
  min-width: 280px;
  height: 160px;
  overflow: hidden;
  background: #e2e8f0;
  flex-shrink: 0;
}

.region-story-featured-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Text-only row - 3 stories side by side */
.region-stories-text-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  padding-top: 0.5rem;
  border-top: 1px solid #e2e8f0;
}

.region-story-text {
  display: block;
  text-decoration: none;
  transition: opacity 0.15s;
}

.region-story-text:hover {
  opacity: 0.85;
}

.region-story-text .story-category-mini {
  margin-bottom: 0.375rem;
}

.region-story-text-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin: 0 0 0.375rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.region-story-text:hover .region-story-text-title {
  color: #E62525;
}

.region-story-text-subtitle {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Bottom story - small thumbnail left, text right */
.region-story-bottom {
  display: flex;
  gap: 0.75rem;
  text-decoration: none;
  padding-top: 0.75rem;
  border-top: 1px solid #e2e8f0;
  transition: opacity 0.15s;
}

.region-story-bottom:hover {
  opacity: 0.85;
}

.region-story-bottom-thumb {
  width: 120px;
  min-width: 120px;
  height: 75px;
  overflow: hidden;
  background: #e2e8f0;
  flex-shrink: 0;
}

.region-story-bottom-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.region-story-bottom-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  justify-content: flex-start;
}

.region-story-bottom-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.region-story-bottom:hover .region-story-bottom-title {
  color: #E62525;
}

.region-story-bottom-subtitle {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Responsive adjustments for V4 layout */
@media (max-width: 767px) {
  .world-region-row {
    padding: 0.875rem 1rem;
    border-radius: 0;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  
  .region-title-row {
    font-size: 1rem;
  }
  
  /* Featured story stacks vertically on mobile */
  .region-story-featured {
    flex-direction: column-reverse;
    gap: 0.75rem;
  }
  
  .region-story-featured-thumb {
    width: 100%;
    min-width: 100%;
    height: 180px;
  }
  
  .region-story-featured-content {
    padding-top: 0;
  }
  
  .region-story-featured-title {
    font-size: 1rem;
  }
  
  .region-story-featured-subtitle {
    -webkit-line-clamp: 2;
  }
  
  /* Text-only row stacks on mobile */
  .region-stories-text-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding-top: 0.75rem;
  }
  
  .region-story-text-title {
    -webkit-line-clamp: 2;
  }
  
  .region-story-text-subtitle {
    -webkit-line-clamp: 1;
  }
  
  /* Bottom story */
  .region-story-bottom {
    padding-top: 0.75rem;
  }
  
  .region-story-bottom-thumb {
    width: 100px;
    min-width: 100px;
    height: 65px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Featured story adjustments */
  .region-story-featured-thumb {
    width: 220px;
    min-width: 220px;
    height: 140px;
  }
  
  .region-story-featured-title {
    font-size: 1rem;
  }
  
  /* Text row shows 2 columns on tablet */
  .region-stories-text-row {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Third text story spans full width on tablet */
  .region-story-text:nth-child(3) {
    grid-column: 1 / 3;
  }
}

/* V2 - Text-focused layout (legacy) */
.world-news-regions-v2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .world-news-regions-v2 {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

.world-region-v2 {
  background: transparent;
}

.region-title-v2 {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #64748b;
  margin: 0 0 0.75rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.region-title-v2 .region-emoji {
  font-size: 1rem;
}

.region-stories-v2 {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.world-story-item {
  border-bottom: 1px solid #f1f5f9;
}

.world-story-item:last-child {
  border-bottom: none;
}

.world-story-link-v2 {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.625rem 0;
  text-decoration: none;
  transition: background-color 0.15s;
}

.world-story-link-v2:hover {
  background-color: #fafafa;
  margin: 0 -0.5rem;
  padding: 0.625rem 0.5rem;
}

.world-story-thumb-v2 {
  flex-shrink: 0;
  width: 64px;
  height: 48px;
  border-radius: 0.25rem;
  overflow: hidden;
  background: #f1f5f9;
}

.world-story-thumb-v2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.world-story-content-v2 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.world-story-title-v2 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #0f172a;
  line-height: 1.45;
}

.world-story-link-v2:hover .world-story-title-v2 {
  color: #E62525;
}

/* Legacy world news styles (kept for backward compatibility) */
.world-news-regions {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.world-region {
  background: #fff;
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
}

.region-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 1rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #e2e8f0;
}

.region-emoji {
  font-size: 1.25rem;
}

.region-stories {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.world-story-card {
  background: #fafafa;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: background 0.2s, transform 0.2s;
}

.world-story-card:hover {
  background: #f1f5f9;
  transform: translateX(4px);
}

.world-story-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  text-decoration: none;
}

.world-story-thumb {
  flex-shrink: 0;
  width: 80px;
  height: 60px;
  border-radius: 0.375rem;
  overflow: hidden;
}

.world-story-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.world-story-content {
  flex: 1;
  min-width: 0;
}

.world-story-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.world-coverage {
  font-size: 0.6875rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.world-story-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Responsive adjustments for World News (legacy) */
@media (min-width: 768px) {
  .world-news-regions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
  
  .region-stories {
    max-height: 400px;
    overflow-y: auto;
  }
}

@media (max-width: 767px) {
  .world-news-section {
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
  }
  
  .world-story-thumb {
    width: 60px;
    height: 45px;
  }
  
  .world-story-title {
    font-size: 0.875rem;
  }
  
  /* V2 mobile adjustments */
  .world-news-regions-v2 {
    gap: 1.25rem;
  }
  
  .world-story-title-v2 {
    font-size: 0.875rem;
  }
  
  .world-story-thumb-v2 {
    width: 56px;
    height: 42px;
  }
}

/* ============================================================= */
/* SINGLE STORY DETAIL PAGE */
/* ============================================================= */
.single-story-main {
  padding: 2rem 0;
}

.article-breadcrumb {
  font-size: 0.875rem;
  color: #64748b;
  margin-bottom: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.article-breadcrumb a {
  color: #64748b;
  text-decoration: none;
}

.article-breadcrumb a:hover {
  color: #16a34a;
  text-decoration: underline;
}

.article-breadcrumb .separator {
  margin: 0 0.5rem;
  color: #94a3b8;
}

.article-breadcrumb .region-badge {
  background: #e0f2fe;
  color: #0284c7;
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.article-coverage {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.article-coverage svg {
  width: 16px;
  height: 16px;
}

.article-key-facts {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  border-left: 4px solid #16a34a;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 2rem 0;
}

.article-key-facts h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #166534;
  margin-bottom: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.article-key-facts ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.article-key-facts li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  color: #15803d;
  line-height: 1.5;
}

.article-key-facts li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #16a34a;
  font-weight: bold;
}

.article-coverage-analysis {
  background: #f8fafc;
  border-radius: 0.75rem;
  padding: 1.5rem;
  margin: 2rem 0;
}

.article-coverage-analysis h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.coverage-content {
  font-size: 1rem;
  color: #334155;
  line-height: 1.7;
}

/* Story Newspapers Grid */
.story-newspapers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}

.newspaper-card-story {
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transition: transform 0.2s, box-shadow 0.2s;
}

.newspaper-card-story:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.newspaper-card-story .newspaper-link {
  display: block;
  text-decoration: none;
}

.newspaper-card-story .newspaper-image {
  aspect-ratio: 3/4;
  overflow: hidden;
}

.newspaper-card-story .newspaper-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.newspaper-card-story .newspaper-info {
  padding: 0.75rem;
}

.newspaper-card-story .newspaper-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0 0 0.25rem;
}

.newspaper-card-story .newspaper-headline {
  font-size: 0.75rem;
  color: #64748b;
  margin: 0;
  line-height: 1.4;
}

.prominence-badge {
  display: inline-block;
  font-size: 0.625rem;
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 0.5rem;
}

.prominence-main { background: #fef3c7; color: #92400e; }
.prominence-secondary { background: #e0f2fe; color: #0284c7; }
.prominence-brief { background: #f1f5f9; color: #64748b; }

/* Related Stories */
.related-stories-section {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}

.related-stories-section h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1.5rem;
}

.related-stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.25rem;
}

.related-story-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}

.related-story-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.related-story-thumbnail {
  aspect-ratio: 16/9;
  overflow: hidden;
}

.related-story-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.related-story-content {
  padding: 1rem;
}

.related-story-content h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin: 0.5rem 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.related-story-content .coverage-count {
  font-size: 0.75rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ============================================================= */
/* SINGLE STORY ARCHIVE PAGE */
/* ============================================================= */
.single-story-archive {
  padding: 2rem 0;
}

.archive-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.archive-header {
  text-align: center;
  margin-bottom: 3rem;
}

.archive-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.5rem;
}

.archive-description {
  font-size: 1.125rem;
  color: #64748b;
  max-width: 600px;
  margin: 0 auto;
}

.archive-date-section {
  margin-bottom: 3rem;
}

.date-header {
  font-size: 1.25rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #e2e8f0;
}

.date-header time {
  text-transform: capitalize;
}

.archive-stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.archive-story-card {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}

.archive-story-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.archive-story-link {
  display: block;
  text-decoration: none;
}

.archive-story-thumbnail {
  aspect-ratio: 16/9;
  overflow: hidden;
}

.archive-story-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.archive-story-card:hover .archive-story-thumbnail img {
  transform: scale(1.05);
}

.archive-story-content {
  padding: 1.25rem;
}

.archive-story-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.archive-story-meta .story-date {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 400;
}

.region-badge {
  font-size: 0.6875rem;
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
  font-weight: 500;
}

.region-europe { background: #dbeafe; color: #1e40af; }
.region-americas { background: #d1fae5; color: #065f46; }
.region-asia_pacific { background: #fef3c7; color: #92400e; }

.archive-story-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  margin: 0 0 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.archive-story-subtitle {
  font-size: 0.9375rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Archive Pagination */
.archive-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}

.pagination-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  color: #0f172a;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9375rem;
  transition: all 0.2s;
}

.pagination-link:hover {
  background: #f8fafc;
  border-color: #16a34a;
  color: #16a34a;
}

.pagination-info {
  font-size: 0.9375rem;
  color: #64748b;
}

/* Pagination Navigation (Category/Region Pages) */
.pagination-nav {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}

.pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  color: #0f172a;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9375rem;
  transition: all 0.2s;
}

.pagination-btn:hover:not(.pagination-disabled) {
  background: #f8fafc;
  border-color: #16a34a;
  color: #16a34a;
}

.pagination-btn svg {
  width: 20px;
  height: 20px;
}

.pagination-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pagination-current {
  font-weight: 500;
  color: #334155;
}

/* Archive Empty State */
.archive-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #f8fafc;
  border-radius: 1rem;
}

.archive-empty .empty-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.5rem;
  color: #94a3b8;
}

.archive-empty h3 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 0.5rem;
}

.archive-empty p {
  font-size: 1rem;
  color: #64748b;
  margin-bottom: 1.5rem;
}

.archive-empty .btn-primary {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #16a34a 0%, #14b8a6 100%);
  color: #fff;
  text-decoration: none;
  border-radius: 0.5rem;
  font-weight: 500;
  transition: transform 0.2s, box-shadow 0.2s;
}

.archive-empty .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.4);
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .archive-title {
    font-size: 1.75rem;
  }
  
  .archive-stories-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .story-newspapers {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  
  .related-stories-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* ============================================================= */
/* DATE NAVIGATION STYLES */
/* ============================================================= */

.date-navigation {
  margin-bottom: 2rem;
}

.date-nav-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: #fff;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.date-nav-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  color: #334155;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.875rem;
  transition: all 0.2s;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.date-nav-btn:hover:not(.date-nav-disabled) {
  background: #fff;
  border-color: #E62525;
  color: #E62525;
}

.date-nav-btn svg {
  flex-shrink: 0;
}

.date-nav-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.date-nav-label {
  display: none;
}

@media (min-width: 640px) {
  .date-nav-label {
    display: inline;
  }
}

.date-nav-current {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  justify-content: center;
  min-width: 0;
}

.current-date-display {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  text-transform: capitalize;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .current-date-display {
    font-size: 0.875rem;
  }
}

/* Date Dropdown */
.date-dropdown {
  position: relative;
}

.date-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.2s;
  color: #64748b;
}

.date-dropdown-toggle:hover {
  background: #e2e8f0;
  color: #334155;
}

.date-dropdown-toggle[aria-expanded="true"] {
  background: #E62525;
  border-color: #E62525;
  color: #fff;
}

.date-dropdown-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.date-dropdown-toggle svg {
  transition: transform 0.2s;
}

.date-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0.5rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  min-width: 200px;
  max-height: 300px;
  overflow-y: auto;
  z-index: 50;
  list-style: none;
  padding: 0.5rem 0;
  margin: 0.5rem 0 0 0;
}

.date-dropdown-menu.show {
  display: block;
}

.date-dropdown-menu li {
  margin: 0;
}

.date-dropdown-menu a {
  display: block;
  padding: 0.625rem 1rem;
  color: #334155;
  text-decoration: none;
  font-size: 0.9375rem;
  font-weight: 500;
  transition: background-color 0.15s;
  text-transform: capitalize;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.date-dropdown-menu a:hover {
  background: #f8fafc;
}

.date-dropdown-menu a.active {
  background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 100%);
  color: #E62525;
  font-weight: 600;
}

/* Region Section Headers in Archive */
.archive-region-section {
  margin-bottom: 2rem;
}

.region-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #e2e8f0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Italian locale overrides for date navigation */
body.country-it .date-nav-btn:hover:not(.date-nav-disabled) {
  border-color: #16a34a;
  color: #16a34a;
}

body.country-it .date-dropdown-toggle[aria-expanded="true"] {
  background: #16a34a;
  border-color: #16a34a;
}

body.country-it .date-dropdown-menu a.active {
  background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
  color: #16a34a;
}

/* Responsive date navigation */
@media (max-width: 639px) {
  .date-nav-controls {
    padding: 0.5rem 0.75rem;
    gap: 0.5rem;
  }
  
  .date-nav-btn {
    padding: 0.375rem 0.5rem;
    font-size: 0.8125rem;
  }
  
  .date-nav-btn svg {
    width: 18px;
    height: 18px;
  }
  
  .date-dropdown-menu {
    min-width: 180px;
  }
  
  .date-dropdown-menu a {
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
  }
}

/* ============================================================= */
/* TEMPORARY SPAIN HIDING RULES - REMOVE WHEN READY TO LAUNCH    */
/* These rules hide specific UI elements for portadashoy.com     */
/* To revert: delete this entire section                         */
/* ============================================================= */

/* Hide "Periódicos" link from top menu navigation */
body.country-es .category-btn-newspapers {
  display: none !important;
}

/* NOTE: The following are now excluded at the template level:
   - Country selector ({% if country_code != 'es' %} in base.html)
   - Subscribe button ({% if country_code != 'es' %} in base.html)
   - Newspaper sections ({% if country_code != 'es' %} in article templates)
   - Newsletter routes redirect Spanish users in views.py */

/* ============================================================= */
/* END TEMPORARY SPAIN HIDING RULES                              */
/* ============================================================= */

/* ============================================================= */
/* BLOG REDESIGN (Spain content pages) */
/* ============================================================= */

.content-homepage .container {
  max-width: 960px;
}

.blog-home-intro {
  position: relative;
  overflow: hidden;
  margin: 1.5rem 0 2rem;
  padding: 2rem;
  border: 1px solid #dbe2ec;
  border-radius: 1rem;
  background: linear-gradient(135deg, #fffaf0 0%, #ffffff 45%, #f2f6ff 100%);
}

.blog-home-intro::before {
  content: "";
  position: absolute;
  inset: auto -80px -80px auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(230, 37, 37, 0.18) 0%, rgba(230, 37, 37, 0) 70%);
}

.blog-home-kicker {
  display: inline-block;
  margin: 0 0 0.5rem;
  padding: 0.25rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9f1239;
  background: rgba(159, 18, 57, 0.08);
  border-radius: 999px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-home-title {
  font-family: "Merriweather", Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.9rem);
  line-height: 1.1;
  margin: 0;
  color: #111827;
}

.blog-home-subtitle {
  max-width: 760px;
  margin: 0.85rem 0 0;
  color: #334155;
  font-size: 1.03rem;
}

.blog-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.blog-action-link {
  text-decoration: none;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1e293b;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  border: 1px solid #d2d8e3;
  background: #fff;
}

.blog-action-link:hover {
  border-color: #bfc8d6;
  background: #f8fafc;
}

.blog-home-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  color: #475569;
  font-size: 0.88rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-home-stats strong {
  color: #0f172a;
}

.blog-home-layout {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 1rem;
  align-items: start;
}

.blog-lead-card {
  background: #fff;
  border: 1px solid #dbe2ec;
  border-radius: 1rem;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.06);
}

.blog-lead-link {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 1.5rem;
}

.blog-lead-title {
  font-family: "Merriweather", Georgia, serif;
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  line-height: 1.2;
  margin: 0;
  color: #0f172a;
}

.blog-lead-subtitle {
  margin: 0.8rem 0 0;
  color: #334155;
  font-size: 1.02rem;
  line-height: 1.5;
}

.blog-lead-date {
  display: inline-block;
  margin-top: 1rem;
  color: #64748b;
  font-size: 0.85rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-side-column {
  background: #fff;
  border: 1px solid #dbe2ec;
  border-radius: 1rem;
  padding: 1rem;
}

.blog-side-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #e2e8f0;
}

.blog-side-header h2 {
  margin: 0;
  font-size: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1e293b;
}

.blog-side-header a {
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 600;
  color: #b91c1c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-side-item {
  border-bottom: 1px solid #eef2f7;
}

.blog-side-item:last-child {
  border-bottom: 0;
}

.blog-side-item a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 0.8rem 0;
}

.blog-side-item h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  color: #0f172a;
  font-family: "Merriweather", Georgia, serif;
}

.blog-side-item time {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.8rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-side-empty {
  margin: 0.75rem 0 0;
  color: #64748b;
  font-size: 0.9rem;
}

.blog-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.blog-section-head h2 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.2;
  color: #111827;
  font-family: "Merriweather", Georgia, serif;
}

.blog-section-head a {
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #b91c1c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

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

.blog-post-card {
  background: #fff;
  border: 1px solid #dbe2ec;
  border-radius: 0.8rem;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.blog-post-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.blog-post-card a {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 1rem;
}

.blog-post-card h3,
.blog-post-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  line-height: 1.35;
  font-family: "Merriweather", Georgia, serif;
}

.blog-post-card p {
  margin: 0.65rem 0 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.5;
}

.blog-post-card time {
  display: inline-block;
  margin-top: 0.8rem;
  font-size: 0.8rem;
  color: #64748b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.blog-post-grid--archive {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blog-post-card--archive a {
  min-height: 185px;
}

.newsletter-cta--blog {
  border: 1px solid #ffd4bf;
  background: linear-gradient(135deg, #fff7ed 0%, #fff1f2 100%);
}

.blog-archive-page .container {
  max-width: 980px;
}

.blog-archive-header {
  margin-top: 1.4rem;
  margin-bottom: 1.5rem;
}

.page-title--blog {
  margin-top: 0.3rem;
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.blog-archive-subtitle {
  margin: 0.7rem 0 0;
  color: #475569;
  font-size: 0.98rem;
}

.blog-archive-meta {
  margin: 0.65rem 0 0;
  color: #64748b;
  font-size: 0.84rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* === Archive list page (dispatch style) === */
.blog-archive-page .container {
  max-width: 960px;
}

.es-archive-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 3px solid #1a1a1a;
  padding-bottom: 0.6rem;
  margin: 1.6rem 0 1.4rem;
}

.es-archive-count {
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.82rem;
  color: #8a8278;
  white-space: nowrap;
}

.es-archive-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #d8d1c4;
}

.es-archive-pagination-link {
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1a1a1a;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid #d8d1c4;
  border-radius: 3px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.es-archive-pagination-link:hover {
  background: #faf7f2;
  border-color: #E62525;
  color: #E62525;
}

.es-archive-pagination-info {
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.875rem;
  color: #8a8278;
}

.article-page--blog {
  max-width: 780px;
}

.article-header--blog {
  border-bottom: 0;
  margin-bottom: 1.5rem;
  padding-bottom: 0;
}

.article-meta-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: #64748b;
  font-size: 0.88rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.article-meta-dot {
  color: #94a3b8;
}

.article-body--blog {
  font-size: 1.1rem;
  line-height: 1.8;
}

.article-body--blog h2 {
  margin-top: 2.2rem;
  font-size: 1.6rem;
}

.article-body--blog h3 {
  margin-top: 1.9rem;
  font-size: 1.3rem;
}

.article-body--blog p {
  margin-bottom: 1.35rem;
}

.article-body--blog a {
  color: #b91c1c;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Newsletter CTA inside article page */
.article-page--blog + .newsletter-cta--blog {
  max-width: 680px;
  margin: 2.5rem auto 0;
  border-radius: 0.75rem;
  padding: 2rem 1.5rem;
}

/* "More articles" section on article detail */
.article-more {
  max-width: 680px;
  margin: 2.5rem auto 0;
}

.article-more-header {
  border-bottom: 3px solid #1a1a1a;
  padding-bottom: 0.5rem;
  margin-bottom: 0.2rem;
}

.article-more-title {
  margin: 0;
  font-size: 1.25rem;
  font-family: "Merriweather", Georgia, serif;
  color: #1a1a1a;
}

.article-more .es-dispatch-item:first-child {
  border-top: 0;
  padding-top: 1.1rem;
}

.article-more .es-dispatch-feed .es-dispatch-type {
  font-size: 0.66rem;
  letter-spacing: 0.11em;
  padding: 0.15rem 0.55rem;
  border-radius: 3px;
}

@media (max-width: 1024px) {
  .blog-home-layout {
    grid-template-columns: 1fr;
  }

  .blog-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-side-column {
    padding: 0.9rem;
  }
}

@media (max-width: 680px) {
  .blog-home-intro {
    padding: 1.25rem 1rem;
    margin-top: 1rem;
  }

  .blog-home-subtitle {
    font-size: 0.95rem;
  }

  .blog-home-stats {
    gap: 0.55rem;
    font-size: 0.8rem;
  }

  .blog-post-grid,
  .blog-post-grid--archive {
    grid-template-columns: 1fr;
  }

  .blog-section-head {
    margin-bottom: 0.7rem;
  }

  .blog-section-head h2 {
    font-size: 1.15rem;
  }

  .blog-post-card a {
    padding: 0.9rem;
  }

  .blog-post-card h3,
  .blog-post-card h2 {
    font-size: 1rem;
  }

  .article-page--blog {
    padding-top: 1rem;
  }

  .article-body--blog {
    font-size: 1.02rem;
    line-height: 1.72;
  }

  .article-body--blog h2 {
    font-size: 1.35rem;
  }
}

/* Spain homepage redesign inspired by editorial dispatch layout */
.content-homepage .container {
  max-width: 960px;
}

.es-dispatch-hero {
  margin: 0 calc(50% - 50vw) 2.5rem;
  background: #0a0a0a;
  border-top: 3px solid #E62525;
}

.es-dispatch-hero-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 3.5rem 1.25rem 4rem;
}

.es-dispatch-hero-story {
  max-width: 700px;
}

.es-dispatch-hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 1.1rem;
}

.es-dispatch-kicker {
  margin: 0;
  color: #E62525;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.es-dispatch-type {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Type badge colors — hero (on dark) */
.es-dispatch-hero-meta .es-dispatch-type {
  color: #e8c9a0;
}

.es-dispatch-hero-title {
  margin: 0;
  color: #f4f4f4;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 1.1;
  font-family: "Merriweather", Georgia, serif;
  letter-spacing: -0.01em;
}

.es-dispatch-hero-title-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.15s ease;
}

.es-dispatch-hero-title-link:hover {
  opacity: 0.85;
}

.es-dispatch-hero-subtitle {
  margin: 1.15rem 0 0;
  color: #b8b0a2;
  font-size: 1.06rem;
  line-height: 1.72;
  max-width: 60ch;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.es-dispatch-hero-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 1.6rem;
}

.es-dispatch-hero-footer time {
  color: #8a8278;
  font-size: 0.82rem;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.es-dispatch-hero-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #0a0a0a;
  background: #f4f4f4;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  padding: 0.55rem 1.1rem;
  transition: background 0.15s ease;
}

.es-dispatch-hero-link:hover {
  background: #ffffff;
}

/* Section header — "Lo ultimo" + "Ver todo" */
.es-dispatch-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 3px solid #1a1a1a;
  padding-bottom: 0.6rem;
  margin-bottom: 1.4rem;
}

.es-dispatch-section-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1a1a1a;
}


.es-dispatch-feed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
  margin-bottom: 2.5rem;
  position: relative;
}

/* Vertical divider between columns */
.es-dispatch-feed::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #d8d1c4;
}

.es-dispatch-item {
  border-top: 1px solid #d8d1c4;
  padding: 1.35rem 0 1.5rem;
}

.es-dispatch-item:nth-child(-n + 2) {
  border-top: 0;
  padding-top: 0;
}

.es-dispatch-item a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 0.65rem 0.85rem;
  margin: -0.65rem -0.85rem;
  border-left: 3px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.es-dispatch-item a:hover {
  background: #faf7f2;
  border-left-color: #E62525;
}

.es-dispatch-item-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

/* Type badge — base pill style in feed */
.es-dispatch-feed .es-dispatch-type {
  font-size: 0.66rem;
  letter-spacing: 0.11em;
  padding: 0.15rem 0.55rem;
  border-radius: 3px;
}

/* Comentario: red pill */
.es-dispatch-type--comentario {
  color: #c0392b;
  background: #fdecea;
}

/* Explicador: teal pill */
.es-dispatch-type--explicador {
  color: #117a65;
  background: #e8f6f3;
}

.es-dispatch-item-date {
  color: #8a8278;
  font-size: 0.76rem;
  white-space: nowrap;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.es-dispatch-item-title {
  margin: 0;
  color: #1a1a1a;
  font-size: 1.38rem;
  line-height: 1.22;
  letter-spacing: -0.01em;
  font-family: "Merriweather", Georgia, serif;
  transition: color 0.15s ease;
}

.es-dispatch-item-excerpt {
  margin: 0.5rem 0 0;
  color: #555;
  font-size: 0.93rem;
  line-height: 1.6;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* "Leer mas" affordance */
.es-dispatch-readmore {
  display: inline-block;
  margin-top: 0.45rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #8a8278;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: color 0.15s ease;
}

.es-dispatch-item a:hover .es-dispatch-readmore {
  color: #E62525;
}

.es-dispatch-item a:hover .es-dispatch-item-title {
  color: #E62525;
}

.es-dispatch-empty {
  margin: 0.4rem 0;
  color: #756a5e;
  font-size: 0.92rem;
  grid-column: 1 / -1;
}

@media (max-width: 860px) {
  .es-dispatch-hero {
    margin-bottom: 1.6rem;
  }

  .es-dispatch-hero-inner {
    padding: 2.7rem 1rem 2.9rem;
  }

  .es-dispatch-feed {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .es-dispatch-feed::before {
    display: none;
  }

  .es-dispatch-item:nth-child(-n + 2) {
    border-top: 1px solid #d8d1c4;
    padding-top: 1.15rem;
  }

  .es-dispatch-item:first-child {
    border-top: 0;
    padding-top: 0;
  }
}

@media (max-width: 680px) {
  .es-dispatch-hero {
    margin: 0 calc(50% - 50vw) 1.25rem;
  }

  .es-dispatch-hero-title {
    font-size: clamp(1.65rem, 9vw, 2.35rem);
  }

  .es-dispatch-hero-subtitle {
    font-size: 0.93rem;
    line-height: 1.58;
  }

  .es-dispatch-item-title {
    font-size: 1.18rem;
  }
}
