:root{--bg:#0b1830;--panel:#13233d;--text:#eaf2ff;--muted:#a9bbd6;--accent:#5aa6ff;--accent2:#34d399;--danger:#ef4444}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
a{color:var(--accent);text-decoration:none}
.nav{background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:saturate(160%) blur(6px);position:sticky;top:0;z-index:10}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}
.brand img{width:28px;height:28px}
.menu{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
.menu a{padding:8px 10px;border-radius:10px;color:var(--text);opacity:.9}
.menu a.active,.menu a:hover{background:rgba(255,255,255,.06);opacity:1}
.container{max-width:1100px;margin:10px auto;padding:0 16px}
.grid{display:grid;gap:16px}
/* .grid.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))} */
.grid.cards{ display:flex; justify-content:center; align-items:center; gap:20px;flex-wrap:wrap;}
.grid.cards .card{max-width:320px;}

.card {
  background: rgba(19, 35, 61, 0.6); /* couleur du panel mais à 60 % d’opacité */
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}

.card h3{margin-top:0}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid rgba(63, 153, 71, 0.473);background:rgba(63, 153, 71, 0.473);color:var(--text)}
.btn.primary{background:linear-gradient(180deg,#3b82f6,#2563eb);border-color:#1d4ed8;padding: 14px 24px 14px}
.btn.success{background:linear-gradient(180deg,#10b981,#059669);border-color:#047857}
.btn.warn{background:linear-gradient(180deg,#f59e0b,#d97706);border-color:#b45309}
.price{font-size:22px;font-weight:700}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;color:var(--muted)}
/* .footer{max-width:1100px;margin:40px auto 60px;padding:0 16px;color:var(--muted);text-align:center} */
input,textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text);padding:10px;width:100%}
label{display:block;font-weight:600;margin:6px 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
.muted{color:var(--muted)}.notice{color:var(--muted);font-size:14px}
.center {text-align: center;justify-content: center;}
.flex{display:flex;gap:20px 20px;align-items:center;flex-wrap:wrap}
.card .actions {
  display: flex;
  justify-content: center; /* centre horizontalement */
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap; /* passe en ligne multiple sur mobile */
}

.card .notice {
  margin-top: 12px;
  text-align: center;
  color: var(--muted);
}

/* Responsive : sur petit écran, les boutons prennent toute la largeur */
@media (max-width: 600px) {
  .card .actions .btn {
    width: 100%;
    text-align: center;
  }
}

hr{border:0;border-top:1px solid rgba(255,255,255,.08);margin:20px 0}
/* Donne toute la hauteur au document */
html, body {
  height: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.footer {
  position: fixed;             /* colle le footer en bas */
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2px 0;
  text-align: center;
  font-size: 14px;
  background: rgba(19, 35, 61, 0.75);  /* bande légèrement opaque */
  color: rgba(255, 255, 255, 0.8);     /* texte clair */
  backdrop-filter: blur(6px);
  z-index: 10;
}

.footer a {
  color: #9dc1ff; /* bleu lisible */
  text-decoration: none;
  margin: 0 4px;
}

.footer a:hover {
  text-decoration: underline;
  color: #fff;
}

/* Garde le fond uni seulement sur html (pas sur body) */
html { background: var(--bg); }

/* Image plein écran sur body */
body{
  background: url('/assets/img/ClubHouseAvions.png') no-repeat center center fixed;
  background-size: cover;
}

.actions {
  text-align: center;
  margin-top: 20px;
}
.actions .btn {
  margin: 0 8px;
}


/* --- Panier : responsive mobile --- */
.table { width:100%; border-collapse:collapse; table-layout:auto; }
.table th, .table td { word-wrap:break-word; white-space:normal; }

/* ----------- Correction mobile Panier ----------- */
@media (max-width: 768px) {
  /* Cadre principal : occupe toute la largeur avec marge douce */
  .container {
    padding: 0 8px;
  }
  .card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Le tableau devient scrollable sans déborder */
  #cart .card {
    padding: 12px;
    overflow-x: auto;
    width: 100%;
    box-sizing: border-box;
  }
  #cart table {
    width: 100%;
    min-width: 520px; /* évite écrasement des colonnes */
  }

  /* Champs quantité : largeur raisonnable */
  #cart input[type="number"] {
    width: 60px;
    text-align: center;
  }

  /* Boutons sous le tableau */
  .actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 16px;
    text-align: center;
  }
  .actions .btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Petit ajustement visuel */
  .notice {
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
  }
}

/* Ultra-petit écran (smartphones < 380px) */
@media (max-width: 380px) {
  #cart table {
    min-width: 480px;
  }
  .table th, .table td {
    font-size: 13px;
  }
}