/* =================================================================
   C&F CONSULTORES — Media queries
   Breakpoints: 640 / 768 / 1024 / 1280
   Mobile-first: las reglas base en main.css son para móvil
   ================================================================= */

/* --------- Tablet en adelante (>= 768px) --------- */
@media (min-width: 768px) {

  :root {
    --container-pad: var(--s-6);
  }

  /* El texto "C&F Consultores" junto al logo se mantiene oculto en TODAS las
     resoluciones para que no se sobreponga con el menu (logo grafico es suficiente). */
  .site-logo__text {
    display: none;
  }

  .site-nav {
    display: block;
  }

  .menu-toggle {
    display: none;
  }

  .hero__grid {
    grid-template-columns: 1.2fr 1fr;
    gap: var(--s-9);
  }

  .hero__title {
    font-size: var(--fs-5xl);
  }

  .figures__grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .services-lines__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .insights__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .site-footer__grid {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }

  .cta-final h2 {
    font-size: var(--fs-4xl);
  }

  .contact__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: var(--s-7);
  }

  .contact__items {
    grid-template-columns: 1fr 1fr;
  }
}

/* --------- Desktop (>= 1024px) --------- */
@media (min-width: 1024px) {

  .hero {
    padding: var(--s-10) 0 var(--s-11);
  }

  .hero__title {
    font-size: var(--fs-hero);
  }

  .manifesto__quote {
    font-size: var(--fs-3xl);
  }

  .insights__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .figure__number {
    font-size: var(--fs-4xl);
  }

  .featured-case h2 {
    font-size: var(--fs-4xl);
  }

  .featured-case__metric-value {
    font-size: var(--fs-3xl);
  }
}

/* --------- Mobile pequeño (< 480px) — ajustes finos --------- */
@media (max-width: 479px) {

  .hero__title {
    font-size: var(--fs-3xl);
  }

  .figures__grid {
    grid-template-columns: 1fr;
    gap: var(--s-5);
  }

  .figure:not(:last-child)::after {
    display: none;
  }

  .hero__ctas .btn,
  .cta-final__buttons .btn {
    width: 100%;
  }

  .featured-case__metrics {
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }

  .whatsapp-float,
  .chatbot-toggle {
    width: 52px;
    height: 52px;
  }

  .chatbot-toggle {
    bottom: calc(var(--s-5) + 64px);
  }

  .chatbot-panel {
    bottom: calc(var(--s-5) + 126px);
    width: calc(100vw - var(--s-6));
    height: 70vh;
  }
}

/* --------- Preferencias usuario --------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --------- Print (placeholder) --------- */
@media print {
  .site-header,
  .whatsapp-float,
  .chatbot-toggle,
  .chatbot-panel,
  .cta-final {
    display: none !important;
  }
}
