/* ==========================================================================
   RESPONSIVE.CSS — El Pais News
   Breakpoints:
     ≤ 1200px  — tablet landscape / small desktop
     ≤ 960px   — tablet portrait
     ≤ 768px   — mobile (primary mobile breakpoint)
     ≤ 480px   — small mobile
   ========================================================================== */


/* ── 1200px — large tablet / narrow desktop ────────────────────────────── */
@media (max-width: 1200px) {
  .news-grid {
    padding: 24px 40px;
  }
  .top-stories {
    padding: 1.5rem 40px;
  }
  .spotlight-section,
  .col-files-grid-sec,
  .col-files-grid-sec- {
    padding: 10px 40px;
  }
  .container {
    padding: 10px 40px;
  }
  .grid {
    padding: 0 40px;
  }
  .asia-pacific-news-wrapper,
  .podcast-news-sec-wrapper,
  .life-arts-news-more-container,
  .three-side-row-sec,
  .three-side-video-sec,
  .expo-side-news-sec,
  .categ-main-section-container,
  .footer-side-news-sec,
  .detail-side-news-sec,
  .detail-comments-section-wrapper {
    padding-left: 40px;
    padding-right: 40px;
  }
  .detail-next-news-sec {
    padding: 20px 40px;
  }
  .nav-bar {
    padding: 7px 40px;
  }
}


/* ── 960px — tablet portrait ───────────────────────────────────────────── */
@media (max-width: 960px) {
  body, html {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100%;
  }

  /* Header */
  .header {
    padding: 8px 20px;
  }
  .signin {
    display: none;
  }
  .header-left, .header-right {
    gap: 8px;
  }
  .logo-el {
    margin-right: 10%;
  }
  .market-bar {
    display: none;
  }

  /* Nav */
  .nav-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 8px 16px;
    gap: 12px;
    scrollbar-width: none;
  }
  .nav-bar::-webkit-scrollbar {
    display: none;
  }
  .nav-bar a {
    font-size: 0.75rem;
    white-space: nowrap;
  }

  /* Hero grid → single column */
  .news-grid {
    grid-template-columns: 1fr;
    padding: 16px 20px;
    gap: 20px;
  }
  .editors-picks {
    border-left: none;
    padding-left: 0;
    margin-top: 20px;
    border-top: 1px solid #ddd;
    padding-top: 20px;
  }
  .news-caption {
    font-size: 1rem;
  }

  /* Top Stories */
  .top-stories {
    padding: 1rem 20px;
  }
  .stories-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-heading h2 {
    font-size: 1rem;
  }
  .story-card h3 {
    font-size: 1rem;
  }

  /* Spotlight */
  .spotlight-section {
    padding: 10px 20px;
  }
  .spotlight-content {
    display: block;
  }
  .main-image {
    margin: 16px 0;
  }
  .side-article {
    border-left: none;
    border-top: 1px solid #e0dcdc;
    padding-left: 0;
    padding-top: 16px;
    margin-top: 16px;
  }
  .middle {
    width: 100%;
    margin-top: 20px;
  }

  /* News grid rows */
  .col-files-grid-sec,
  .col-files-grid-sec- {
    padding: 10px 20px;
  }
  .col-files-grid-sec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .filed-files-news-sec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .filed-files-news-sec-sidebar {
    grid-column: span 2;
    border-left: none;
    border-top: 1px solid #e0d6d0;
    padding-top: 16px;
    margin-top: 8px;
  }

  /* Opinion */
  .container {
    display: block;
    padding: 10px 20px;
  }
  .column {
    padding: 16px;
  }
  .right {
    margin-left: 0;
    border-left: none;
    border-top: 1px solid gainsboro;
    margin-top: 16px;
  }
  .grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 20px;
  }

  /* Dynamic category sections */
  .asia-pacific-news-wrapper {
    padding: 10px 20px;
  }
  .asia-pacific-news-top {
    display: block;
  }
  .asia-pacific-news-image {
    margin-left: 0;
    width: 100% !important;
    margin-top: 16px;
  }
  .asia-pacific-news-image img {
    margin-top: 0;
  }
  .asia-pacific-news-grid,
  .asia-pacific-news-grid-third {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
    gap: 16px 20px;
  }
  .asia-pacific-news-card {
    height: auto;
  }

  /* Podcast */
  .podcast-news-sec-wrapper {
    padding: 10px 20px;
  }
  .podcast-news-sec-grid {
    gap: 20px;
  }
  .podcast-news-sec-card {
    width: 46%;
  }

  /* Life & Arts */
  .life-arts-news-more-container {
    padding: 10px 20px;
  }
  .life-arts-news-more-grid {
    grid-template-columns: 1fr;
  }

  /* Three-card row */
  .three-side-row-sec {
    display: block;
    padding: 10px 20px;
  }
  .three-side-row-sec .card {
    max-width: 100%;
    margin-bottom: 20px;
  }

  /* Video section */
  .three-side-video-sec {
    padding: 10px 20px;
  }
  .three-side-video-sec .video-row {
    flex-wrap: wrap;
    gap: 16px;
  }
  .three-side-video-sec .video-card {
    max-width: 48%;
    flex: 0 0 48%;
  }

  /* Expo */
  .expo-side-news-sec {
    padding: 10px 20px;
  }
  .expo-top-row,
  .expo-bottom-row {
    display: block;
  }
  .upcoming-card {
    max-width: 100%;
  }

  /* Detail page */
  .detail-side-news-sec {
    padding: 20px;
  }
  .detail-side-news-sec-title {
    font-size: 22px;
    width: 100%;
  }
  .detail-next-news-sec {
    grid-template-columns: 44px 1fr;
    padding: 16px 20px;
    gap: 16px;
  }
  .detail-next-news-sec-buttons {
    display: none;
  }
  .detail-grid-row-sec-container {
    display: block;
  }
  .detail-grid-row-sec-left,
  .detail-grid-row-sec-right {
    width: 100%;
  }
  .detail-grids-rows-sec-re-footer {
    flex-direction: column;
    gap: 12px;
  }
  .hara {
    width: 100% !important;
  }
  .detail-comments-section-wrapper {
    padding: 16px 20px;
  }

  /* Category page */
  .categ-main-section-container {
    padding: 16px 20px;
  }
  .categ-main-section-main-grid {
    display: block;
  }
  .categ-main-section-article-flex {
    display: block;
  }
  .categ-main-section-image {
    max-width: 100%;
    margin-top: 16px;
  }
  .categ-main-section-btn {
    font-size: 0.8rem;
    padding: 5px 10px;
  }
  .categ-opinion-news-section-grid {
    display: block;
  }
  .categ-opinion-news-section-box {
    padding: 16px;
    margin-bottom: 16px;
  }
  .categ-opinion-news-section-desc {
    font-size: 13px;
  }
  .categ-health-depth-section-grid {
    display: block;
  }
  .categ-health-depth-section-container {
    background-color: transparent;
  }
  .categ-world-more-section-container {
    background-color: transparent;
    padding: 10px 0;
  }
  .categ-world-more-section-item {
    display: block;
    padding: 0 10px;
  }
  .categ-world-more-section-item.border-top {
    padding: 16px 10px;
  }
  .categ-world-more-section-content {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
  .categ-world-more-section-img {
    width: 120px;
    height: 80px;
  }

  /* Modal */
  .modal {
    max-width: 380px;
    padding: 20px;
  }

  /* Footer */
  .footer-side-news-sec {
    padding: 20px;
  }
  .footer-columns {
    gap: 16px;
  }

  /* Search results */
  .search-results-wrapper {
    padding: 0 20px 40px;
  }
  .search-result-thumb {
    width: 110px;
    height: 76px;
  }
}


/* ── 768px — mobile ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Header */
  .header {
    padding: 8px 12px;
  }
  .logo-el {
    margin-right: 0;
    max-height: 32px;
    width: auto;
  }
  .header-left, .header-right {
    gap: 4px;
  }

  /* Nav — scrollable strip, readable font */
  .nav-bar {
    padding: 6px 12px;
    gap: 10px;
  }
  .nav-bar a {
    font-size: 0.7rem;
    white-space: nowrap;
  }

  /* Hero grid → fully stacked */
  .news-grid {
    display: block;
    padding: 12px;
  }
  .news-main,
  .news-image,
  .editors-picks {
    margin-bottom: 20px;
  }
  .editors-picks {
    border-top: 1px solid #ddd;
    padding-top: 16px;
    margin-top: 0;
  }
  .news-title {
    font-size: 1.3rem;
  }

  /* Top Stories → single column */
  .top-stories {
    padding: 12px;
  }
  .stories-grid {
    grid-template-columns: 1fr;
  }

  /* Spotlight */
  .spotlight-section {
    padding: 12px;
  }

  /* Filed news grid */
  .col-files-grid-sec,
  .col-files-grid-sec- {
    padding: 12px;
  }
  .col-files-grid-sec-grid {
    display: block;
  }
  .col-files-grid-sec-card {
    margin-bottom: 16px;
  }
  .filed-files-news-sec-grid {
    display: block;
  }
  .filed-files-news-sec-card {
    margin-bottom: 16px;
  }
  .filed-files-news-sec-sidebar {
    grid-column: unset;
  }

  /* Opinion grid → single column */
  .grid {
    display: block;
    padding: 12px;
  }
  .item {
    margin-bottom: 12px;
  }
  .container {
    padding: 12px;
  }
  .column {
    padding: 12px;
  }

  /* Dynamic category sections */
  .asia-pacific-news-wrapper {
    padding: 12px;
  }
  .asia-pacific-news-grid,
  .asia-pacific-news-grid-third {
    display: block;
  }
  .asia-pacific-news-card {
    height: auto;
    margin-bottom: 12px;
  }
  .asia-pacific-news-sidebar {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid #e5d6ca;
    padding-top: 16px;
    margin-top: 16px;
  }

  /* Podcast → single column */
  .podcast-news-sec-wrapper {
    padding: 12px;
  }
  .podcast-news-sec-grid {
    flex-direction: column;
    gap: 16px;
  }
  .podcast-news-sec-card {
    width: 100%;
    min-width: unset;
  }

  /* Life & Arts */
  .life-arts-news-more-container {
    padding: 12px;
  }
  .life-arts-news-more-grid {
    display: block;
  }
  .life-arts-news-more-nav ul {
    font-size: 0.7rem;
    gap: 8px;
    flex-wrap: wrap;
  }

  /* Three-card row */
  .three-side-row-sec {
    padding: 12px;
  }

  /* Video → single column */
  .three-side-video-sec {
    padding: 12px;
  }
  .three-side-video-sec .video-row {
    display: block;
  }
  .three-side-video-sec .video-card {
    max-width: 100%;
    flex: unset;
    margin-bottom: 20px;
  }

  /* Expo */
  .expo-side-news-sec {
    padding: 12px;
  }

  /* Footer → stacked */
  .footer-side-news-sec {
    padding: 16px 12px;
  }
  .footer-columns {
    flex-direction: column;
    gap: 20px;
  }
  .footer-col {
    min-width: unset;
  }

  /* Detail page */
  .detail-side-news-sec {
    padding: 16px 12px;
  }
  .detail-side-news-sec-title {
    font-size: 18px;
    width: 100%;
  }
  .detail-side-news-sec-subtitle {
    font-size: 15px;
  }
  /* Collapse 3-col detail layout to 2-col (hide socials sidebar) */
  .detail-next-news-sec {
    display: block;
    padding: 12px;
    margin-top: 16px;
  }
  .detail-next-news-sec-sidebar {
    display: none;
  }
  .detail-next-news-sec-buttons {
    display: none;
  }
  .detail-next-news-sec-content {
    gap: 16px;
  }
  .detail-unlock-news-sec-form {
    flex-direction: column;
  }
  .detail-unlock-news-sec-form input {
    min-width: unset;
    width: 100%;
  }
  .detail-grid-row-sec-container {
    display: block;
    gap: 0;
  }
  .detail-grid-row-sec-left,
  .detail-grid-row-sec-right {
    width: 100%;
  }
  .detail-grids-rows-sec-re-footer {
    display: block;
  }
  .detail-grids-rows-sec-re-right {
    margin-top: 12px;
  }
  .hara {
    width: 100% !important;
    font-size: 16px !important;
  }
  .detail-comments-section-wrapper {
    padding: 12px;
  }
  .detail-comments-section-footer-links {
    flex-direction: column;
    gap: 10px;
  }

  /* Category page */
  .categ-main-section-container {
    padding: 12px;
  }
  .categ-main-section-header {
    flex-wrap: wrap;
    gap: 10px;
  }
  .categ-main-section-title {
    font-size: 1.5rem;
  }
  .categ-main-section-btn {
    font-size: 0.75rem;
    padding: 4px 10px;
  }
  .categ-main-section-main-grid {
    display: block;
  }
  .categ-main-section-main-content {
    padding: 12px;
  }
  .categ-main-section-article-flex {
    display: block;
  }
  .categ-main-section-image {
    max-width: 100%;
    margin-top: 12px;
  }
  .categ-opinion-news-section-grid {
    display: block;
  }
  .categ-opinion-news-section-box {
    padding: 12px;
    margin-bottom: 16px;
  }
  .categ-opinion-news-section-desc {
    font-size: 13px;
  }
  .categ-health-depth-section-grid {
    display: block;
  }
  .categ-health-depth-section-container {
    background-color: transparent;
  }
  .categ-world-more-section-container {
    background-color: transparent;
    padding: 8px 0;
  }
  .categ-world-more-section-item {
    display: block;
    padding: 0 8px;
    margin-bottom: 20px;
  }
  .categ-world-more-section-item.border-top {
    padding: 16px 8px;
  }
  .categ-world-more-section-content {
    display: block;
  }
  .categ-world-more-section-img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  .categ-world-more-section-text {
    margin-top: 0;
  }
  .categ-world-more-section-save {
    flex-direction: row;
    gap: 6px;
    margin-top: 8px;
    margin-left: 0;
  }
  .categ-moste-read-section {
    margin-top: 24px;
  }

  /* Modal */
  .modal {
    max-width: 90vw;
    padding: 20px 16px;
  }

  /* Search results */
  .search-results-wrapper {
    padding: 0 12px 40px;
    margin-top: 20px;
  }
  .search-results-title {
    font-size: 20px;
  }
  .search-result-item {
    flex-direction: column-reverse;
    gap: 12px;
  }
  .search-result-thumb {
    width: 100%;
    height: 180px;
  }
  .search-result-thumb img {
    object-fit: cover;
  }
  .search-input-wrap {
    border-radius: 0;
  }
}


/* ── 480px — small mobile ───────────────────────────────────────────────── */
@media (max-width: 480px) {
  .logo-el {
    max-height: 28px;
  }
  .nav-bar a {
    font-size: 0.65rem;
  }
  .news-title {
    font-size: 1.15rem;
  }
  .detail-side-news-sec-title {
    font-size: 16px;
  }
  .categ-main-section-title {
    font-size: 1.25rem;
  }
  .subscribe {
    font-size: 10px;
    padding: 6px 8px;
  }
  .detail-next-news-sec-socials {
    display: none;
  }
  .footer-col {
    width: 100%;
  }
  .three-side-video-sec .video-card {
    margin-bottom: 24px;
  }
  .podcast-news-sec-thumb {
    width: 64px;
    height: 64px;
  }
  .search-results-title {
    font-size: 18px;
  }
  .detail-unlock-news-sec-signup h2 {
    font-size: 17px;
  }
  .categ-opinion-news-section-title {
    font-size: 1.1rem;
  }
  .col-files-grid-sec::before,
  .col-files-grid-sec::after {
    display: none;
  }
}