/* ════════════════════════════════════════════════════════════════
   Domaine Bats — Responsive overrides
   Inclus en dernier sur chaque page pour que ces règles l'emportent.
   ════════════════════════════════════════════════════════════════ */

/* ───── Tablette (≤ 1024 px) ───── */
@media (max-width: 1024px) {

  /* Nav + logo */
  nav { padding: 0 1.5rem; }
  .nav-links { gap: 1.6rem; }
  .nav-links a { font-size: 9.5px; letter-spacing: .15em; }

  /* Hero générique */
  .hero h1 { font-size: clamp(2.2rem, 5.5vw, 4rem); }
  .hero-content { padding: 4rem 2rem; }

  /* Footer 3-cols → 2-cols */
  .footer-grid { grid-template-columns: 1.4fr 1fr; gap: 2.5rem; }
  .footer-grid > :nth-child(3) { grid-column: 1 / -1; }
  footer { padding: 4rem 2rem; }

  /* ── HOMEPAGE ── */

  /* Manifeste : retirer le split */
  .manifeste {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column;
  }
  .manifeste-text {
    padding: 4rem 2rem !important;
    order: 2;
  }
  .manifeste-banner { min-height: 340px !important; order: 1; }

  /* Manifeste version "background photo" */
  .manifeste-content { padding: 4rem 1.8rem !important; max-width: 600px; }

  /* Gamme slider — 2 cards visibles. Utilisation de vw pour éviter l'auto-expansion flex */
  .gamme { padding: 4rem 2.5rem; }
  .gamme-slider, .gamme-track { width: 100%; max-width: 100%; min-width: 0; }
  .cuvee { flex: 0 0 calc((100vw - 8rem) / 2); }
  .gamme-arrow.prev { left: -.2rem; }
  .gamme-arrow.next { right: -.2rem; }

  /* Domaine split → vertical */
  .domaine {
    grid-template-columns: 1fr !important;
    gap: 2.5rem;
    padding: 4rem 2rem !important;
  }
  .dom-image-wrap { max-width: 500px; margin: 0 auto; }

  /* Process — 2 colonnes */
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-header { padding: 4rem 2rem 2rem; }

  /* Création sur mesure (si encore présente) */
  .creation { grid-template-columns: 1fr !important; gap: 3rem; padding: 4rem 2rem; }

  /* L'instant (si encore présent) */
  .instant { grid-template-columns: 1fr !important; min-height: auto !important; }
  .instant-video video { min-height: 50vh !important; max-height: 60vh; }
  .instant-text { padding: 3rem 2rem !important; }

  /* Art de servir cards (Le verre / Température / Accord) */
  .servir-grid, .gestes-grid, .cepages-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  /* Accessoires */
  .accessoires { padding: 5rem 2rem; }
  .accessoires-grid { grid-template-columns: 1fr; gap: 1.5rem; max-width: 540px; }
  .accessoire-card { grid-template-columns: 1fr 1.2fr; }

  /* Newsletter */
  .newsletter { padding: 5rem 1.5rem !important; }

  /* CTA finale */
  .cta-fin { padding: 5rem 2rem !important; }

  /* Side-nav (homepage 5 dots) — masquer sur tablette */
  .side-nav { display: none; }

  /* Désactiver le scroll-snap forcé */
  html { scroll-snap-type: none !important; }

  /* ── PAGES PRODUITS (horsdage, vsop, etc.) ── */
  .hero {
    grid-template-columns: 1fr !important;
    gap: 2rem;
    padding: 4rem 2rem !important;
    min-height: auto !important;
  }
  .bottle-scene { min-height: 60vh; }

  /* ── PAGE GAMME (Nos produits) ── */
  .produit {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }
  .produit.reverse { grid-template-columns: 1fr !important; }
  .produit-bottle { min-height: 360px; }
  .produit-bottle img { max-height: 420px !important; }
  .produit-wrap { padding: 4rem 2rem !important; }

  /* ── PAGE DOMAINE — splits ── */
  .split {
    grid-template-columns: 1fr !important;
    gap: 2.5rem;
    padding: 5rem 2rem !important;
  }
  .split.reverse { grid-template-columns: 1fr !important; }
  .split-img-wrap { max-width: 500px; margin: 0 auto; }

  /* ── PAGE CRÉATION ARMAGNAC ── */
  .step {
    grid-template-columns: 1fr !important;
    gap: 2.5rem;
    padding: 4rem 2rem !important;
  }
  .step.reverse { grid-template-columns: 1fr !important; }
  .step-img-wrap { max-width: 500px; margin: 0 auto; }
  .cepages { padding: 4rem 2rem 5rem; }
  .facts-band { grid-template-columns: 1fr; }
  .fb-item { border-right: none; border-bottom: 1px solid var(--bats-trait); }
  .fb-item:last-child { border-bottom: none; }

  /* ── DOC pages (mentions, CGV, confidentialité) ── */
  .doc-hero { padding: 5rem 1.5rem 3rem; min-height: auto; }
  .doc { padding: 4rem 1.5rem 5rem; }
  .doc table { font-size: .82rem; }
  .doc th, .doc td { padding: .7rem .8rem; }
}


/* ───── Mobile (≤ 768 px) ───── */
@media (max-width: 768px) {

  /* Évin top : plus compact */
  .evin-top, .evin-bot {
    padding: 8px 1rem;
    font-size: 9px;
    letter-spacing: .08em;
    line-height: 1.4;
  }

  /* Nav : plus compact, logo plus petit */
  nav { padding: 0 1rem; height: 60px; }
  .nav-logo img { height: 30px; }

  /* Hero */
  .hero h1 { font-size: clamp(1.8rem, 8vw, 2.6rem); line-height: 1.15; }
  .hero-sub { font-size: .98rem; line-height: 1.65; }
  .hero-content { padding: 3rem 1.5rem 4rem; }
  .hero-ctas { flex-direction: column; align-items: center; }
  .hero-ctas a { width: 100%; max-width: 280px; text-align: center; }

  /* CTAs */
  .btn-cta, .btn-ghost { padding: .85rem 1.6rem; font-size: 10px; }

  /* Footer en colonne unique */
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; margin-bottom: 2.5rem; }
  .footer-grid > :nth-child(3) { grid-column: auto; }
  footer { padding: 3rem 1.5rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .f-brand img { height: 64px; }
  .f-social { justify-content: flex-start; }

  /* ── HOMEPAGE ── */

  /* Slider — 1 card visible (vw-based pour éviter expansion flex) */
  .gamme { padding: 3.5rem 1rem; }
  .gamme-header h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .cuvee { flex: 0 0 calc(100vw - 3rem); padding: 1.2rem 1.5rem 1.4rem; }
  .cuvee-bottle-wrap { height: 200px !important; }
  .cuvee-name { font-size: 1.4rem; }
  .cuvee-price { font-size: 1.5rem; }
  .gamme-arrow { width: 40px; height: 40px; font-size: 1.3rem; }

  /* Manifeste */
  .manifeste-text { padding: 3rem 1.5rem !important; }
  .manifeste-content { padding: 3rem 1.5rem !important; }
  .manifeste h2 { font-size: clamp(1.7rem, 6vw, 2.4rem); }
  .manifeste-banner { min-height: 260px !important; }

  /* Domaine homepage */
  .domaine { padding: 3.5rem 1.5rem !important; gap: 2rem; }
  .domaine h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .dom-lead { font-size: 1.15rem; }

  /* Process */
  .process-grid { grid-template-columns: 1fr 1fr; }
  .p-overlay { padding: 1rem; }
  .p-num { font-size: .8rem; }
  .p-label { font-size: 1.1rem; }
  .process-header { padding: 3rem 1.5rem 1.5rem; }
  .process-header h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }

  /* Art de servir / gestes / cépages */
  .servir, .gestes { padding: 4rem 1.5rem; }
  .servir-grid, .gestes-grid, .cepages-grid { grid-template-columns: 1fr; gap: 1.2rem; }

  /* Accessoires */
  .accessoires { padding: 3.5rem 1.5rem; }
  .accessoire-card { grid-template-columns: 1fr !important; }
  .acc-img-wrap { min-height: 220px !important; }

  /* Newsletter */
  .newsletter-body h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .nl-row { grid-template-columns: 1fr !important; }

  /* CTA finale */
  .cta-fin h2 { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .cta-fin-actions { flex-direction: column; align-items: center; }
  .cta-fin-actions a { width: 100%; max-width: 280px; text-align: center; }

  /* L'instant section */
  .instant-text h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .instant-text p, .instant-text .lead { font-size: 1rem; }
  .instant-text { padding: 2.5rem 1.5rem !important; }

  /* ── PAGES PRODUITS ── */
  .hero { padding: 3rem 1.5rem !important; }
  .hero-specs { grid-template-columns: 1fr 1fr; }
  .deg-selector { width: 100%; }
  .deg-btn { flex: 1; padding: .65rem .8rem; }
  .price-n { font-size: 2.8rem !important; }

  /* Section dégustation 4 cards (Hors d'âge etc.) */
  .deg-grid, .deg-cards { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }

  /* Chai section */
  .chai-grid { grid-template-columns: 1fr !important; min-height: auto !important; }
  .chai-image { min-height: 50vh; }
  .chai-text { padding: 3rem 1.5rem !important; border-left: none !important; border-top: 1px solid var(--bats-trait); }

  /* Histoire section */
  .histoire { grid-template-columns: 1fr !important; gap: 2.5rem; padding: 4rem 1.5rem !important; }

  /* Servir + accessoires sur les fiches produits */
  .servir-section { padding: 4rem 1.5rem !important; }

  /* ── PAGE GAMME (Nos produits) ── */
  .produit-wrap { padding: 3rem 1.5rem !important; }
  .produit-bottle { min-height: 320px; }
  .produit-bottle img { max-height: 380px !important; }
  .produit-info h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .produit-tagline { font-size: 1.1rem; }
  .produit-specs { grid-template-columns: 1fr 1fr 1fr; gap: 0; }
  .produit-spec { padding: .3rem .5rem; font-size: .85rem; }
  .produit-price-row { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .produit-actions { width: 100%; }
  .produit-actions a { flex: 1; text-align: center; }
  .produit-wrap::before { font-size: 8rem !important; }

  /* ── PAGE DOMAINE ── */
  .split { padding: 3.5rem 1.5rem !important; gap: 2rem; }
  .split h2 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
  .lead-block { padding: 5rem 1.5rem !important; }
  .lead-block-body p { font-size: 1.2rem; }

  /* ── PAGE CRÉATION ARMAGNAC ── */
  .step { padding: 3rem 1.5rem !important; }
  .step-num { font-size: 3.5rem; }
  .cepages { padding: 3rem 1.5rem 4rem; }
  .facts-band { padding: 0; }
  .fb-item { padding: 2rem 1.5rem; }
  .fb-val { font-size: 2.2rem; }

  /* ── DOC pages ── */
  .doc-hero { padding: 4rem 1.5rem 2.5rem; }
  .doc-hero h1 { font-size: clamp(2rem, 7vw, 2.8rem); }
  .doc { padding: 3rem 1.5rem 4rem; }
  .doc h2 { font-size: 1.4rem; flex-direction: column; align-items: flex-start; gap: .4rem; }
  .doc table { font-size: .8rem; display: block; overflow-x: auto; white-space: nowrap; }

  /* ── CONTACT page ── */
  .contact-grid { grid-template-columns: 1fr !important; }
}


/* ───── Petits mobiles (≤ 380 px) ───── */
@media (max-width: 380px) {
  .hero h1 { font-size: 1.7rem; }
  nav { padding: 0 .8rem; }
  .nav-logo img { height: 26px; }
  .footer-grid { gap: 1.5rem; }
}
