/* =====================================================================
   LCN CONSULTING — RESPONSIVE
   Breakpoints :
     - Mobile  : < 640px
     - Tablet  : 640px - 1024px
     - Laptop  : 1024px - 1280px
     - Desktop : > 1280px
   ===================================================================== */

/* ---------------------------------------------------------------------
   LARGE LAPTOP (≤ 1280px)
--------------------------------------------------------------------- */
@media (max-width: 1280px) {
  :root {
    --lcn-container: 1080px;
  }

  .lcn-hero { padding: 5rem 0 4rem; }
}

/* ---------------------------------------------------------------------
   TABLETTE (≤ 1024px)
--------------------------------------------------------------------- */
@media (max-width: 1024px) {
  :root {
    --lcn-container: 100%;
  }

  .lcn-services { grid-template-columns: 1fr; gap: var(--lcn-space-6); }
  .lcn-grid--3, .lcn-grid--4 { grid-template-columns: repeat(2, 1fr); }

  .lcn-hero__stats { grid-template-columns: repeat(2, 1fr); gap: var(--lcn-space-4); }

  .lcn-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--lcn-space-8);
  }

  .lcn-section { padding: 4rem 0; }
  .lcn-section__head { margin-bottom: 3rem; }
}

/* ---------------------------------------------------------------------
   MENU MOBILE (≤ 1320px)
--------------------------------------------------------------------- */
@media (max-width: 1320px) {
  .lcn-burger { display: flex; }

  /* Retour en ligne simple : logo | actions + burger */
  .lcn-header__inner {
    display: flex;
    justify-content: space-between;
    gap: var(--lcn-space-4);
  }
  .lcn-header__actions { justify-self: auto; }
  /* Le Contact du header laisse sa place à celui du panneau déroulant */
  .lcn-header__actions .lcn-btn--primary { display: none; }
  .lcn-nav__cta { display: block; }
  .lcn-nav__cta .lcn-btn {
    width: 100%;
    justify-content: center;
    padding: 0.9rem 1rem;
    font-size: 1rem;
  }

  .lcn-nav {
    position: fixed;
    top: var(--lcn-header-h);
    left: 0;
    right: 0;
    height: calc(100vh - var(--lcn-header-h));
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    transform: translateY(-110%);
    transition: transform 350ms cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  }
  .lcn-nav.lcn-nav--open { transform: translateY(0); }

  .lcn-nav__list {
    flex-direction: column;
    align-items: stretch;
    padding: 2rem 1.5rem;
    gap: 0.5rem;
  }
  .lcn-nav-link {
    display: block;
    padding: 1rem;
    font-size: var(--lcn-text-lg);
    border-radius: var(--lcn-radius);
  }
  .lcn-nav-link--active::after { display: none; }
  .lcn-nav-link--active {
    background: var(--lcn-gradient-blue);
    color: white;
  }
  .lcn-nav__list .lcn-btn { margin-top: 0.5rem; }
}

/* ---------------------------------------------------------------------
   MOBILE (≤ 640px)
--------------------------------------------------------------------- */
@media (max-width: 640px) {
  :root {
    --lcn-header-h: 72px;
  }

  .lcn-logo__img { height: 44px; }

  .lcn-container { padding: 0 1rem; }

  /* Hero */
  .lcn-hero { padding: 3rem 0 3rem; }
  .lcn-hero__title { font-size: 2rem; line-height: 1.15; }
  .lcn-hero__subtitle { font-size: 1rem; }
  .lcn-hero__cta { flex-direction: column; align-items: stretch; }
  .lcn-hero__cta .lcn-btn { width: 100%; }
  .lcn-hero__stats {
    grid-template-columns: 1fr 1fr;
    padding-top: 2rem;
    margin-top: 2rem;
    gap: 1.25rem;
  }
  .lcn-hero__stat-num { font-size: 1.6rem; }

  .lcn-hero__orb { opacity: 0.3; filter: blur(60px); }
  .lcn-hero__orb--blue { width: 280px; height: 280px; }
  .lcn-hero__orb--purple { width: 320px; height: 320px; }
  .lcn-hero__orb--turquoise { width: 260px; height: 260px; }

  /* Sections */
  .lcn-section { padding: 3rem 0; }
  .lcn-section__head { margin-bottom: 2.5rem; }
  .lcn-section__title { font-size: 1.6rem; }
  .lcn-section__lead { font-size: 0.95rem; }

  /* Page header */
  .lcn-page-header { padding: 3rem 0 2.5rem; }
  .lcn-page-header__title { font-size: 1.85rem; }
  .lcn-page-header__lead { font-size: 1rem; }

  /* Services */
  .lcn-service-card { padding: 2.5rem 1.5rem; }
  .lcn-service-card__icon { width: 70px; height: 70px; }
  .lcn-service-card__icon svg { width: 38px; height: 38px; }
  .lcn-service-card__title { font-size: 1.25rem; }

  /* Cards */
  .lcn-grid--2,
  .lcn-grid--3,
  .lcn-grid--4 { grid-template-columns: 1fr; }
  .lcn-card__header, .lcn-card__body { padding: 1.25rem; }
  .lcn-card__footer { padding: 1rem 1.25rem; flex-wrap: wrap; gap: 0.75rem; }

  /* Form */
  .lcn-form__row { grid-template-columns: 1fr; }
  .lcn-form__input,
  .lcn-form__textarea,
  .lcn-form__select { font-size: 16px; /* évite zoom iOS */ }

  /* Filtres */
  .lcn-filters { padding: 1rem; gap: 0.5rem; }
  .lcn-filter-chip { font-size: 0.8rem; padding: 0.4rem 0.8rem; }
  .lcn-search { width: 100%; }

  /* Planning */
  .lcn-planning-item {
    grid-template-columns: 80px 1fr;
    grid-template-areas: "date info" "btn btn";
    gap: 1rem;
    padding: 1.25rem;
  }
  .lcn-planning__date { grid-area: date; padding: 0.75rem; }
  .lcn-planning__day { font-size: 1.5rem; }
  .lcn-planning__info { grid-area: info; }
  .lcn-planning__seats, .lcn-planning-item .lcn-btn { grid-area: btn; }
  .lcn-planning__info h3 { font-size: 1rem; }

  /* Footer */
  .lcn-footer { padding: 3rem 0 1.5rem; }
  .lcn-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .lcn-footer__bottom {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }

  /* Boutons */
  .lcn-btn { padding: 0.75rem 1.25rem; font-size: 0.95rem; }
  .lcn-btn--lg { padding: 0.9rem 1.5rem; font-size: 1rem; }

  /* CTA */
  .lcn-cta { padding: 3rem 0; }
  .lcn-cta__title { font-size: 1.6rem; }
  .lcn-cta__lead { font-size: 1rem; }

  /* Testimonial */
  .lcn-testimonial { padding: 1.75rem; }
  .lcn-testimonial__text { font-size: 0.95rem; }

  /* Flash */
  .lcn-flash-wrapper {
    top: 80px;
    right: 12px;
    left: 12px;
    max-width: none;
  }
}

/* ---------------------------------------------------------------------
   PETIT MOBILE (≤ 380px)
--------------------------------------------------------------------- */
@media (max-width: 380px) {
  .lcn-logo__img { height: 40px; }
  .lcn-hero__title { font-size: 1.7rem; }
  .lcn-hero__stats { grid-template-columns: 1fr; }
  .lcn-section__title { font-size: 1.4rem; }
}

/* ---------------------------------------------------------------------
   PRINT
--------------------------------------------------------------------- */
@media print {
  .lcn-header, .lcn-footer, .lcn-burger, .lcn-cta, .lcn-hero__bg, .lcn-flash-wrapper,
  .lcn-btn, [data-aos] { display: none; }
  body { color: black; background: white; }
  a { color: black; text-decoration: underline; }
}
