/* Gestion SUD OUEST — pages complètes et médiathèque visuelle. */
[hidden], .is-hidden { display:none !important; }
.account-header-link { display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:#1c456c; border-radius:999px; padding:7px 11px; background:#edf5ff; font-weight:750; font-size:13px; }
.account-header-name { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.login-status-dot { width:8px; height:8px; border-radius:100%; display:inline-block; background:#20b87a; box-shadow:0 0 0 3px #d7f8e9; flex:none; }
.logged-in-chip { display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:#4c6b86; font-size:12px; overflow-wrap:anywhere; background:#f0f8fd; padding:12px; border-radius:12px; margin-bottom:16px; }
.editor-shell { max-width:1380px; padding-top:43px; padding-bottom:92px; color:#183d61; }
.editor-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:28px; }
.editor-top h1 { font-size:clamp(28px,3vw,42px); letter-spacing:-.045em; line-height:1.08; margin:7px 0 10px; color:#173957; }
.editor-top p { color:#6f8598; margin:0; font-size:14px; }
.editor-kicker { color:#2989bf; letter-spacing:.2em; font-size:10px; font-weight:850; }
.editor-close { appearance:none; border:1px solid #d9e7f0; border-radius:13px; background:white; padding:12px; cursor:pointer; color:#47708d; box-shadow:0 8px 25px #20476d0c; }
.editor-close:hover { background:#e9f3fb; color:#153a5d; }
.editor-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(286px,330px); gap:24px; align-items:start; }
.editor-main, .editor-side { display:flex; flex-direction:column; gap:22px; min-width:0; }
.editor-side { position:sticky; top:94px; }
.editor-panel { background:#fff; border:1px solid #e0ebf3; border-radius:22px; padding:27px; box-shadow:0 13px 45px #19456c08; }
.editor-panel h2 { font-size:20px; letter-spacing:-.025em; color:#173d61; margin:0 0 17px; }
.editor-panel h3 { font-size:15px; color:#21486a; }
.editor-panel p { line-height:1.55; }
.panel-heading { display:flex; align-items:flex-start; gap:13px; padding-bottom:19px; border-bottom:1px solid #e9f0f5; margin-bottom:23px; }
.panel-heading h2 { margin:0 0 4px; }
.panel-heading p { font-size:12px; margin:0; color:#8197aa; }
.panel-number { width:34px; height:34px; border-radius:11px; background:linear-gradient(135deg,#e6f9ff,#dceeff); color:#2379b0; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:850; flex:none; }
.editor-panel .form-group { margin-bottom:13px; }
.editor-panel input:not([type=checkbox]):not([type=radio]):not([type=file]), .editor-panel select, .editor-panel textarea,
.form-section input:not([type=checkbox]), .form-section select, .form-section textarea { border:1px solid #d6e4ee; border-radius:11px; padding:13px 14px; background:#fbfdff; width:100%; font-size:14px; color:#1a3d59; transition:border-color .18s,box-shadow .18s; }
.editor-panel input:focus, .editor-panel select:focus, .editor-panel textarea:focus, .form-section input:focus, .form-section textarea:focus { border-color:#45a8db; outline:2px solid #d5efff; outline-offset:1px; }
.editor-panel label, .form-section label { color:#385d79; font-weight:750; font-size:12px; display:block; margin-bottom:6px; }
.editor-hint, .field-help { display:block; font-size:12px; color:#8299ad; margin:9px 0 0; }
.editor-panel .btn-full { width:100%; }
.editor-save { font-size:15px; padding:15px; box-shadow:0 10px 24px #2a80b533; }
.product-media-layout { display:grid; grid-template-columns:minmax(210px,35%) 1fr; gap:24px; }
.primary-image-preview { display:flex; flex-direction:column; align-items:center; gap:13px; background:linear-gradient(145deg,#f4fbfd,#e7f4fa); border:1px dashed #bcdeea; padding:16px; border-radius:18px; }
.primary-image-preview img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border-radius:13px; }
.primary-image-preview small { color:#668ba1; font-weight:750; }
.gallery-panel { min-width:0; }
.gallery-panel p { font-size:13px; color:#8297aa; }
.gallery-previews { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; min-height:80px; margin:16px 0; }
.gallery-thumb { position:relative; aspect-ratio:1; background:#eef6fa; border-radius:10px; overflow:hidden; border:1px solid #deedf5; }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.gallery-thumb button { position:absolute; right:4px; top:4px; border:0; border-radius:100%; background:#143f69dd; color:white; width:25px; height:25px; cursor:pointer; font-size:17px; }
.category-options { display:flex; flex-wrap:wrap; gap:9px; max-height:220px; overflow:auto; }
.category-chip { margin:0 !important; cursor:pointer; }
.category-chip input { position:absolute; opacity:0; pointer-events:none; }
.category-chip span { display:inline-block; padding:9px 13px; border:1px solid #cddfeb; border-radius:100px; font-size:12px; color:#49718d; background:#f9fcff; }
.category-chip input:checked + span { background:#dff3ff; border-color:#6abce9; color:#126aa4; box-shadow:inset 0 0 0 1px #75bfe7; }
.add-category-row { display:flex; gap:9px; margin-top:18px; }
.add-category-row input { flex:1; }
.bundle-product-list { display:flex; flex-direction:column; gap:10px; max-height:370px; overflow:auto; margin-top:16px; }
.bundle-product { display:grid !important; grid-template-columns:56px minmax(0,1fr) 76px; gap:13px; align-items:center; background:#f9fcff; padding:9px 12px; border:1px solid #e4edf3; border-radius:13px; margin:0 !important; }
.bundle-product img { width:56px; height:56px; border-radius:9px; object-fit:contain; background:white; }
.bundle-product span { min-width:0; }
.bundle-product strong { font-size:12px; line-height:1.4; display:block; }
.bundle-product small { display:block; color:#93a8b8; font-weight:400; margin-top:4px; }
.bundle-product input { width:76px !important; margin:0 !important; text-align:center; }
.stock-switch { display:flex !important; align-items:center; gap:10px; padding:13px; background:#f1f9fd; border-radius:10px; cursor:pointer; }
.stock-switch input { width:auto !important; }
.media-library-intro { margin-bottom:22px; }
.media-library-intro h3 { margin-bottom:8px; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:13px; max-height:700px; overflow:auto; padding:5px; }
.media-tile { display:flex; flex-direction:column; min-width:0; gap:8px; background:#fff; border:1px solid #e1ebf2; border-radius:13px; padding:9px; text-align:left; cursor:pointer; color:#315777; }
.media-tile img { width:100%; aspect-ratio:1; object-fit:contain; background:#f3f8fb; border-radius:9px; }
.media-tile span, .media-tile strong { font-size:11px; font-weight:700; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; max-width:100%; }
.media-tile small { font-size:11px; color:#94aab7; }
.media-tile:hover { border-color:#82c5e8; box-shadow:0 5px 16px #1a78b014; }
.media-tile .btn { margin-top:auto; font-size:11px; }
.media-picker { position:fixed; z-index:1500; inset:6% 7%; max-width:1400px; margin:auto; background:white; border-radius:24px; box-shadow:0 30px 110px #0f355e55; border:1px solid #bddbeb; padding:25px; overflow:hidden; }
.media-picker-head { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.media-picker-head h3 { margin:0; font-size:22px; }
.media-picker-head p { margin:5px 0 12px; font-size:12px; color:#7890a5; }
.media-picker > input, .media-library > input { border-radius:12px; border:1px solid #d8e7ef; padding:12px 14px; width:100%; margin-bottom:14px; }
.media-grid-picker { max-height:calc(100% - 135px); overflow:auto; }
.order-progress { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:26px; }
.progress-step { border:1px solid #dce8f0; background:white; border-radius:14px; display:flex; gap:8px; align-items:center; justify-content:center; padding:13px 5px; color:#8196a7; font-size:12px; }
.progress-step span { width:24px; height:24px; border-radius:50%; background:#e8eff4; display:flex; align-items:center; justify-content:center; flex:none; }
.progress-step.done { border-color:#b5def1; background:linear-gradient(120deg,#e3f8fb,#e7f1ff); color:#176c9d; }
.progress-step.done span { background:#2b8bc0; color:white; }
.order-progress.order-cancelled { display:block; }
.order-item-visual { display:grid; grid-template-columns:80px minmax(0,1fr) auto; align-items:center; gap:18px; padding:17px 0; border-bottom:1px solid #e8eef3; }
.order-item-visual img { width:80px; height:80px; border-radius:11px; object-fit:contain; background:#f4f9fc; }
.order-item-visual b { display:block; font-size:14px; color:#244864; }
.order-item-visual small, .order-item-visual span { display:block; color:#7f96a8; font-size:12px; margin-top:5px; }
.order-item-visual strong { white-space:nowrap; }
.order-totals { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:25px; }
.order-totals > div { background:#f5f9fc; padding:17px; border-radius:13px; display:flex; flex-direction:column; gap:9px; }
.order-totals span { font-size:12px; color:#6f879a; }
.order-totals strong { font-size:19px; }
.order-totals .balance { background:#dff3ff; color:#116b9c; }
.contact-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-bottom:23px; }
.contact-info-grid small { display:block; color:#8ba0b1; font-size:11px; margin-bottom:5px; }
.contact-info-grid strong { color:#25506f; font-size:14px; overflow-wrap:anywhere; }
.activity-timeline { border-left:2px solid #bbdeec; margin-left:10px; padding-left:24px; }
.activity-item { position:relative; padding:0 0 25px; display:grid; gap:4px; }
.activity-item:last-child { padding-bottom:0; }
.activity-dot { position:absolute; left:-31px; top:3px; background:#2496d3; border:3px solid white; border-radius:50%; width:13px; height:13px; box-shadow:0 0 0 2px #bfdfed; }
.activity-item b { font-size:14px; }
.activity-item time { font-size:12px; color:#8ba0b1; }
.activity-item p { margin:5px 0; color:#5a7189; font-size:12px; }
.date-list { color:#72899f; font-size:12px; }
.customer-order-row { display:flex; align-items:center; justify-content:space-between; gap:13px; padding:14px 0; border-bottom:1px solid #ebf1f5; color:#244c68; text-decoration:none; }
.customer-order-row small { display:block; margin-top:5px; color:#93a7b9; }
.logo-pick { display:flex; gap:18px; align-items:center; }
.logo-pick img { width:86px; height:86px; object-fit:contain; background:#f1f7fb; border:1px solid #dbeaf1; border-radius:12px; }
.form-section { min-width:0; grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; border:1px solid #e3edf4; padding:22px; border-radius:17px; margin:0 0 18px; background:#fbfdff; }
.form-section legend { font-size:17px; color:#1d567e; font-weight:850; padding:0 8px; }
.form-section .full, .form-section .save-details, .form-section small { grid-column:1/-1; }
.form-section .form-group { margin:0; }
.form-section .save-details { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:550; }
.form-section .save-details input { width:auto !important; }
.required-mark { font-weight:900; color:#238dd1; font-size:16px; padding-left:4px; }
.required-field input, .required-field textarea { border-color:#6ebbe9 !important; background:#faffff !important; }
.required-field input:focus, .required-field textarea:focus { box-shadow:0 0 0 3px #b7e4ff; }
.phone-entry, .input-action-row { display:flex; gap:10px; align-items:stretch; }
.phone-entry select { flex:0 0 145px; width:145px !important; }
.phone-entry input, .input-action-row input { flex:1; min-width:0; }
.input-action-row .btn { flex:none; }
.account-order-list { display:grid; gap:14px; }
.account-order-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto 25px; align-items:center; gap:18px; padding:20px; border:1px solid #e2ecf4; border-radius:15px; color:#204767; text-decoration:none; }
.account-order-card:hover { border-color:#8ac6e5; background:#f9fdff; }
.account-order-card b, .account-order-card small { display:block; }
.account-order-card small { font-size:11px; color:#8da1b2; margin-top:5px; }
.account-order-icon { display:flex; width:52px; height:52px; align-items:center; justify-content:center; border-radius:14px; background:#eaf5fa; }
.confirm-dialog { position:fixed; z-index:1500; width:min(480px,90vw); top:50%; left:50%; transform:translate(-50%,-50%); padding:30px; background:white; border-radius:20px; box-shadow:0 25px 90px #132f4f44; }
.confirm-dialog h2 { margin:0 0 10px; color:#184666; }
.confirm-dialog p { color:#657d91; }
.confirm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:22px; }
@media(max-width:1050px){ .editor-grid{grid-template-columns:minmax(0,1fr)} .editor-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))} .editor-side .editor-save{grid-column:1/-1} }
@media(max-width:670px){ .editor-shell{padding-top:22px} .editor-panel{padding:17px;border-radius:16px} .editor-top h1{font-size:29px} .product-media-layout{grid-template-columns:1fr} .primary-image-preview img{max-height:270px} .gallery-previews{grid-template-columns:repeat(4,1fr)} .editor-side,.form-section,.contact-info-grid{grid-template-columns:1fr} .order-progress{grid-template-columns:repeat(5,1fr);gap:4px}.progress-step{flex-direction:column;font-size:9px;text-align:center;gap:5px}.progress-step span{width:21px;height:21px}.order-item-visual{grid-template-columns:62px minmax(0,1fr)}.order-item-visual>strong{grid-column:2}.order-item-visual img{width:62px;height:62px}.order-totals{grid-template-columns:1fr}.media-picker{inset:2%;padding:15px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phone-entry{flex-wrap:wrap}.phone-entry select{flex:0 0 100%;width:100% !important}.account-order-card{grid-template-columns:38px minmax(0,1fr);gap:12px}.account-order-card>span:nth-of-type(3){grid-column:2}.editor-close{padding:8px} }

.editor-technical { margin-top:20px; padding:13px; background:#f6fafc; border:1px solid #e1edf3; border-radius:12px; }
.editor-technical summary { cursor:pointer; color:#4f7c97; font-size:12px; font-weight:750; }
.editor-technical[open] { padding:17px; }
.editor-technical .form-group { margin-top:16px; }

.newsletter-strip { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:25px; margin:30px 0 15px; border:1px solid #8acbe85e; border-radius:18px; background:linear-gradient(105deg,#effaff,#eff4fe); color:#1e4c72; }
.newsletter-strip strong { font-size:18px; }
.newsletter-strip p { font-size:12px; margin:8px 0 0; color:#6c88a1; }
