/* ══════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE OVERRIDES — ONLY affects screens ≤ 767px
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

  /* ── NEWHOME HERO SLIDER ── */

  .home-hero {
    height: 92vh !important;
    min-height: 500px !important;
  }

  #heroSlider {
    height: 100% !important;
  }

  .hero-slide {
    padding: 80px 0 60px !important;
    display: flex !important;
    align-items: center !important;
  }

  .hero-image-overlay {
    width: 100% !important;
  }

  .hero-image-overlay::before {
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.7)) !important;
  }

  .hero-text-block {
    max-width: 100% !important;
    padding: 0 5px !important;
    text-align: center !important;
    align-items: center !important;
  }

  .hero-headline {
    font-size: 1.8rem !important;
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
    margin-bottom: 12px !important;
  }

  .hero-subheading {
    font-size: 1.1rem !important;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
  }

  .hero-paragraph {
    font-size: 0.82rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
  }

  .hero-buttons {
    margin-top: 0 !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 280px !important;
    gap: 12px !important;
  }

  .btn-filled-red {
    width: 100% !important;
    text-align: center !important;
    padding: 13px 20px !important;
    font-size: 0.85rem !important;
    border-radius: 25px !important;
  }

  /* Dots positioning */
  #heroDots {
    bottom: 100px !important;
    gap: 6px !important;
  }
  #heroDots span {
    width: 28px !important;
    height: 6px !important;
    border-radius: 3px !important;
  }

  /* Floating metrics - show compact version */
  .hero-floating-metrics-bar {
    display: flex !important;
    bottom: -5px !important;
    padding: 12px 20px !important;
    gap: 10px !important;
    border-radius: 14px !important;
    width: 90% !important;
    max-width: 400px !important;
    justify-content: space-around !important;
  }

  .metric-col {
    flex: 1 !important;
  }

  .metric-number {
    font-size: 1.1rem !important;
  }

  .metric-label {
    font-size: 0.55rem !important;
    width: 100% !important;
  }

  .metric-divider {
    width: 1px !important;
    height: 30px !important;
  }

  /* ── END NEWHOME HERO ── */

  img, video, iframe {
    max-width: 100% !important;
    height: auto !important;
  }

  /* ── OVERFLOWING INLINE WIDTHS ── */
  [style*="width:600px"],
  [style*="width: 600px"] {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  [style*="width:200%"],
  [style*="width: 200%"] {
    width: 100% !important;
  }
  [style*="width:50%"],
  [style*="width: 50%"] {
    width: 100% !important;
  }

  /* ── HERO OVERRIDES ── */
  .gi-service-hero,
  .gi-service-hero[style*="height:"] {
    height: auto !important;
    min-height: 300px !important;
    padding: 100px 0 40px !important;
  }

  .gi-hero-textbox,
  .gi-hero-textbox2 {
    margin-left: 0 !important;
    max-width: 100% !important;
    padding: 25px 20px !important;
    width: auto !important;
  }
  .gi-hero-textbox h1,
  .gi-hero-textbox2 h1 {
    font-size: 1.6rem !important;
  }
  .gi-hero-textbox p,
  .gi-hero-textbox2 p {
    max-width: 100% !important;
  }

  .gi-hero-grid-split {
    flex-direction: column !important;
  }

  .gi-hero-content-container {
    padding: 0 15px !important;
  }

  .gi-hero-bg img {
    height: 100% !important;
  }

  /* ── SERVICE PAGES COMMON ── */
  .gi-service-page,
  .gi-page {
    margin-top: 80px !important;
  }

  .gi-section-container {
    padding: 30px 15px !important;
  }

  .gi-container,
  .gi-nav-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .gi-intro-split-grid {
    grid-template-columns: 1fr !important;
  }
  .gi-paragraph-lead {
    margin-bottom: 20px !important;
  }
  .gi-thumbnail-row {
    flex-direction: column !important;
  }
  .gi-thumb-card {
    height: 160px !important;
  }
  .gi-intro-right-display {
    height: 250px !important;
  }

  .gi-tabs-five-column-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* ── INSTALLATION-ARMOIRES: INTRO SECTION POLISH ── */

  .gi-intro-showcase-section {
    padding: 40px 0 !important;
  }

  .gi-intro-split-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* Big image on top */
  .gi-intro-right-display {
    order: -1 !important;
    height: 220px !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
  }

  /* Title with left red accent */
  .gi-section-main-title {
    font-size: 1.3rem !important;
    padding-left: 14px !important;
    border-left: 4px solid #ff0000 !important;
    margin: 20px 0 16px !important;
    line-height: 1.3 !important;
  }

  /* Clean readable text */
  .gi-intro-left-content p {
    font-size: 0.88rem !important;
    line-height: 1.7 !important;
    color: #555 !important;
    margin-bottom: 20px !important;
  }

  /* Thumbnails side by side */
  .gi-thumbnail-row {
    flex-direction: row !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  .gi-thumb-card {
    flex: 1 !important;
    height: 120px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  }

  /* ── INSTALLATION-ARMOIRES ── */

  .gi-prestations-section {
    padding: 30px 0 !important;
  }

  .gi-steps-flow {
    gap: 16px !important;
  }
  .gi-step p {
    font-size: 0.75rem !important;
  }

  .gi-objectifs-img {
    height: 160px !important;
  }
  .gi-objectifs-text-overlay {
    padding: 0 15px !important;
    height: 120px !important;
  }
  .gi-objectifs-text-overlay h2 {
    font-size: 1.1rem !important;
    margin-top: 30px !important;
  }
  .gi-obj-card {
    padding: 12px 10px !important;
  }
  .gi-obj-label {
    font-size: 0.55rem !important;
  }
  .gi-obj-card h4 {
    font-size: 0.6rem !important;
  }

  .gi-cards-three {
    gap: 16px !important;
  }
  .gi-why-card {
    padding: 25px 20px !important;
  }
  .gi-why-card h3 {
    font-size: 0.9rem !important;
  }
  .gi-why-card p {
    font-size: 0.8rem !important;
  }

  /* ── MARGIN TOP CLEANUP ── */
  [style*="margin-top: 130px"],
  [style*="margin-top:130px"] {
    margin-top: 80px !important;
  }
  [style*="margin-top: 100px"],
  [style*="margin-top:100px"] {
    margin-top: 30px !important;
  }

  /* ── FONT SIZES ── */
  h1, .gi-hero-main-heading, .assist-hero-title,
  .product-hero-title, .catalogue-hero-title {
    font-size: 1.8rem !important;
  }
  h2, .gi-section-main-title {
    font-size: 1.2rem !important;
  }

  section {
    overflow-x: hidden;
  }

  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .gi-footer-content {
    flex-direction: column !important;
    text-align: center !important;
  }
  .gi-footer-column {
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .gi-nav-links {
    display: none !important;
  }

  input, textarea, select, button {
    max-width: 100% !important;
  }

  .bottom-cta-banner {
    padding: 20px 15px 40px !important;
  }
  .cta-marquee-text {
    font-size: 1rem !important;
  }
}

@media (max-width: 480px) {
  h1, .gi-hero-main-heading, .assist-hero-title,
  .product-hero-title, .catalogue-hero-title {
    font-size: 1.4rem !important;
  }
  h2, .gi-section-main-title {
    font-size: 1rem !important;
  }
  p, li, .gi-hero-body-text, .assist-hero-subtext {
    font-size: 0.8rem !important;
  }
  .gi-hero-textbox2 {
    padding: 15px !important;
  }
}
