:root{
  --text:#ffffff; --muted:#cfd4dd; --accent:#ff8a3c;
  --nav:#121417; --nav-link:#ffffff; --bg-overlay: rgba(15,17,20,.66);
  --card:#1b1d21; --input:#0f1216; --input-bd:#2f333b;
}
body{margin:0;color:var(--text);font-family:Inter, Arial, Helvetica, sans-serif;
  background: url('assets/bg-wood-dark.jpg') no-repeat center center fixed; background-size: cover;}
.auth-bg{background: url('assets/bg-geo.jpg') no-repeat center center fixed; background-size: cover;}
.container{max-width:1100px;margin:0 auto;padding:16px}
.site-header{position:sticky; top:0; z-index:50; background: var(--nav); color:var(--text); border-bottom:1px solid rgba(255,255,255,.06)}
.site-header .container{display:flex;align-items:center;gap:16px;justify-content:space-between}
.site-header nav a{color:var(--nav-link);margin-right:14px;font-weight:600;opacity:.95}
.site-header nav a:hover{opacity:1; text-decoration:underline}
.logo{height:54px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}
.hero,.post,.admin-card,.card{background:var(--bg-overlay); border:1px solid rgba(255,255,255,.08); border-radius:14px; box-shadow:0 12px 32px rgba(0,0,0,.40)}
.hero{padding:24px;margin:16px 0}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.post{padding:14px}
.post img{width:100%;height:220px;object-fit:cover;border-radius:10px;display:block}
.post h4{margin:10px 0 6px}.post p{color:var(--muted)}
.btn{background:var(--accent);color:#0e0e0e;border:0;padding:12px 16px;border-radius:10px;font-weight:800;cursor:pointer;letter-spacing:.2px}
.btn:hover{filter:brightness(1.05)}
.input, textarea, select{width:100%;padding:12px;border-radius:10px;border:1px solid var(--input-bd);background:var(--input);color:var(--text)}
label{display:block;margin:8px 0 6px;color:#f0f2f6}
.form-row{display:grid;grid-template-columns:1fr 1fr; gap:14px}
@media(max-width:900px){.form-row{grid-template-columns:1fr}}
.site-footer{padding:18px;text-align:center;margin-top:24px;color:#e6e8ee;text-shadow:0 1px 1px rgba(0,0,0,.4)}
.contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr}}
.admin-grid{display:grid; grid-template-columns:1fr; gap:16px}
.admin-actions{display:flex; gap:10px; flex-wrap:wrap}
.admin-list .row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid rgba(255,255,255,.12)}
/* Admin form spacing */
.admin-card form .input, .admin-card form textarea, .admin-card form select{width:100%;box-sizing:border-box;margin-bottom:14px}
.admin-card form label{margin-top:8px;margin-bottom:4px;display:block}
.admin-card{background:var(--card);padding:20px;border-radius:12px}
/* Contact spacing explicit gap */
.contact-wrap .form-row { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; row-gap:14px; }
.contact-wrap .form-row > div { display:flex; flex-direction:column; }
/* Table */
.table{width:100%; border-collapse: collapse; color: var(--text); font-size: 14px}
.table th, .table td{border-bottom:1px solid rgba(255,255,255,.12); padding:10px; text-align:left; vertical-align:middle}
.table thead th{background: rgba(255,255,255,.06)}
.table tr:hover{background: rgba(0,0,0,.15)}
/* post detail image */
.post-detail img{max-width:520px;width:100%;max-height:400px;object-fit:contain;margin:0 auto;display:block}



/* =====================================================
   KM Burger – Correctifs ajoutés (V2 intégrée)
   Ces règles se chargent APRÈS vos styles existants.
   ===================================================== */

/* Normalisation utile */
*,
*::before,
*::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; display: block; }

/* ---------- HEADER & LOGO ---------- */
.site-header .container {
  flex-wrap: wrap;              /* évite tout chevauchement */
}

.logo {
  display: flex;
  align-items: center;
  min-height: 44px;             /* zone cliquable confortable */
  max-width: 100%;
  overflow: visible;
  background-repeat: no-repeat; /* au cas où le logo est en background */
  background-size: contain;
  background-position: left center;
}
.logo img {
  display: block;
  width: auto;
  height: auto;
  max-height: 52px;             /* respecte votre .logo{height:54px} sans couper */
  max-width: min(220px, 40vw);  /* évite une image trop grande qui "disparaît" */
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}

/* ---------- NAV ---------- */
.site-header nav { display:flex; flex-wrap:wrap; gap:12px 16px; }
.site-header nav a { white-space: nowrap; }

/* ---------- FORMULAIRE CONTACT ---------- */
/* Empêche les champs de se toucher et de dépasser */
.input, textarea, select {
  max-width: 100%;
  box-sizing: border-box;
  font-size: 16px; /* iOS: évite le zoom auto */
}

/* Vos .form-row utilisent une grille : on assure 2 colonnes sur desktop,
   1 colonne sur mobile + des gaps solides. */
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* Spécifique au bloc contact (votre CSS forçait 2 colonnes même sur mobile) */
.contact-wrap .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  row-gap: 14px;
}

/* Les cartes/grands blocs ne doivent pas laisser dépasser les ombres des inputs */
.hero, .card { overflow: hidden; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  /* Vous aviez déjà .form-row en 1 colonne, on rend cohérent le cas du contact */
  .contact-wrap .form-row { grid-template-columns: 1fr; column-gap: 0; row-gap: 12px; }
}

@media (max-width: 640px) {
  .logo img { max-height: 44px; max-width: min(200px, 48vw); }
  .site-header .container { gap: 10px; }
  .form-row { grid-template-columns: 1fr; gap: 12px; } /* sécurité mobile */
}

/* =========================
   KM Burger – Logo Hotfix
   Force l'affichage du logo.
   À charger TOUT À LA FIN.
   ========================= */

.logo, .site-logo, .navbar-brand, a.logo, a.brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 44px !important;
  background-image: none !important;   /* supprime un éventuel background-logo vide */
  overflow: visible !important;
}

/* Image visible et dimensionnée */
.logo img, .site-logo img, .navbar-brand img, a.logo img, a.brand img {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: auto !important;
  height: 48px !important;           /* ajuste si besoin */
  max-width: 240px !important;
  object-fit: contain !important;
  filter: none !important;
}

/* Empêche la disparition due à un z-index/overflow */
header, .site-header, .header, #header { position: relative; z-index: 5; }






