/* Casa Campestre La Daniela — Responsive */

/* 480px+ */
@media (min-width: 480px) {
  .highlights-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .contact-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 768px+ — Tablet */
@media (min-width: 768px) {
  .section {
    padding: 7rem 0;
  }

  .container {
    padding: 0 2.5rem;
  }

  .navbar-nav {
    display: flex;
  }

  .navbar-cta {
    display: inline-flex;
  }

  .menu-toggle {
    display: none;
  }

  .about-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }

  .highlights-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .gallery-featured {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, minmax(180px, 1fr));
  }

  .gallery-featured-item:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    aspect-ratio: auto;
  }

  .gallery-featured-item:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
    aspect-ratio: auto;
  }

  .gallery-featured-item:nth-child(3) {
    grid-column: 4;
    grid-row: 1;
    aspect-ratio: auto;
  }

  .gallery-featured-item:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
    aspect-ratio: auto;
  }

  .gallery-featured-item:nth-child(5) {
    grid-column: 4;
    grid-row: 2;
    aspect-ratio: auto;
  }

  .experiences-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .experiences-grid .experience-card:first-child {
    grid-column: 1 / 3;
    aspect-ratio: 21/9;
  }

  .filandia-block {
    grid-template-columns: 1fr 1fr;
  }

  .filandia-content {
    padding: 4rem 3rem;
  }

  .room-block {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }

  .room-block.reverse .room-images {
    order: 2;
  }

  .room-block.reverse .room-info {
    order: 1;
  }

  .experience-block {
    grid-template-columns: 1fr 1fr;
    min-height: 320px;
  }

  .experience-block-image {
    aspect-ratio: auto;
    height: 100%;
    min-height: 320px;
  }

  .experience-block:nth-child(even) .experience-block-image {
    order: 2;
  }

  .experience-block:nth-child(even) .experience-block-content {
    order: 1;
  }

  .location-grid {
    grid-template-columns: 1fr 1fr;
  }

  .contact-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .schedule-items {
    grid-template-columns: repeat(3, 1fr);
  }

  .testimonials-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .gallery-swiper .swiper-slide img {
    height: clamp(220px, 40vw, 500px);
  }
}

/* 1024px+ — Desktop */
@media (min-width: 1024px) {
  :root {
    --nav-height: 90px;
  }

  .navbar-logo {
    font-size: 1.4rem;
  }

  .hero-title {
    letter-spacing: 0.2em;
  }

  .experiences-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .experiences-grid .experience-card:first-child {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    aspect-ratio: auto;
  }

  .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .page-hero {
    height: clamp(260px, 45svh, 560px);
  }
}

/* 1440px+ — Large Desktop */
@media (min-width: 1440px) {
  .container {
    max-width: 1320px;
  }

  .section {
    padding: 8rem 0;
  }

  .hero-content {
    max-width: 1000px;
  }
}

/* 1920px+ — Ultra Wide */
@media (min-width: 1920px) {
  .container {
    max-width: 1500px;
  }

  .hero-title {
    font-size: 4.5rem;
  }
}

/* Mobile specific */
@media (max-width: 767px) {
  .hero-media .hero-video-desktop {
    display: none;
  }

  .hero-media .hero-video-mobile {
    display: block;
  }

  .navbar-cta-mobile {
    display: none;
  }

  .room-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .whatsapp-float {
    bottom: 1.25rem;
    right: 1.25rem;
    width: 54px;
    height: 54px;
  }

  .cta-section {
    padding: 4rem 1.5rem;
  }

  .filandia-content {
    padding: 3rem 1.5rem;
  }

  .experience-block-content {
    padding: 3rem 1.5rem;
  }
}

@media (min-width: 768px) {
  .hero-media .hero-video-desktop {
    display: block;
  }

  .hero-media .hero-video-mobile {
    display: none;
  }
}

/* Print */
@media print {
  .navbar,
  .whatsapp-float,
  .mobile-menu,
  .page-transition {
    display: none !important;
  }

  body {
    background: white;
    color: black;
  }
}
