/* Onglet « Espace presse » de l'admin (14/10/2026, refonte 29/10/2026 : design_handoff_admin 5b · 5b·b · 5b·c).
   Classes kp-* propres à cet onglet ; gabarit commun (en-tête de page, sous-onglets, panneau de détail, étiquettes) : admin-shell.css. */
#kp-root { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.kp-body { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

/* ---------- onglets de catégories ---------- */
.kp-tabs { display: flex; align-items: flex-end; gap: 8px; border-bottom: 1px solid var(--line); flex: 0 0 auto; }
.kp-tabs .ka-subtabs { flex: 1; min-width: 0; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; border-bottom: 0; padding-bottom: 1px; margin-bottom: -1px; scrollbar-width: none; gap: 4px;
  -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); position: relative; }
.kp-tabs .ka-subtabs::-webkit-scrollbar { display: none; }
.kp-tab { position: relative; flex: 0 0 auto; white-space: nowrap; }
.kp-tabs .ka-subtabs .kp-tab .n { background: none; padding: 0; font-weight: 400; font-size: 12px; color: #8A8178; }
.kp-tab .kp-more { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); display: none; width: 22px; height: 22px; border-radius: 6px; background: var(--bg, #F4F1EC); color: #4E4740; font-size: 16px; line-height: 20px; text-align: center; font-weight: 700; }
.kp-tab:hover .kp-more { display: block; }
.kp-tab .kp-more:hover { background: #EAE5DD; }
.kp-tab.kp-drop-over { box-shadow: inset 2px 0 0 #E01B5D; }
.kp-newcat { flex: 0 0 auto; display: flex; align-items: center; margin-bottom: 6px; padding: 0 10px; height: 28px; border: 1.5px dashed #B9AFA3; border-radius: 8px; background: none; font: 700 13px Archivo, sans-serif; color: #0B5C6B; white-space: nowrap; cursor: pointer; }
.kp-newcat:hover { border-color: #0B5C6B; background: #F1F8F9; }

/* ---------- grille de cartes ---------- */
.kp-grid { display: grid; gap: 12px; align-content: start; min-width: 0; }
.kp-grid.g { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.kp-grid.l { grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); }
.kp-grid.r { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.kp-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; min-width: 0; box-sizing: border-box; }
.kp-card:hover { border-color: #CFC7BC; }
.kp-card.sel, .kp-row.sel { border-color: #E01B5D; box-shadow: 0 0 0 1px #E01B5D; }
.kp-card.kp-drop-over, .kp-row.kp-drop-over { box-shadow: inset 0 3px 0 #E01B5D; }
.kp-prev { height: 150px; border-radius: 9px; background: #F4F1EC; display: grid; place-items: center; overflow: hidden; flex: 0 0 auto; }
.kp-grid.l .kp-prev { height: 260px; }
.kp-prev img { max-width: 88%; max-height: calc(100% - 24px); object-fit: contain; display: block; }
.kp-doc-ico { width: 42px; height: 42px; }
.kp-ct { font-size: 14px; font-weight: 700; color: #221E1A; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-cm { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kp-cm > span:first-child { font-size: 12.5px; color: #8A8178; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-row { display: flex; align-items: center; gap: 12px; padding: 8px 14px; background: #fff; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; min-width: 0; min-height: 64px; box-sizing: border-box; }
.kp-row:hover { border-color: #CFC7BC; }
.kp-row .kp-prev { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 8px; }
.kp-row .kp-prev img { max-width: 86%; max-height: 86%; }
.kp-row .kp-doc-ico { width: 26px; height: 26px; }
.kp-row .ka-2l { flex: 1; }
.kp-grip { color: #A39A90; cursor: grab; font-size: 15px; letter-spacing: -2px; }
.kp-dz { display: grid; place-items: center; min-height: 240px; border: 2px dashed #CFC7BC; border-radius: 13px; color: #8A8178; font-size: 14px; font-weight: 600; cursor: pointer; text-align: center; padding: 12px; box-sizing: border-box; }
.kp-dz:hover, .kp-dz.over { border-color: #0B5C6B; background: #F1F8F9; color: #0B5C6B; }
.kp-grid.l .kp-dz { min-height: 340px; }
.kp-grid.r .kp-dz { min-height: 64px; padding: 0; }
.kp-empty { padding: 18px; border: 1px dashed var(--line); border-radius: 12px; color: var(--ink3); font-size: 13px; text-align: center; }

/* ---------- envois (progression) ---------- */
.kp-ups { display: flex; flex-direction: column; gap: 6px; }
.kp-ups:empty { display: none; }
.kp-up { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 13px; background: #fff; }
.kp-up b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-up span { color: #8A8178; font-size: 12px; }
.kp-up i { grid-column: 1 / -1; height: 4px; border-radius: 3px; background: var(--line); overflow: hidden; }
.kp-up i::after { content: ""; display: block; height: 100%; width: var(--p, 0%); background: #0B5C6B; transition: width .15s ease; }
.kp-up.kp-err { border-color: #C1272D; color: #C1272D; }
.kp-up.kp-err span { color: #C1272D; }
.kp-up.kp-done i::after { background: #2E9E5B; }

/* ---------- interrupteur ---------- */
.kp-toggle { position: relative; flex: 0 0 auto; width: 38px; height: 22px; border-radius: 11px; border: 0; background: #CFC7BC; cursor: pointer; transition: background .15s ease; padding: 0; }
.kp-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .15s ease; }
.kp-toggle.on { background: #0B5C6B; }
.kp-toggle.on::after { left: 19px; }
.kp-icon { border: 0; background: none; cursor: pointer; padding: 5px; border-radius: 7px; color: #6F675E; font-size: 14px; line-height: 1; display: inline-grid; place-items: center; }
.kp-icon:hover { background: #F4F1EC; color: #221E1A; }
.kp-icon.kp-del { color: #C1272D; }

/* ---------- panneau d'un visuel ---------- */
.ka-panel-body > * { flex: 0 0 auto; }
.kp-prevbox { height: 150px; border-radius: 10px; background: #F4F1EC; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; gap: 12px; overflow: hidden; box-sizing: border-box; color: #8A8178; }
.kp-prevbox img { max-width: 56%; max-height: 118px; object-fit: contain; }
.kp-prevbox a { font-size: 13px; font-weight: 700; color: #0B5C6B; }
.kp-sheet { width: 84px; height: 118px; background: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .12); border-radius: 3px; display: flex; flex-direction: column; gap: 5px; padding: 9px; box-sizing: border-box; }
.kp-sheet i { height: 4px; background: #E2DBD1; border-radius: 2px; }
.kp-sheet i.kp-s1 { height: 6px; width: 60%; background: #0B5C6B; }
.kp-sheet i.kp-s3 { width: 80%; }
.kp-pubbox { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
.kp-pubbox span { display: flex; flex-direction: column; }
.kp-pubbox b { font-size: 14px; }
.kp-pubbox small { font-size: 12px; color: #8A8178; }
.kp-wbtn { width: 100%; justify-content: center; }
.kp-sect { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #221E1A; padding-top: 12px; border-top: 1px solid #EDE8E1; }
.kp-bgs { display: flex; gap: 10px; align-items: center; padding: 3px 4px; }
.kp-sw { width: 28px; height: 28px; border-radius: 50%; border: 1px solid #CFC7BC; cursor: pointer; padding: 0; }
.kp-sw.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0B5C6B; }
.kp-fmts { display: flex; flex-wrap: wrap; gap: 6px; }
.kp-fmt { border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 5px 11px; font: 600 12.5px Archivo, sans-serif; color: #4E4740; cursor: pointer; }
.kp-fmt.on { background: #E5F1F3; border-color: #0B5C6B; color: #0B5C6B; font-weight: 700; }
.kp-frows { display: flex; flex-direction: column; gap: 6px; }
.kp-frow { display: grid; grid-template-columns: 96px minmax(0, 1fr) 28px; gap: 8px; align-items: center; }
.kp-fname { font-size: 12.5px; font-weight: 700; color: #221E1A; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-fname small { font-weight: 400; color: #8A8178; font-size: 11px; }
.kp-frow input { height: 34px; }
.kp-addfmt { padding: 8px; border: 1px dashed #B9AFA3; border-radius: 10px; background: none; color: #0B5C6B; font: 700 12.5px Archivo, sans-serif; cursor: pointer; text-align: center; display: block; }
.kp-addfmt:hover { border-color: #0B5C6B; background: #F1F8F9; }

/* ---------- panneau « Catégorie » ---------- */
.ka-panel-body textarea { font-family: Archivo, sans-serif; }
.kp-ords { display: flex; flex-direction: column; gap: 4px; }
.kp-ord { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 13.5px; background: #fff; }
.kp-ord.me { background: #E5F1F3; border-color: #9FCBD3; color: #0B5C6B; font-weight: 700; }
.kp-ord.kp-drop-over { box-shadow: inset 0 2px 0 #E01B5D; }

/* ---------- panneau « Ajouter un visuel » ---------- */
.kp-dropbig { display: grid; place-items: center; gap: 4px; padding: 18px; border: 2px dashed #9FCBD3; border-radius: 12px; background: #F1F8F9; text-align: center; cursor: pointer; }
.kp-dropbig.over { border-color: #0B5C6B; background: #E5F1F3; }
.kp-up-ico { width: 26px; height: 26px; }
.kp-dropbig b { font-size: 14px; color: #0B5C6B; }
.kp-dropbig span { font-size: 12px; color: #8A8178; }
.kp-catlist { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; font-size: 13.5px; }
.kp-catlist button { display: flex; align-items: center; justify-content: space-between; padding: 7px 12px; border: 0; background: none; text-align: left; font: 400 13.5px Archivo, sans-serif; color: #221E1A; cursor: pointer; }
.kp-catlist button:hover { background: #F8F6F2; }
.kp-catlist button.on { background: #E5F1F3; color: #0B5C6B; font-weight: 700; }
.kp-catlist .kp-newc { border-top: 1px solid #F1ECE5; color: #0B5C6B; font-weight: 700; }
.kp-newc-form { display: flex; gap: 6px; padding: 7px 8px; border-top: 1px solid #F1ECE5; }
.kp-newc-form input { flex: 1; min-width: 0; height: 34px !important; }
.kp-fmtsblk { display: flex; flex-direction: column; gap: 7px; }
.kp-fmtsblk[hidden] { display: none; }
.kp-af { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; font-size: 12.5px; }
.kp-af b { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kp-af small { color: #8A8178; }

/* boîtes de confirmation (ajoutées à <body>, hors de #kg : police du gabarit) */
.ka-dlg, .ka-dlg * { font-family: Archivo, sans-serif; }

/* ---------- Textes de la page ---------- */
.kp-field { display: flex; flex-direction: column; gap: 5px; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #6F675E; }
.kp-field .ka-input { width: 100%; box-sizing: border-box; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 13.5px; color: #221E1A; }
.kp-textsform { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 900px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.kp-textsform .kp-wide { grid-column: 1 / -1; }
.kp-textsform textarea { min-height: 72px; height: auto; padding: 9px 12px; resize: vertical; font-family: Archivo, sans-serif; }
.kp-msg { font-size: 12.5px; color: #1F8A4C; min-height: 16px; margin-left: 8px; }
.kp-msg.kp-bad { color: #C1272D; }
@media (max-width: 760px) { .kp-textsform { grid-template-columns: 1fr; } .kp-grid.l { grid-template-columns: minmax(0, 1fr); } }
