button[hidden]{display:none!important}
.admin-image-frame{position:relative}
.admin-image-button,.admin-text-button{display:none;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.86);border-radius:50%;background:rgba(255,255,255,.9);color:#203f61;box-shadow:0 5px 18px rgba(9,27,45,.22);cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s;z-index:15}
.admin-image-button{position:absolute;top:11px;right:11px}
.admin-image-button svg,.admin-text-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-image-button:hover,.admin-text-button:hover{transform:translateY(-2px) scale(1.05);background:#fff;box-shadow:0 8px 22px rgba(9,27,45,.28)}
.admin-mode .admin-image-button,.admin-mode .admin-text-button{display:grid}
.admin-mode .admin-image-frame{outline:1px solid rgba(228,194,68,.86);outline-offset:-2px}
.admin-text-target{position:relative}
.admin-mode .admin-text-target:hover,.admin-mode .admin-text-target:focus-within{outline:1px dashed rgba(228,194,68,.8);outline-offset:3px;border-radius:4px}
.admin-mode .admin-text-target{padding-right:38px}
.admin-text-button{position:absolute;top:2px;right:2px;width:27px;height:27px}
.admin-text-button svg{width:14px;height:14px}
.admin-status{position:fixed;z-index:2005;left:50%;bottom:20px;max-width:calc(100vw - 32px);padding:11px 16px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(24,50,78,.94);box-shadow:0 12px 35px rgba(8,23,39,.25);color:#fff;font:600 12px/1.4 var(--sans);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .2s,transform .2s}
.admin-status.is-visible{opacity:1;transform:translate(-50%,0)}
.admin-status.is-error{background:rgba(139,44,44,.96)}
.admin-dialog{width:min(760px,calc(100vw - 28px));max-width:none;max-height:min(90dvh,900px);padding:0;overflow:auto;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fbfcfe;color:#1b2f43;box-shadow:0 28px 100px rgba(6,20,36,.35)}
.admin-dialog::backdrop{background:rgba(9,25,43,.58);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.admin-modal{padding:24px;background:linear-gradient(145deg,#fff,#f5f8fb)}
.admin-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.admin-modal header .eyebrow{color:#5d7184;font-size:9px}
.admin-modal header h2{margin:7px 0 0;color:#1b2f43;font:700 25px/1.15 var(--display);letter-spacing:-.045em}
.admin-dialog-close{width:34px;height:34px;flex:0 0 34px;border:1px solid #dce3ea;border-radius:50%;background:#fff;color:#203f61;font-size:22px;line-height:1;cursor:pointer}
.crop-preview{position:relative;max-width:100%;margin:0 auto 19px;overflow:hidden;border:1px solid #dce3ea;border-radius:16px;background:#e7edf2;box-shadow:0 10px 28px rgba(20,45,70,.1)}
.crop-preview img{width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:center;transition:none}
.crop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:17px}
.crop-controls label,.admin-alt-label{display:grid;grid-template-columns:1fr auto;gap:8px 10px;color:#354e66;font-size:11px;font-weight:700}
.crop-controls output{color:#6f8090;font-size:10px;font-variant-numeric:tabular-nums}
.crop-controls input{grid-column:1/-1;width:100%;accent-color:#203f61}
.admin-alt-label{grid-template-columns:1fr;gap:7px;margin-bottom:19px}
.admin-alt-label input{width:100%;height:43px;padding:0 12px;border:1px solid #d9e1e8;border-radius:11px;background:#fff;color:#1b2f43;font:400 13px var(--sans)}
.admin-modal footer{display:flex;justify-content:flex-end;gap:9px;padding:0;border:0;background:none}
.admin-primary,.admin-secondary{min-height:42px;padding:0 16px;border:1px solid #d7e0e8;border-radius:999px;font:700 11px var(--sans);cursor:pointer;transition:transform .18s,background .18s}
.admin-primary{border-color:#203f61;background:#203f61;color:#fff}
.admin-secondary{background:#fff;color:#2a425b}
.admin-primary:hover,.admin-secondary:hover{transform:translateY(-1px)}
.text-modal{width:min(720px,calc(100vw - 28px))}
.text-editor{min-height:220px;max-height:55dvh;overflow:auto;padding:16px;border:1px solid #d8e1e9;border-radius:14px;background:#fff;color:#1b2f43;font:400 15px/1.65 var(--sans);outline:none}
.text-editor:focus{border-color:#527294;box-shadow:0 0 0 3px rgba(32,63,97,.1)}
.admin-help{margin:9px 0 18px;color:#718092;font-size:10px}
.admin-mode .admin-text-button:focus-visible,.admin-image-button:focus-visible,.admin-mode-toggle:focus-visible,.admin-reset:focus-visible{outline:3px solid #e4c244;outline-offset:3px}
.admin-image-cropped{object-position:var(--admin-crop-x,50%) var(--admin-crop-y,50%)!important;scale:var(--admin-crop-zoom,1);transform-origin:center}

/* Le lien d’administration reste discret, au même niveau que les liens légaux. */
.footer-bottom .admin-mode-toggle,
.footer-bottom .admin-reset{display:inline;border:0;border-radius:0;background:none;box-shadow:none;padding:0;color:rgba(255,255,255,.58);font:inherit;font-size:inherit;letter-spacing:normal;text-align:left;cursor:pointer;transition:color .2s}
.footer-bottom .admin-mode-toggle:hover,
.footer-bottom .admin-reset:hover{background:none;border:0;color:#dce8b3;text-decoration:underline}
.footer-bottom .admin-mode-toggle:focus-visible,
.footer-bottom .admin-reset:focus-visible{outline:2px solid #e4c244;outline-offset:4px}
@media(max-width:680px){.footer-bottom>div{flex-wrap:wrap;gap:10px 14px}}
@media(max-width:680px){
  .admin-image-button{top:8px;right:8px;width:32px;height:32px}
  .admin-text-button{top:2px;right:2px;width:26px;height:26px}
  .admin-modal{padding:18px}
  .admin-modal header h2{font-size:22px}
  .crop-controls{grid-template-columns:1fr;gap:10px}
  .crop-preview{margin-bottom:15px}
  .text-editor{min-height:190px;font-size:14px}
}
