/* ═══ GAMO Hôtel — correctifs communs (chargé après les styles de chaque page) ═══ */

/* Retour de formulaire (succès / erreur) */
.form-feedback { border-radius: 10px; padding: 12px 16px; margin-bottom: 16px; font-size: 14px; line-height: 1.5; }
.form-feedback.ok  { background: #EBF6FD; color: #0D4E78; border: 1px solid #B8DEF5; }
.form-feedback.err { background: #FDECEC; color: #8A1C1C; border: 1px solid #F5B8B8; }
.form-feedback a { color: inherit; font-weight: 600; }
.success-msg { display: none; text-align: center; padding: 24px; background: #EBF6FD; border-radius: 12px; border: 1px solid #B8DEF5; }
.success-msg .check { font-size: 36px; display: block; margin-bottom: 10px; }
.success-msg p { font-size: 15px; color: #0D4E78; font-weight: 500; }

/* Champ anti-spam (honeypot) : invisible pour les humains */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; }

/* Le bouton WhatsApp flottant ne doit pas recouvrir le bandeau cookies */
body.cookie-open .wa-float { bottom: 120px !important; }
@media (max-width: 640px) { body.cookie-open .wa-float { bottom: 170px !important; } }

/* Page À propos : rangée de statistiques → 2 colonnes sur mobile (évite le débordement) */
@media (max-width: 640px) {
  .apropos-stats { grid-template-columns: repeat(2, 1fr) !important; }
  .apropos-stats > div { border-right: none !important; }
}

/* Pages réseaux sociaux : menu hamburger (absent à l'origine) — règles limitées à body.page-social */
body.page-social .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; }
body.page-social .nav-toggle span { display: block; width: 24px; height: 2px; background: #0F2A3D; transition: transform 0.2s, opacity 0.2s; }
@media (max-width: 768px) {
  body.page-social .nav-toggle { display: flex; }
  body.page-social .nav-links.open {
    display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; padding: 12px 5% 16px; box-shadow: 0 12px 30px rgba(13,78,120,0.12); gap: 0;
  }
  body.page-social .nav-links.open li { width: 100%; }
  body.page-social .nav-links.open a { display: block; padding: 12px 0; border-bottom: 1px solid rgba(58,155,213,0.18); }
  body.page-social nav { position: relative; }
}

/* Accessibilité : focus visible sur les éléments interactifs */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #3A9BD5; outline-offset: 2px;
}

/* Page À propos : grilles inline (2/3 colonnes) → 1 colonne sur mobile */
@media (max-width: 768px) {
  body.page-apropos div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 24px !important; }
  body.page-apropos .apropos-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 0 !important; }
}
