/* ═══════════════════════════════════════════════════
   mobile.css — Moon & Star — VERSION PROPRE
   Chargé via <link media="(max-width:1024px)">
   NE PAS modifier manuellement — géré par build_v17.py
   ═══════════════════════════════════════════════════ */

/* Base reset */
:root { --pad: 16px; --gap: 16px; --gold: #d4af37; }
html, body { overflow-x: hidden; }
body { padding: 0; margin: 0; }
.container { padding-left: var(--pad); padding-right: var(--pad); }

/* Typography */
h1 { font-size: 1.75rem; line-height: 1.2; }
h2 { font-size: 1.25rem; line-height: 1.3; margin-top: 1.25rem; }
p, li { font-size: 1rem; line-height: 1.65; }

/* Grid */
.section .grid, .grid, .cards, .features {
  display: grid; grid-template-columns: 1fr; gap: var(--gap);
}
.card, .tile { border-radius: 16px; }

/* Images */
img, video { max-width: 100%; height: auto; }

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  width: 100%; min-height: 44px; padding: 10px 12px; font-size: 16px;
}

/* Slider */
#slider { overflow: hidden; width: 100%; margin: 0 auto; }
#slides { display: flex; flex-wrap: nowrap; transform: translateX(0); transition: transform .6s ease; }
#slides > .slide { min-width: 100%; display: flex; align-items: center; justify-content: center; padding: 20px 0; }
#slides .tile { width: calc(100% - 24px); margin: 0 12px; }

/* Footer */
.footer-grid, .footer .container, .footer-row {
  display: grid; grid-template-columns: 1fr; gap: 10px; text-align: center;
}
.footer .socials { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.footer-left, .footer-center, .footer-right { text-align: center; }

/* Cookie banner */
#cookie-banner {
  position: fixed; left: var(--pad); right: var(--pad); bottom: var(--pad);
  background: rgba(255,255,255,.98); border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 8px 30px rgba(0,0,0,.1); border-radius: 14px; padding: 14px; z-index: 99999;
}
#cookie-banner p { margin: 0 0 10px; font-size: 0.95rem; }
#cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#cookie-actions button { min-height: 44px; border-radius: 10px; }

/* Utilities */
.table-responsive { width: 100%; overflow-x: auto; }
.hide-mobile { display: none !important; }

/* Avis page */
body.page-avis #slider, body.page-avis .reviews { overflow: visible !important; }
body.page-avis #slider, body.page-avis #slides, body.page-avis .slide, body.page-avis .tile,
body.page-avis .reviews, body.page-avis .reviews * { position: relative !important; z-index: 1 !important; }
