/* ============================================================
   Farmiti Digital — responsive.css
   Breakpoints: 1200 / 992 / 768 / 576 / 400
   ============================================================ */

/* ---------- LARGE DESKTOP DOWN (≤1199px) ---------- */
@media (max-width: 1199.98px) {
  :root { --section-y: 80px; }

  .solutions-menu { min-width: 480px; }

  .float-card { padding: 8px 11px; }
  .float-card strong { font-size: 0.78rem; }
  .float-card small { font-size: 0.66rem; }
  .fc-ic { width: 30px; height: 30px; font-size: 0.85rem; }
}

/* ---------- LAPTOP / DESKTOP DOWN (≤991px) ---------- */
@media (max-width: 991.98px) {
  :root { --section-y: 72px; }

  /* Header becomes solid + off-canvas menu */
  .site-header .navbar {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.07);
    padding: 12px 0;
  }
  .navbar-brand,
  .site-header .navbar-brand { color: var(--primary); }
  .site-header .navbar-nav .nav-link { color: var(--text); }
  .navbar-toggler { background: rgba(15, 23, 42, 0.06); }
  .toggler-bar { background: var(--primary); }

  /* Mobile nav container */
  .navbar-collapse {
    background: #fff;
    margin-top: 14px;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-lg);
    padding: 16px 18px 22px;
    max-height: 75vh;
    overflow-y: auto;
  }
  .navbar-nav {
    --bs-scroll-height: 240px;
    width: 100%;
    margin: 0 !important;
  }
  .navbar-nav .nav-link {
    padding: 11px 12px !important;
    border-radius: var(--r-sm);
    font-size: 0.98rem;
  }
  .navbar-nav .nav-link:hover {
    background: rgba(37, 99, 235, 0.06);
  }
  .navbar-nav .nav-link::after { display: none; }
  .navbar-nav .nav-link.active {
    background: var(--grad-brand-soft);
    color: var(--secondary);
  }

  @media (min-width:992px){

.nav-item.dropdown:hover > .dropdown-menu{
    display:block;
    margin-top:0;
}

}

  /* Mobile dropdowns become accordion-style */
  .dropdown-menu {
    display: block;
    position: static;
    float: none;
    width: 100%;
    min-width: 0 !important;
    margin: 6px 0 10px !important;
    padding: 8px;
    background: var(--bg);
    border: 1px solid var(--line);
    box-shadow: none;
    border-radius: var(--r-md);
    opacity: 1;
    transform: none;
    animation: none;
    visibility: visible;
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--t-mid), padding var(--t-mid);
    padding-top: 0;
    padding-bottom: 0;
  }
  .dropdown.show .dropdown-menu {
    max-height: 700px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .solutions-menu .row { flex-direction: column; }
  .solution-col { padding: 0; }
  .solution-link { padding: 10px 10px !important; }
  .industries-menu .dropdown-item { padding-left: 12px; }

  .header-cta { display: none !important; }
  .header-cta-mobile {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }

  /* Hero */
  .hero { padding: 130px 0 80px; }
  .hero-row { gap: 40px; }
  .hero-visual { margin-top: 20px; padding: 10px 30px; }
  .hero-mock { transform: none; }
  .fc-seo { left: 0; }
  .fc-web { right: 0; }
  .fc-ads { left: 0; }
  .fc-analytics { right: 0; }

  /* Sub-page heroes */
  .page-hero { padding: 120px 0 60px; }
  .service-hero,
  .industry-hero { padding: 120px 0 60px; }
  .page-hero-stats { margin-top: 12px; }

  /* Process: 2 per row */
  .process-line { display: none; }
  .process-step { text-align: left; display: flex; align-items: center; gap: 16px; }
  .process-ic { margin-bottom: 0; flex-shrink: 0; }
  .process-num { margin-bottom: 0; flex-shrink: 0; width: auto; }

  /* AI dashboard */
  .ai-dash-score { flex-direction: column; align-items: stretch; gap: 18px; }
  .score-ring { align-self: center; }
  .score-bar-row { grid-template-columns: 84px 1fr 28px; }

  /* Why visual stat card stays inside */
  .why-stat-card { left: 16px; bottom: 16px; }

  .footer-bottom { justify-content: center; text-align: center; }
  .footer-legal { justify-content: center; flex-wrap: wrap; gap: 16px; }
}

/* ---------- TABLET DOWN (≤767px) ---------- */
@media (max-width: 767.98px) {
  :root { --section-y: 64px; }

  .section-head { margin-bottom: 40px; }
  .section-sub { font-size: 0.98rem; }

  /* Hero */
  .hero { padding: 120px 0 64px; }
  .hero-title { font-size: clamp(1.85rem, 7vw, 2.5rem); }
  .hero-lead { font-size: 1.02rem; }
  .hero-cta-group { flex-direction: column; align-items: stretch; }
  .hero-cta-group .btn { width: 100%; }
  .hero-trust { gap: 14px; font-size: 0.84rem; }

  .hero-visual { padding: 10px 0; }
  .float-card { display: none; }
  .float-card.fc-ai,
  .float-card.fc-web { display: flex; }
  .fc-ai { top: 8%; right: -4%; left: auto; bottom: auto; }
  .fc-web { top: auto; right: auto; left: -6%; bottom: 8%; }

  .hero-logos { margin-top: 44px; }
  .trust-chip { font-size: 0.82rem; padding: 7px 14px; }

  /* Services */
  .service-card { padding: 26px 22px; }

  /* Why grid 1 col */
  .why-grid { grid-template-columns: 1fr; gap: 18px; }
  .why-stat-card { padding: 14px 18px; }
  .why-stat-num { font-size: 1.8rem; }

  /* Industries 2 cols */
  .industry-card { padding: 22px 18px; }

  /* Process 1 col stacked */
  .process-step { gap: 14px; }
  .process-ic { width: 56px; height: 56px; font-size: 1.4rem; }

  /* Stats 2 cols */
  .stat-card { padding: 18px 8px; }

  /* Testimonials */
  .testimonial-card { padding: 26px 22px; }
  .swiper-button-prev,
  .swiper-button-next { display: none; }

  /* Pricing */
  .price-card { padding: 28px 24px; }

  /* Blog */
  .blog-img { height: 180px; }

  /* Final CTA */
  .final-cta-inner { padding: 52px 22px; }
  .final-cta-btns { flex-direction: column; align-items: stretch; }
  .final-cta-btns .btn { width: 100%; }

  /* Contact */
  .contact-form { padding: 26px 20px; }

  /* Footer */
  .footer-top { gap: 32px; padding-bottom: 40px; }
  .footer-about { max-width: 100%; }

  /* Sub-page: stats grid 1 col on tablet */
  .page-hero-stats { grid-template-columns: 1fr; }
  .service-visual-stats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .service-visual-img { height: 220px; }
}

/* ---------- MOBILE DOWN (≤575px) ---------- */
@media (max-width: 575.98px) {
  :root { --section-y: 56px; }
  body { font-size: 15px; }

  .section-eyebrow { font-size: 0.72rem; }
  .section-title { font-size: clamp(1.6rem, 6vw, 2rem); }

  .hero { padding: 110px 0 56px; }
  .hero-title { font-size: 1.85rem; }
  .hero-typed-wrap { font-size: 0.92rem; }
  .eyebrow-badge { font-size: 0.74rem; padding: 6px 12px; }

  .mock-row { grid-template-columns: 1fr; }
  .mock-value { font-size: 1.3rem; }

  .hero-logos-row { gap: 10px; }
  .trust-chip { font-size: 0.78rem; padding: 6px 12px; }

  .service-card { padding: 24px 20px; }
  .service-ic { width: 50px; height: 50px; font-size: 1.3rem; }

  .why-stat-card { left: 0; bottom: 0; }

  .ai-dash-opp li {
    flex-wrap: wrap;
  }
  .opp-impact { margin-left: 0; flex-basis: 100%; margin-top: 4px; }

  .stat-num { font-size: 1.9rem; }

  .testimonial-card { padding: 22px 18px; }
  .testimonial-card blockquote { font-size: 0.94rem; }

  .final-cta-inner { padding: 40px 18px; border-radius: var(--r-lg); }

  .contact-form { padding: 22px 16px; border-radius: var(--r-lg); }

  .footer-bottom { flex-direction: column; gap: 8px; }
  .footer-legal { gap: 14px; }

  .back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }

  /* Sub-page heroes on mobile */
  .page-hero,
  .service-hero,
  .industry-hero { padding: 110px 0 48px; }
  .page-hero-title,
  .service-hero-title,
  .industry-hero-title { font-size: 1.7rem; }
  .page-hero-lead,
  .service-hero-lead,
  .industry-hero-lead { font-size: 1rem; }
  .service-visual { padding: 20px; }
  .service-visual-img { height: 180px; }
}

/* ---------- SMALL MOBILE (≤400px) ---------- */
@media (max-width: 400px) {
  .hero-title { font-size: 1.65rem; }
  .section-title { font-size: 1.5rem; }
  .hero-cta-group .btn,
  .final-cta-btns .btn { font-size: 0.92rem; padding: 13px 20px; }

  .trust-chip { font-size: 0.74rem; padding: 5px 10px; }
  .trust-chip i { font-size: 0.85rem; }

  .price-amount { font-size: 2rem; }
  .score-bar-row { grid-template-columns: 70px 1fr 26px; font-size: 0.78rem; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .float-card { animation: none; }
  .pulse-dot { animation: none; }
}

/* ---------- PRINT ---------- */
@media print {
  .site-header,
  .back-to-top,
  .hero-bg,
  .float-card,
  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination,
  .contact-form,
  .footer-news { display: none !important; }
  .hero { background: #fff; color: #000; padding: 40px 0; }
  .hero-title, .hero-title .text-gradient { color: #000; -webkit-text-fill-color: #000; }
  body { background: #fff; }
  .section { padding: 30px 0; }
}
