/* =========================================
   BRILLIANT HOME — RESPONSIVE STYLES
   ========================================= */

/* ---- Tablets (≤1024px) ---- */
@media (max-width: 1024px) {
  :root { --section-pad: 80px; }

  .container { padding: 0 28px; }

  .properties-grid   { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .properties-grid-page { grid-template-columns: repeat(2, 1fr); }
  .services-grid     { grid-template-columns: repeat(2, 1fr); }
  .features-grid     { gap: 28px; }
  .values-grid       { grid-template-columns: repeat(2, 1fr); }
  .team-grid         { grid-template-columns: repeat(2, 1fr); }
  .footer-top        { grid-template-columns: 1fr 1fr; gap: 40px; }
  .about-story       { gap: 52px; }
  .about-placeholder-box { min-height: 520px; }
  .about-stats-grid  { grid-template-columns: repeat(2, 1fr); }
  .about-stat-item   { border-inline-end: none; border-bottom: 1px solid rgba(26,43,74,0.12); }
  .about-stat-item:nth-child(odd) { border-inline-end: 1px solid rgba(26,43,74,0.12); }
  .about-stat-item:nth-last-child(-n+2) { border-bottom: none; }
  .careers-benefits-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-grid      { gap: 40px; }
  .jobs-grid         { grid-template-columns: repeat(2, 1fr); }
  .filter-bar-grid   { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-bar-grid .filter-search { grid-column: span 3; }
  .service-flow-item { gap: 32px; }
  .service-flow-media { min-height: 430px; }
  .service-flow-image { min-height: 430px; }
  .hero-stats-inner  { grid-template-columns: repeat(2, 1fr); }
  .hero-stat         { border-inline-end: none; border-bottom: 1px solid rgba(255,255,255,0.12); }
  .hero-stat:nth-child(odd) { border-inline-end: 1px solid rgba(255,255,255,0.12); }
  .hero-stat:nth-last-child(-n+2) { border-bottom: none; }
}

/* ---- Mobile Landscape + Small Tablets (≤768px) ---- */
@media (max-width: 768px) {
  :root {
    --section-pad: 64px;
    --navbar-h: 68px;
  }

  .mobile-nav {
    height: calc(100dvh - var(--navbar-h));
    padding: 22px 20px 28px;
  }

  .container { padding: 0 20px; }

  /* Navbar */
  .nav-links, .nav-cta { display: none; }
  .hamburger { display: flex; }
  .lang-toggle { padding: 5px 10px; font-size: 0.75rem; }

  /* Hero */
  .hero {
    min-height: auto;
    display: block;
    padding-top: var(--navbar-h);
  }
  .hero .container { padding-top: 24px; padding-bottom: 28px; }
  .hero-content { max-width: 100%; }
  .hero h1 { font-size: clamp(1.8rem, 7vw, 2.6rem); }
  .hero-desc { font-size: 0.95rem; }
  .hero-actions { gap: 12px; }
  .hero-actions .btn { padding: 12px 24px; font-size: 0.88rem; }
  .scroll-indicator { display: none; }

  .hero-stats {
    position: relative;
    width: 100%;
    margin-top: 4px;
  }
  .hero-stats-inner { padding: 18px 0; }

  .hero-stats-inner { grid-template-columns: repeat(2, 1fr); }
  .hero-stat .number { font-size: 1.8rem; }

  /* Grids */
  .properties-grid { grid-template-columns: 1fr; }
  .properties-grid-page { grid-template-columns: 1fr; }
  .services-grid   { grid-template-columns: 1fr; }
  .service-flow-item {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .service-flow-item.is-reverse .service-flow-text,
  .service-flow-item.is-reverse .service-flow-media {
    order: initial;
  }
  .service-flow-media { min-height: 320px; }
  .service-flow-image { min-height: 320px; }
  .service-flow-text h3 { font-size: 2rem; }
  .service-flow-text > p,
  .service-flow-points li { font-size: 1rem; }
  .features-grid   { grid-template-columns: 1fr; }
  .values-grid     { grid-template-columns: 1fr 1fr; gap: 16px; }
  .team-grid       { grid-template-columns: 1fr 1fr; gap: 16px; }
  .footer-top      { grid-template-columns: 1fr; gap: 36px; }

  /* About */
  .about-story { grid-template-columns: 1fr; gap: 64px; }
  .about-placeholder-box { min-height: 360px; }
  .about-img-badge { bottom: -20px; inset-inline-start: -16px; padding: 18px 20px; }
  .about-img-badge .big-num { font-size: 2rem; }
  .about-stats-grid { grid-template-columns: 1fr 1fr; }
  .about-stat-item .value { font-size: 2.1rem; }
  .careers-benefits-grid { grid-template-columns: 1fr 1fr; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-form-wrap { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .map-wrap { height: 300px; }

  /* Jobs */
  .jobs-grid { grid-template-columns: 1fr; }
  .job-card { padding: 24px 20px; }

  /* Section header */
  .section-header { margin-bottom: 40px; }

  /* Footer */
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }

  /* Filter */
  .filter-bar { padding: 20px; }
  .filter-bar-grid { grid-template-columns: 1fr; }
  .filter-bar-grid .filter-search { grid-column: auto; }
  .filter-actions {
    grid-column: auto;
    justify-content: stretch;
    margin-top: 0;
  }
  .filter-actions .btn {
    flex: 1;
    justify-content: center;
  }

  .property-card { min-height: auto; }
  .property-card-img {
    aspect-ratio: 4/3;
    min-height: 0;
  }

  .contact-info .info-icon { width: 56px; height: 56px; }
  .contact-info .info-icon svg { width: 23px; height: 23px; }
  .contact-info .info-item {
    grid-template-columns: 56px minmax(0, 1fr);
    max-width: 100%;
  }

  /* CTA */
  .cta-actions { flex-direction: column; align-items: center; }
  .cta-actions .btn { width: 100%; max-width: 340px; justify-content: center; }

  /* Page hero */
  .page-hero { padding: calc(var(--navbar-h) + 52px) 0 56px; }

  /* Back to top */
  #back-to-top { bottom: 20px; inset-inline-end: 16px; width: 40px; height: 40px; }
}

/* ---- Small Mobile (≤480px) ---- */
@media (max-width: 480px) {
  :root { --section-pad: 52px; }

  .mobile-nav {
    padding: 18px 16px 22px;
  }

  .hero .container {
    padding-top: 26px;
    padding-bottom: 28px;
  }

  h1 { font-size: 1.7rem; }
  h2 { font-size: 1.5rem; }

  .hero-stats-inner { grid-template-columns: 1fr 1fr; }
  .hero-stat { padding: 14px 12px; }
  .hero-stat .number { font-size: 1.5rem; }
  .hero-stat .label  { font-size: 0.72rem; }

  .values-grid { grid-template-columns: 1fr; }
  .about-stats-grid { grid-template-columns: 1fr; }
  .about-stat-item,
  .about-stat-item:nth-child(odd) { border-inline-end: none; }
  .about-stat-item:nth-last-child(-n+2) { border-bottom: 1px solid rgba(26,43,74,0.12); }
  .about-stat-item:last-child { border-bottom: none; }
  .careers-benefits-grid { grid-template-columns: 1fr; }
  .team-grid   { grid-template-columns: 1fr 1fr; }

  .property-features { gap: 10px; }

  .property-card-body {
    padding: 20px;
  }

  .property-card-body h3 {
    font-size: 1.2rem;
    min-height: auto;
  }

  .property-price {
    font-size: 1.6rem;
  }

  .service-card { padding: 28px 20px; }
  .services-page-cta { padding: 58px 0; }

  .contact-form-wrap { padding: 24px 16px; }
}

/* ---- RTL-specific overrides ---- */
html[dir="rtl"] .footer-col ul a::before { display: none; }
html[dir="rtl"] .footer-col ul a::after {
  content: '';
  display: block;
  width: 14px;
  height: 1px;
  background: var(--copper);
  flex-shrink: 0;
  opacity: 0;
  transition: opacity var(--transition-fast);
  order: -1;
}
html[dir="rtl"] .footer-col ul a:hover::after { opacity: 1; }

html[dir="rtl"] .hero-shape-1 { right: auto; left: -80px; }
html[dir="rtl"] .hero-shape-2 { right: auto; left: 120px; }

/* ---- Print styles ---- */
@media print {
  #navbar, #back-to-top, .scroll-indicator, .hero-stats { display: none !important; }
  body { font-size: 12pt; }
  a[href]::after { content: " (" attr(href) ")"; }
}
