/* ============================================
   aussiereesorts.com.au — Responsive Stylesheet
   ============================================ */

/* ---- Tablet Large (≤1200px) ---- */
@media (max-width: 1200px) {
  .properties-grid        { grid-template-columns: repeat(2, 1fr); }
  .experience-grid        { grid-template-columns: repeat(2, 1fr); }
  .footer-grid            { grid-template-columns: 1fr 1fr; gap: 36px; }
  .hotel-detail-layout    { grid-template-columns: 1fr; }
  .hotel-sidebar          { display: grid; grid-template-columns: repeat(2, 1fr); }
  .about-grid             { gap: 48px; }
  .stat-item              { padding: 0 32px; }
}

/* ---- Tablet (≤992px) ---- */
@media (max-width: 992px) {
  section { padding: 72px 0; }

  #site-header            { padding: 0 24px; }

  .header__nav            { display: none; flex-direction: column; position: fixed;
                            top: 80px; left: 0; right: 0; bottom: 0;
                            background: #000; backdrop-filter: none;
                            padding: 40px 32px; gap: 28px; z-index: 999;
                            align-items: flex-start; justify-content: flex-start;
                            box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); }
  .header__nav.open       { display: flex; animation: fadeIn 0.3s ease; }
  .header__nav a          { font-size: 1.1rem; letter-spacing: 0.08em; }
  .header__badge          { margin-left: auto; }
  .header__mobile-toggle  { display: flex; }
  body.mobile-nav-open #site-header { background: #000; backdrop-filter: none; }

  .about-grid             { grid-template-columns: 1fr; }
  .about-image-wrap       { display: none; }

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

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

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

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

  #rg-banner              { padding: 24px 28px; }
}

/* ---- Mobile (≤768px) ---- */
@media (max-width: 768px) {
  section                 { padding: 56px 0; }

  .hero__title            { font-size: 2.2rem; }
  .hero__subtitle         { font-size: 0.92rem; }
  .hero__cta-group        { flex-direction: column; align-items: center; }
  .hero__cta-group .btn-primary,
  .hero__cta-group .btn-secondary { width: 100%; max-width: 280px; justify-content: center; }

  .stats-bar__inner       { gap: 0; }
  .stat-item              { padding: 16px 20px; flex: 1 1 50%; border-right: none;
                            border-bottom: 1px solid var(--color-border); }
  .stat-item:nth-child(odd)  { border-right: 1px solid var(--color-border); }
  .stat-item:nth-last-child(-n+2) { border-bottom: none; }

  .properties-grid        { grid-template-columns: 1fr; }
  .experience-grid        { grid-template-columns: 1fr 1fr; }

  .destinations-list      { grid-template-columns: 1fr 1fr; }

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

  .hotel-sidebar          { grid-template-columns: 1fr; }

  .footer-grid            { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom          { flex-direction: column; text-align: center; }
  .footer-bottom__legal   { justify-content: center; }

  .section-title          { font-size: 1.8rem; }

  .inner-hero             { height: 380px; }
  .inner-hero__title      { font-size: 1.9rem; }

  .age-gate__box          { padding: 36px 24px; }
  .age-gate__title        { font-size: 1.6rem; }

  #cookie-banner          { padding: 16px 20px; flex-direction: column; align-items: flex-start; }
  .cookie-banner__actions { width: 100%; }
  .btn-cookie-accept, .btn-cookie-decline { flex: 1; text-align: center; }

  .gallery-item           { width: 220px; height: 148px; }

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

  .legal-page             { padding: 110px 0 60px; }
  .legal-page h1          { font-size: 2rem; }
}

/* ---- Mobile Small (≤480px) ---- */
@media (max-width: 480px) {
  .hero__title            { font-size: 1.85rem; }
  .stat-item              { flex: 1 1 100%; border-right: none !important; }
  .stat-item:last-child   { border-bottom: none; }
  .experience-grid        { grid-template-columns: 1fr; }
  .destinations-list      { grid-template-columns: 1fr; }
  .age-gate__buttons      { flex-direction: column; }
  .btn-age-yes, .btn-age-no { width: 100%; }
  .destinations-header    { flex-direction: column; align-items: flex-start; }
  .inner-hero             { height: 320px; }
  #rg-banner              { flex-direction: column; }
}
