/* ==========================================================
   BlogNews — feuille de style de l'espace administrateur
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Newsreader:wght@600;700&display=swap');

:root{
  --navy:#0B1D3A; --navy-2:#122A52; --blue:#1656D9; --blue-ink:#0E3E9E;
  --amber:#C8862E; --amber-ink:#8F5E1B; --paper:#F6F4EE; --ink:#16181D;
  --grey:#6B7280; --line:#E2DFD3; --white:#fff; --danger:#C0322A; --ok:#1A7D3A;
  --serif:'Newsreader', Georgia, serif; --sans:'Manrope', sans-serif;
}
*{ box-sizing:border-box; }
body{ margin:0; font-family:var(--sans); background:var(--paper); color:var(--ink); }
a{ color:inherit; text-decoration:none; }
button, input, select, textarea{ font-family:var(--sans); }
img{ max-width:100%; display:block; }

/* ---------------- écran de connexion ---------------- */
.login-screen{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--navy); background-image: radial-gradient(circle at 20% 20%, rgba(200,134,46,.18), transparent 45%); padding:20px; }
.login-card{ background:#fff; width:100%; max-width:380px; padding:36px 32px; border-radius:6px; }
.login-card .brand{ display:flex; align-items:center; gap:10px; margin-bottom:26px; }
.login-card .brand img{ width:36px; height:36px; border-radius:8px; }
.login-card .brand strong{ font-family:var(--serif); font-size:22px; color:var(--navy); }
.login-card h1{ font-size:18px; margin:0 0 6px; font-family:var(--sans); }
.login-card p.sub{ color:var(--grey); font-size:13.5px; margin:0 0 24px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:13px; font-weight:700; margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; padding:11px 12px; border:1px solid #D7D2C4; border-radius:5px; font-size:14px; background:#fff;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--blue); border-color:var(--blue); }
.field-hint{ font-size:12px; color:var(--grey); margin-top:5px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 18px; border-radius:5px; font-weight:700; font-size:14px; border:1px solid transparent; }
.btn-block{ width:100%; }
.btn-primary{ background:var(--blue); color:#fff; }
.btn-primary:hover{ background:var(--blue-ink); }
.btn-amber{ background:var(--amber); color:#241703; }
.btn-amber:hover{ background:var(--amber-ink); color:#fff; }
.btn-ghost{ background:#fff; border-color:#D7D2C4; color:var(--ink); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-danger{ background:#fff; border-color:#EBC7C4; color:var(--danger); }
.btn-danger:hover{ background:#FDECEC; }
.btn[disabled]{ opacity:.55; cursor:not-allowed; }
.alert{ font-size:13.5px; padding:10px 12px; border-radius:5px; margin-top:6px; }
.alert.err{ background:#FDECEC; color:var(--danger); }
.alert.ok{ background:#E9F7EE; color:var(--ok); }

/* ---------------- coquille de l'admin ---------------- */
.admin-shell{ display:none; min-height:100vh; }
.admin-shell.show{ display:grid; grid-template-columns:230px 1fr; }
.admin-side{ background:var(--navy); color:#fff; padding:22px 14px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.admin-side .brand{ display:flex; align-items:center; gap:10px; padding:0 8px 22px; border-bottom:1px solid rgba(255,255,255,.15); margin-bottom:16px; }
.admin-side .brand img{ width:32px; height:32px; border-radius:7px; }
.admin-side .brand strong{ font-family:var(--serif); font-size:19px; }
.side-nav{ display:flex; flex-direction:column; gap:2px; flex:1; }
.side-nav button{
  display:flex; align-items:center; gap:10px; text-align:left; background:none; border:0; color:rgba(255,255,255,.75);
  padding:11px 12px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer;
}
.side-nav button:hover{ background:rgba(255,255,255,.08); color:#fff; }
.side-nav button.active{ background:var(--amber); color:#241703; }
.admin-side .view-site{ font-size:12.5px; color:rgba(255,255,255,.6); padding:12px; margin-top:auto; border-top:1px solid rgba(255,255,255,.15); }
.admin-side .view-site a{ color:#fff; font-weight:700; }
.admin-side .logout-btn{ margin-top:8px; width:100%; background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2); }
.admin-side .logout-btn:hover{ background:rgba(255,255,255,.16); }

.admin-main{ padding:30px 34px; max-width:1180px; }
#view-preview{ max-width:none; }

/* ---------------- aperçu du site en direct ---------------- */
.preview-toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.device-toggle{ display:flex; border:1px solid #D7D2C4; border-radius:6px; overflow:hidden; background:#fff; }
.device-toggle .device-btn{ background:none; border:0; border-right:1px solid #D7D2C4; padding:9px 14px; font-size:13px; font-weight:700; color:var(--grey); cursor:pointer; }
.device-toggle .device-btn:last-child{ border-right:0; }
.device-toggle .device-btn:hover{ color:var(--ink); background:var(--paper); }
.device-toggle .device-btn.active{ background:var(--navy); color:#fff; }
.preview-frame-wrap{ background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:20px; display:flex; justify-content:center; overflow:auto; }
.preview-frame-wrap iframe{ background:#fff; border:0; width:100%; height:calc(100vh - 220px); min-height:520px; box-shadow:0 8px 28px rgba(11,29,58,.14); transition:width .25s ease; }
.preview-frame-wrap.device-tablet iframe{ width:768px; max-width:100%; }
.preview-frame-wrap.device-mobile iframe{ width:390px; max-width:100%; }
.admin-view{ display:none; }
.admin-view.active{ display:block; }
.view-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.view-head h1{ font-family:var(--serif); font-size:26px; margin:0; }
.view-head p{ color:var(--grey); font-size:13.5px; margin:4px 0 0; }

/* ---------------- cartes / stats ---------------- */
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:18px 20px; }
.stat-card .num{ font-family:var(--serif); font-size:30px; font-weight:700; color:var(--navy); }
.stat-card .lbl{ font-size:12.5px; color:var(--grey); margin-top:4px; }

.seed-card{ background:var(--navy); background-image: radial-gradient(circle at 90% 10%, rgba(200,134,46,.25), transparent 50%); color:#fff; border-radius:8px; padding:24px 26px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:30px; }
.seed-card h3{ font-family:var(--serif); font-size:19px; margin:0 0 6px; }
.seed-card p{ margin:0; color:rgba(255,255,255,.7); font-size:13.5px; max-width:460px; }
.seed-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.seed-actions .btn-danger{ background:#fff; }
.sample-badge{ display:inline-block; margin-left:6px; padding:2px 6px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.05em; vertical-align:middle; background:#F3E5C8; color:#7A4D00; }

/* ---------------- table de contenus ---------------- */
.table-toolbar{ display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.table-toolbar select, .table-toolbar input{ padding:9px 11px; border:1px solid #D7D2C4; border-radius:5px; font-size:13.5px; }
.content-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.content-table th, .content-table td{ padding:12px 14px; text-align:left; font-size:13.5px; border-bottom:1px solid var(--line); }
.content-table th{ background:var(--paper); font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--grey); }
.content-table tr:last-child td{ border-bottom:0; }
.pill{ display:inline-block; padding:3px 9px; border-radius:999px; font-size:11.5px; font-weight:700; }
.pill.actualite{ background:#E7EEFC; color:var(--blue-ink); }
.pill.litterature{ background:#F7EAD6; color:var(--amber-ink); }
.row-actions{ display:flex; gap:6px; }
.row-actions button{ background:none; border:1px solid #D7D2C4; border-radius:5px; padding:6px 10px; font-size:12.5px; font-weight:700; }
.row-actions button:hover{ border-color:var(--ink); }
.row-actions .del:hover{ border-color:var(--danger); color:var(--danger); }

/* ---------------- formulaire de contenu ---------------- */
.content-form{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px; max-width:760px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .full{ grid-column:1/-1; }
.radio-group{ display:flex; gap:16px; }
.radio-group label{ display:flex; align-items:center; gap:6px; font-weight:600; font-size:14px; }
.image-preview{ width:100%; aspect-ratio:16/9; background:var(--paper); border:1px dashed #D7D2C4; border-radius:6px; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:10px; color:var(--grey); font-size:13px; }
.image-preview img{ width:100%; height:100%; object-fit:cover; }
.form-actions{ display:flex; gap:10px; margin-top:20px; }

/* ---------------- commentaires ---------------- */
.comment-row{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 16px; margin-bottom:10px; }
.comment-row .top{ display:flex; justify-content:space-between; font-size:13px; color:var(--grey); margin-bottom:6px; }
.comment-row .top strong{ color:var(--ink); }
.comment-row p{ margin:0 0 8px; font-size:14px; }
.comment-row .on{ font-size:12.5px; color:var(--blue-ink); }

/* ---------------- réglages ---------------- */
.settings-form{ max-width:560px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px; }
.admin-uid-box{ background:#FBF3E7; border:1px solid #EBD8B9; border-radius:6px; padding:14px 16px; font-size:13px; margin-bottom:20px; }
.admin-uid-box code{ background:#fff; padding:2px 6px; border-radius:4px; }

.empty-note{ color:var(--grey); font-size:14px; padding:30px 0; text-align:center; }

@media (max-width: 900px){
  .admin-shell.show{ grid-template-columns:1fr; }
  .admin-side{ position:static; height:auto; flex-direction:row; overflow-x:auto; }
  .admin-side .brand{ display:none; }
  .side-nav{ flex-direction:row; }
  .admin-side .view-site, .admin-side .logout-btn{ display:none; }
  .admin-main{ padding:20px; }
  .stat-grid{ grid-template-columns:1fr 1fr; }
  .form-grid{ grid-template-columns:1fr; }
}


/* ---------- nouveaux réglages / médias ---------- */
.media-admin-box{ border:1px solid var(--line); background:#FBFAF6; padding:14px; border-radius:7px; }
.media-tabs{ display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.media-tab{ border:1px solid #D7D2C4; background:#fff; padding:8px 11px; border-radius:5px; font-size:12.5px; font-weight:700; cursor:pointer; }
.media-tab.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.media-admin-box textarea{ margin-top:8px; resize:vertical; }
.gallery-preview{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:8px; height:auto; aspect-ratio:auto; min-height:120px; }
.gallery-preview img{ width:100%; height:100px; object-fit:cover; border-radius:4px; }
.settings-form select{ width:100%; padding:11px 12px; border:1px solid #D7D2C4; border-radius:5px; font-size:14px; background:#fff; }
@media (max-width:600px){
  .gallery-preview{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .preview-frame-wrap{ padding:10px; }
  .preview-frame-wrap iframe{ height:calc(100vh - 260px); }
}
