/* ══════════════════════════════════════════
   MOBILE — Media queries ≤ 900px & ≤ 430px
   ══════════════════════════════════════════ */

@media (max-width: 900px) {

  /* ── Global ── */
  body   { cursor: auto; }
  #cursor, #grain { display: none; }
  * { cursor: auto !important; }
  section, #cta { scroll-margin-top: 56px; }

  /* ── Nav ── */
  #nav {
    padding: 0 max(1.25rem, env(safe-area-inset-right)) 0 max(1.25rem, env(safe-area-inset-left));
    height: 56px;
  }
  .nav-logo  { width: 32px; height: 32px; }
  .nav-name  { font-size: 13px; letter-spacing: 3px; }
  .nav-links { display: none; }
  #hamburger { display: flex; }
  #lang-btn  { display: none; }

  /* ── Theme toggle — bas gauche, respecte safe area ── */
  #tw {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1.25rem);
    left: 1.25rem;
    right: auto;
    padding: 8px 12px;
    gap: 8px;
  }
  #tw-label { display: none; }

  /* ── HERO ── */
  #hero { min-height: 100svh; }

  .hero-main {
    grid-template-columns: 1fr;
    padding: 72px 1.5rem 2rem;
    gap: 2rem;
    text-align: center;
  }

  /* Logo en premier, plus grand */
  .hero-right       { order: -1; height: auto; }
  .hero-logo-scene  { width: 220px; height: 220px; margin: 0 auto; }
  .hero-ring-outer  { width: 212px; height: 212px; }
  .hero-ring-inner  { width: 178px; height: 178px; }
  .hero-logo-disk   { width: 162px; height: 162px; }
  .hero-deco-text   { display: none; }

  .hero-copy        { gap: 1.1rem; }
  .hero-eyebrow     { justify-content: center; font-size: 9px; }
  .hero-eyebrow::after { display: none; }
  .hero-h1          { font-size: clamp(48px, 12.5vw, 68px); line-height: .9; }
  .hero-sub         { font-size: 15px; line-height: 1.75; margin: 0 auto; max-width: 340px; }
  .hero-btns        { justify-content: center; gap: .75rem; }
  .btn-fill         { padding: 14px 28px; font-size: 10px; }
  .btn-str          { padding: 14px 20px; font-size: 10px; }
  .hero-badges      { display: none; }

  /* ── Stats bar ── */
  .hero-bottom {
    grid-template-columns: repeat(2, 1fr);
  }
  .hb-stat     { padding: 1.1rem 1rem; }
  .hb-stat:nth-child(2)                   { border-right: none; }
  .hb-stat:nth-child(1), .hb-stat:nth-child(2) { border-bottom: 1px solid var(--border); }
  .hb-val { font-size: 22px; }
  .hb-lbl { font-size: 8px; letter-spacing: 2px; }

  /* ── Marquee ── */
  .mq-item { font-size: 14px; padding: 0 14px; gap: 16px; }

  /* ── HISTORIA ── */
  #historia           { grid-template-columns: 1fr; }
  .hist-left          { min-height: 300px; }
  .hist-img-wrap      { padding: 2.5rem; }
  .hist-logo          { width: 200px; height: 200px; }
  .hist-num           { font-size: 90px; }
  .hist-right         { padding: 2.5rem 1.5rem; gap: 1.25rem; }
  .hist-quote         { font-size: 15px; padding-left: 1rem; }
  .hist-divider       { width: 32px; }

  /* ── VALEURS ── */
  #valeurs            { padding: 3.5rem 1.5rem; }
  .val-top            { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2.5rem; }
  .val-grid           { grid-template-columns: 1fr; }
  .val-card           { border-right: none; border-bottom: 1px solid var(--border); padding: 2rem 1.5rem; }
  .val-card:last-child { border-bottom: none; }
  .val-card-num       { font-size: 48px; margin-bottom: 1rem; }

  /* ── QUESO ── */
  #queso              { grid-template-columns: 1fr; }
  .queso-right        { min-height: 320px; order: 1; }
  .queso-left         { padding: 2.5rem 1.5rem; order: 2; gap: 1.25rem; }
  .queso-logo         { width: 210px; height: 210px; }
  .queso-ring         { inset: -18px; }
  .queso-ring2        { inset: -36px; }
  .queso-bg-text      { font-size: 64px; opacity: .25; bottom: .5rem; right: .5rem; }
  .queso-facts        { flex-wrap: wrap; gap: 1.25rem; }
  .queso-pills        { gap: 6px; }
  .pill               { padding: 7px 14px; font-size: 9px; }

  /* ── VENTE ── */
  #vente              { padding: 3.5rem 1.5rem; }
  #vente.sf-bot::after { height: 36px; }
  .vente-top          { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2rem; }
  .vente-layout       { grid-template-columns: 1fr; min-height: auto; }
  .vente-list         {
    max-height: 260px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .vente-item         { padding: 1.1rem 1.25rem; }
  #map                { height: 340px; }

  /* ── CTA ── */
  #cta {
    grid-template-columns: 1fr;
    padding: 3.5rem 1.5rem;
    gap: 2rem;
    text-align: center;
  }
  .cta-btn            { align-self: center; width: 100%; max-width: 320px; }
  .cta-bg-num         { display: none; }
  #cta h2             { font-size: clamp(28px, 7.5vw, 40px); }
  #cta h2 small       { font-size: 10px; }

  /* ── CONTACT ── */
  #contacto           { grid-template-columns: 1fr; }
  .cont-left          { padding: 3rem 1.5rem; min-height: auto; }
  .cont-right         { padding: 2.5rem 1.5rem; }
  .form-row           { grid-template-columns: 1fr; }
  .form-title         { font-size: 22px; margin-bottom: .25rem; }
  .form-submit        { width: 100%; align-self: stretch; padding: 16px; text-align: center; }
  .cont-quote         { display: none; }

  /* ── FOOTER ── */
  .footer-top {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.5rem 1.5rem;
  }
  .footer-top > div:nth-child(2) {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .footer-bottom {
    padding: 1.25rem 1.5rem;
    flex-direction: column;
    gap: .5rem;
    text-align: center;
  }

  /* ── Titres ── */
  h2.sec-h  { font-size: clamp(30px, 8vw, 44px); }
  .queso-h  { font-size: clamp(32px, 9vw, 46px); }
  .cont-h   { font-size: clamp(36px, 9vw, 50px); }

  /* ── Touch targets minimaux 44px ── */
  .btn-fill, .btn-str, .form-submit, .cta-btn, .nav-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .arrow-link { min-height: 44px; }
  .mm-link    { min-height: 52px; }

  /* ── Désactiver effets hover sur mobile ── */
  .pill:hover                { background: none; color: var(--gold2); border-color: var(--border2); transform: none; }
  .hb-stat:hover             { background: none; }
  .hist-logo:hover           { transform: none; }
  .val-card:hover .val-card-accent { width: 0; }

  /* ── Retour tactile :active ── */
  .btn-fill:active, .btn-str:active, .form-submit:active, .cta-btn:active, .nav-btn:active {
    opacity: .75;
    transform: scale(.97);
  }
  .mm-link:active { color: var(--gold2); }
  .gal-filter:active { opacity: .75; }

  /* ── Input iOS — évite zoom auto à 16px ── */
  .fg input, .fg textarea, .fg select { font-size: 16px; }
}

/* ── Très petits écrans ≤ 430px ── */
@media (max-width: 430px) {
  .hero-logo-scene { width: 180px; height: 180px; }
  .hero-ring-outer { width: 173px; height: 173px; }
  .hero-ring-inner { width: 145px; height: 145px; }
  .hero-logo-disk  { width: 132px; height: 132px; }
  .hero-h1         { font-size: clamp(42px, 13.5vw, 58px); }
  .nav-name        { font-size: 12px; letter-spacing: 2px; }
  .queso-logo      { width: 180px; height: 180px; }
  #map             { height: 280px; }
}
