/* =========================================================
   Espace administration — styles
   ========================================================= */
.admin-body{background:var(--mist);min-height:100vh;}

/* ---------- Connexion ---------- */
.admin-login-body{display:grid;place-items:center;padding:24px;
  background:radial-gradient(120% 100% at 50% -10%,var(--deep),var(--abyss));}
.login-card{
  background:var(--paper);border-radius:18px;padding:42px 38px;width:100%;max-width:400px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.5);text-align:center;
}
.login-mark{color:var(--water);display:inline-block;margin-bottom:14px;}
.login-card h1{font-family:var(--font-display);font-size:1.45rem;margin:0 0 4px;color:var(--abyss);}
.login-sub{color:var(--ink-soft);font-size:.9rem;margin:0 0 26px;}
.login-form{display:grid;gap:18px;text-align:left;margin-bottom:18px;}
.login-back{display:inline-block;color:var(--ink-soft);text-decoration:none;font-size:.88rem;}
.login-back:hover{color:var(--water);}

/* ---------- Barre supérieure ---------- */
.admin-top{background:var(--abyss);color:#fff;position:sticky;top:0;z-index:50;}
.admin-top-inner{max-width:1100px;margin-inline:auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.admin-brand{display:flex;align-items:center;gap:12px;color:var(--water);}
.admin-brand div{display:flex;flex-direction:column;line-height:1.15;}
.admin-brand strong{color:#fff;font-family:var(--font-display);font-size:1.02rem;}
.admin-brand span{color:rgba(255,255,255,.65);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.admin-actions{display:flex;gap:10px;}
.admin-top .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);}
.admin-top .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.admin-top .btn-line{color:#fff;border-color:rgba(255,255,255,.3);}
.admin-top .btn-line:hover{color:var(--water-2);border-color:var(--water-2);}

/* ---------- Contenu ---------- */
.admin-main{max-width:1100px;margin-inline:auto;padding:32px 24px 80px;display:grid;gap:26px;}
.admin-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-sm);}
.admin-card h2{font-family:var(--font-display);font-size:1.3rem;margin:0 0 8px;color:var(--abyss);}
.admin-card-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.admin-card-head h2{margin:0;}
.badge{font-family:var(--font-mono);font-size:.74rem;background:var(--mist);border:1px solid var(--line);color:var(--ink-soft);padding:5px 12px;border-radius:999px;}
.admin-hint{color:var(--ink-soft);font-size:.9rem;margin:0 0 20px;}
.admin-empty{color:var(--ink-soft);text-align:center;padding:30px 0;}

/* ---------- Zone d'upload ---------- */
.upload-form{display:grid;gap:20px;}
.dropzone{
  display:grid;place-items:center;gap:8px;text-align:center;cursor:pointer;
  border:2px dashed var(--line);border-radius:var(--radius);padding:40px 20px;
  transition:border-color .15s,background .15s;
}
.dropzone:hover,.dropzone.is-over{border-color:var(--water);background:rgba(27,168,206,.05);}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
.dz-icon{font-size:2rem;color:var(--copper);line-height:1;}
.dz-text{font-family:var(--font-display);font-weight:600;color:var(--abyss);}
.dz-files{font-family:var(--font-mono);font-size:.8rem;color:var(--water);}

/* ---------- Grille des photos ---------- */
.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;}
.admin-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--mist);display:flex;flex-direction:column;}
.admin-thumb{aspect-ratio:4/3;overflow:hidden;background:#dfe8f0;}
.admin-thumb img{width:100%;height:100%;object-fit:cover;}
.admin-item-form{display:grid;gap:8px;padding:14px;}
.admin-item-form input{
  font-family:var(--font-body);font-size:.88rem;border:1.5px solid var(--line);
  border-radius:8px;padding:9px 11px;background:var(--paper);width:100%;
}
.admin-item-form input:focus{outline:none;border-color:var(--water);box-shadow:0 0 0 3px rgba(27,168,206,.14);}
.admin-item-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 14px 14px;}
.admin-item-tools form{display:flex;gap:6px;}
.tool{
  font-family:var(--font-mono);font-size:.8rem;border:1px solid var(--line);background:var(--paper);
  color:var(--ink-soft);border-radius:7px;padding:7px 11px;cursor:pointer;transition:.15s;
}
.tool:hover:not(:disabled){border-color:var(--water);color:var(--water);}
.tool:disabled{opacity:.35;cursor:not-allowed;}
.tool-danger:hover{border-color:#d6453f;color:#d6453f;}

/* ---------- Onglets de navigation admin ---------- */
.admin-tabs{display:flex;gap:6px;flex:1;}
.admin-tab{
  font-family:var(--font-display);font-weight:600;font-size:.92rem;text-decoration:none;
  color:rgba(255,255,255,.7);padding:8px 16px;border-radius:999px;transition:.15s;
}
.admin-tab:hover{color:#fff;background:rgba(255,255,255,.08);}
.admin-tab.is-active{color:var(--abyss);background:var(--water-2);}

/* ---------- Formulaire d'ajout de prestation ---------- */
.presta-add-form{display:grid;gap:16px;max-width:680px;}
.presta-add-form .field,.presta-edit-form .field{display:grid;gap:6px;}
.presta-add-form label,.presta-edit-form label{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);
}
.presta-add-form input,.presta-add-form textarea,
.presta-edit-form input,.presta-edit-form textarea{
  font-family:var(--font-body);font-size:.92rem;border:1.5px solid var(--line);
  border-radius:9px;padding:11px 13px;background:var(--paper);width:100%;resize:vertical;
}
.presta-add-form input:focus,.presta-add-form textarea:focus,
.presta-edit-form input:focus,.presta-edit-form textarea:focus{
  outline:none;border-color:var(--water);box-shadow:0 0 0 3px rgba(27,168,206,.14);
}

/* ---------- Liste des prestations ---------- */
.presta-list{display:grid;gap:18px;}
.presta-item{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--mist);padding:22px 22px 22px 70px;
}
.presta-num{
  position:absolute;top:22px;left:22px;font-family:var(--font-mono);font-size:1.05rem;
  color:var(--copper);font-weight:700;
}
.presta-edit-form{display:grid;gap:14px;}
.presta-item-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.presta-tools{display:flex;gap:6px;}
.presta-delete{position:absolute;top:18px;right:18px;}

@media (max-width:560px){
  .admin-grid{grid-template-columns:1fr 1fr;}
  .admin-top-inner{flex-direction:column;align-items:flex-start;}
  .admin-tabs{order:3;width:100%;}
  .presta-item{padding:46px 18px 18px;}
  .presta-num{top:16px;left:18px;}
  .presta-delete{top:14px;right:16px;}
}
