/* ===========================
   Joylato × Fructital — Sorbet UI
   =========================== */

:root{
  /* Palette sorbet */
  --bg:        #0b0c10;  /* fond global */
  --bg-soft:   #10151c;  /* panneaux */
  --card:      #121820;  /* cartes */
  --text:      #f3f6fa;  /* texte principal (clair) */
  --muted:     #c3cbd6;  /* texte secondaire (clair) */
  --accent:    #ff6aa6;  /* fraise */
  --accent-2:  #ffd369;  /* mangue */
  --accent-3:  #7bd389;  /* pistache */
  --ring:      rgba(255,106,166,.28);
  --radius:    18px;
}

*{box-sizing:border-box}
html,body{padding:0;margin:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(255,211,105,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 0%,  rgba(255,106,166,.22), transparent 55%),
    radial-gradient(1100px 650px at -10% 100%, rgba(123,211,137,.16), transparent 60%),
    var(--bg);
}

/* Layout */
.wrap{max-width:960px;margin:0 auto;padding:0 20px}

/* ------------ Header ------------ */
.site-header{
  position: sticky; top:0; z-index:50;
  backdrop-filter: saturate(1.1) blur(8px);
  background: linear-gradient(to bottom, rgba(16,21,28,.88), rgba(16,21,28,0));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.header-inner{
  min-height: 76px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none}
.brand-logo{
  height:72px; object-fit:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}
@media (max-width:520px){ .brand-logo{height:54px} }
.brand-x{color:#9aa3af; font-weight:700}
.nav{display:flex; gap:18px}
.nav-link{color:#eef2f6; text-decoration:none; opacity:.92}
.nav-link:hover{opacity:1}

/* ------------- Hero ------------- */
.hero{ padding: 48px 0 20px; }
.hero-title{
  font-family: "Playfair Display", serif;
  font-size: clamp(30px, 6vw, 44px);
  letter-spacing:.3px; margin:0 0 8px; color:#fff;
}
.hero-subtitle{ color: var(--muted); margin:0 0 16px; font-size:clamp(14px,2.4vw,18px) }
.hero-badges{ display:flex; gap:10px; flex-wrap:wrap }
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background: rgba(255,255,255,.08);
  color:#f8fafc; border:1px solid rgba(255,255,255,.12);
  font-weight:700; font-size:14px;
}

/* ------ Bande photo produits ------ */
.photo-strip{ padding: 10px 0 28px; }
.strip-inner{ padding: 0 }
.strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  border-radius: 20px; overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.strip img{
  width:100%; height:160px; object-fit:cover; display:block;
  filter: contrast(1.06) saturate(1.06);
  transition: transform .25s ease;
}
.strip img:hover{ transform: scale(1.03) }
@media (max-width: 860px){
  .strip img{ height:140px }
}
@media (max-width: 760px){
  .strip{ grid-template-columns:repeat(2,1fr) }
  .strip img{ height:120px }
}

/* -------------- Card -------------- */
.card{
  background: var(--card);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
  color: var(--text);
}

/* ------------- Form -------------- */
.form{
  display:grid; gap:14px; grid-template-columns:1fr 1fr;
}
.form .full{ grid-column:1 / -1 }
label{ font-weight:700; margin-bottom:6px; display:block; color: var(--text); }
.input{
  width:100%; padding:12px 14px;
  border-radius:12px; background:#ffffff; color:#111827;
  border:1px solid rgba(0,0,0,.20); outline:none;
}
.input::placeholder{ color:#6b7280 }
.input:focus{ border-color:var(--accent); box-shadow:0 0 0 6px var(--ring) }
.help{ color: var(--muted); font-size:13px; margin:4px 0 10px }

/* ------------ Buttons ------------ */
.btn{
  appearance:none; cursor:pointer; user-select:none;
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; padding:12px 18px; border-radius:12px;
  text-decoration:none; border:1px solid transparent; font-weight:800;
  transition: transform .08s ease, box-shadow .2s ease, opacity .2s;
}
.btn-primary{
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color:#1b1b1b; border-color: rgba(0,0,0,.12);
  box-shadow: 0 10px 28px rgba(255,106,166,.28);
}
.btn-primary:hover{ transform: translateY(-1px) }
.btn-outline{
  background: transparent; color: var(--text);
  border-color: rgba(255,255,255,.18);
}
.ok{ color:#19c37d; font-weight:800 }
.err{ color:#ff6b6b; font-weight:800 }

/* ------------- Footer ------------- */
.site-footer{ padding: 30px 0 54px; opacity:.9 }
.footer-inner{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.foot-link{ color:#aeb7c3; text-decoration:none }
.foot-link:hover{ color:#e8edf3 }

/* ----------- Admin table ---------- */
.table{ width:100%; border-collapse:collapse; font-size:14px }
.table th,.table td{
  padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08);
}
.table th{ text-align:left; color:var(--muted); font-weight:800 }
