/* ============================================================
   EASYPRINT — RESPONSIVE (Mobile-first)
   Base = 375px → 640 → 768 → 1024 → 1280px+
   ============================================================ */

/* ── BASE MOBILE (< 640px) ────────────────────────────────── */

/* Navbar : cacher nav desktop, montrer hamburger */
.navbar__nav,
.navbar__actions .btn--flame {
  display: none;
}

.navbar__hamburger {
  display: flex;
}

/* Montrer le bouton rappel dans le drawer uniquement */

/* Hero — mobile : 1 colonne, logo masqué, hauteur normale */
.hero {
  min-height: 100svh;
  min-height: 100vh;
}

.hero__inner {
  grid-template-columns: 1fr;
  gap: var(--ep-space-4);
}

.hero__visual {
  display: none;
}

.hero__text-col {
  max-width: 100%;
}

.hero__title {
  font-size: clamp(1.75rem, 6vw, 2.5rem);
}

.hero__ctas {
  flex-direction: column;
  align-items: flex-start;
}

.hero__ctas .btn {
  width: 100%;
  justify-content: center;
}

.trust-strip {
  flex-direction: column;
  gap: var(--ep-space-3);
}

/* Stats */
.stats-band__grid {
  flex-direction: column;
  gap: var(--ep-space-2);
}

.stat-divider {
  width: 40%;
  height: 1px;
  margin-inline: auto;
  margin-block: 0;
}

/* Expertise flip cards — 1 colonne sur mobile */
.expertise-grid {
  grid-template-columns: 1fr;
  gap: var(--ep-space-4);
}

/* Process — vertical sur mobile */
.process__line {
  display: none;
}

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

.process-step {
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  gap: var(--ep-space-5);
}

.process-step__number {
  font-size: var(--ep-text-2xl);
  flex-shrink: 0;
  min-width: 2.5rem;
}

.process-step__icon {
  display: none;
}

/* Why EP */
.why-ep__grid {
  grid-template-columns: 1fr;
  gap: var(--ep-space-12);
}

.why-ep__visual {
  order: -1;
}

.precision-map {
  max-width: 300px;
  margin-inline: auto;
}

/* Testimonials */
.testimonials__grid {
  grid-template-columns: 1fr;
  gap: var(--ep-space-6);
}

/* Diff table — keep structure but smaller */
.diff-table {
  font-size: var(--ep-text-xs);
  border-spacing: var(--ep-space-2);
}

.diff-header,
.diff-cell {
  padding: var(--ep-space-3) var(--ep-space-4);
}

/* Devis */
.devis-card {
  padding: var(--ep-space-8) var(--ep-space-6);
}

.devis-form__fields {
  grid-template-columns: 1fr;
  gap: var(--ep-space-6);
}

.devis-form__contact {
  grid-template-columns: 1fr;
  gap: var(--ep-space-5);
}

/* Footer */
.footer__grid {
  grid-template-columns: 1fr;
  gap: var(--ep-space-8);
}

.footer__bottom {
  flex-direction: column;
  text-align: center;
  gap: var(--ep-space-4);
}

/* CTA Final */
.cta-final__actions {
  flex-direction: column;
  align-items: stretch;
}

.cta-final__actions .btn {
  width: 100%;
  justify-content: center;
}

/* Container padding réduit */
.container {
  padding-inline: var(--ep-space-5);
}


/* ── PETIT TABLET (≥ 640px) ───────────────────────────────── */
@media (min-width: 640px) {

  .hero__ctas {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .hero__ctas .btn {
    width: auto;
  }

  .trust-strip {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .stats-band__grid {
    flex-direction: row;
  }

  .stat-divider {
    width: 1px;
    height: auto;
    margin-inline: 0;
    margin-block: var(--ep-space-4);
  }

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

  .devis-form__contact {
    grid-template-columns: 1fr 1fr;
  }

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

  .cta-final__actions {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  .cta-final__actions .btn {
    width: auto;
  }
}


/* Badge eyebrow mobile — texte long */
@media (max-width: 767px) {
  .badge--gold {
    font-size: 0.7rem;
    line-height: 1.4;
    padding: 0.5rem 0.875rem;
  }
}


/* ── TABLET (≥ 768px) ─────────────────────────────────────── */
@media (min-width: 768px) {

  /* Navbar : montrer nav desktop */
  .navbar__nav {
    display: flex;
  }

  .navbar__actions .btn--flame {
    display: inline-flex;
  }

  .navbar__hamburger {
    display: none;
  }

  /* Expertise flip cards — 2x2 */
  .expertise-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Process line visible */
  .process__line {
    display: block;
  }

  .process__steps {
    grid-template-columns: repeat(5, 1fr);
    gap: var(--ep-space-4);
  }

  .process-step {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--ep-space-4);
  }

  .process-step__number {
    font-size: clamp(2rem, 4vw, 3.5rem);
    min-width: auto;
  }

  .process-step__icon {
    display: flex;
  }

  /* Testimonials 3 colonnes */
  .testimonials__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Devis form layout */
  .devis-form__fields {
    grid-template-columns: repeat(3, 1fr);
  }

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

  /* Footer */
  .footer__grid {
    grid-template-columns: 1.5fr 1fr 1fr;
  }

  .footer__bottom {
    flex-direction: row;
    text-align: left;
  }
}


/* ── DESKTOP (≥ 1024px) ───────────────────────────────────── */
@media (min-width: 1024px) {

  /* Hero : 2 colonnes, logo visible, hauteur 115vh */
  .hero {
    min-height: 115svh;
    min-height: 115vh;
  }

  .hero__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--ep-space-8);
  }

  .hero__visual {
    display: flex;
  }

  .hero__title {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
  }

  /* Why EP split */
  .why-ep__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--ep-space-16);
  }

  .why-ep__visual {
    order: 0;
  }

  .precision-map {
    max-width: 420px;
    margin-inline: 0;
  }

  /* Footer 4 colonnes */
  .footer__grid {
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--ep-space-12);
  }

  /* Diff table full */
  .diff-table {
    font-size: var(--ep-text-sm);
    border-spacing: var(--ep-space-4);
  }

  .diff-header,
  .diff-cell {
    padding: var(--ep-space-4) var(--ep-space-6);
  }

}


/* ── LARGE DESKTOP (≥ 1280px) ────────────────────────────── */
@media (min-width: 1280px) {

  .container {
    padding-inline: var(--ep-space-8);
  }
}


/* ── VISION — colonne unique sur mobile ─────────────────── */
@media (max-width: 767px) {
  .vision__grid {
    grid-template-columns: 1fr;
    gap: var(--ep-space-10);
  }

  /* Hero très petit écran : hauteur naturelle */
  .hero {
    min-height: auto;
    padding-bottom: var(--ep-space-16);
  }
}

/* ── TOUCH DEVICE HOVER ADJUSTMENTS ──────────────────────── */
@media (hover: none) {
  /* Remove hover-only interactions on touch */
  .card:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--ep-border);
    background: var(--ep-surface);
  }

  .footer__social:hover {
    color: var(--ep-steel);
    background: rgba(255,255,255,0.04);
    border-color: var(--ep-border);
  }

  .navbar__link::after {
    display: none;
  }

  .marquee-track:hover {
    animation-play-state: running;
  }

  /* Flip cards — tap pour retourner, pas hover */
  .flip-card.is-flipped .flip-card-inner {
    transform: rotateY(180deg);
  }
  .flip-card:hover .flip-card-inner {
    transform: none;
  }
}


/* ── PRINT ────────────────────────────────────────────────── */
@media print {
  .navbar,
  .hero__canvas,
  .stats-band__beam,
  .hero__orb,
  .cta-final__orb,
  .modal-overlay,
  .scroll-indicator,
  canvas {
    display: none !important;
  }

  body {
    background: white;
    color: black;
  }

  .section-title,
  .hero__title {
    color: black;
  }

  a[href]::after {
    content: ' (' attr(href) ')';
    font-size: 0.75em;
    color: #666;
  }

  a[href^="#"]::after,
  a[href^="javascript"]::after {
    content: '';
  }
}
