/* =========================================================
   INFOVEL TECHNOLOGIES — Responsive breakpoints
   ========================================================= */

@media (max-width: 1199px) {
  .float-1 { left: 8px; }
  .float-2 { right: 8px; }
  .main-nav a.nav-link { padding: 9px 11px; font-size: 14px; }
}

/* Tablet & mobile navigation */
@media (max-width: 1023px) {
  section { padding: 84px 0; }
  .nav-toggle { display: inline-block; }
  .brand-tagline { display: none; }

  .main-nav {
    position: fixed; top: 76px; left: 0; right: 0; bottom: 0;
    background: #fff; overflow-y: auto; padding: 16px 20px 40px;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .2s, transform .25s cubic-bezier(.2,.7,.2,1), visibility .2s;
  }
  .main-nav.open { opacity: 1; visibility: visible; transform: none; }
  .main-nav > ul { flex-direction: column; align-items: stretch; gap: 2px; }
  .main-nav a.nav-link { display: flex; justify-content: space-between; padding: 15px 14px; font-size: 17px; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--border); border-radius: 0; }
  .main-nav a.nav-link.active::after { display: none; }
  .main-nav a.nav-link.active { color: var(--violet); }
  .dropdown {
    position: static; translate: none; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; padding: 4px 0 10px 8px; min-width: 0; display: none; background: transparent;
  }
  .has-dropdown.open .dropdown { display: block; }
  .has-dropdown.open > a.nav-link::before { transform: rotate(225deg); margin-top: 3px; }
  .header-actions .btn-sm { display: none; }
  body.nav-open { overflow: hidden; }

  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .split { grid-template-columns: 1fr; gap: 48px; }
  .split.reverse .split-media { order: 0; }
  .split-media { max-width: 640px; }

  .bento { grid-template-columns: repeat(2, 1fr); }
  .b-span-4, .b-span-3 { grid-column: span 2; }
  .b-span-2 { grid-column: span 1; }
  .b-row-2 { grid-row: auto; }

  .process { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .process::before { display: none; }
  .sec-grid { grid-template-columns: repeat(2, 1fr); }

  .dash-inner { grid-template-columns: 1fr; }
  .dash-side { display: none; }
  .float-card { display: none; }

  .stats-band { grid-template-columns: repeat(2, 1fr); }
  .stats-band > div:nth-child(2) { border-right: 0; }
  .stats-band > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }

  .module-block { grid-template-columns: 1fr; gap: 16px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-brand { grid-column: 1 / -1; }
  .price-card.featured { transform: none; }
  .price-card.featured:hover { transform: translateY(-4px); }
}

@media (max-width: 767px) {
  section { padding: 68px 0; }
  .container { padding: 0 18px; }
  .header-inner { height: 68px; }
  .main-nav { top: 68px; }
  .brand img { height: 34px; }
  .brand-name { font-size: 15px; }

  .hero-simple { padding: 80px 0 72px; }
  .hero-simple p { font-size: 17px; }
  .hero-home { padding-top: 64px; }
  .hero-stage { margin-top: 48px; }
  .dash { transform: none; padding: 6px 6px 0; }
  .dash-main { padding: 14px; }
  .dash-kpis { grid-template-columns: repeat(2, 1fr); }
  .dash-row { grid-template-columns: 1fr; }
  .dash-row .dash-card:last-child { display: none; }
  .bars { height: 110px; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .bento { grid-template-columns: 1fr; }
  .b-span-4, .b-span-3, .b-span-2 { grid-column: auto; }
  .module-chip-grid { grid-template-columns: 1fr 1fr; }
  .process, .sec-grid { grid-template-columns: 1fr; }

  .stats-band > div { padding: 26px 14px; }
  .tabs-nav { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .tab-btn { justify-content: center; padding: 11px 10px; }

  .form-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 56px 22px; border-radius: 22px; }
  .card { padding: 24px; }
  .module-block { padding: 22px; }
  .media::before { inset: 12px -10px -12px 12px; }

  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .btn-row .btn { flex: 1 1 auto; }
}

/* Mobile menu panel: the sticky header's backdrop-filter makes it the containing
   block for fixed children, so size the panel explicitly instead of bottom:0 */
@media (max-width: 1023px) {
  .main-nav { bottom: auto; height: calc(100vh - 78px); height: calc(100dvh - 78px); }
}
@media (max-width: 767px) {
  .main-nav { height: calc(100vh - 68px); height: calc(100dvh - 68px); }
}
