:root{
  --bg:#0b0b0f;
  --card:#12121a;
  --txt:#ffffff;
  --muted:#b7b7c7;

  --orange:#ff7a00;
  --green:#19c37d;
  --violet:#7c3aed;

  --stroke: rgba(255,255,255,.10);
  --stroke2: rgba(255,255,255,.14);

  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --r16:16px;
  --r20:20px;
  --r24:24px;

  /* ✅ Taille images choix (tu peux ajuster) */
  --imgH: 150px;

  /* ✅ Opacité sélection */
  --activeOpacity: 0.4;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(900px 500px at 15% 20%, rgba(255,122,0,.16), transparent 60%),
              radial-gradient(900px 500px at 85% 30%, rgba(124,58,237,.16), transparent 60%),
              var(--bg);
  color:var(--txt);
}

a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:22px}

/* Topbar */
.topbar{
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  padding:14px 14px;
  border:1px solid var(--stroke);
  border-radius: var(--r24);
  background: rgba(12,12,18,.55);
  box-shadow: var(--shadow);
}
.brand{
  display:flex;align-items:center;gap:12px;
  font-weight:800;
  letter-spacing:.2px;
}
.brand img{
  width:40px;height:40px;border-radius:12px;
  border:1px solid var(--stroke2);
  object-fit:cover;
  background:#0f0f16;
}
.nav{display:flex;gap:10px;flex-wrap:wrap}
.nav a{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--stroke);
  transition:.2s;
  font-weight:600;
}
.nav a:hover{transform: translateY(-1px); border-color: rgba(255,255,255,.18)}
.nav a.active{
  background:rgba(255,122,0,.22);
  border-color: rgba(255,122,0,.38);
}

h1{
  margin:18px 0 6px;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing:.2px;
}
.sub{color:var(--muted);margin:0 0 14px;line-height:1.6}

/* Hero */
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:stretch}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}

.hero{
  border:1px solid var(--stroke);
  border-radius: 26px;
  padding:18px;
  background: rgba(12,12,18,.40);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.hero h2{margin:0 0 8px}
.hero p{margin:0;color:var(--muted);line-height:1.6}

.img-card{
  border-radius:26px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--stroke);
  background:#0f0f16;
  box-shadow: var(--shadow);
  min-height: 260px;
  cursor:pointer;
}
.img-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.02);
  transition:.35s;
}
.img-card:hover img{transform:scale(1.06)}
.img-card .label{
  position:absolute;left:16px;bottom:14px;
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(10,10,14,.55);
  font-weight:750;
}

/* Steam animation */
.steam{
  position:absolute;left:50%;bottom:12%;
  width:20px;height:54px;border-radius:22px;
  background:rgba(255,255,255,.35);
  filter:blur(6px);
  transform:translateX(-50%);
  animation:steam 2.6s infinite ease-in-out;
  pointer-events:none
}
.s2{left:38%;animation-delay:.55s;opacity:.25}
.s3{left:64%;animation-delay:1.1s;opacity:.2}

@keyframes steam{
  0%{transform:translate(-50%,0) scale(1);opacity:0}
  20%{opacity:.45}
  100%{transform:translate(-50%,-95px) scale(1.6);opacity:0}
}

/* Days */
.days{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:18px 0 10px}
@media(max-width:900px){.days{grid-template-columns:repeat(3,1fr)}}

.day{
  padding:12px;border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  text-align:center;
  cursor:pointer;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  transition:.2s;
  font-weight:750;
}
.day small{display:block;color:var(--muted);margin-top:4px;font-weight:600}
.day.active{background:rgba(255,122,0,.22);border-color:rgba(255,122,0,.38)}

/* Steps */
.stepbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.pill{
  padding:8px 10px;border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--muted);
  font-weight:700;
}
.pill.on{color:var(--txt);border-color:rgba(255,122,0,.38);background:rgba(255,122,0,.18)}

.panel{
  background: rgba(12,12,18,.40);
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  padding:16px;
  margin-top:10px;
  box-shadow: var(--shadow);
}

/* Options grid with images */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}

.opt{
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  cursor:pointer;
  transition:.2s;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.opt:hover{transform: translateY(-1px); border-color: rgba(255,255,255,.18)}

/* ✅ SELECTION VERTE OPACITÉ 0.4 */
.opt.active{
  border-color: rgba(25,195,125,.95);
  background: rgba(25,195,125,var(--activeOpacity));
  box-shadow: 0 0 0 2px rgba(25,195,125,.25) inset;
}

/* ✅ Texte plus lisible quand sélectionné */
.opt.active h3,
.opt.active p{
  color:#06140d;
  font-weight:900;
}

/* ✅ L’image reste visible */
.opt .img{
  width:100%;
  height: var(--imgH);
  background:#0f0f16;
  overflow:hidden;
}
.opt .img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:.35s;
}
.opt:hover .img img{transform:scale(1.06)}

.opt .meta{
  padding:12px 12px 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.opt h3{margin:0;font-size:16px;font-weight:800}
.opt p{margin:6px 0 0;color:var(--muted);font-size:13px}

/* Buttons */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn{
  border:0;border-radius:16px;
  padding:12px 14px;
  cursor:pointer;
  font-weight:800;
  transition:.2s;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn:hover{transform: translateY(-1px)}
.btn.orange{background:var(--orange);color:#101014}
.btn.ghost{background:rgba(255,255,255,.08);color:var(--txt);border:1px solid rgba(255,255,255,.14)}
.btn.green{background:var(--green);color:#08110c}
.btn.violet{background:var(--violet);color:#0d0716}

/* Cart / Form */
.cart{margin-top:14px}
.cartItem{
  padding:12px;border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  margin-bottom:10px;
}
.row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
label{display:block;color:rgba(255,255,255,.85);font-size:14px;margin:10px 0 6px;font-weight:800}

input,textarea{
  width:100%;
  padding:12px;
  border-radius:14px;
  background:#0f0f16;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.16);
  outline:none;
  font-weight:700;
}
input::placeholder, textarea::placeholder{color:rgba(255,255,255,.70)}
input:focus, textarea:focus{border-color: rgba(25,195,125,.75)}

textarea{min-height:90px;resize:vertical}

.msg{margin-top:12px;padding:12px;border-radius:14px;display:none;font-weight:800}
.msg.ok{background:rgba(25,195,125,.20);border:1px solid rgba(25,195,125,.5);display:block}
.msg.err{background:rgba(255,122,0,.18);border:1px solid rgba(255,122,0,.5);display:block}
