/* Pages autonomes et catégories dynamiques */
.admin-page-form { display:grid; gap:14px; }
.admin-page-form > label { display:grid; gap:5px; font-weight:600; }
.admin-page-form input:not([type=file]), .admin-page-form select,
.admin-categories-colonnes input, .admin-categories-colonnes select {
  min-width:0; padding:9px 11px; border:1px solid #b8c3cc; border-radius:5px;
  color:#24343b; background:#fff; font:inherit;
}
.admin-page-form small { color:#667985; font-weight:400; }
.admin-page-image-ligne { display:flex; flex-wrap:wrap; gap:10px; }
.admin-page-image-ligne input:first-child { flex:1 1 320px; }
.admin-page-image-ligne input[type=file] { flex:0 1 280px; }
.admin-page-editeur { display:flex; min-height:55vh; flex-direction:column; border:1px solid #b8c3cc; border-radius:8px; overflow:hidden; }
.admin-page-outils { display:flex; flex-wrap:wrap; gap:5px; padding:8px; border-bottom:1px solid #cdd5dc; background:#f5f7f9; }
.admin-page-outils button { min-width:38px; height:34px; padding:4px 8px; border:1px solid #b8c3cc; border-radius:5px; color:navy; background:white; cursor:pointer; }
.admin-page-contenteditable { flex:1; min-height:45vh; padding:18px; overflow:auto; outline:0; color:#000; background:#fff; }
.admin-page-contenteditable:focus { box-shadow:inset 0 0 0 2px #1c3f8f; }
.admin-page-contenteditable img { max-width:100%; height:auto; }
.admin-page-contenteditable figure { margin:20px; }
.admin-page-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.admin-categories-colonnes { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:16px; align-items:start; }
.admin-taxonomie-parent { margin:12px 0; padding:12px; border:1px solid #d7dce0; border-radius:8px; background:#fff; }
.admin-taxonomie-parent > div:first-child, .admin-taxonomie-enfant > div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; }
.admin-taxonomie-parent code, .admin-taxonomie-enfant code { color:#667985; font-size:.82em; }
.admin-taxonomie-enfant { margin:10px 0 0 20px; padding:10px; border-left:3px solid #d7dce0; }
.admin-taxonomie-enfant small { color:#667985; }
.admin-taxonomie-suppression { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin-top:8px; }
.admin-taxonomie-suppression label { display:grid; gap:3px; font-size:.82rem; }
.admin-categories-colonnes aside { display:grid; gap:12px; }
.admin-categories-colonnes aside .admin-panneau { margin-top:0; }
.categorie-dynamique-parent .contenu-categorie-generique { display:flex; flex:1; width:100%; min-height:28vh; align-items:center; justify-content:center; text-align:center; }
.categorie-dynamique-parent .contenu-categorie-generique h1 { margin:0; color:var(--couleur-titre, navy); font-family:Roboto,Arial,sans-serif; font-size:clamp(2.5rem,7vw,5rem); font-style:italic; font-weight:500; }
.categorie-dynamique-parent[class*="generique"] { background-image:linear-gradient(120deg,#f4f5f6,#fff 70%); }
.accueil-categorie-generique.categorie-dynamique-parent { position:relative; min-height:100vh; min-height:100svh; flex-direction:column; align-items:stretch; padding:calc(var(--hauteur-menu, 32px) + 16px) 8% 32px; background-position:center; background-repeat:no-repeat; background-size:cover; }
@media(max-width:700px){.accueil-categorie-generique.categorie-dynamique-parent{height:auto;padding:calc(var(--hauteur-menu, 32px) + 24px) 22px 24px}}
@media(max-width:800px){.admin-categories-colonnes{grid-template-columns:1fr}.admin-page-editeur{min-height:48vh}}

.popup-tout-site-groupe h3 a { color:inherit; text-decoration:none; }
.popup-tout-site-groupe h3 a:hover, .popup-tout-site-groupe h3 a:focus-visible { text-decoration:underline; }

/* Administration des pages : champs à gauche, éditeur à droite. */
.admin-pages-colonnes { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:18px; align-items:start; }
.admin-pages-metadata { display:grid; align-content:start; gap:14px; }
.admin-pages-metadata > label { display:grid; gap:5px; font-weight:600; }
.admin-pages-contenu { display:grid; gap:10px; min-width:0; }
.admin-pages-contenu .admin-page-editeur { min-height:64vh; }
.admin-pages-contenu .admin-page-contenteditable { min-height:52vh; }
.admin-pages-note { margin:0 0 14px; color:#667985; line-height:1.5; }
@media(max-width:900px){
  .admin-pages-colonnes { grid-template-columns:1fr; }
  .admin-pages-contenu .admin-page-editeur { min-height:48vh; }
  .admin-pages-contenu .admin-page-contenteditable { min-height:38vh; }
}

/* Keep page creation and selection together on a desktop viewport. */
.admin-interface-pages .admin-page { margin-top:10px; margin-bottom:10px; }
#formulaire-page.admin-page-form { display:block; }
.admin-page-form-panel { margin-top:12px; padding:14px 18px; }
.admin-page-form-panel > h2 { margin:0 0 10px; }
.admin-pages-colonnes { grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:14px; }
.admin-pages-selection { display:grid; gap:6px; padding-top:10px; border-top:1px solid var(--admin-line,#d7dce0); }
.admin-pages-selection > label { font-weight:700; }
.admin-pages-selection select { width:100%; min-width:0; padding:8px 10px; border:1px solid #b8c3cc; border-radius:5px; color:#24343b; background:#fff; font:inherit; }
.admin-pages-selection-actions { display:flex; flex-wrap:wrap; gap:6px; }
.admin-pages-selection-actions .admin-bouton { padding:5px 10px; font-size:.75rem; }
.admin-pages-selection-actions .admin-bouton:disabled { opacity:.48; cursor:not-allowed; }
.admin-pages-selection-actions .admin-action-disabled { opacity:.48; pointer-events:none; }
.admin-pages-contenu .admin-page-editeur { height:58svh; min-height:320px; max-height:620px; }
.admin-pages-contenu .admin-page-contenteditable { flex:1; height:auto; min-height:0; }
@media(max-width:900px){
  .admin-pages-colonnes { grid-template-columns:1fr; }
  .admin-pages-contenu .admin-page-editeur { height:48vh; min-height:300px; max-height:none; }
  .admin-pages-contenu .admin-page-contenteditable { min-height:0; }
}

/* Use the same compact two-column editor frame as article creation. */
.admin-interface-pages { height:100vh; height:100svh; overflow:hidden; }
.admin-interface-pages .admin-page { display:flex; height:calc(100vh - 20px); height:calc(100svh - 20px); min-height:0; flex-direction:column; margin:10px auto; }
.admin-interface-pages #formulaire-page { display:flex; flex:1; min-height:0; flex-direction:column; margin-top:10px; padding:12px; overflow:hidden; }
.admin-interface-pages #formulaire-page .admin-formulaire-colonnes { flex:1; min-height:0; }
.admin-interface-pages #formulaire-page .admin-form-colonne { min-height:0; }
.admin-pages-selection { min-width:0; margin:0; padding:8px 10px; border:1px solid var(--admin-line,#d7dce0); border-radius:8px; }
.admin-pages-selection legend { padding:0 6px; color:#1e3038; font-size:.96rem; font-weight:700; }
.admin-pages-selection select { width:100%; min-width:0; padding:7px 9px; border:1px solid #aebbc3; border-radius:6px; color:var(--admin-ink,#24343b); background:#fff; font:inherit; }
.admin-pages-selection-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.admin-pages-selection-actions .admin-bouton { padding:5px 10px; font-size:.75rem; }
.admin-pages-selection-actions .admin-bouton:disabled { opacity:.48; cursor:not-allowed; }
.admin-pages-selection-actions .admin-action-disabled { opacity:.48; pointer-events:none; }
.admin-interface-pages .admin-image-principale { flex:0 0 auto; }
.admin-interface-pages .admin-page-form-actions { margin-top:auto; }
@media(max-width:900px){
  .admin-interface-pages { height:auto; min-height:100svh; overflow:auto; }
  .admin-interface-pages .admin-page { height:auto; min-height:calc(100svh - 20px); margin-top:10px; }
  .admin-interface-pages #formulaire-page { flex:none; overflow:visible; }
  .admin-interface-pages #formulaire-page .admin-formulaire-colonnes { grid-template-columns:1fr; overflow:visible; }
  .admin-interface-pages #formulaire-page .admin-form-colonne { min-height:auto; overflow:visible; }
  .admin-interface-pages .admin-page-form-actions { margin-top:0; }
}
/* Vignettes ajoutées depuis l’administration des catégories. */
.bloc-sous-categorie .vignette-sous-categorie { position:relative; overflow:hidden; }
.categorie-vignette-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
