/* ========================================
   Responsive — Tablet & Mobile
   ======================================== */

/* --- Tablet (768 - 1199px) --- */
@media (max-width: 1199px) {
  :root {
    --section-padding: 100px 0;
    --container-padding: 0 48px;
  }

  .header {
    padding: 20px 40px;
  }

  .header--scrolled {
    padding: 14px 40px;
  }

  .header__nav {
    gap: 24px;
  }

  .header__nav a {
    font-size: 0.72rem;
  }

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

  .grid--asymmetric,
  .grid--asymmetric-reverse {
    gap: 48px;
  }

  .split__content {
    padding: 60px;
  }

  .footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .testimonial__text {
    font-size: 1.35rem;
  }
}

/* --- Mobile (< 768px) --- */
@media (max-width: 767px) {
  :root {
    --section-padding: 72px 0;
    --container-padding: 0 24px;
  }

  /* Header */
  .header {
    padding: 16px 24px;
  }

  .header--scrolled {
    padding: 12px 24px;
  }

  .header__nav {
    display: none;
  }

  .header__burger {
    display: flex;
  }

  .header .btn--sm {
    display: none;
  }

  .header__logo svg {
    height: 34px;
  }

  .header__logo-text {
    font-size: 0.9rem;
  }

  .header__logo-text small {
    font-size: 0.5rem;
  }

  /* Hero */
  .hero {
    min-height: 100svh;
  }

  .hero__content {
    padding: 0 24px;
  }

  .hero h1 {
    font-size: 2.4rem;
  }

  .hero__subtitle {
    font-size: 0.85rem;
    letter-spacing: 0.15em;
  }

  .hero__description {
    font-size: 0.95rem;
  }

  .hero__cta {
    flex-direction: column;
    align-items: center;
  }

  .hero__scroll {
    display: none;
  }

  /* Grid */
  .grid--2,
  .grid--3,
  .grid--4 {
    grid-template-columns: 1fr;
  }

  .grid--asymmetric,
  .grid--asymmetric-reverse {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Split */
  .split {
    grid-template-columns: 1fr;
  }

  .split--reverse {
    direction: ltr;
  }

  .split__image {
    min-height: 300px;
  }

  .split__content {
    padding: 48px 24px;
  }

  /* Section headers */
  .section-header {
    margin-bottom: 48px;
  }

  /* Cards */
  .card__body {
    padding: 24px;
  }

  .room-card__body {
    padding: 24px;
  }

  .room-card__meta {
    flex-wrap: wrap;
    gap: 12px;
  }

  .room-card__footer {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }

  /* Big number */
  .big-number {
    padding: 100px 0;
  }

  .big-number__value {
    font-size: 4.5rem;
  }

  /* Testimonials */
  .testimonial {
    padding: 0 24px;
  }

  .testimonial__text {
    font-size: 1.2rem;
  }

  /* Contact */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .map-placeholder {
    height: 280px;
  }

  /* Filter */
  .filter-tabs {
    gap: 6px;
  }

  .filter-tab {
    padding: 8px 18px;
    font-size: 0.68rem;
  }

  /* Footer */
  .footer__top {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer__bottom {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  /* Programs */
  .program-card {
    padding: 28px;
  }

  /* Buttons */
  .btn {
    padding: 12px 28px;
  }

  .btn--lg {
    padding: 14px 36px;
    font-size: 0.78rem;
  }

  /* Divider */
  .divider::before,
  .divider::after {
    width: 50px;
  }

  /* Feature */
  .feature {
    padding: 24px 16px;
  }
}

/* --- Small mobile (< 375px) --- */
@media (max-width: 374px) {
  :root {
    --container-padding: 0 16px;
  }

  .hero h1 {
    font-size: 2rem;
  }

  .big-number__value {
    font-size: 3.5rem;
  }
}
