/* Responsive overrides for guest pages */

@media (max-width: 1200px) {

  .one-column-grid,
  .two-column-grid,
  .informational-card,
  .informational-card-right,
  .informational-card-left,
  .informational-card-vertical,
  .download-card,
  .dwnldsatu-card,
  .dwnlddua-card {
    padding: 30px 40px !important;
    gap: 32px !important;
  }

  .informational-card .image-container,
  .informational-card-right .image-container,
  .informational-card-left .image-container,
  .informational-card-vertical img {
    width: 180px !important;
    height: 180px !important;
    padding: 20px !important;
  }

  .card img,
  .download-card .image-container img,
  .nav-card-image img,
  .homepage-image,
  .informational-card img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 768px) {

  .one-column-grid,
  .two-column-grid,
  .informational-card,
  .informational-card-right,
  .informational-card-left,
  .informational-card-vertical,
  .download-card,
  .dwnldsatu-card,
  .dwnlddua-card {
    padding: 20px !important;
    gap: 20px !important;
  }

  .informational-card,
  .informational-card-right,
  .informational-card-left,
  .informational-card-vertical {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .informational-card .informational-content,
  .informational-card-right .informational-content,
  .informational-card-left .informational-content {
    align-items: center !important;
  }

  .informational-card .image-container,
  .informational-card-right .image-container,
  .informational-card-left .image-container {
    width: 140px !important;
    height: 140px !important;
    padding: 12px !important;
  }

  .view-detail-btn {
    width: 100% !important;
    text-align: center !important;
  }

  .card-content h3 {
    font-size: 20px !important;
  }

  .card-content p,
  .informational-content p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .nav-card {
    padding: 18px !important;
  }
}

@media (max-width: 480px) {

  .informational-card .image-container,
  .informational-card-right .image-container,
  .informational-card-left .image-container {
    width: 120px !important;
    height: 120px !important;
    padding: 10px !important;
  }

  .informational-card .informational-content h3 {
    font-size: 20px !important;
  }

  .homepage-overlay-text {
    font-size: 18px !important;
    padding: 12px !important;
  }

  .topnav-content {
    padding: 8px 12px !important;
  }

  .bubble-nav {
    padding: 8px 12px !important;
  }

  .card {
    padding: 12px !important;
  }

  .download-card .image-container {
    height: auto !important;
  }
}

/* Additional overrides for iPad and tablet widths */
@media (max-width: 1024px) {

  /* Force large hero/informational images to scale */
  .informational-card img,
  .informational-card-right img,
  .informational-card-left img,
  .informational-card-vertical img,
  .carousel-card img,
  .guideline-card img,
  .download-logo-card img,
  .dwnldsatu-card .right-section .image-container img,
  .dwnlddua-card .right-section .card-item .image-container img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Reduce very large paddings used in several blades */
  .download-logo-outer-wrapper,
  .category-outer-wrapper,
  .download-logo-section,
  .informational-card,
  .informational-card-right,
  .informational-card-left,
  .informational-card-vertical {
    padding-left: 24px !important;
    padding-right: 24px !important;
    gap: 20px !important;
  }

  /* make left/right sections stack more naturally */
  .dwnldsatu-card,
  .dwnlddua-card {
    display: inline !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 20px !important;
    box-sizing: border-box !important;
  }

  .dwnldsatu-card .left-section,
  .dwnlddua-card .left-section {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    margin-bottom: 16px !important;
  }

  .dwnldsatu-card .right-section,
  .dwnlddua-card .right-section {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: auto !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  /* Footer padding is inline; override to avoid huge side padding */
  footer.w-full {
    padding-left: 32px !important;
    padding-right: 32px !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* Reduce overlay text size for smaller tablets */
  .homepage-overlay-text {
    font-size: 32px !important;
    padding: 16px !important;
  }
}

/* Extra small tablets / large phones */
@media (max-width: 820px) {

  .informational-card img,
  .informational-card-right img,
  .informational-card-left img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Make nav cards stack and be full width */
  .card-grid,
  .one-column-grid,
  .two-column-grid {
    grid-template-columns: 1fr !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .nav-card {
    width: 100% !important;
  }
}

/* Ensure very specific rules on small screens override inline styles */
@media (max-width: 480px) {

  .informational-card img,
  .informational-card-right img,
  .informational-card-left img,
  .homepage-image,
  .nav-card-image img {
    width: 100% !important;
    height: auto !important;
  }

  footer.w-full {
    padding: 30px 16px !important;
  }
}