:root{color-scheme:dark;--accent:#e8ae45;--accent2:#f1b74d;--accentSoft:#513918;--bg:#0f0c08;--bg2:#17110c;--panel:#21190f;--panel2:#281d12;--border:#735125;--text:#ead8b5;--muted:#c8b28c;--link:#ffd179;--success:#6bbd75}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif}body{background:radial-gradient(circle at 50% 0,var(--panel) 0,var(--bg2) 40%,var(--bg) 82%);color:var(--text)}body[data-theme="vert"]{--accent:#82b96c;--accent2:#a9d892;--accentSoft:#294229;--bg:#07100a;--bg2:#0c1a11;--panel:#18301f;--panel2:#13271a;--border:#477b50;--text:#e2f0df;--muted:#abc5a7;--link:#bfe7ae}body[data-theme="bleu"]{--accent:#6fa9df;--accent2:#9bc8ee;--accentSoft:#203b55;--bg:#080d12;--bg2:#0d1720;--panel:#172a3b;--panel2:#102332;--border:#3e6c93;--text:#e2edf7;--muted:#a8bdd0;--link:#acd6f8}body[data-theme="bordeaux"]{--accent:#d17883;--accent2:#e6a0a8;--accentSoft:#54252d;--bg:#11070a;--bg2:#1c0d11;--panel:#34171e;--panel2:#2b1218;--border:#81434d;--text:#f3dfe2;--muted:#cbaab0;--link:#f0aeb7}body[data-theme="ardoise"]{--accent:#a8b3bd;--accent2:#c7d0d7;--accentSoft:#303941;--bg:#0a0d10;--bg2:#12171c;--panel:#202830;--panel2:#1a2229;--border:#56636e;--text:#e7ecef;--muted:#b3bdc5;--link:#d0d9df}body[data-theme="clair"]{color-scheme:light;--accent:#9b6726;--accent2:#7d521f;--accentSoft:#f1dfc5;--bg:#f6f0e7;--bg2:#eee4d6;--panel:#fffaf3;--panel2:#f7ecdc;--border:#c5a273;--text:#382b20;--muted:#755f49;--link:#704716}a{color:var(--link)}.page{max-width:1240px;margin:0 auto;padding:22px 18px 50px}.top{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;padding-right:92px}.return,.manage-link,.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:9px;background:var(--accentSoft);color:var(--accent2);text-decoration:none;font-weight:700;cursor:pointer}.manage-link{filter:saturate(.8) brightness(1.12)}.hero{margin:16px 0 20px;padding:22px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(180deg,var(--panel),var(--bg2));box-shadow:0 18px 50px rgba(0,0,0,.3)}h1{margin:0;color:var(--accent2);font-size:clamp(30px,5vw,50px)}.hero p{max-width:800px;color:var(--muted);line-height:1.55}.filters{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;gap:10px;margin:16px 0}.filters select,.filters input,.manage input,.manage textarea,.manage select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text);padding:10px 11px;font:inherit}.autocomplete{position:relative}.suggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--panel);box-shadow:0 14px 30px rgba(0,0,0,.35)}.suggestions[hidden]{display:none}.suggestion,.suggestions__status{display:block;width:100%;padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);background:transparent;color:var(--text);text-align:left;font:inherit}.suggestion{cursor:pointer}.suggestion:hover,.suggestion:focus{background:var(--accentSoft);outline:none}.suggestions__status{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.plan{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel2),var(--bg2));box-shadow:0 12px 28px rgba(0,0,0,.28)}.plan__media{height:190px;background:var(--bg);display:grid;place-items:center;overflow:hidden;padding:6px}.plan__media img{min-width:0;width:100%;height:100%;object-fit:contain;object-position:center}.plan__body{padding:16px}.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--accentSoft);color:var(--accent2);font-size:12px}.plan h2{margin:9px 0 5px;color:var(--accent2)}.place{color:var(--muted);font-size:14px}.desc,.notes{white-space:pre-line;line-height:1.5}.facts{display:grid;gap:6px;margin:12px 0;font-size:14px}.notes{margin-top:11px;padding:10px;border-left:3px solid var(--accent);background:var(--bg2);color:var(--muted)}.video-wrap{margin-top:12px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}.video-wrap iframe{width:100%;height:100%;border:0}.empty{padding:40px;text-align:center;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.flash{margin:10px 0;padding:11px 13px;border-radius:8px;background:#213625;border:1px solid #507c55}.flash.error{background:#44201d;border-color:#8d4d45}.manage{margin-top:24px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg2)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{padding:9px 13px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);text-decoration:none;font-weight:700}.tab.active{background:var(--accentSoft);color:var(--accent2);box-shadow:inset 0 0 0 1px var(--accent)}.manage-grid{display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:20px}.form-grid{display:grid;gap:10px}.form-grid label{display:grid;gap:5px;color:var(--muted)}.location-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px}.location-grid .wide{grid-column:1/-1}.check{display:flex!important;align-items:center;gap:8px!important}.check input{width:auto}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button.danger{border-color:#914b43;background:#52241f;color:#ffd0c7}.button.muted{background:var(--panel);color:var(--muted)}.manage-list{display:grid;gap:8px}.manage-row{padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:10px}.images-admin,.new-image-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}.image-admin{padding:7px;border:1px solid var(--border);border-radius:8px}.image-admin img,.new-image-preview img{width:100%;height:90px;object-fit:contain;object-position:center;border-radius:6px;background:rgba(0,0,0,.18)}.image-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:5px}.image-buttons button{font-size:12px;padding:5px}.category-row-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:8px 0}.category-row{display:grid;grid-template-columns:1fr 90px auto auto;gap:8px;align-items:end}.category-row input[type=checkbox]{width:auto}.small{font-size:12px;color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.theme-option{display:block;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--panel);cursor:pointer}.theme-option input{width:auto!important;margin-right:7px}.theme-swatch{display:grid;grid-template-columns:repeat(4,1fr);height:42px;border-radius:8px;overflow:hidden;margin-top:8px}.theme-swatch i:nth-child(1){background:var(--sw1)}.theme-swatch i:nth-child(2){background:var(--sw2)}.theme-swatch i:nth-child(3){background:var(--sw3)}.theme-swatch i:nth-child(4){background:var(--sw4)}.help-box{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);line-height:1.45}
@media(max-width:780px){.page{padding:10px 10px 30px}.top{padding-right:58px;flex-wrap:wrap}.hero{padding:15px}.filters{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.manage-grid{grid-template-columns:1fr}.category-row-wrap{grid-template-columns:1fr}.category-row{grid-template-columns:1fr 70px auto}.category-row .active{grid-column:1/-1}.location-grid{grid-template-columns:1fr}.location-grid .wide{grid-column:auto}.plan__media{height:170px}.plan__media img{height:170px}.suggestions{max-height:min(260px,45vh)}.tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.tab{white-space:nowrap}}

/* Ergonomie gestion : liste d'abord, formulaire protégé contre la perte de saisie */
.manage-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.manage-list-head h2{margin:0 0 5px;color:var(--accent2)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:800}.manage-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,280px) auto auto;gap:9px;margin:0 0 16px}.manage-filters input,.manage-filters select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text);padding:10px 11px;font:inherit}.manage-row__main{min-width:0;display:grid;gap:6px}.manage-row__main>strong{font-size:17px;color:var(--accent2)}.manage-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.status{display:inline-flex;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;font-weight:800}.status.published{background:color-mix(in srgb,var(--success) 20%,transparent);color:#bfe8c4}.status.hidden{background:var(--panel2);color:var(--muted)}.row-actions{margin-top:0;align-items:center}.row-actions form{margin:0}.manage-empty{display:grid;gap:18px}.manage-subnav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px}.settings-links{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}.form-savebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);position:relative}.form-savebar--top{margin-bottom:4px;position:sticky;top:8px;z-index:12;box-shadow:0 8px 18px rgba(0,0,0,.22)}.form-savebar--bottom{margin-top:8px}.required{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:#6a2c26;color:#ffd9d3;font-size:10px;font-weight:800;text-transform:uppercase}.required.technical{background:var(--accentSoft);color:var(--accent2)}.optional{font-size:11px;color:var(--muted);font-weight:400}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:#e16c5d!important;box-shadow:0 0 0 2px rgba(225,108,93,.22)}.field-error-message{color:#ffb3a8;font-size:12px;font-weight:700}.form-error-banner{margin:10px 0;padding:12px 14px;border:1px solid #a94f45;border-radius:9px;background:#4a211d;color:#ffd7d1;font-weight:700;line-height:1.45}.form-error-banner span{font-weight:400}.client-error{margin-top:2px}
@media(max-width:780px){.manage-list-head{display:grid}.manage-list-head .button{width:100%}.manage-filters{grid-template-columns:1fr}.manage-row{align-items:flex-start;display:grid}.row-actions{width:100%}.row-actions .button,.row-actions form{flex:1}.row-actions form .button{width:100%}.form-savebar--top{top:4px}.manage-subnav{display:grid}.settings-links{display:grid;gap:7px}}


/* Affichage public des bons plans : liste compacte + fiche détaillée */
.plan-list{display:grid;gap:14px;margin-top:16px}
.plan-list__item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel2),var(--bg2));box-shadow:0 10px 24px rgba(0,0,0,.22)}
.plan-list__thumb{width:150px;height:112px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;background:var(--bg)}
.plan-list__thumb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}
.plan-list__thumb--empty{font-size:34px;color:var(--muted)}
.plan-list__body{min-width:0}
.plan-list__body h2{margin:7px 0 5px;color:var(--accent2)}
.plan-list__summary{margin:8px 0 12px;color:var(--muted);line-height:1.45}
.plan-list__view{min-width:92px}
.detail-toolbar{margin:0 0 14px}
.plan-detail{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--panel2),var(--bg2));box-shadow:0 16px 38px rgba(0,0,0,.28);overflow:hidden}
.plan-detail__head{padding:18px 20px 8px}
.plan-detail__head h2{margin:8px 0 5px;color:var(--accent2);font-size:clamp(25px,4vw,36px)}
.plan-detail__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px 18px 18px;background:color-mix(in srgb,var(--bg) 78%,transparent)}
.plan-detail__gallery img{display:block;width:100%;height:auto;max-height:430px;min-height:140px;object-fit:contain;object-position:center;margin:auto;border-radius:10px;background:rgba(0,0,0,.2);cursor:zoom-in}
.plan-detail__content{padding:16px 20px 22px}
.plan-detail__content .facts{gap:12px}
.map-actions{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0 2px}
.map-button{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.detail-back{margin-top:16px}
@media(max-width:700px){
  .plan-list__item{grid-template-columns:105px minmax(0,1fr);gap:11px;padding:10px}
  .plan-list__thumb{width:105px;height:88px}
  .plan-list__summary{display:none}
  .plan-list__view{min-height:42px}
  .plan-detail__gallery{grid-template-columns:1fr;padding:10px;gap:10px}
  .plan-detail__gallery img{max-height:min(420px,55vh);min-height:0}
  .plan-detail__head,.plan-detail__content{padding-left:13px;padding-right:13px}
  .map-actions{display:grid;grid-template-columns:1fr}
  .map-actions .button{width:100%}
}
@media(max-width:430px){
  .plan-list__item{grid-template-columns:82px minmax(0,1fr)}
  .plan-list__thumb{width:82px;height:72px}
  .plan-list__body h2{font-size:17px}
}
