/* TOBACAM — Responsive */

@media (max-width: 1199.98px) {
  .hero-body .col-lg-6:last-child {
    display: flex;
    justify-content: center;
  }

  .hero-photo-wrap {
    max-width: min(100%, 22rem);
    margin-inline: auto;
  }
}

@media (max-width: 991.98px) {
  :root {
    --text-hero: clamp(2.25rem, 5vw, 3rem);
    --text-h2: clamp(1.75rem, 3.5vw, 2.125rem);
    --section-gap: 3rem;
    --page-gutter: clamp(1rem, 3vw, 1.35rem);
  }

  .about-layout {
    grid-template-columns: 1fr;
  }

  .about-collage {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    aspect-ratio: 16 / 11;
    max-height: 20rem;
    margin-inline: auto;
    max-width: 28rem;
  }

  .collage-main { grid-row: 1 / -1; grid-column: 1; }
  .collage-top { grid-column: 2; grid-row: 1; }
  .collage-bottom { grid-column: 2; grid-row: 2; }

  .export-stats-float {
    margin-top: 1rem;
    padding-inline: 0;
  }

  .export-stat-card {
    flex: 1 1 auto;
    min-width: calc(33.333% - 0.75rem);
    padding: 1rem;
  }

  .gallery-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .gallery-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .gallery-filters::-webkit-scrollbar { display: none; }

  .gallery-filter { flex-shrink: 0; }

  .gallery-result { text-align: center; width: 100%; }

  .customization-panel { padding: 1.5rem; }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nav-in-hero .navbar-collapse {
    background: var(--cream);
    border-radius: var(--radius-md);
    padding: 1rem;
    margin-top: 0.75rem;
    box-shadow: var(--shadow-soft);
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nav-in-hero .btn-signup {
    margin-top: 0.75rem;
    width: 100%;
    justify-content: center;
  }

  .products-prev,
  .products-next { display: none !important; }

  .products-shell {
    padding-inline: clamp(0.75rem, 2vw, 1rem);
    overflow: hidden;
  }

  .community-big-card { min-height: 16rem; }

  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-bridge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-bridge-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-top > [class*="col"] {
    margin-bottom: 0.5rem;
  }

  .footer-call {
    margin-top: 0.5rem;
  }

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

  .why-grid > [class*="col"] {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (max-width: 767.98px) {
  :root {
    --text-hero: clamp(2rem, 6vw, 2.5rem);
    --text-h2: clamp(1.5rem, 4.5vw, 1.875rem);
    --section-gap: 2.75rem;
    --content-gap: 1rem;
    --page-gutter: 1rem;
  }

  section.block-hero.section-premium {
    padding-top: 0.5rem;
    padding-inline: 0.65rem;
    padding-bottom: 0;
  }

  .card-hero {
    padding: 1rem 1rem 1.75rem;
    border-radius: var(--radius-lg);
  }

  .card-about { padding: 1.5rem 1.15rem; }

  .glass-panel { padding: 1.35rem; }

  .products-shell { padding: 2rem 0.85rem 2.5rem; }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .gallery-panel { padding: 1rem; }

  .lightbox-panel { max-height: 96vh; max-height: 96dvh; }
  .lightbox-figure { padding: 0.75rem 0.25rem 1rem; }
  .lightbox-nav { width: 2.35rem; height: 2.35rem; }

  .hero-btns { flex-direction: column; }
  .hero-btns .btn-book { width: 100%; justify-content: center; }

  .export-stat-card {
    min-width: calc(50% - 0.5rem);
  }

  .mini-dark-card { min-height: 11rem; }

  .brand-logo { height: 2.75rem; max-width: 9.5rem; }

  .hero-bridge-title {
    font-size: clamp(1.5rem, 5vw, 1.85rem);
  }

  .bridge-card { padding: 1.25rem 1.1rem; }

  .service-card h3 { min-height: auto; }

  .community-big-row > [class*="col"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .why-grid > [class*="col"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .export-map-card { min-height: 14rem; }

  .testimonial-card { padding: 1.35rem 1.15rem; }

  .site-footer-premium .footer-main { padding-block: 2.5rem 2rem; }

  .footer-top .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .footer-top .col-lg-4:first-child {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 575.98px) {
  :root {
    --text-base: 0.9375rem;
    --section-gap: 2.5rem;
    --page-gutter: 0.85rem;
  }

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

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

  .hero-bridge-grid {
    grid-template-columns: 1fr;
  }

  .hero-bridge-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lightbox-header { padding: 0.85rem 1rem; }
  .lightbox-nav { width: 2.1rem; height: 2.1rem; font-size: 1rem; }

  .export-stat-card { min-width: 100%; }

  .hero-customers { flex-direction: column; align-items: flex-start; }

  .pricing-table th,
  .pricing-table td { padding: 0.75rem 0.85rem; font-size: var(--text-sm); }

  .pricing-notes { flex-direction: column; align-items: flex-start; }

  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 1.25rem;
  }

  .footer-partner-logo {
    justify-content: center;
    margin-inline: auto;
  }

  .footer-top .col-6,
  .footer-top .col-lg-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .wa-float {
    bottom: max(1rem, env(safe-area-inset-bottom));
    right: max(1rem, env(safe-area-inset-right));
  }

  .navbar-toggler { padding: 0.35rem 0.5rem; }
}

@media (min-width: 992px) {
  .services-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero-bridge-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hero-bridge-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  :root {
    --prose-width: 44rem;
  }
}

@media (min-width: 1600px) {
  :root {
    --container-max: 100rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .float-soft,
  .map-marker,
  .map-route,
  .hero-bridge-marquee-track { animation: none !important; }

  .product-card:hover,
  .mini-dark-card:hover::before,
  .bridge-card:hover { transform: none; }

  html { scroll-behavior: smooth; }
}
