/* =====================================================================
   Rupeevalley — responsive rules (desktop-first breakpoints)
   1180px  small desktop / large tablet landscape
    980px  tablet: navigation collapses, two-column layouts stack
    640px  mobile
   ===================================================================== */

@media (max-width: 1180px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-top { grid-template-columns: 1.4fr repeat(2, 1fr); }
  .footer-brand { grid-row: span 2; }
  .dash-float { right: -8px; }
  .nav-list { margin-left: 4px; }
  .nav-link { padding: 10px 11px; }
  .nav-partner { display: none; }
}

@media (max-width: 980px) {
  :root { --header-h: 64px; }

  /* Mobile navigation panel */
  .nav-toggle {
    display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 12px;
    border: 1px solid var(--line); background: #fff; color: var(--navy);
  }
  .nav-toggle .icon-close { display: none; }
  .nav-toggle[aria-expanded="true"] .icon-open { display: none; }
  .nav-toggle[aria-expanded="true"] .icon-close { display: block; }
  .site-nav {
    position: fixed; left: 0; right: 0; top: var(--header-h); bottom: 0;
    flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0;
    background: #fff; padding: 12px var(--gutter) 32px; overflow-y: auto; overscroll-behavior: contain;
    border-top: 1px solid var(--line);
    visibility: hidden; opacity: 0; transform: translateY(-8px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s;
  }
  .site-nav.is-open { visibility: visible; opacity: 1; transform: none; transition: opacity .25s var(--ease), transform .25s var(--ease); }
  body.nav-open { overflow: hidden; }
  .nav-list { flex-direction: column; align-items: stretch; margin: 0; gap: 0; }
  .nav-item { border-bottom: 1px solid var(--line); }
  .nav-link { width: 100%; justify-content: space-between; padding: 16px 4px; border-radius: 0; font-size: 1.05rem; }
  .nav-link:hover, .nav-trigger[aria-expanded="true"] { background: none; }
  .nav-item.is-active > .nav-link::after { display: none; }
  .dropdown, .dropdown-wide {
    position: static; width: auto; min-width: 0; box-shadow: none; border: 0; border-radius: 0;
    padding: 0 0 12px; background: transparent;
  }
  .dropdown-grid { grid-template-columns: 1fr; }
  .dropdown-link small { display: none; }
  .dropdown-link { align-items: center; }
  .nav-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 20px; }
  .nav-actions .btn { min-height: 52px; font-size: 1rem; }
  .nav-partner { display: inline-flex; justify-content: center; border: 1px solid var(--line); border-radius: 999px; }

  /* Hero stacks: copy → form → illustration */
  .hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "form" "visual"; }
  .hero h1 { max-width: none; }
  .dash { margin: 8px auto 0; }
  .page-hero-grid { grid-template-columns: 1fr; }
  .product-hero-art { display: none; }

  .assurance-grid { grid-template-columns: 1fr; gap: 16px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 56px; }
  .steps::before { display: none; }
  .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-card.featured { grid-row: auto; grid-column: 1 / -1; }
  .faq-layout { grid-template-columns: 1fr; }
  .faq-layout h2 { max-width: none; }
  .product-layout { grid-template-columns: 1fr; }
  .product-aside { position: static; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consent-inner { flex-direction: column; align-items: stretch; }
  .consent-actions .btn { flex: 1; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .btn-row .btn { flex: 1 1 100%; }
  .hero-ticks { flex-direction: column; gap: 8px; }
  .dash-float { position: relative; right: auto; top: auto; width: auto; display: flex; align-items: center; gap: 12px; text-align: left; margin-bottom: -18px; z-index: 1; margin-left: 18px; margin-right: 18px; padding: 10px 14px; }
  .dash-float svg { width: 54px; height: 54px; margin: 0; }
  .dash-value { font-size: 1.55rem; }
  .product-grid, .calc-grid, .why-grid, .article-grid, .steps, .grid-2, .grid-3, .grid-4 { grid-template-columns: minmax(0, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; grid-row: auto; }
  .lead-form-card, .lead-form-wrap.lead-form-card { border-radius: 20px; }
  .ref-link-box { flex-direction: column; }
  .acc-trigger { font-size: 1rem; padding: 18px 2px; }
  .data-table th, .data-table td { padding: 8px; }
}

@media (max-width: 380px) {
  .brand-name { font-size: 1.15rem; }
  .footer-top { grid-template-columns: 1fr; }
}
