*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#101828;font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1220px,100% - 2rem);margin:auto}.site-header{background:#081522;color:#fff}.header-row{display:flex;align-items:center;gap:1rem;padding:.9rem 0}.brand{font-size:2rem;font-weight:900;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;background:#ff6b1a;border-radius:8px;margin-right:.45rem}.search{display:flex;flex:1;max-width:640px;background:#fff;border-radius:999px;overflow:hidden}.search input{flex:1;border:0;padding:.8rem 1rem}.search button{border:0;padding:0 1rem}.header-row nav{margin-left:auto;display:flex;gap:.8rem}.header-row nav a{text-decoration:none}.cats{background:#0c1e30}.cats .wrap{display:flex;gap:.2rem;overflow:auto}.cats a{padding:.55rem .7rem;text-decoration:none;white-space:nowrap}.hero{background:linear-gradient(100deg,#040b12,#0b2036 58%,#164b83);color:#fff}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;min-height:390px;padding:2rem 0}.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;margin:.6rem 0}.badge{display:inline-block;background:#ff6b1a;color:#fff;font-weight:800;border-radius:6px;padding:.25rem .55rem;font-size:.8rem}.hero-price{display:flex;gap:.8rem;align-items:center;margin:1rem 0}.hero-price strong{font-size:2rem;color:#ff7b28}.hero-price del{color:#aeb8c4}.hero-img{height:340px;display:grid;place-items:center}.hero-img img{max-height:330px;object-fit:contain}.hero-img span{font-size:8rem}.btn{display:inline-flex;justify-content:center;align-items:center;padding:.65rem 1rem;border:1px solid #cfd6df;border-radius:8px;background:#fff;font-weight:800;text-decoration:none;cursor:pointer}.accent{background:#ff6b1a;border-color:#ff6b1a;color:#fff}.danger{color:#b42318}.small{padding:.35rem .6rem;font-size:.85rem}.section,.page{padding:2rem 0}.section-head,.admin-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.section-head h2{margin:0}.section-head a{color:#ff6b1a;text-decoration:none;font-weight:800}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.card{background:#fff;border:1px solid #e1e6ec;border-radius:12px;overflow:hidden}.card-img{height:210px;display:grid;place-items:center;position:relative;text-decoration:none}.card-img img{width:100%;height:100%;object-fit:contain;padding:.8rem}.card-img>span{font-size:4rem}.card-img b{position:absolute;top:.6rem;left:.7rem;color:#ff5d21;background:#fff;padding:.15rem .35rem;border-radius:5px}.card-body{padding:1rem}.card-body h3{margin:.2rem 0}.card-body h3 a{text-decoration:none}.card-body p{color:#667085;min-height:2.8em}.price{display:flex;gap:.5rem;align-items:baseline;margin:.65rem 0}.price strong{color:#ff5d21;font-size:1.25rem}.price del{color:#667085;font-size:.88rem}.card-body .btn{width:100%;margin-top:.7rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-bottom:2rem}.panel{background:#fff;border:1px solid #e1e6ec;border-radius:12px;padding:1.2rem}.watch{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:.7rem 0;border-bottom:1px solid #edf0f3}.watch span{font-size:.9rem}.list{display:grid;gap:.75rem}.dealrow{display:grid;grid-template-columns:140px 1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid #e1e6ec;border-radius:12px;padding:1rem}.thumb{height:110px;display:grid;place-items:center}.thumb img{width:100%;height:100%;object-fit:contain}.thumb span{font-size:3rem}.heat{color:#ff5d21;font-weight:900}.dealrow h2{margin:.2rem 0;font-size:1.2rem}.dealrow h2 a{text-decoration:none}.dealrow p{margin:.2rem 0;color:#667085}.dealprice{text-align:right}.dealprice strong{display:block;color:#ff5d21;font-size:1.35rem}.dealprice del{display:block;color:#667085;margin-bottom:.5rem}.detail{display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:2rem;align-items:center}.detail-img{height:430px;display:grid;place-items:center;background:#fff;border:1px solid #e1e6ec;border-radius:12px}.detail-img img{width:100%;height:100%;object-fit:contain;padding:1rem}.detail-img span{font-size:7rem}.detail h1{font-size:clamp(2rem,5vw,3.5rem);margin:.5rem 0}.bigprice{font-size:2rem;color:#ff5d21;font-weight:900}.bigprice del{font-size:1rem;color:#667085;margin-left:.5rem}.merchant{display:flex;align-items:center;gap:.65rem;margin:1rem 0}.merchant img{width:80px;height:40px;object-fit:contain}.merchant a{color:#667085;font-size:.9rem}.prose{margin-top:1rem}.watchgrid,.guidegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.code{display:grid;grid-template-columns:80px 1fr auto auto;align-items:center;gap:1rem;margin-bottom:.75rem}.code>b{color:#e5484d;font-size:1.2rem}.code code{background:#eef4ff;padding:.45rem .65rem;border-radius:6px}.article{max-width:900px}.article .lead{font-size:1.1rem;color:#667085}.loginbox{max-width:460px;margin:4rem auto}.input{width:100%;padding:.65rem .75rem;border:1px solid #cfd6df;border-radius:8px;font:inherit;margin:.25rem 0 .8rem}.input textarea,textarea.input{min-height:150px}.flash{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.ok{background:#e6f6ed;color:#087443}.bad{background:#feecec;color:#a62428}.adminbar{background:#081522;color:#fff}.adminbar .wrap{display:flex;gap:.8rem;align-items:center;padding:.8rem 0}.adminbar a{color:#fff;text-decoration:none}.adminbar b{margin-right:1rem}.adminmain{padding:1.5rem 0 3rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.stats>div{background:#fff;border:1px solid #e1e6ec;border-radius:10px;padding:1rem}.stats b{display:block;font-size:1.8rem}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:.7rem;border-bottom:1px solid #e6e9ed;text-align:left}.inline{display:inline}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.formgrid label{font-weight:700}.formgrid .wide{grid-column:1/-1}.logout{margin-top:2rem}footer{background:#081522;color:#d4dde6;padding:2rem 0;margin-top:2rem}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.watchgrid,.guidegrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-row{flex-wrap:wrap}.search{order:3;flex-basis:100%;max-width:none}.hero-grid,.detail,.split{grid-template-columns:1fr}.hero-img{height:230px}.grid{grid-template-columns:1fr 1fr}.dealrow{grid-template-columns:90px 1fr}.dealprice{grid-column:2;text-align:left}.stats{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}}
@media(max-width:480px){.grid,.watchgrid,.guidegrid{grid-template-columns:1fr}.header-row nav{display:none}}

/* ---- V1.1 : administration enrichie ----------------------------------- */
.adminbar .wrap{flex-wrap:wrap}
.admin-shortcuts{display:flex;flex-wrap:wrap;gap:.6rem}
textarea.editor{min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55}
.table code{display:inline-block;background:#eef4ff;padding:.2rem .4rem;border-radius:5px;font-weight:800}
@media(max-width:850px){.table{display:block;overflow-x:auto}.adminbar .wrap{align-items:flex-start}}

/* ---- V1.2 : membres, favoris, votes et commentaires -------------------- */
.member-nav .join{background:#ff6b1a;color:#fff;padding:.42rem .7rem;border-radius:8px;font-weight:800}
.muted{color:#667085}.auth-switch{margin-top:1rem;color:#667085}.auth-switch a{font-weight:800}
.deal-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0}.deal-actions form{margin:0}.btn.is-fav{border-color:#ff6b1a;color:#d74d00;background:#fff7f0}
.temperature{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:1rem 0;border-top:1px solid #e5e9ef;border-bottom:1px solid #e5e9ef}.temperature>span{color:#667085}.temperature>strong{font-size:1.2rem}.temperature form{display:flex;gap:.4rem}.temp-btn{border:1px solid #e1e6ec;background:#fff;border-radius:999px;padding:.4rem .7rem;font:inherit;font-weight:800;cursor:pointer}.temp-btn.active{background:#fff1e8;border-color:#ff6b1a;color:#d64c00}.temp-btn.cold.active{background:#eef6ff;border-color:#4b91e2;color:#145caa}
.community{margin-top:1.5rem}.comment-form textarea{min-height:110px;resize:vertical}.comment-list{display:grid;gap:.75rem;margin-top:.75rem}.comment{padding:1rem}.comment p{margin:.6rem 0 0;white-space:normal}.comment-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center}.comment-meta time{font-size:.86rem;color:#667085}
.account-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.account-head h1{margin:.4rem 0 .15rem}.account-head p{margin:0;color:#667085}.member-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.member-stats .panel{text-decoration:none}.member-stats b{display:block;font-size:2rem}.member-stats span{color:#667085}.empty-state{text-align:center;padding:2.5rem 1rem}.comment-admin{max-width:420px;white-space:normal}
@media(max-width:760px){.member-stats{grid-template-columns:1fr}.account-head{align-items:flex-start;flex-direction:column}.comment-meta{align-items:flex-start;flex-direction:column;gap:.1rem}}
@media(max-width:760px){.cats a.nav-shortcut{padding:.58rem .62rem}.cats a.nav-shortcut .nav-shortcut-icon{width:20px;height:20px;font-size:.78rem}}



/* --- Chapali V1.3 : Radar --- */
.admin-sub{margin:.15rem 0 0;color:#667085}
.radar-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.radar-stats a{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid #e1e6ec;border-radius:10px;padding:.9rem 1rem;text-decoration:none}
.radar-stats a.active{border-color:#ff6b1a;box-shadow:inset 0 0 0 1px #ff6b1a}
.radar-stats b{font-size:1.6rem}.radar-stats span{color:#667085}
.radar-tools{margin-bottom:1rem}.radar-tools summary{font-weight:800;cursor:pointer}.radar-tools[open] summary{margin-bottom:1rem}
.radar-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.radar-list{display:grid;gap:.8rem;margin-top:1rem}
.radar-card{display:grid;grid-template-columns:120px minmax(0,1fr) 90px 170px;gap:1rem;align-items:center}
.radar-media{height:100px;display:grid;place-items:center;border:1px solid #edf0f3;border-radius:8px;background:#fff;overflow:hidden}
.radar-media img{width:100%;height:100%;object-fit:contain}.radar-media span{font-size:2.5rem;color:#98a2b3}
.radar-main h2{font-size:1.1rem;margin:.25rem 0}.radar-meta{display:flex;gap:.35rem;flex-wrap:wrap}.radar-meta span{background:#f1f3f6;padding:.15rem .4rem;border-radius:999px;font-size:.78rem;color:#475467}
.radar-price{display:flex;gap:.55rem;align-items:baseline}.radar-price strong{font-size:1.3rem;color:#ff5d21}.radar-price del{color:#667085}.radar-discount{background:#e8f7ef;color:#087443;border-radius:6px;padding:.12rem .38rem;font-weight:800}
.radar-reasons{color:#667085;font-size:.85rem;margin:.35rem 0}.radar-links{font-size:.85rem}.radar-links a{color:#1d4ed8}
.radar-score{text-align:center}.radar-score b{display:block;font-size:1.8rem}.radar-score span,.radar-score small{display:block;color:#667085}.radar-score small{font-size:.72rem}
.radar-actions{display:grid;gap:.45rem}.radar-actions form{display:grid;gap:.25rem}.radar-actions .btn{width:100%}.force{font-size:.78rem;color:#667085}.radar-approved{color:#087443;font-weight:800;text-align:center}
@media(max-width:900px){.radar-card{grid-template-columns:90px 1fr}.radar-score,.radar-actions{grid-column:2}.radar-actions{grid-template-columns:1fr 1fr}.radar-two{grid-template-columns:1fr}}
@media(max-width:560px){.radar-stats{grid-template-columns:1fr}.radar-card{grid-template-columns:1fr}.radar-media{height:180px}.radar-score,.radar-actions{grid-column:1}.radar-actions{grid-template-columns:1fr}}

/* --- Chapali V1.4 : Sources --- */
.source-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1rem;margin-bottom:1rem}
.source-note{font-size:.88rem;color:#667085;word-break:break-word}
.source-actions{display:flex;gap:.35rem;flex-wrap:wrap}.source-actions form{display:inline}
.source-status{font-weight:800;text-transform:uppercase;font-size:.75rem}.oktxt{color:#087443}.badtxt{color:#b42318}
.table-wrap{overflow-x:auto}
@media(max-width:850px){.source-grid{grid-template-columns:1fr}}


/* ==========================================================================
   KELDEAL V1.5 — Aide admin + rafraîchissement visuel
   Palette conservée : bleu nuit #081522 / orange #ff6b1a
   ========================================================================== */

:root{
  --kd-navy:#081522;
  --kd-navy-2:#0c1e30;
  --kd-navy-3:#132a40;
  --kd-orange:#ff6b1a;
  --kd-orange-dark:#e9590b;
  --kd-paper:#f3f5f8;
  --kd-surface:#ffffff;
  --kd-line:#e3e8ef;
  --kd-text:#101828;
  --kd-muted:#667085;
  --kd-shadow:0 12px 36px rgba(8,21,34,.08);
  --kd-shadow-hover:0 18px 42px rgba(8,21,34,.13);
}

body{background:var(--kd-paper);color:var(--kd-text)}
.site-header{position:sticky;top:0;z-index:40;background:rgba(8,21,34,.97);backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(8,21,34,.13)}
.header-row{min-height:78px;gap:1.25rem}
.brand-lockup{display:flex;align-items:center;gap:.7rem;min-width:max-content}
.brand-lockup .brand-mark{margin:0;width:40px;height:40px;border-radius:10px;box-shadow:0 7px 16px rgba(255,107,26,.25)}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:1.78rem;letter-spacing:-.045em}
.brand-copy small{margin-top:.28rem;color:#9fb0c0;font-size:.68rem;font-weight:650;letter-spacing:.035em;text-transform:uppercase}
.search{max-width:660px;border:1px solid rgba(255,255,255,.12);box-shadow:0 7px 22px rgba(0,0,0,.18)}
.search input{padding:.9rem 1.05rem;font-size:.95rem;outline:none}
.search button{background:var(--kd-orange);color:#fff;padding:0 1.2rem;font-weight:800;cursor:pointer}
.search button:hover{background:var(--kd-orange-dark)}
.member-nav{align-items:center}
.member-nav a{font-size:.92rem;color:#edf3f8}
.member-nav .join{padding:.5rem .78rem;box-shadow:0 5px 16px rgba(255,107,26,.2)}
.cats{background:#0b1b2a;border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.04)}
.cats .wrap{gap:.12rem}
.cats a{padding:.58rem .72rem;color:#d9e4ed;font-size:.88rem;border-radius:8px}
.cats a:hover{background:rgba(255,255,255,.07);color:#fff}
.cats a.nav-shortcut{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;color:#fff}
.cats a.nav-shortcut .nav-shortcut-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;font-size:.82rem;line-height:1;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cats a.nav-shortcut-deals .nav-shortcut-icon{background:rgba(255,107,26,.22);color:#ffb48c}
.cats a.nav-shortcut-promo .nav-shortcut-icon{background:rgba(45,156,219,.20);color:#9fd8ff}
.cats a.nav-shortcut-watch .nav-shortcut-icon{background:rgba(39,174,96,.20);color:#9de7b8}
.cats a.nav-shortcut-guides .nav-shortcut-icon{background:rgba(155,81,224,.20);color:#d3b4ff}
.cats a.nav-shortcut:hover .nav-shortcut-icon{transform:translateY(-1px)}


.hero{background:
 radial-gradient(circle at 75% 30%,rgba(30,91,151,.34),transparent 36%),
 linear-gradient(110deg,#030911,#081b2d 55%,#113a65);overflow:hidden}
.hero-grid{min-height:420px}
.hero h1{letter-spacing:-.05em}
.hero p{color:#d0dae4}
.hero-img{position:relative}
.hero-img:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:rgba(255,255,255,.05);filter:blur(1px)}
.hero-img img,.hero-img span{position:relative;z-index:1}

.panel,.card,.dealrow{border-color:var(--kd-line);box-shadow:0 2px 10px rgba(8,21,34,.025)}
.card,.dealrow,.panel{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:hover,.dealrow:hover{transform:translateY(-2px);box-shadow:var(--kd-shadow-hover);border-color:#d3dbe5}
.card-img{background:linear-gradient(#fff,#fbfcfd)}
.card-body h3 a:hover,.dealrow h2 a:hover{color:var(--kd-orange)}
.btn{border-radius:9px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.accent{box-shadow:0 7px 16px rgba(255,107,26,.15)}
.btn.accent:hover{background:var(--kd-orange-dark);box-shadow:0 9px 20px rgba(255,107,26,.23)}
.section-head h2{letter-spacing:-.025em}
.section-head>a{display:inline-flex;align-items:center;gap:.25rem}

.input{background:#fff;border-color:#d6dde6;transition:border-color .15s ease,box-shadow .15s ease}
.input:focus{outline:none;border-color:#7d96ad;box-shadow:0 0 0 3px rgba(8,21,34,.075)}

.site-footer{background:#06111c;border-top:4px solid var(--kd-orange);padding:2.3rem 0;margin-top:3rem}
.footer-modern{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:3rem}
.footer-modern>div{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.footer-modern p{margin:.2rem 0;color:#aebdca;max-width:54ch}
.footer-modern a{color:#dce6ee;text-decoration:none}
.footer-modern a:hover{color:#fff}
.footer-modern>div>strong{color:#fff;margin-bottom:.25rem}
.footer-brand{font-size:1.35rem;font-weight:900;color:#fff!important}

/* Administration — navigation latérale */
.admin-body{background:#eef2f6}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--kd-navy);color:#fff;padding:1.1rem .8rem 1.25rem;box-shadow:8px 0 28px rgba(8,21,34,.07);z-index:50}
.admin-brand{padding:.3rem .5rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:1rem}
.admin-brand>a{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-size:1.35rem}
.admin-brand>a span{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:var(--kd-orange)}
.admin-brand small{display:block;color:#91a5b6;margin:.35rem 0 0 2.35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.admin-nav{display:grid;gap:.9rem}
.admin-nav-group{display:grid;gap:.18rem}
.admin-nav-title{padding:.25rem .65rem;color:#7f96a9;font-size:.68rem;font-weight:800;letter-spacing:.105em;text-transform:uppercase}
.admin-nav a{display:flex;align-items:center;gap:.65rem;padding:.58rem .7rem;border-radius:9px;color:#dce5ec;text-decoration:none;font-size:.91rem;font-weight:650}
.admin-nav a>span{display:grid;place-items:center;width:20px;color:#8ea3b4;font-size:1rem}
.admin-nav a:hover{background:rgba(255,255,255,.065);color:#fff}
.admin-nav a.is-active{background:linear-gradient(90deg,rgba(255,107,26,.19),rgba(255,107,26,.08));color:#fff;box-shadow:inset 3px 0 0 var(--kd-orange)}
.admin-nav a.is-active>span{color:#ff8b4d}
.admin-nav-bottom{margin-top:.3rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}
.admin-content{min-width:0}
.admin-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;background:#fff;border-bottom:1px solid var(--kd-line);position:sticky;top:0;z-index:25}
.admin-topbar>div:first-child{display:flex;flex-direction:column;line-height:1.15}
.admin-topbar strong{font-size:1.05rem}
.admin-kicker{color:var(--kd-orange);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.admin-top-actions{display:flex;align-items:center;gap:.55rem}
.admin-top-actions a{text-decoration:none;font-size:.87rem;font-weight:750}
.admin-help-shortcut{background:#fff5ee;color:#c84a00;padding:.42rem .7rem;border-radius:8px}
.admin-view-site{color:#475467}
.adminmain{width:min(1280px,calc(100% - 3rem));margin:0 auto;padding:1.8rem 0 3.5rem}
.adminmain h1{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.045em;margin:.1rem 0 1rem}
.admin-title{align-items:center}
.admin-title h1{margin-bottom:.25rem}
.adminmain .panel{box-shadow:0 5px 22px rgba(8,21,34,.045)}
.adminmain .table{border:1px solid var(--kd-line);border-radius:12px;overflow:hidden;box-shadow:0 5px 22px rgba(8,21,34,.04)}
.table th{background:#f7f9fb;color:#475467;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}
.table tr:hover td{background:#fbfcfd}
.stats>div,.member-stats .panel,.radar-stats a{box-shadow:0 5px 18px rgba(8,21,34,.04)}
.flash{box-shadow:0 4px 14px rgba(8,21,34,.04)}
.admin-mobilebar{display:none}

/* Aide */
.help-hero{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:2rem;background:
 linear-gradient(130deg,var(--kd-navy),#102b46);color:#fff;border-radius:16px;padding:2rem;margin-bottom:1.4rem;box-shadow:var(--kd-shadow)}
.help-hero h1{margin:.35rem 0 .55rem;font-size:clamp(2rem,4vw,3rem)}
.help-hero p{color:#c4d1dc;margin:0;max-width:680px}
.help-eyebrow{color:#ff965e;font-size:.72rem;font-weight:900;letter-spacing:.11em}
.help-hero-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem}
.help-hero-flow span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);padding:.6rem .75rem;border-radius:8px;font-weight:800;font-size:.85rem}
.help-hero-flow b{color:var(--kd-orange)}
.help-section{margin:1.4rem 0 2rem}
.help-section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.help-section-head>div{display:flex;align-items:center;gap:.6rem}
.help-section-head h2{margin:0;font-size:1.35rem}
.help-section-head>p{margin:0;color:var(--kd-muted);font-size:.9rem}
.help-step{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff1e8;color:#cf4b00;font-weight:900;font-size:.75rem}
.help-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.help-path{background:#fff;border:1px solid var(--kd-line);border-radius:13px;padding:1.15rem;box-shadow:0 5px 18px rgba(8,21,34,.035)}
.help-path-orange{border-top:3px solid var(--kd-orange)}
.help-path-icon{font-size:1.45rem}
.help-path h3{font-size:1.05rem;margin:.45rem 0}
.help-path ol{margin:.6rem 0 0;padding-left:1.25rem;color:#475467;font-size:.9rem}
.help-path li{margin:.35rem 0}
.help-path a{font-weight:750;color:#c84a00}
.help-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.help-module{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--kd-line);border-radius:12px;padding:1rem;text-decoration:none;transition:.18s ease}
.help-module>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:#eef2f6;color:var(--kd-navy);font-weight:900}
.help-module strong{display:block;margin:.1rem 0 .2rem}
.help-module p{margin:0;color:var(--kd-muted);font-size:.86rem}
.help-module:hover{transform:translateY(-2px);border-color:#cad4df;box-shadow:var(--kd-shadow)}
.help-module:hover>span{background:#fff0e7;color:#d34b00}
.help-glossary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.help-glossary>div{background:#fff;border-left:3px solid var(--kd-orange);border-radius:0 10px 10px 0;padding:.85rem 1rem}
.help-glossary p{margin:.2rem 0 0;color:var(--kd-muted);font-size:.86rem}
.help-routine{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem}
.help-routine>div{background:#fff;border:1px solid var(--kd-line);border-radius:11px;padding:.85rem;display:flex;gap:.6rem}
.help-routine b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:var(--kd-navy);color:#fff}
.help-routine span{display:flex;flex-direction:column}
.help-routine small{color:var(--kd-muted);margin-top:.15rem}
.help-checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.help-checklist>div{padding:.75rem 0;border-bottom:1px solid #edf0f3}
.help-checklist p{margin:.2rem 0;color:var(--kd-muted);font-size:.9rem}
.help-checklist a{color:#c84a00;font-weight:750}
.help-footer-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff7f2;border:1px solid #ffd9c3;border-radius:13px;padding:1.1rem 1.25rem}
.help-footer-card p{margin:.2rem 0 0;color:#7c4d33}

@media(max-width:1050px){
  .admin-shell{grid-template-columns:220px minmax(0,1fr)}
  .help-module-grid{grid-template-columns:repeat(2,1fr)}
  .help-routine{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .admin-mobilebar{display:flex;position:sticky;top:0;z-index:80;height:58px;align-items:center;justify-content:space-between;padding:0 1rem;background:var(--kd-navy);color:#fff}
  .admin-mobile-brand{color:#fff;text-decoration:none;font-weight:900}
  .admin-menu-toggle{border:0;background:rgba(255,255,255,.1);color:#fff;width:38px;height:38px;border-radius:8px;font-size:1.15rem}
  .admin-shell{display:block}
  .admin-sidebar{position:fixed;top:58px;left:0;width:250px;height:calc(100vh - 58px);transform:translateX(-105%);transition:transform .2s ease}
  .admin-nav-open .admin-sidebar{transform:translateX(0)}
  .admin-nav-open:after{content:"";position:fixed;inset:58px 0 0;background:rgba(3,10,17,.45);z-index:40}
  .admin-topbar{top:58px;padding:0 1rem}
  .adminmain{width:min(100% - 1.5rem,1280px)}
  .help-hero{grid-template-columns:1fr}
  .help-paths{grid-template-columns:1fr}
  .help-glossary{grid-template-columns:1fr 1fr}
  .footer-modern{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .header-row{padding:.7rem 0}
  .brand-copy small{display:none}
  .brand-copy strong{font-size:1.55rem}
  .search button{font-size:0;padding:0 .85rem}
  .search button:after{content:"⌕";font-size:1.15rem}
  .footer-modern{grid-template-columns:1fr}
  .admin-topbar{height:62px}
  .admin-top-actions .admin-view-site{display:none}
  .help-section-head{align-items:flex-start;flex-direction:column}
  .help-module-grid,.help-glossary,.help-routine,.help-checklist{grid-template-columns:1fr}
  .help-footer-card{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   KELDEAL V1.5.1 — Correctif header
   L'ancienne règle `.brand span` s'appliquait aussi au bloc texte du logo.
   ========================================================================== */

.brand.brand-lockup{
  display:flex;
  align-items:center;
  gap:.72rem;
  min-width:190px;
  font-size:inherit;
  line-height:1;
}

.brand.brand-lockup > .brand-mark{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  background:var(--kd-orange);
  color:#fff;
  border-radius:10px;
  box-shadow:0 7px 16px rgba(255,107,26,.25);
}

.brand.brand-lockup > .brand-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  height:auto;
  min-width:0;
  margin:0;
  padding:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  transform:none;
  line-height:1.05;
}

.brand.brand-lockup > .brand-copy > strong{
  display:block;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  background:transparent;
  color:#fff;
  font-size:1.78rem;
  font-weight:900;
  letter-spacing:-.045em;
  white-space:nowrap;
}

.brand.brand-lockup > .brand-copy > small{
  display:block;
  width:auto;
  height:auto;
  margin:.28rem 0 0;
  padding:0;
  background:transparent;
  color:#9fb0c0;
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.045em;
  line-height:1.15;
  text-transform:uppercase;
  white-space:nowrap;
}

.header-row > .search{
  min-width:260px;
}

@media(max-width:900px){
  .brand.brand-lockup{min-width:auto}
  .brand.brand-lockup > .brand-copy > small{display:none}
}

@media(max-width:620px){
  .brand.brand-lockup > .brand-copy > strong{font-size:1.45rem}
  .brand.brand-lockup > .brand-mark{
    flex-basis:36px;
    width:36px;
    height:36px;
  }
}


/* --- Chapali V1.5.2 : Charte images intégrée --- */
.image-spec{
  display:flex;
  flex-direction:column;
  gap:.12rem;
  margin-top:.35rem;
  padding:.62rem .72rem;
  background:#fff7f2;
  border:1px solid #ffd9c3;
  border-left:3px solid var(--kd-orange,#ff6b1a);
  border-radius:8px;
  color:#7c4d33;
  font-weight:500;
}
.image-spec b{color:#c84a00;font-size:.82rem}
.image-spec small{font-size:.76rem;line-height:1.35;color:#7c6253;font-weight:500}

.image-charter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
.image-charter-card{
  display:grid;
  grid-template-columns:38px 1fr;
  grid-template-rows:auto auto auto;
  column-gap:.65rem;
  background:#fff;
  border:1px solid var(--kd-line,#e3e8ef);
  border-radius:12px;
  padding:.9rem;
}
.image-charter-card>span{
  grid-row:1/4;
  display:grid;
  place-items:center;
  align-self:start;
  width:38px;height:38px;
  border-radius:9px;
  background:#fff0e7;
  color:#d34b00;
  font-size:1.05rem;
}
.image-charter-card strong{font-size:.92rem}
.image-charter-card b{color:#101828;font-size:.9rem;margin-top:.15rem}
.image-charter-card small{color:#667085;font-size:.77rem;margin-top:.05rem}
.image-charter-rule{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  margin-top:.8rem;
  padding:.75rem .9rem;
  background:#081522;
  color:#fff;
  border-radius:10px;
}
.image-charter-rule strong{margin-right:.2rem}
.image-charter-rule span{
  background:rgba(255,255,255,.09);
  padding:.25rem .5rem;
  border-radius:999px;
  font-size:.8rem;
}
@media(max-width:900px){.image-charter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.image-charter-grid{grid-template-columns:1fr}}


/* --- Chapali V1.5.3 : import des guides --- */
.admin-title-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.guide-import-intro{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;background:linear-gradient(130deg,#fff,#fff7f2)}
.guide-import-intro h2{margin:.25rem 0}
.guide-import-intro p{margin:.2rem 0;color:#667085}
.guide-import-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff0e7;color:#d34b00;font-size:1.35rem;font-weight:900}
.guide-import-flow{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.guide-import-flow span{background:#081522;color:#fff;padding:.45rem .58rem;border-radius:8px;font-size:.78rem;font-weight:800}
.guide-import-flow b{color:#ff6b1a}
.guide-import-form{display:grid;gap:1rem}
.guide-import-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}
.guide-import-rules>div{background:#f7f9fb;border:1px solid #e3e8ef;border-radius:10px;padding:.75rem}
.guide-import-rules b,.guide-import-rules span{display:block}
.guide-import-rules b{font-size:.82rem;margin-bottom:.15rem}
.guide-import-rules span{font-size:.76rem;color:#667085;line-height:1.35}
.guide-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:0 0 1rem}
.guide-import-summary>div{background:#fff;border:1px solid #e3e8ef;border-radius:11px;padding:.9rem;box-shadow:0 5px 18px rgba(8,21,34,.04)}
.guide-import-summary b{display:block;font-size:1.45rem;color:#081522}
.guide-import-summary span{color:#667085;font-size:.78rem}
.table-scroll{overflow:auto}
.guide-import-table{min-width:780px}
.guide-import-table td{vertical-align:top}
.import-badge{display:inline-flex;padding:.25rem .48rem;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap}
.import-badge.ok{background:#ecfdf3;color:#027a48}
.import-badge.warn{background:#fff8e7;color:#9a6700}
.import-badge.bad{background:#fff0f0;color:#b42318}
.import-slug{display:block;margin-top:.2rem;color:#98a2b3;font-size:.72rem}
.guide-import-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}
.guide-import-actions form{margin:0}
.guide-import-actions button[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.guide-help-import{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
.guide-help-import>div{display:flex;gap:.55rem}
.guide-help-import b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#081522;color:#fff}
.guide-help-import span{display:flex;flex-direction:column}
.guide-help-import small{color:#667085;margin-top:.15rem;line-height:1.35}
@media(max-width:1000px){
  .guide-import-rules,.guide-help-import{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .guide-import-intro{align-items:flex-start;flex-direction:column}
  .guide-import-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .guide-import-rules,.guide-help-import,.guide-import-summary{grid-template-columns:1fr}
  .guide-import-actions{justify-content:stretch}
  .guide-import-actions form,.guide-import-actions button{width:100%}
}


/* ==========================================================================
   KELDEAL V1.5.4 — Accueil premium
   Direction : maquette Chapali validée, palette actuelle conservée.
   CSS uniquement : aucune modification PHP / SQL.
   ========================================================================== */

:root{
  --kd-orange:#ff6b1a;
  --kd-orange-hover:#e95b0c;
  --kd-navy:#071522;
  --kd-navy-soft:#0d2236;
  --kd-bg:#f5f6f8;
  --kd-card:#ffffff;
  --kd-border:#e5e9ef;
  --kd-text:#111827;
  --kd-muted:#667085;
}

/* Fond et largeur générale du site public */
body:not(.admin-body){
  background:var(--kd-bg);
}
body:not(.admin-body) .wrap{
  width:min(1280px,calc(100% - 40px));
}

/* HERO : gros bloc premium proche de la maquette */
body:not(.admin-body) .hero{
  width:min(1280px,calc(100% - 40px));
  margin:28px auto 0;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 28%,rgba(38,107,171,.35),transparent 34%),
    radial-gradient(circle at 62% 100%,rgba(255,107,26,.10),transparent 28%),
    linear-gradient(118deg,#06111c 0%,#091c2e 56%,#123c66 100%);
  box-shadow:0 24px 55px rgba(7,21,34,.16);
}
body:not(.admin-body) .hero-grid{
  min-height:430px;
  padding:44px 52px;
  grid-template-columns:1.08fr .92fr;
  gap:44px;
}
body:not(.admin-body) .hero .badge{
  padding:.42rem .72rem;
  border-radius:999px;
  letter-spacing:.06em;
  font-size:.72rem;
  box-shadow:0 7px 18px rgba(255,107,26,.22);
}
body:not(.admin-body) .hero h1{
  max-width:720px;
  margin:.78rem 0 .7rem;
  font-size:clamp(2.6rem,4.8vw,4.55rem);
  line-height:.98;
  letter-spacing:-.055em;
}
body:not(.admin-body) .hero p{
  max-width:650px;
  margin:.45rem 0;
  color:#cbd6df;
  font-size:1rem;
  line-height:1.55;
}
body:not(.admin-body) .hero-price{
  margin:1.15rem 0 .55rem;
}
body:not(.admin-body) .hero-price strong{
  font-size:2.35rem;
  letter-spacing:-.04em;
}
body:not(.admin-body) .hero .btn.accent{
  margin-top:.65rem;
  min-height:48px;
  padding:.76rem 1.22rem;
  border-radius:10px;
  font-size:.95rem;
}
body:not(.admin-body) .hero-img{
  height:330px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  overflow:hidden;
}
body:not(.admin-body) .hero-img img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  padding:26px;
}

/* Sections */
body:not(.admin-body) .section{
  padding-top:36px;
  padding-bottom:10px;
}
body:not(.admin-body) .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:17px;
}
body:not(.admin-body) .section-head h2{
  margin:0;
  color:#101828;
  font-size:1.55rem;
  letter-spacing:-.035em;
}
body:not(.admin-body) .section-head>a{
  color:#344054;
  font-weight:800;
  text-decoration:none;
  font-size:.88rem;
}
body:not(.admin-body) .section-head>a:hover{
  color:var(--kd-orange);
}

/* Bons plans : 4 cartes sur desktop, visuels plus généreux */
body:not(.admin-body) .grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
body:not(.admin-body) .card{
  border:1px solid var(--kd-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 24px rgba(8,21,34,.055);
  overflow:hidden;
}
body:not(.admin-body) .card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(8,21,34,.11);
}
body:not(.admin-body) .card-img{
  height:235px;
  background:
    radial-gradient(circle at 50% 40%,#fff 0%,#fff 54%,#f8fafc 100%);
  border-bottom:1px solid #eef1f4;
}
body:not(.admin-body) .card-img img{
  padding:20px;
}
body:not(.admin-body) .card-img b{
  top:12px;
  left:12px;
  padding:.34rem .55rem;
  border-radius:999px;
  color:#e94d09;
  background:#fff7f2;
  border:1px solid #ffd9c3;
  box-shadow:none;
  font-size:.76rem;
}
body:not(.admin-body) .card-body{
  display:flex;
  flex-direction:column;
  min-height:255px;
  padding:18px;
}
body:not(.admin-body) .card-body h3{
  margin:0 0 .35rem;
  font-size:1.02rem;
  line-height:1.3;
}
body:not(.admin-body) .card-body h3 a{
  color:#101828;
}
body:not(.admin-body) .card-body p{
  min-height:0;
  margin:.2rem 0 .65rem;
  color:#667085;
  font-size:.84rem;
  line-height:1.45;
}
body:not(.admin-body) .card-body .price{
  margin-top:auto;
  margin-bottom:.2rem;
}
body:not(.admin-body) .card-body .price strong{
  color:var(--kd-orange);
  font-size:1.42rem;
  letter-spacing:-.035em;
}
body:not(.admin-body) .card-body small{
  color:#7b8794;
}
body:not(.admin-body) .card-body .btn{
  min-height:42px;
  margin-top:.85rem;
  border:0;
  border-radius:9px;
  background:var(--kd-orange);
  color:#fff;
}
body:not(.admin-body) .card-body .btn:hover{
  background:var(--kd-orange-hover);
}

/* Produits à surveiller / Guides */
body:not(.admin-body) .split{
  width:min(1280px,calc(100% - 40px));
  margin:30px auto 0;
  padding-bottom:38px;
  gap:18px;
}
body:not(.admin-body) .split>.panel{
  padding:22px;
  border:1px solid var(--kd-border);
  border-radius:16px;
  box-shadow:0 7px 24px rgba(8,21,34,.05);
}
body:not(.admin-body) .split>.panel:first-child{
  border-top:4px solid var(--kd-orange);
}
body:not(.admin-body) .watch{
  position:relative;
  padding:13px 0;
  border-bottom:1px solid #edf0f3;
}
body:not(.admin-body) .watch:last-child{
  border-bottom:0;
}
body:not(.admin-body) .watch strong{
  font-size:.94rem;
  color:#101828;
}
body:not(.admin-body) .watch span{
  color:#667085;
}
body:not(.admin-body) .watch span b{
  color:var(--kd-orange);
}
body:not(.admin-body) .split>.panel:nth-child(2)>p{
  margin:0;
  padding:12px 0;
  border-bottom:1px solid #edf0f3;
}
body:not(.admin-body) .split>.panel:nth-child(2)>p:last-child{
  border-bottom:0;
}
body:not(.admin-body) .split>.panel:nth-child(2) a{
  color:#101828;
  text-decoration:none;
}
body:not(.admin-body) .split>.panel:nth-child(2) a:hover{
  color:var(--kd-orange);
}
body:not(.admin-body) .split>.panel:nth-child(2) small{
  display:block;
  margin-top:.28rem;
  color:#667085;
  line-height:1.42;
}

/* CTA : orange assumé mais réservé aux actions */
body:not(.admin-body) .btn.accent{
  background:var(--kd-orange);
  border-color:var(--kd-orange);
  color:#fff;
}
body:not(.admin-body) .btn.accent:hover{
  background:var(--kd-orange-hover);
  border-color:var(--kd-orange-hover);
}

/* Responsive */
@media(max-width:1100px){
  body:not(.admin-body) .hero-grid{
    padding:38px;
  }
  body:not(.admin-body) .grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:860px){
  body:not(.admin-body) .hero{
    margin-top:18px;
  }
  body:not(.admin-body) .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
    padding:34px 28px;
  }
  body:not(.admin-body) .hero-img{
    height:285px;
  }
  body:not(.admin-body) .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body:not(.admin-body) .split{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  body:not(.admin-body) .wrap,
  body:not(.admin-body) .hero,
  body:not(.admin-body) .split{
    width:min(100% - 24px,1280px);
  }
  body:not(.admin-body) .hero{
    border-radius:16px;
  }
  body:not(.admin-body) .hero-grid{
    padding:28px 20px;
    gap:24px;
  }
  body:not(.admin-body) .hero h1{
    font-size:2.25rem;
  }
  body:not(.admin-body) .hero-img{
    height:230px;
  }
  body:not(.admin-body) .grid{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .card-img{
    height:245px;
  }
  body:not(.admin-body) .card-body{
    min-height:0;
  }
}


/* ==========================================================================
   KELDEAL V1.5.5 — Structure d'accueil enrichie
   ========================================================================== */

.section-kicker{
  display:block;
  margin-bottom:.3rem;
  color:var(--kd-orange,#ff6b1a);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.home-section-head>div>p{
  margin:.35rem 0 0;
  color:#667085;
  font-size:.9rem;
}
.hero-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.hero-secondary{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.hero-secondary:hover{background:rgba(255,255,255,.13)}
.hero-merchant{font-size:.9rem!important}
.hero-empty-visual{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.055);
  color:#fff;
}
.hero-empty-visual>span{
  display:grid;
  place-items:center;
  width:96px;height:96px;
  margin-bottom:1rem;
  border-radius:50%;
  background:#fff;
  color:#ff6b1a;
  font-size:3rem;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.hero-empty-visual strong{font-size:1.5rem}
.hero-empty-visual small{margin-top:.35rem;color:#aebdca}

.home-categories{padding-top:34px}
.category-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
}
.category-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:132px;
  padding:14px 8px;
  border:1px solid #e5e9ef;
  border-radius:14px;
  background:#fff;
  color:#101828;
  text-align:center;
  text-decoration:none;
  box-shadow:0 4px 15px rgba(8,21,34,.035);
  transition:.18s ease;
}
.category-card:hover{
  transform:translateY(-3px);
  border-color:#ffd0b5;
  box-shadow:0 12px 26px rgba(8,21,34,.09);
}
.category-icon{
  display:grid;
  place-items:center;
  width:54px;height:54px;
  margin-bottom:.55rem;
  border-radius:50%;
  background:#fff1e8;
  color:#e6540a;
  font-size:1.55rem;
}
.category-card strong{font-size:.83rem;line-height:1.18}
.category-card small{margin-top:.2rem;color:#98a2b3;font-size:.7rem}

.deal-merchant{
  margin-bottom:.35rem;
  color:#98a2b3!important;
  font-size:.72rem!important;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.home-empty{
  padding:2rem;
  border:1px dashed #cfd8e3;
  border-radius:14px;
  background:#fff;
  color:#667085;
  text-align:center;
}

.home-watch-zone{
  margin-top:34px;
  padding:12px 0 38px;
  background:#fff;
  border-top:1px solid #eaedf1;
  border-bottom:1px solid #eaedf1;
}
.watch-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.watch-card{
  overflow:hidden;
  border:1px solid #e5e9ef;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 19px rgba(8,21,34,.045);
}
.watch-image{
  height:165px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  border-bottom:1px solid #edf0f3;
}
.watch-image img{
  width:100%;height:100%;
  object-fit:contain;
  padding:16px;
}
.watch-image>span{font-size:3rem;color:#ff6b1a}
.watch-card-body{padding:15px}
.watch-card-body>strong{
  display:block;
  min-height:2.35em;
  font-size:.95rem;
  line-height:1.2;
}
.watch-card-body>p{
  margin:.35rem 0 .75rem;
  min-height:2.6em;
  color:#667085;
  font-size:.78rem;
  line-height:1.35;
}
.watch-prices{display:grid;gap:.3rem}
.watch-prices span{
  display:flex;
  justify-content:space-between;
  gap:.7rem;
  padding:.43rem .52rem;
  border-radius:7px;
  background:#f7f9fb;
  color:#667085;
  font-size:.75rem;
}
.watch-prices b{color:#101828}
.watch-prices .excellent{
  background:#fff2ea;
  color:#b54708;
}
.watch-prices .excellent b{color:#e6530a}

.promo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.promo-card{
  overflow:hidden;
  border:1px solid #e5e9ef;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 22px rgba(8,21,34,.05);
}
.promo-brand{
  height:78px;
  display:grid;
  place-items:center;
  padding:12px;
  background:#f8fafc;
  border-bottom:1px solid #edf0f3;
}
.promo-brand img{max-width:150px;max-height:50px;object-fit:contain}
.promo-brand span{font-weight:900;color:#344054}
.promo-card-body{padding:16px}
.promo-value{
  display:inline-flex;
  margin-bottom:.45rem;
  padding:.25rem .45rem;
  border-radius:999px;
  background:#fff0e7;
  color:#d34b00;
  font-size:.72rem;
  font-weight:900;
}
.promo-card h3{margin:.15rem 0 .25rem;font-size:.96rem;line-height:1.25}
.promo-card small{color:#98a2b3}
.promo-code-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.4rem;
  margin-top:.8rem;
}
.promo-code-row code{
  overflow:hidden;
  padding:.58rem .65rem;
  border:1px dashed #ffb78f;
  border-radius:8px;
  background:#fff8f4;
  color:#9b3c08;
  font-weight:900;
  text-overflow:ellipsis;
}
.promo-copy{
  border:0;
  border-radius:8px;
  background:#081522;
  color:#fff;
  padding:0 .7rem;
  font-weight:800;
  cursor:pointer;
}
.promo-link{
  display:inline-block;
  margin-top:.7rem;
  color:#d34b00;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
}

.home-guides-zone{
  margin-top:30px;
  padding:8px 0 42px;
  background:#eef2f6;
}
.guide-home-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.guide-home-card{
  overflow:hidden;
  border:1px solid #e1e6ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(8,21,34,.05);
}
.guide-home-image{
  height:190px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#f7f9fb;
}
.guide-home-image img{width:100%;height:100%;object-fit:cover}
.guide-home-image>span{font-size:3.2rem;color:#ff6b1a}
.guide-home-body{padding:17px}
.guide-home-body>span{
  color:#ff6b1a;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.guide-home-body h3{margin:.35rem 0 .45rem;font-size:1.04rem;line-height:1.3}
.guide-home-body h3 a{color:#101828;text-decoration:none}
.guide-home-body h3 a:hover{color:#ff6b1a}
.guide-home-body p{margin:0;color:#667085;font-size:.83rem;line-height:1.45}
.guide-read{display:inline-block;margin-top:.8rem;color:#344054;font-size:.82rem;font-weight:850;text-decoration:none}
.guide-read:hover{color:#ff6b1a}

.home-trust{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  margin-top:36px;
  margin-bottom:36px;
  border:1px solid #e3e8ef;
  border-radius:15px;
  background:#e3e8ef;
}
.home-trust>div{
  min-height:112px;
  display:grid;
  grid-template-columns:36px 1fr;
  grid-template-rows:auto auto;
  column-gap:.7rem;
  align-content:center;
  padding:17px;
  background:#fff;
}
.home-trust>div>span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border-radius:50%;
  background:#fff0e7;
  color:#e6530a;
  font-weight:900;
}
.home-trust strong{font-size:.84rem}
.home-trust small{margin-top:.2rem;color:#667085;font-size:.73rem;line-height:1.35}

@media(max-width:1100px){
  .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .watch-grid,.promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .guide-home-grid{grid-template-columns:1fr}
  .home-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .watch-grid,.promo-grid,.home-trust{grid-template-columns:1fr}
  .category-card{min-height:112px}
  .hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions .btn{width:100%}
}


/* Chapali V1.5.11 — SEO images Bons plans */
.deal-image-figure{width:100%;margin:0;overflow:hidden;border-radius:14px;background:#fff}
.deal-image-figure img{width:100%;height:100%;max-height:430px;object-fit:contain;padding:18px}
.deal-image-figure figcaption{padding:.7rem .9rem;border-top:1px solid #edf0f3;color:#667085;font-size:.8rem;line-height:1.4;text-align:center}


/* ==========================================================================
   KELDEAL V1.5.12 — Hero plus compact, visuel et orienté conversion
   ========================================================================== */

body:not(.admin-body) .home-hero{
  width:min(1280px,calc(100% - 40px));
  margin:24px auto 0;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 38%,rgba(26,91,148,.42),transparent 32%),
    linear-gradient(115deg,#071522 0%,#0a1d2f 55%,#133f69 100%);
  box-shadow:0 22px 52px rgba(7,21,34,.16);
}

body:not(.admin-body) .home-hero .hero-grid{
  width:100%;
  min-height:390px;
  padding:38px 44px;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  gap:42px;
}

body:not(.admin-body) .home-hero .hero-copy{
  align-self:center;
  min-width:0;
  max-width:700px;
}

body:not(.admin-body) .hero-topline{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  margin-bottom:15px;
}

body:not(.admin-body) .home-hero .badge{
  padding:.4rem .66rem;
  border-radius:999px;
  font-size:.68rem;
  letter-spacing:.055em;
  box-shadow:none;
}

body:not(.admin-body) .hero-discount{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:.3rem .55rem;
  border-radius:999px;
  background:#fff;
  color:#d94b00;
  font-size:.76rem;
  font-weight:900;
}

body:not(.admin-body) .home-hero h1{
  max-width:650px;
  margin:0 0 13px;
  font-size:clamp(2rem,3.35vw,3.15rem);
  line-height:1.03;
  letter-spacing:-.047em;
  text-wrap:balance;
}

body:not(.admin-body) .hero-excerpt{
  max-width:620px!important;
  margin:0!important;
  color:#c4d0db!important;
  font-size:.95rem!important;
  line-height:1.55!important;
}

body:not(.admin-body) .hero-buyline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:21px 0 16px;
}

body:not(.admin-body) .home-hero .hero-price{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0;
}

body:not(.admin-body) .home-hero .hero-price strong{
  color:#ff7628;
  font-size:2.15rem;
  line-height:1;
}

body:not(.admin-body) .home-hero .hero-price del{
  color:#aebdca;
  font-size:.92rem;
}

body:not(.admin-body) .hero-saving{
  display:inline-flex;
  padding:.28rem .5rem;
  border:1px solid rgba(255,118,40,.28);
  border-radius:7px;
  background:rgba(255,107,26,.11);
  color:#ffaf7d;
  font-size:.74rem;
  font-weight:800;
}

body:not(.admin-body) .hero-meta{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:19px;
}

body:not(.admin-body) .hero-merchant{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0!important;
}

body:not(.admin-body) .hero-merchant img{
  width:38px;
  height:38px;
  padding:5px;
  object-fit:contain;
  border-radius:9px;
  background:#fff;
}

body:not(.admin-body) .hero-merchant>span{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}

body:not(.admin-body) .hero-merchant strong{
  color:#fff;
  font-size:.88rem;
}

body:not(.admin-body) .hero-merchant small{
  margin-top:3px;
  color:#aebdca;
  font-size:.72rem;
}

body:not(.admin-body) .hero-stock{
  color:#9bd8ae;
  font-size:.76rem;
  font-weight:800;
}

body:not(.admin-body) .home-hero .hero-actions{
  gap:14px;
}

body:not(.admin-body) .hero-main-cta{
  min-height:46px!important;
  margin:0!important;
  padding:.7rem 1rem!important;
  border-radius:9px!important;
  font-size:.9rem!important;
  box-shadow:0 10px 23px rgba(255,107,26,.22);
}

body:not(.admin-body) .hero-main-cta span{
  margin-left:.35rem;
  transition:transform .18s ease;
}

body:not(.admin-body) .hero-main-cta:hover span{
  transform:translateX(3px);
}

body:not(.admin-body) .hero-detail-link{
  color:#d6e0e8;
  font-size:.82rem;
  font-weight:800;
  text-decoration:none;
}

body:not(.admin-body) .hero-detail-link:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}

body:not(.admin-body) .hero-media{
  position:relative;
  align-self:center;
  display:grid;
  place-items:center;
  height:310px;
  min-width:0;
  padding:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:19px;
  background:rgba(255,255,255,.97);
  box-shadow:0 18px 38px rgba(0,0,0,.17);
  text-decoration:none;
}

body:not(.admin-body) .hero-media:before{
  content:"";
  position:absolute;
  inset:auto 10% -28% 10%;
  height:50%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,81,128,.12),transparent 68%);
  pointer-events:none;
}

body:not(.admin-body) .hero-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-height:none;
  padding:8px;
  object-fit:contain;
  transition:transform .25s ease;
}

body:not(.admin-body) .hero-media:hover img{
  transform:scale(1.025);
}

body:not(.admin-body) .hero-media>span{
  font-size:6rem;
}

body:not(.admin-body) .hero-media-discount{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  padding:.42rem .55rem;
  border-radius:8px;
  background:#ff6b1a;
  color:#fff;
  font-size:.82rem;
  box-shadow:0 8px 18px rgba(255,107,26,.24);
}

@media(max-width:1000px){
  body:not(.admin-body) .home-hero .hero-grid{
    grid-template-columns:1fr .82fr;
    gap:28px;
    padding:32px;
  }
  body:not(.admin-body) .hero-media{height:275px}
}

@media(max-width:780px){
  body:not(.admin-body) .home-hero .hero-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  body:not(.admin-body) .home-hero h1{
    max-width:none;
    font-size:clamp(2rem,9vw,2.8rem);
  }
  body:not(.admin-body) .hero-media{
    order:-1;
    width:100%;
    height:270px;
  }
}

@media(max-width:560px){
  body:not(.admin-body) .home-hero{
    width:calc(100% - 24px);
    border-radius:16px;
  }
  body:not(.admin-body) .home-hero .hero-grid{
    padding:20px;
  }
  body:not(.admin-body) .hero-media{
    height:230px;
    border-radius:14px;
  }
  body:not(.admin-body) .hero-buyline{
    margin-top:17px;
  }
}

/* ==========================================================================
   Chapali V1.5.13 — Rafraîchissement page Guides
   ========================================================================== */
.guides-catalog-page{padding-top:26px;padding-bottom:18px}
.guides-catalog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}
.guides-catalog-head h1{margin:.2rem 0 .45rem;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.08;color:#081522}
.guides-catalog-head p{max-width:760px;margin:0;color:#667085;font-size:1rem;line-height:1.6}
.guides-catalog-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:.75rem 1rem;border-radius:16px;background:#fff;border:1px solid #e4e9f0;box-shadow:0 12px 28px rgba(8,21,34,.06);font-size:.95rem;font-weight:900;color:#081522}

.guide-featured-card{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:0;overflow:hidden;border:1px solid #e5e9ef;border-radius:24px;background:#fff;box-shadow:0 20px 48px rgba(8,21,34,.08);margin-bottom:26px}
.guide-featured-media{display:block;min-height:360px;background:#eef3f8;text-decoration:none}
.guide-featured-media img{width:100%;height:100%;object-fit:cover}
.guide-featured-media span{display:grid;place-items:center;height:100%;font-size:4rem;color:#ff6b1a}
.guide-featured-body{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}
.guide-featured-kicker{display:inline-flex;align-self:flex-start;padding:.38rem .7rem;border-radius:999px;background:#fff0e7;color:#d34b00;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.guide-featured-body h2{margin:.95rem 0 .8rem;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.08}
.guide-featured-body h2 a{text-decoration:none;color:#081522}
.guide-featured-body h2 a:hover{color:#ff6b1a}
.guide-featured-body p{margin:0;color:#475467;font-size:1rem;line-height:1.7;max-width:58ch}
.guide-featured-actions{margin-top:1.35rem}

.guides-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-catalog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e4e9f0;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(8,21,34,.05);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.guide-catalog-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(8,21,34,.08);border-color:#d8e1ea}
.guide-catalog-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef3f8;text-decoration:none}
.guide-catalog-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.guide-catalog-card:hover .guide-catalog-image img{transform:scale(1.03)}
.guide-catalog-image span{display:grid;place-items:center;height:100%;font-size:3.5rem;color:#ff6b1a}
.guide-catalog-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.guide-catalog-label{display:inline-flex;align-self:flex-start;padding:.28rem .55rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.guide-catalog-body h3{margin:.85rem 0 .55rem;font-size:1.15rem;line-height:1.28}
.guide-catalog-body h3 a{color:#081522;text-decoration:none}
.guide-catalog-body h3 a:hover{color:#ff6b1a}
.guide-catalog-body p{margin:0;color:#667085;font-size:.92rem;line-height:1.58;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.guide-catalog-read{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:14px;color:#ff6b1a;font-size:.88rem;font-weight:900;text-decoration:none}
.guide-catalog-read:hover{text-decoration:underline;text-underline-offset:4px}

@media(max-width:1100px){
  .guides-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .guides-catalog-head{flex-direction:column;align-items:flex-start}
  .guide-featured-card{grid-template-columns:1fr}
  .guide-featured-media{min-height:280px}
}
@media(max-width:640px){
  .guides-catalog-grid{grid-template-columns:1fr}
  .guide-featured-body{padding:24px 20px}
  .guide-catalog-body{padding:16px}
}



/* ==========================================================================
   KELDEAL V1.5.14 — Hero consolidé et compact
   ========================================================================== */
body:not(.admin-body) .home-hero{
  width:min(1240px,calc(100% - 32px));
  margin:22px auto 0;
  border-radius:20px;
}
body:not(.admin-body) .home-hero .hero-grid{
  width:100%;
  min-height:360px;
  padding:34px 38px;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.78fr);
  gap:34px;
}
body:not(.admin-body) .home-hero .hero-copy{max-width:650px}
body:not(.admin-body) .home-hero h1{
  max-width:640px;
  margin:0 0 12px;
  font-size:clamp(2rem,2.85vw,2.85rem);
  line-height:1.04;
  letter-spacing:-.045em;
  text-wrap:balance;
}
body:not(.admin-body) .hero-excerpt{
  max-width:590px!important;
  font-size:.92rem!important;
  line-height:1.5!important;
}
body:not(.admin-body) .hero-topline{margin-bottom:13px}
body:not(.admin-body) .hero-discount{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
body:not(.admin-body) .hero-buyline{margin:18px 0 14px}
body:not(.admin-body) .home-hero .hero-price strong{font-size:2rem}
body:not(.admin-body) .hero-saving{font-size:.72rem}
body:not(.admin-body) .hero-meta{margin-bottom:17px}
body:not(.admin-body) .hero-merchant img{
  width:40px!important;
  height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  padding:5px!important;
  object-fit:contain!important;
  border-radius:9px!important;
  background:#fff!important;
}
body:not(.admin-body) .hero-media{
  height:285px;
  padding:14px;
  border-radius:17px;
  background:rgba(255,255,255,.98);
}
body:not(.admin-body) .hero-media img{
  padding:4px;
  object-fit:contain;
}
body:not(.admin-body) .hero-media-discount{top:12px;right:12px}
@media(max-width:1000px){
  body:not(.admin-body) .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);
    padding:30px;
    gap:26px;
  }
  body:not(.admin-body) .home-hero h1{font-size:clamp(2rem,3.5vw,2.65rem)}
  body:not(.admin-body) .hero-media{height:260px}
}
@media(max-width:780px){
  body:not(.admin-body) .home-hero .hero-grid{grid-template-columns:1fr}
  body:not(.admin-body) .hero-media{order:-1;height:250px}
}


/* ==========================================================================
   KELDEAL V1.5.15 — Fiche bon plan plus attractive
   ========================================================================== */
.deal-page{padding-top:30px}
.deal-detail-card{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid #e3e8ef;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(8,21,34,.08)}
.deal-detail-media{position:relative;display:grid;place-items:center;min-height:520px;padding:28px;background:linear-gradient(145deg,#f8fafc,#eef3f7);border-right:1px solid #edf0f3}
.deal-detail-media .deal-image-figure{width:100%;height:100%;display:grid;place-items:center;background:transparent;border-radius:0}
.deal-detail-media .deal-image-figure img{width:100%;height:100%;max-height:430px;padding:0;object-fit:contain}
.deal-detail-media .deal-image-figure figcaption{position:absolute;left:24px;right:24px;bottom:16px;border:0;border-radius:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.deal-detail-placeholder{font-size:6rem}
.deal-detail-discount{position:absolute;top:22px;left:22px;display:inline-flex;padding:.52rem .7rem;border-radius:10px;background:#ff6b1a;color:#fff;font-size:.88rem;font-weight:900;box-shadow:0 8px 18px rgba(255,107,26,.22)}
.deal-detail-info{padding:34px 36px}
.deal-detail-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.deal-detail-heat{color:#ff6b1a;font-size:.82rem;font-weight:900}
.deal-detail-info h1{max-width:760px;margin:0;color:#081522;font-size:clamp(2rem,3.25vw,3rem);line-height:1.05;letter-spacing:-.045em}
.deal-detail-excerpt{max-width:720px;margin:14px 0 0;color:#5f6b7a;font-size:.98rem;line-height:1.58}
.deal-price-box{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:25px 0 17px}
.deal-price-main{display:flex;align-items:baseline;gap:10px}
.deal-price-main strong{color:#ff5d21;font-size:2.4rem;line-height:1;letter-spacing:-.04em}
.deal-price-main del{color:#667085;font-size:1rem;font-weight:700}
.deal-saving-chip{display:inline-flex;padding:.36rem .56rem;border-radius:999px;background:#fff1e8;color:#b54708;font-size:.75rem;font-weight:900}
.deal-merchant-card{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;padding:13px 14px;border:1px solid #e8edf2;border-radius:14px;background:#fafbfc}
.deal-merchant-main{display:flex;align-items:center;gap:11px}
.deal-merchant-logo{width:62px;height:44px;display:grid;place-items:center;padding:5px;border:1px solid #edf0f3;border-radius:9px;background:#fff}
.deal-merchant-logo img{width:100%;height:100%;object-fit:contain}
.deal-merchant-main>div:last-child{display:flex;flex-direction:column;gap:2px}
.deal-merchant-main strong{color:#101828;font-size:.92rem}
.deal-merchant-main small{color:#667085;font-size:.76rem}
.deal-trustpilot{display:flex;flex-direction:column;align-items:flex-end;color:#087443;font-size:.8rem;font-weight:900;text-decoration:none}
.deal-trustpilot small{color:#667085;font-size:.7rem;font-weight:600}
.deal-trustpilot:hover{text-decoration:underline;text-underline-offset:3px}
.deal-promo-box{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:10px 12px;border:1px dashed #ffb78f;border-radius:10px;background:#fff8f4}
.deal-promo-box span{color:#8f4b27;font-size:.78rem;font-weight:800}
.deal-promo-box code{color:#9b3c08;font-weight:900}
.deal-actions-primary{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:0 0 12px}
.deal-actions-primary form{margin:0}
.deal-buy-btn{min-height:50px;padding:.78rem 1.15rem;border-radius:10px;box-shadow:0 10px 22px rgba(255,107,26,.2)}
.deal-buy-btn span{margin-left:.35rem}
.deal-favorite-btn{min-height:50px;padding:.78rem 1rem;border-radius:10px;background:#fff}
.deal-favorite-btn.is-fav{border-color:#ffb78f;background:#fff7f2;color:#c84a00}
.deal-stock-line{display:flex;align-items:center;gap:6px;margin-bottom:17px;color:#667085;font-size:.78rem}
.deal-stock-line .is-ok{color:#12b76a}.deal-stock-line .is-out{color:#f04438}.deal-stock-line .is-check{color:#f79009}
.deal-temperature{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;border-top:1px solid #edf0f3}
.deal-temperature>div{display:flex;flex-direction:column}
.deal-temperature>div span{color:#98a2b3;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.deal-temperature>div strong{margin-top:2px;font-size:1rem}
.deal-temperature form{display:flex;gap:7px}
@media(max-width:920px){.deal-detail-card{grid-template-columns:1fr}.deal-detail-media{min-height:390px;border-right:0;border-bottom:1px solid #edf0f3}}
@media(max-width:600px){.deal-page{padding-top:18px}.deal-detail-card{border-radius:16px}.deal-detail-media{min-height:300px;padding:20px}.deal-detail-info{padding:24px 20px}.deal-detail-info h1{font-size:2rem}.deal-price-main strong{font-size:2rem}.deal-merchant-card{align-items:flex-start;flex-direction:column}.deal-trustpilot{align-items:flex-start}.deal-actions-primary,.deal-actions-primary form,.deal-buy-btn,.deal-favorite-btn{width:100%}.deal-temperature{align-items:flex-start;flex-direction:column}}


/* ==========================================================================
   KELDEAL V1.5.17 — Légendes images plus discrètes
   ========================================================================== */
.guide-cover figcaption,
.deal-image-figure figcaption{
  font-size:13px;
  line-height:1.45;
  color:#667085;
}


/* ==========================================================================
   KELDEAL V1.5.19 — Validité / expiration des offres
   ========================================================================== */
.validity-chip{
  display:inline-flex;
  align-items:center;
  padding:.26rem .52rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
}
.validity-active{background:#ecfdf3;color:#087443}
.validity-checking{background:#fff7e6;color:#b54708}
.validity-expired{background:#f2f4f7;color:#667085}

.validity-reason{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:.72rem;
}
.admin-subtitle{
  margin:.2rem 0 0;
  color:#667085;
  font-size:.88rem;
}
.admin-deal-expired{
  opacity:.7;
}
.admin-deal-expired td{
  background:#f8f9fb;
}
.admin-deal-checking td{
  background:#fffcf5;
}
.deal-validity-actions{
  min-width:260px;
}
.deal-validity-actions form{
  margin:2px 0;
}
.deal-validity-edit-info{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 14px;
  border:1px solid #e4e9f0;
  border-radius:10px;
  background:#f8fafc;
}
.deal-validity-edit-info small{
  color:#667085;
}

.deal-validity-overlay{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  display:inline-flex;
  padding:.38rem .58rem;
  border-radius:8px;
  font-style:normal;
  font-size:.72rem;
  font-weight:900;
  box-shadow:0 5px 16px rgba(8,21,34,.12);
}
.deal-validity-overlay.is-expired{
  background:#344054;
  color:#fff;
}
.deal-validity-overlay.is-checking{
  background:#fff3d6;
  color:#9a4d00;
}

.dealrow{
  position:relative;
}
.dealrow-expired{
  background:#f3f4f6;
  border-color:#e0e3e7;
}
.dealrow-expired .thumb img{
  filter:grayscale(1);
  opacity:.58;
}
.dealrow-expired h2,
.dealrow-expired p,
.dealrow-expired small,
.dealrow-expired .heat,
.dealrow-expired .dealprice{
  color:#7a8491;
}
.dealrow-expired .dealprice strong{
  color:#7a8491;
}
.dealrow-checking{
  border-color:#f4d8aa;
  background:#fffdf8;
}
.deal-disabled-btn{
  background:#e4e7ec!important;
  border-color:#e4e7ec!important;
  color:#667085!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  pointer-events:none;
}
.deals-history-note{
  margin:.25rem 0 0;
  color:#667085;
  font-size:.9rem;
}

.home-deal-card.deal-card-checking{
  border-color:#efd5aa;
}
.home-deal-card .card-img{
  position:relative;
}

.deal-validity-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
  padding:13px 15px;
  border-radius:12px;
}
.deal-validity-banner strong{
  white-space:nowrap;
}
.deal-validity-banner span{
  line-height:1.45;
}
.deal-validity-banner.expired{
  background:#eef0f3;
  color:#475467;
  border:1px solid #d8dde4;
}
.deal-validity-banner.checking{
  background:#fff8e8;
  color:#8a4b08;
  border:1px solid #f2d59f;
}
.deal-page-expired .deal-detail-media img{
  filter:grayscale(1);
  opacity:.6;
}
.deal-page-expired .deal-detail-card{
  border-color:#dfe3e8;
}
.deal-page-expired .deal-detail-info h1,
.deal-page-expired .deal-price-main strong{
  color:#667085;
}
.deal-page-expired .deal-detail-discount{
  background:#667085;
  box-shadow:none;
}

@media(max-width:760px){
  .deal-validity-table{
    display:block;
    overflow-x:auto;
  }
  .deal-validity-banner{
    flex-direction:column;
    gap:4px;
  }
}


/* ==========================================================================
   KELDEAL V1.5.20 — Cartes Bons plans : image / titre / fond blanc
   ========================================================================== */

/* La zone produit est totalement séparée du contenu texte. */
body:not(.admin-body) .home-deal-card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
}

body:not(.admin-body) .home-deal-card .card-img{
  position:relative;
  z-index:1;
  flex:0 0 250px;
  width:100%;
  height:250px;
  min-height:250px;
  max-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:18px;
  background:#fff !important;
  border-bottom:1px solid #eef1f4;
}

body:not(.admin-body) .home-deal-card .card-img img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  padding:0;
  margin:0;
  object-fit:contain;
  object-position:center;
  background:#fff;
}

/* Les badges restent dans la zone image et ne peuvent plus empiéter sur le titre. */
body:not(.admin-body) .home-deal-card .card-img b{
  z-index:3;
}

body:not(.admin-body) .home-deal-card .deal-validity-overlay{
  z-index:3;
}

/* Le contenu repart toujours sous l'image avec son propre fond blanc. */
body:not(.admin-body) .home-deal-card .card-body{
  position:relative;
  z-index:2;
  flex:1 1 auto;
  width:100%;
  min-height:270px;
  padding:18px;
  background:#fff;
}

/* Le marchand ne pousse plus le titre de façon imprévisible. */
body:not(.admin-body) .home-deal-card .deal-merchant{
  display:block;
  min-height:1.15rem;
  margin:0 0 .42rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Titres homogènes : deux lignes maximum, jamais recouverts par l'image. */
body:not(.admin-body) .home-deal-card .card-body h3{
  display:block;
  min-height:2.7em;
  margin:0 0 .5rem;
  font-size:1.02rem;
  line-height:1.35;
  overflow:hidden;
}

body:not(.admin-body) .home-deal-card .card-body h3 a{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* Résumé homogène pour garder les cartes alignées. */
body:not(.admin-body) .home-deal-card .card-body p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  min-height:4.9em;
}

/* Sécurité supplémentaire sur les cartes de la page Bons plans. */
body:not(.admin-body) .dealrow .thumb{
  position:relative;
  overflow:hidden;
  background:#fff;
}

body:not(.admin-body) .dealrow .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

/* Responsive */
@media(max-width:760px){
  body:not(.admin-body) .home-deal-card .card-img{
    flex-basis:225px;
    height:225px;
    min-height:225px;
    max-height:225px;
    padding:16px;
  }

  body:not(.admin-body) .home-deal-card .card-body{
    min-height:0;
  }
}

@media(max-width:480px){
  body:not(.admin-body) .home-deal-card .card-img{
    flex-basis:245px;
    height:245px;
    min-height:245px;
    max-height:245px;
  }
}


/* ==========================================================================
   KELDEAL V1.5.21 — Fond blanc fiche Bon plan
   ========================================================================== */

/* La V1.5.20 corrigeait les cartes de l'accueil.
   La fiche détaillée conservait encore son fond gris/bleuté. */
body:not(.admin-body) .deal-detail-media{
  background:#fff !important;
}

body:not(.admin-body) .deal-detail-media .deal-image-figure{
  background:#fff !important;
}

body:not(.admin-body) .deal-detail-media .deal-image-figure img{
  background:#fff !important;
}

/* La légende reste discrète sur un fond blanc légèrement séparé. */
body:not(.admin-body) .deal-detail-media .deal-image-figure figcaption{
  background:rgba(255,255,255,.96) !important;
  border:1px solid #eef1f4;
}


/* Chapali V1.5.23 — Notifications administrateur */
.admin-notification-bell{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;text-decoration:none}.admin-notification-bell b{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#ff5d21;color:#fff;font-size:.62rem}.admin-nav-count{margin-left:auto;min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:#ff6b1a;color:#fff;font-size:.67rem}.notification-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.notification-stats>div{padding:16px;border:1px solid #e5e9ef;border-radius:14px;background:#fff}.notification-stats b{display:block;font-size:1.7rem}.notification-stats span{display:block;margin-top:6px;color:#667085;font-size:.78rem;font-weight:800}.notification-stats .critical{background:#fff6f5;border-color:#fecdca}.notification-stats .warning{background:#fffcf5;border-color:#fedf89}.notification-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:15px;border:1px solid #e3e8ef;border-radius:14px;background:#fff}.notification-card.is-read{opacity:.62}.notification-card.is-unread{border-left-width:4px}.notification-card.severity-critical.is-unread{border-left-color:#d92d20}.notification-card.severity-warning.is-unread{border-left-color:#f79009}.notification-card.severity-info.is-unread{border-left-color:#1570ef}.notification-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef2f6;font-weight:900}.severity-critical .notification-icon{background:#fee4e2;color:#b42318}.severity-warning .notification-icon{background:#fef0c7;color:#b54708}.severity-info .notification-icon{background:#eff8ff;color:#175cd3}.notification-meta{display:flex;justify-content:space-between;gap:12px;color:#98a2b3;font-size:.7rem;font-weight:800;text-transform:uppercase}.notification-card h2{margin:.28rem 0 .25rem;font-size:1rem}.notification-card p{margin:0;color:#667085;font-size:.86rem}.notification-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.notification-empty{padding:22px}@media(max-width:700px){.notification-stats{grid-template-columns:1fr}.notification-toolbar{flex-direction:column;align-items:flex-start}.notification-card{grid-template-columns:34px 1fr;padding:12px}.notification-icon{width:32px;height:32px}.notification-meta{flex-direction:column;gap:2px}}


/* ==========================================================================
   KELDEAL V1.5.23.3 — Sidebar admin compacte sans scroll interne
   ========================================================================== */

/* Sur écran desktop, on compacte légèrement la navigation afin que
   les groupes Pilotage / Contenu / Communauté / Support tiennent
   dans la hauteur visible sans obliger à faire défiler le menu. */
@media (min-width: 901px){
  .admin-sidebar{
    overflow-y:auto;
    scrollbar-width:none;
  }
  .admin-sidebar::-webkit-scrollbar{
    width:0;
    height:0;
  }

  .admin-brand{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .admin-nav{
    padding-top:10px !important;
    padding-bottom:12px !important;
  }

  .admin-nav-group{
    margin-bottom:14px !important;
  }

  .admin-nav-title{
    margin-bottom:6px !important;
    font-size:.68rem !important;
    line-height:1.1 !important;
  }

  .admin-nav a{
    min-height:38px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    line-height:1.15 !important;
  }

  .admin-nav-bottom{
    margin-top:10px !important;
    padding-top:10px !important;
  }
}

/* Écrans desktop peu hauts : compactage renforcé. */
@media (min-width: 901px) and (max-height: 800px){
  .admin-brand{
    padding-top:12px !important;
    padding-bottom:10px !important;
  }

  .admin-brand small{
    margin-top:3px !important;
  }

  .admin-nav{
    padding-top:6px !important;
    padding-bottom:8px !important;
  }

  .admin-nav-group{
    margin-bottom:9px !important;
  }

  .admin-nav-title{
    margin-bottom:3px !important;
    font-size:.64rem !important;
  }

  .admin-nav a{
    min-height:34px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
    font-size:.89rem !important;
  }

  .admin-nav-bottom{
    margin-top:6px !important;
    padding-top:7px !important;
  }
}

/* Très petits écrans desktop : dernier niveau de compactage. */
@media (min-width: 901px) and (max-height: 700px){
  .admin-nav-group{
    margin-bottom:6px !important;
  }

  .admin-nav-title{
    margin-bottom:2px !important;
  }

  .admin-nav a{
    min-height:31px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
    font-size:.84rem !important;
  }
}

/* ==========================================================================
   CHAPALI BRANDING V2 — radar gaming
   ========================================================================== */

.brand.brand-lockup{
  gap:.72rem;
  min-width:230px;
}

.brand-radar{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border:2px solid #ff6b1a;
  border-radius:50%;
  background:rgba(255,107,26,.06);
  box-shadow:0 0 0 6px rgba(255,107,26,.045);
}

.brand-radar::before,
.brand-radar::after{
  content:"";
  position:absolute;
  border:2px solid rgba(255,107,26,.48);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(45deg);
}

.brand-radar::before{width:24px;height:24px}
.brand-radar::after{width:14px;height:14px}

.brand-radar > span{
  position:relative;
  z-index:2;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,107,26,.28);
}

.brand.brand-lockup > .brand-copy > strong{
  font-size:1.9rem;
  font-weight:950;
  letter-spacing:-.055em;
}

.brand.brand-lockup > .brand-copy > small{
  margin-top:.24rem;
  color:#9fb0c0;
  font-size:.59rem;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
}

.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:.62rem;
}

.footer-radar{
  position:relative;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:2px solid var(--kd-orange);
  border-radius:50%;
}

.footer-radar::before{
  content:"";
  position:absolute;
  width:15px;
  height:15px;
  border:2px solid rgba(255,107,26,.48);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(45deg);
}

.footer-radar span{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
}

.admin-radar{
  position:relative;
  display:grid !important;
  place-items:center;
  flex:0 0 31px;
  width:31px !important;
  height:31px !important;
  border:2px solid var(--kd-orange);
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
}

.admin-radar::before{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  border:2px solid rgba(255,107,26,.5);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(45deg);
}

.admin-radar i{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
}

.admin-mobile-brand{
  display:flex;
  align-items:center;
  gap:.58rem;
}

.admin-mobile-brand .admin-radar{
  width:28px !important;
  height:28px !important;
  flex-basis:28px;
}

@media(max-width:900px){
  .brand.brand-lockup{min-width:auto}
}

@media(max-width:620px){
  .brand-radar{
    flex-basis:34px;
    width:34px;
    height:34px;
  }
  .brand.brand-lockup > .brand-copy > strong{font-size:1.52rem}
}


/* ==========================================================================
   CHAPALI BRANDING V3 — logo gaming image
   ========================================================================== */

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.brand.brand-lockup.brand-logo-only{
  min-width:260px;
  gap:0;
}
.brand-logo-image{
  display:block;
  width:230px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.footer-brand.footer-brand-logo{
  display:inline-flex;
  align-items:center;
  gap:0;
}
.footer-logo-image{
  display:block;
  width:180px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.admin-brand.admin-brand-logo{
  padding-top:.1rem;
}
.admin-brand-logo>a{
  display:block;
}
.admin-brand-logo-image{
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.admin-brand.admin-brand-logo small{
  margin:.45rem 0 0 0;
}

.admin-mobile-brand.admin-mobile-brand-logo{
  display:flex;
  align-items:center;
}
.admin-mobile-logo-image{
  display:block;
  width:150px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

/* neutralise les anciens symboles radar quand le logo image est utilisé */
.brand-logo-only .brand-radar,
.footer-brand-logo .footer-radar,
.admin-brand-logo .admin-radar,
.admin-mobile-brand-logo .admin-radar{display:none!important}

@media(max-width:1100px){
  .brand.brand-lockup.brand-logo-only{min-width:220px}
  .brand-logo-image{width:205px}
}

@media(max-width:900px){
  .brand.brand-lockup.brand-logo-only{min-width:auto}
  .brand-logo-image{width:190px}
}

@media(max-width:620px){
  .brand-logo-image{width:170px}
  .admin-mobile-logo-image{width:132px}
  .footer-logo-image{width:160px}
}

/* Chapali V4.2 — état du contrôle Trustpilot */
.trustpilot-monitor-status{margin:-.25rem 0 .9rem;padding:.7rem .85rem;border:1px solid #e3e8ef;border-radius:9px;background:#f8fafc;color:#475467;font-size:.86rem}
.ok-inline{color:#087443;font-weight:800}.bad-inline{color:#b42318;font-weight:800}


/* ==========================================================================
   Chapali V4.3 — Diffusion sociale
   ========================================================================== */

.social-flow{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}
.social-flow span{display:inline-flex;align-items:center;gap:.45rem;color:#475467;font-weight:800;font-size:.84rem}
.social-flow span b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#101c29;color:#fff;font-size:.72rem}
.social-flow i{color:#98a2b3;font-style:normal}

.social-table td:first-child{max-width:480px}
.social-table td:first-child strong{display:block}
.social-table td:first-child small{display:block;margin-top:.2rem;color:#667085}

.social-platform{display:inline-flex;align-items:center;padding:.22rem .5rem;border-radius:999px;font-size:.72rem;font-weight:900;margin:.1rem .2rem .1rem 0}
.social-platform.facebook{background:#eef4ff;color:#1849a9}
.social-platform.x{background:#101828;color:#fff}

.social-status{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900}
.social-status-draft{background:#f2f4f7;color:#475467}
.social-status-ready{background:#ecfdf3;color:#027a48}
.social-status-scheduled{background:#fff7ed;color:#c2410c}
.social-status-published{background:#eff8ff;color:#175cd3}
.social-status-error{background:#fef3f2;color:#b42318}

.social-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:1rem;align-items:start}
.social-form h2,.social-check-panel h2,.social-preview-panel h2{margin:1rem 0 .65rem;font-size:1rem}
.social-form h2:first-of-type,.social-check-panel h2:first-child,.social-preview-panel h2:first-child{margin-top:0}
.social-textarea{min-height:150px;resize:vertical}
.social-x-text{min-height:130px}

.social-deal-snapshot{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid #e3e8ef;border-radius:12px;background:#f8fafc;margin:.15rem 0 1rem}
.social-deal-snapshot img{width:110px;height:90px;object-fit:contain;background:#fff;border-radius:9px}
.social-deal-snapshot div{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.social-deal-snapshot span,.social-deal-snapshot small{color:#667085}
.social-deal-snapshot b{font-size:1.1rem;color:#101828}
.social-deal-snapshot a{margin-top:.25rem;color:#c84a00;font-weight:800;text-decoration:none;font-size:.82rem}

.social-platform-select{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}
.social-platform-select label{display:flex;align-items:center;gap:.45rem;padding:.65rem .8rem;border:1px solid #e3e8ef;border-radius:10px;background:#fff;font-weight:800;cursor:pointer}
.social-platform-select input{width:18px;height:18px;accent-color:#ff6b1a}

.social-counter{display:flex;justify-content:space-between;align-items:center;padding:.45rem .65rem;border-radius:8px;background:#f2f4f7;color:#475467;font-size:.8rem;margin-top:-.55rem;margin-bottom:1rem}
.social-counter.is-over{background:#fef3f2;color:#b42318}

.social-check-panel{position:sticky;top:88px}
.social-check-panel>p{margin:-.2rem 0 .9rem;color:#667085;font-size:.84rem}
.social-check-list{display:grid;gap:.55rem}
.social-check-list>div{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem;border-radius:10px;border:1px solid}
.social-check-list>div>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:999px;font-weight:900}
.social-check-list>div div{display:flex;flex-direction:column}
.social-check-list small{margin-top:.08rem}
.social-check-list .is-ok{border-color:#abefc6;background:#f6fef9}
.social-check-list .is-ok>span{background:#dcfae6;color:#079455}
.social-check-list .is-ok small{color:#067647}
.social-check-list .is-bad{border-color:#fecdca;background:#fffafa}
.social-check-list .is-bad>span{background:#fee4e2;color:#d92d20}
.social-check-list .is-bad small{color:#b42318}

.social-preview-panel{margin-top:1rem}
.social-preview{padding:.85rem;border:1px solid #e3e8ef;border-radius:11px;background:#fff;margin-top:.65rem}
.social-preview strong{display:block;margin-bottom:.45rem}
.social-preview p{margin:0;color:#344054;font-size:.86rem;line-height:1.5;word-break:break-word}
.social-preview-facebook{border-top:3px solid #1877f2}
.social-preview-x{border-top:3px solid #101828}

.social-api-note{margin-top:1rem;background:#fffaf0;border-color:#fedf89}
.social-api-note p{margin:.35rem 0 0;color:#7a5b15;font-size:.84rem}
.social-lock-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;background:#f6fef9;border-color:#abefc6}
.social-lock-banner span{color:#067647}
.social-bottom-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.social-bottom-actions form{display:inline-flex}
.social-bottom-actions .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.social-generate-panel{margin-top:1rem}

@media(max-width:1050px){
  .social-editor-grid{grid-template-columns:1fr}
  .social-check-panel{position:static}
}
@media(max-width:700px){
  .social-deal-snapshot{grid-template-columns:1fr}
  .social-deal-snapshot img{width:100%;height:170px}
  .social-flow i{display:none}
  .social-flow span{width:100%}
}


/* ==========================================================================
   Chapali V4.4 — Pages SEO gaming
   ========================================================================== */
.seo-pages-intro{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.seo-pages-intro p{margin:0;flex:1;color:#667085}.seo-row-meta{display:block;color:#667085;margin-top:.2rem;max-width:620px}.seo-page-form{display:grid;gap:1rem}.seo-editor-section{border-top:1px solid #e5e9ef;padding-top:1rem}.seo-editor-section:first-of-type{border-top:0}.seo-editor-section h2{margin:0 0 .8rem;font-size:1.05rem}.seo-html-editor{min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5}.seo-meta-textarea{min-height:85px}.seo-manual-deals{display:block;margin-top:.9rem}.seo-manual-deals select{min-height:220px}.seo-delete-form{margin-top:1rem}
.seo-hub,.seo-deal-page{padding-top:2rem;padding-bottom:2rem}.seo-page-header{max-width:920px;margin-bottom:1.4rem}.seo-page-header h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;letter-spacing:-.045em;margin:.3rem 0 .8rem;color:#081522}.seo-page-header .seo-kicker{display:inline-flex;padding:.27rem .55rem;border-radius:999px;background:#fff1e8;color:#c84a00;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.seo-copy{max-width:900px;font-size:1.02rem;line-height:1.72;color:#344054}.seo-copy h2{margin:2rem 0 .65rem;color:#101828;font-size:1.55rem}.seo-copy h3{margin:1.45rem 0 .5rem;color:#101828;font-size:1.15rem}.seo-copy p{margin:.75rem 0}.seo-copy a{color:#c84a00;font-weight:750}.seo-offers-block{margin:2rem 0}.seo-offers-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.seo-offers-head h2{margin:0;font-size:1.65rem}.seo-offers-head small{color:#667085}.seo-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.seo-offer-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e8ef;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px rgba(8,21,34,.045)}.seo-offer-media{height:190px;display:grid;place-items:center;background:#fff;padding:.8rem;text-decoration:none}.seo-offer-media img{width:100%;height:100%;object-fit:contain}.seo-offer-body{display:flex;flex-direction:column;gap:.45rem;padding:1rem;flex:1}.seo-offer-meta{display:flex;justify-content:space-between;gap:.6rem;color:#667085;font-size:.75rem}.seo-offer-body h3{margin:0;font-size:1rem;line-height:1.35}.seo-offer-body h3 a{text-decoration:none}.seo-offer-price{display:flex;align-items:baseline;gap:.55rem;margin-top:auto}.seo-offer-price strong{font-size:1.25rem;color:#ff5d21}.seo-offer-price del{color:#98a2b3;font-size:.85rem}.seo-offer-total{color:#667085;font-size:.76rem}.seo-offer-actions{display:flex;gap:.5rem;margin-top:.45rem}.seo-empty-offers{padding:1.25rem;border:1px dashed #cfd8e3;border-radius:13px;background:#fff;color:#667085}.seo-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.seo-hub-card{display:block;padding:1.2rem;border:1px solid #e3e8ef;border-radius:15px;background:#fff;text-decoration:none}.seo-hub-card:hover{border-color:#ff6b1a;box-shadow:0 10px 28px rgba(8,21,34,.08)}.seo-hub-card h2{margin:0 0 .4rem;font-size:1.18rem}.seo-hub-card p{margin:0;color:#667085;line-height:1.55}
@media(max-width:900px){.seo-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.seo-offer-grid,.seo-hub-grid{grid-template-columns:1fr}.seo-offers-head{align-items:flex-start;flex-direction:column}}


/* ==========================================================================
   Chapali V4.4.2 — Correctif cartes des Pages SEO gaming
   Empêche les visuels produits de déborder sur le marchand, le titre et le prix.
   ========================================================================== */
body:not(.admin-body) .seo-offer-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#fff;
}

body:not(.admin-body) .seo-offer-media{
  position:relative;
  z-index:1;
  flex:0 0 240px;
  width:100%;
  height:240px;
  min-height:240px;
  max-height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:18px;
  background:#fff;
  border-bottom:1px solid #eef1f4;
}

body:not(.admin-body) .seo-offer-media img{
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}

body:not(.admin-body) .seo-offer-body{
  position:relative;
  z-index:2;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:.5rem;
  min-width:0;
  min-height:220px;
  padding:16px 17px 18px;
  background:#fff;
}

body:not(.admin-body) .seo-offer-meta{
  position:relative;
  z-index:2;
  min-height:1.15rem;
}

body:not(.admin-body) .seo-offer-body h3{
  position:relative;
  z-index:2;
  min-height:2.7em;
  margin:0;
  line-height:1.35;
  overflow:hidden;
}

body:not(.admin-body) .seo-offer-body h3 a{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

body:not(.admin-body) .seo-offer-price,
body:not(.admin-body) .seo-offer-total,
body:not(.admin-body) .seo-offer-actions{
  position:relative;
  z-index:2;
}

@media(max-width:760px){
  body:not(.admin-body) .seo-offer-media{
    flex-basis:220px;
    height:220px;
    min-height:220px;
    max-height:220px;
  }
}


/* ==========================================================================
   Chapali V4.5 — Menu public simplifié
   ========================================================================== */
.public-main-nav{
  display:flex;
  align-items:center;
  gap:.18rem;
  overflow:visible !important;
}

.public-main-nav .nav-shortcut,
.public-main-nav .nav-dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:40px;
  padding:.58rem .72rem;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#d9e4ed;
  font:inherit;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}

.public-main-nav .nav-shortcut:hover,
.public-main-nav .nav-dropdown-toggle:hover,
.public-main-nav .nav-dropdown.is-open .nav-dropdown-toggle{
  background:rgba(255,255,255,.07);
  color:#fff;
}

.public-main-nav .nav-shortcut-icon{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:999px;
  font-size:.82rem;
  line-height:1;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.public-main-nav .nav-shortcut-deals .nav-shortcut-icon{background:rgba(255,107,26,.22)}
.public-main-nav .nav-shortcut-watch .nav-shortcut-icon{background:rgba(39,174,96,.20)}
.public-main-nav .nav-shortcut-guides .nav-shortcut-icon{background:rgba(155,81,224,.20)}
.public-main-nav .nav-shortcut-promo .nav-shortcut-icon{background:rgba(45,156,219,.20)}

.nav-dropdown{
  position:relative;
  flex:0 0 auto;
}

.nav-dropdown-toggle .nav-shortcut-icon{
  background:rgba(255,107,26,.18);
}

.nav-dropdown-chevron{
  margin-left:.1rem;
  font-size:.9rem;
  color:#91a5b6;
  transition:transform .15s ease;
}

.nav-dropdown.is-open .nav-dropdown-chevron{
  transform:rotate(180deg);
}

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:90;
  display:none;
  min-width:275px;
  padding:8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#101c29;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu{
  display:grid;
}

.nav-dropdown-menu a{
  display:block;
  padding:.72rem .8rem;
  border-radius:8px;
  color:#dce6ee;
  font-size:.86rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover{
  background:rgba(255,255,255,.07);
  color:#fff;
}

.nav-dropdown-menu .nav-dropdown-all{
  margin-top:4px;
  padding-top:.78rem;
  border-top:1px solid rgba(255,255,255,.08);
  border-radius:0 0 8px 8px;
  color:#ff9a60;
}

@media(max-width:760px){
  .public-main-nav{
    overflow-x:auto !important;
    overflow-y:visible !important;
    scrollbar-width:none;
  }
  .public-main-nav::-webkit-scrollbar{display:none}
  .public-main-nav .nav-shortcut,
  .public-main-nav .nav-dropdown-toggle{
    padding:.58rem .62rem;
  }
  .nav-dropdown-menu{
    position:fixed;
    top:124px;
    left:1rem;
    right:1rem;
    min-width:0;
    max-height:calc(100vh - 145px);
    overflow:auto;
  }
}


/* ==========================================================================
   Chapali V4.6 — Mise en page éditoriale Pages SEO gaming
   ========================================================================== */
body:not(.admin-body) .seo-deal-page{
  padding:0 0 3rem;
}

body:not(.admin-body) .seo-page-shell{
  width:min(1180px,100% - 2rem);
  margin:0 auto;
}

body:not(.admin-body) .seo-page-hero{
  margin:0 0 2rem;
  padding:2.4rem 2.6rem 2rem;
  border-radius:0 0 24px 24px;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,107,26,.10),transparent 28%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid #e7ebf0;
  border-top:0;
}

body:not(.admin-body) .seo-page-hero-copy{
  max-width:900px;
  margin:0 auto;
}

body:not(.admin-body) .seo-page-hero h1{
  margin:.5rem 0 1rem;
  color:#081522;
  font-size:clamp(2.15rem,4vw,3.45rem);
  line-height:1.05;
  letter-spacing:-.05em;
}

body:not(.admin-body) .seo-copy-intro{
  max-width:820px;
  margin:0;
  font-size:1.04rem;
}

body:not(.admin-body) .seo-copy-intro > *:first-child{margin-top:0}
body:not(.admin-body) .seo-copy-intro > *:last-child{margin-bottom:0}

body:not(.admin-body) .seo-offers-block{
  margin:0 0 2.5rem;
  padding:1.35rem;
  border:1px solid #e5e9ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(8,21,34,.05);
}

body:not(.admin-body) .seo-section-kicker,
body:not(.admin-body) .seo-sidebar-kicker{
  display:inline-block;
  margin-bottom:.3rem;
  color:#ff6b1a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body:not(.admin-body) .seo-offers-head{
  padding:0 .1rem .85rem;
  border-bottom:1px solid #edf0f3;
}

body:not(.admin-body) .seo-offers-head h2{
  margin:.05rem 0 0;
  font-size:1.5rem;
}

body:not(.admin-body) .seo-offer-grid-horizontal{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1rem;
}

body:not(.admin-body) .seo-offer-card-horizontal{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  min-height:185px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:none;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-media{
  width:170px;
  height:100%;
  min-height:185px;
  max-height:none;
  padding:14px;
  border-right:1px solid #eef1f4;
  border-bottom:0;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-body{
  min-height:185px;
  padding:15px 16px;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-body h3{
  min-height:0;
  margin:.15rem 0 .25rem;
  font-size:.98rem;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-body h3 a{
  -webkit-line-clamp:3;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-price{
  margin-top:.2rem;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-total{
  margin-top:.05rem;
  line-height:1.45;
}

body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-actions{
  margin-top:auto;
}

body:not(.admin-body) .seo-content-layout{
  display:grid;
  grid-template-columns:minmax(0,820px) 270px;
  justify-content:center;
  align-items:start;
  gap:2.3rem;
}

body:not(.admin-body) .seo-copy-main{
  max-width:820px;
  margin:0;
  padding:0 .2rem;
  font-size:1.02rem;
  line-height:1.78;
}

body:not(.admin-body) .seo-copy-main h2{
  margin:2.2rem 0 .75rem;
  font-size:1.55rem;
  line-height:1.25;
}

body:not(.admin-body) .seo-copy-main h2:first-child{
  margin-top:0;
}

body:not(.admin-body) .seo-sidebar{
  position:sticky;
  top:150px;
}

body:not(.admin-body) .seo-sidebar-card{
  padding:1.05rem;
  border:1px solid #e4e9ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(8,21,34,.045);
}

body:not(.admin-body) .seo-sidebar-card h2{
  margin:.1rem 0 .8rem;
  font-size:1.03rem;
  line-height:1.25;
}

body:not(.admin-body) .seo-sidebar-card nav{
  display:grid;
  gap:.35rem;
}

body:not(.admin-body) .seo-sidebar-card nav a{
  display:block;
  padding:.58rem .62rem;
  border-radius:9px;
  color:#344054;
  font-size:.82rem;
  font-weight:750;
  text-decoration:none;
}

body:not(.admin-body) .seo-sidebar-card nav a:hover{
  background:#f7f9fb;
  color:#d34b00;
}

@media(max-width:1050px){
  body:not(.admin-body) .seo-offer-grid-horizontal{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .seo-content-layout{
    grid-template-columns:minmax(0,820px);
  }
  body:not(.admin-body) .seo-sidebar{
    position:static;
  }
  body:not(.admin-body) .seo-sidebar-card{
    max-width:820px;
  }
}

@media(max-width:680px){
  body:not(.admin-body) .seo-page-shell{
    width:min(100% - 1rem,1180px);
  }
  body:not(.admin-body) .seo-page-hero{
    padding:1.5rem 1.15rem 1.35rem;
    border-radius:0 0 18px 18px;
  }
  body:not(.admin-body) .seo-offers-block{
    padding:.9rem;
    border-radius:16px;
  }
  body:not(.admin-body) .seo-offer-card-horizontal{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-media{
    width:100%;
    height:220px;
    min-height:220px;
    border-right:0;
    border-bottom:1px solid #eef1f4;
  }
}


/* ==========================================================================
   Chapali V4.7 — Mise en page premium des guides
   ========================================================================== */

/* Catalogue */
body:not(.admin-body) .guides-catalog-page{
  width:min(1180px,100% - 2rem);
  padding-top:2.1rem;
  padding-bottom:3rem;
}

body:not(.admin-body) .guides-catalog-head{
  max-width:980px;
  margin:0 auto 1.7rem;
  padding:1.8rem 2rem;
  border:1px solid #e5e9ef;
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,107,26,.10),transparent 28%),
    linear-gradient(180deg,#fff,#f8fafc);
}

body:not(.admin-body) .guides-catalog-head h1{
  font-size:clamp(2.1rem,4vw,3.2rem);
  line-height:1.05;
  letter-spacing:-.045em;
}

body:not(.admin-body) .guide-featured-card{
  max-width:980px;
  margin:0 auto 2rem;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(8,21,34,.06);
}

body:not(.admin-body) .guides-catalog-grid{
  max-width:980px;
  margin:0 auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

body:not(.admin-body) .guide-catalog-card{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 5px 20px rgba(8,21,34,.045);
}

body:not(.admin-body) .guide-catalog-image{
  height:210px;
}

body:not(.admin-body) .guide-catalog-body{
  min-height:225px;
}

/* Article */
body:not(.admin-body) .guide-article-page{
  padding:0 0 3rem;
}

body:not(.admin-body) .guide-article-shell{
  width:min(1180px,100% - 2rem);
  margin:0 auto;
}

body:not(.admin-body) .guide-article-hero{
  margin-bottom:1.5rem;
  padding:2.3rem 2.5rem 2rem;
  border:1px solid #e5e9ef;
  border-top:0;
  border-radius:0 0 24px 24px;
  background:
    radial-gradient(circle at 84% 12%,rgba(255,107,26,.11),transparent 28%),
    linear-gradient(180deg,#fff,#f8fafc);
}

body:not(.admin-body) .guide-article-hero-copy{
  max-width:900px;
  margin:0 auto;
}

body:not(.admin-body) .guide-article-kicker,
body:not(.admin-body) .guide-sidebar-kicker{
  display:inline-flex;
  align-items:center;
  margin-right:.45rem;
  padding:.28rem .58rem;
  border-radius:999px;
  background:#fff1e8;
  color:#c84a00;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

body:not(.admin-body) .guide-article-category{
  display:inline-flex;
  padding:.28rem .58rem;
  border-radius:999px;
  background:#eef2f6;
  color:#475467;
  font-size:.72rem;
  font-weight:850;
}

body:not(.admin-body) .guide-article-hero h1{
  max-width:900px;
  margin:.65rem 0 .8rem;
  color:#081522;
  font-size:clamp(2.2rem,4vw,3.45rem);
  line-height:1.06;
  letter-spacing:-.05em;
}

body:not(.admin-body) .guide-article-excerpt{
  max-width:820px;
  margin:0;
  color:#475467;
  font-size:1.08rem;
  line-height:1.65;
}

body:not(.admin-body) .guide-cover-premium{
  max-width:980px;
  margin:0 auto 2rem;
  overflow:hidden;
  border:1px solid #e4e9ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(8,21,34,.045);
}

body:not(.admin-body) .guide-cover-premium img{
  display:block;
  width:100%;
  max-height:550px;
  object-fit:cover;
}

body:not(.admin-body) .guide-cover-premium figcaption{
  padding:.7rem 1rem;
  border-top:1px solid #edf0f3;
  color:#667085;
  font-size:.8rem;
}

body:not(.admin-body) .guide-reading-layout{
  display:grid;
  grid-template-columns:minmax(0,820px) 280px;
  justify-content:center;
  align-items:start;
  gap:2.4rem;
}

body:not(.admin-body) .guide-prose{
  max-width:820px;
  margin:0;
  padding:0 .2rem;
  color:#344054;
  font-size:1.03rem;
  line-height:1.8;
}

body:not(.admin-body) .guide-prose h2{
  margin:2.3rem 0 .75rem;
  color:#081522;
  font-size:1.62rem;
  line-height:1.25;
}

body:not(.admin-body) .guide-prose h2:first-child{
  margin-top:0;
}

body:not(.admin-body) .guide-prose h3{
  margin:1.7rem 0 .55rem;
  color:#101828;
  font-size:1.2rem;
}

body:not(.admin-body) .guide-prose p{
  margin:.8rem 0;
}

body:not(.admin-body) .guide-prose ul,
body:not(.admin-body) .guide-prose ol{
  padding-left:1.35rem;
}

body:not(.admin-body) .guide-prose blockquote{
  margin:1.4rem 0;
  padding:1rem 1.1rem;
  border-left:4px solid #ff6b1a;
  border-radius:0 12px 12px 0;
  background:#fff8f3;
}

body:not(.admin-body) .guide-prose img{
  max-width:100%;
  height:auto;
  margin:1.3rem auto;
  border-radius:14px;
}

body:not(.admin-body) .guide-sidebar{
  position:sticky;
  top:150px;
  display:grid;
  gap:1rem;
}

body:not(.admin-body) .guide-sidebar-card{
  padding:1.05rem;
  border:1px solid #e4e9ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(8,21,34,.045);
}

body:not(.admin-body) .guide-sidebar-card h2{
  margin:.45rem 0 .75rem;
  font-size:1.04rem;
  line-height:1.25;
}

body:not(.admin-body) .guide-sidebar-card nav{
  display:grid;
  gap:.35rem;
  margin-bottom:.8rem;
}

body:not(.admin-body) .guide-sidebar-card nav a{
  display:block;
  padding:.58rem .62rem;
  border-radius:9px;
  color:#344054;
  text-decoration:none;
}

body:not(.admin-body) .guide-sidebar-card nav a:hover{
  background:#f7f9fb;
  color:#d34b00;
}

body:not(.admin-body) .guide-sidebar-card nav strong{
  display:block;
  font-size:.82rem;
  line-height:1.3;
}

body:not(.admin-body) .guide-sidebar-card nav small{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin-top:.18rem;
  color:#667085;
  font-size:.72rem;
  line-height:1.35;
}

body:not(.admin-body) .guide-sidebar-gaming{
  background:#101c29;
  border-color:#101c29;
  color:#fff;
}

body:not(.admin-body) .guide-sidebar-gaming h2{color:#fff}
body:not(.admin-body) .guide-sidebar-gaming nav a{color:#dce6ee}
body:not(.admin-body) .guide-sidebar-gaming nav a:hover{background:rgba(255,255,255,.07);color:#fff}

@media(max-width:1050px){
  body:not(.admin-body) .guide-reading-layout{
    grid-template-columns:minmax(0,820px);
  }
  body:not(.admin-body) .guide-sidebar{
    position:static;
  }
  body:not(.admin-body) .guide-sidebar-card{
    max-width:820px;
  }
}

@media(max-width:760px){
  body:not(.admin-body) .guides-catalog-grid{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .guide-article-shell,
  body:not(.admin-body) .guides-catalog-page{
    width:min(100% - 1rem,1180px);
  }
  body:not(.admin-body) .guide-article-hero{
    padding:1.5rem 1.15rem 1.35rem;
    border-radius:0 0 18px 18px;
  }
  body:not(.admin-body) .guides-catalog-head{
    padding:1.35rem 1.15rem;
  }
  body:not(.admin-body) .guide-cover-premium{
    border-radius:15px;
  }
}


/* ==========================================================================
   Chapali V4.8 — Header retravaillé
   Palette strictement inchangée.
   ========================================================================== */

body:not(.admin-body) .site-header{
  background:#081522;
  border-bottom:0;
  box-shadow:0 10px 30px rgba(8,21,34,.14);
}

body:not(.admin-body) .header-row{
  width:min(1180px,100% - 2rem);
  min-height:92px;
  margin:0 auto;
  padding:15px 0 14px;
  display:grid;
  grid-template-columns:220px minmax(360px,1fr) auto;
  align-items:center;
  gap:26px;
}

body:not(.admin-body) .brand.brand-lockup.brand-logo-only{
  min-width:0;
  width:220px;
  display:flex;
  align-items:center;
}

body:not(.admin-body) .brand-logo-image{
  width:220px;
  max-width:100%;
  height:auto;
}

body:not(.admin-body) .header-search{
  position:relative;
  width:100%;
  max-width:none;
  height:52px;
  margin:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}

body:not(.admin-body) .header-search-icon{
  display:grid;
  place-items:center;
  flex:0 0 46px;
  width:46px;
  color:#667085;
  font-size:1.15rem;
  line-height:1;
  pointer-events:none;
}

body:not(.admin-body) .header-search input{
  min-width:0;
  padding:.85rem .55rem .85rem 0;
  color:#101828;
  font-size:.95rem;
}

body:not(.admin-body) .header-search input::placeholder{
  color:#7b8794;
}

body:not(.admin-body) .header-search button{
  flex:0 0 auto;
  min-width:132px;
  padding:0 20px;
  border-left:1px solid rgba(8,21,34,.06);
  background:#ff6b1a;
  color:#fff;
  font-weight:900;
}

body:not(.admin-body) .member-nav{
  margin-left:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  white-space:nowrap;
}

body:not(.admin-body) .member-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 13px;
  border-radius:10px;
  color:#edf3f8;
  font-size:.88rem;
  font-weight:750;
}

body:not(.admin-body) .member-nav .member-login{
  border:1px solid rgba(255,255,255,.12);
}

body:not(.admin-body) .member-nav .member-login:hover{
  background:rgba(255,255,255,.06);
}

body:not(.admin-body) .member-nav .join{
  padding:0 15px;
  background:#ff6b1a;
  color:#fff;
  box-shadow:0 7px 18px rgba(255,107,26,.20);
}

body:not(.admin-body) .cats{
  background:#0c1e30;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.05);
}

body:not(.admin-body) .public-main-nav{
  width:min(1180px,100% - 2rem);
  min-height:48px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:5px;
}

body:not(.admin-body) .public-main-nav .nav-shortcut,
body:not(.admin-body) .public-main-nav .nav-dropdown-toggle{
  min-height:38px;
  padding:.48rem .72rem;
  border-radius:9px;
  font-size:.86rem;
}

body:not(.admin-body) .public-main-nav .nav-shortcut-icon{
  width:23px;
  height:23px;
  flex-basis:23px;
}

body:not(.admin-body) .nav-dropdown-menu{
  top:calc(100% + 7px);
  min-width:285px;
}

@media(max-width:1100px){
  body:not(.admin-body) .header-row{
    grid-template-columns:190px minmax(300px,1fr) auto;
    gap:18px;
  }
  body:not(.admin-body) .brand.brand-lockup.brand-logo-only,
  body:not(.admin-body) .brand-logo-image{
    width:190px;
  }
  body:not(.admin-body) .header-search button{
    min-width:112px;
    padding:0 15px;
  }
}

@media(max-width:900px){
  body:not(.admin-body) .header-row{
    grid-template-columns:180px 1fr;
    min-height:auto;
    padding:12px 0;
  }

  body:not(.admin-body) .brand.brand-lockup.brand-logo-only,
  body:not(.admin-body) .brand-logo-image{
    width:180px;
  }

  body:not(.admin-body) .header-search{
    height:48px;
  }

  body:not(.admin-body) .member-nav{
    grid-column:1 / -1;
    justify-content:flex-end;
    margin-top:-2px;
  }
}

@media(max-width:620px){
  body:not(.admin-body) .header-row{
    width:min(100% - 1rem,1180px);
    grid-template-columns:1fr auto;
    gap:10px;
    padding:10px 0;
  }

  body:not(.admin-body) .brand.brand-lockup.brand-logo-only,
  body:not(.admin-body) .brand-logo-image{
    width:155px;
  }

  body:not(.admin-body) .header-search{
    grid-column:1 / -1;
    grid-row:2;
    height:46px;
  }

  body:not(.admin-body) .header-search-icon{
    flex-basis:40px;
    width:40px;
  }

  body:not(.admin-body) .header-search button{
    min-width:98px;
    padding:0 12px;
    font-size:.82rem;
  }

  body:not(.admin-body) .member-nav{
    grid-column:2;
    grid-row:1;
    margin:0;
    gap:5px;
  }

  body:not(.admin-body) .member-nav a{
    min-height:36px;
    padding:0 9px;
    font-size:.78rem;
  }

  body:not(.admin-body) .member-nav .member-login{
    border:0;
  }

  body:not(.admin-body) .public-main-nav{
    width:min(100% - 1rem,1180px);
    min-height:46px;
  }

  body:not(.admin-body) .public-main-nav .nav-shortcut,
  body:not(.admin-body) .public-main-nav .nav-dropdown-toggle{
    min-height:36px;
    padding:.45rem .58rem;
    font-size:.82rem;
  }
}


/* ==========================================================================
   Chapali V4.9 — Responsive global
   Ajustements transversaux public + administration.
   Palette inchangée.
   ========================================================================== */

/* Bases fluides */
html{overflow-x:hidden}
body{overflow-x:hidden}
body:not(.admin-body) main{min-width:0}
body:not(.admin-body) .wrap,
body:not(.admin-body) .seo-page-shell,
body:not(.admin-body) .guide-article-shell,
body:not(.admin-body) .guides-catalog-page{
  max-width:100%;
}
body:not(.admin-body) img{max-width:100%;height:auto}
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea,
.admin-body input,
.admin-body select,
.admin-body textarea{
  max-width:100%;
}

/* Très grands écrans : contenu maîtrisé */
@media(min-width:1440px){
  body:not(.admin-body) .header-row,
  body:not(.admin-body) .public-main-nav,
  body:not(.admin-body) .seo-page-shell,
  body:not(.admin-body) .guide-article-shell,
  body:not(.admin-body) .guides-catalog-page{
    width:min(1220px,100% - 3rem);
  }
}

/* Tablette large / petit laptop */
@media(max-width:1100px){
  body:not(.admin-body) .home-hero{
    width:min(100% - 24px,1280px);
  }

  body:not(.admin-body) .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);
    gap:26px;
    padding:30px;
  }

  body:not(.admin-body) .footer-modern{
    grid-template-columns:1.25fr .8fr 1fr;
    gap:1.6rem;
  }

  body:not(.admin-body) .detail,
  body:not(.admin-body) .deal-detail-grid{
    gap:1.4rem;
  }

  .admin-content{
    min-width:0;
  }
}

/* Tablette */
@media(max-width:900px){
  /* Header */
  body:not(.admin-body) .site-header{
    position:sticky;
    top:0;
  }

  body:not(.admin-body) .header-row{
    width:min(100% - 1.25rem,1180px);
  }

  body:not(.admin-body) .public-main-nav{
    width:min(100% - 1.25rem,1180px);
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body:not(.admin-body) .public-main-nav::-webkit-scrollbar{display:none}

  /* Homepage */
  body:not(.admin-body) .home-hero .hero-grid{
    grid-template-columns:1fr;
    min-height:0;
    padding:28px;
  }

  body:not(.admin-body) .home-hero .hero-copy{
    max-width:none;
  }

  body:not(.admin-body) .hero-media,
  body:not(.admin-body) .hero-img{
    height:300px;
    min-height:300px;
  }

  body:not(.admin-body) .home-deals-grid,
  body:not(.admin-body) .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body:not(.admin-body) .home-watch-grid,
  body:not(.admin-body) .home-promos-grid,
  body:not(.admin-body) .home-guides-grid,
  body:not(.admin-body) .watchgrid,
  body:not(.admin-body) .guidegrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  /* Fiches / listes */
  body:not(.admin-body) .detail,
  body:not(.admin-body) .deal-detail-grid,
  body:not(.admin-body) .split{
    grid-template-columns:1fr;
  }

  body:not(.admin-body) .detail-img,
  body:not(.admin-body) .deal-detail-media{
    max-width:680px;
    width:100%;
    margin:0 auto;
  }

  body:not(.admin-body) .dealrow{
    grid-template-columns:120px minmax(0,1fr);
  }
  body:not(.admin-body) .dealprice{
    grid-column:2;
    text-align:left;
  }

  /* Guides / SEO */
  body:not(.admin-body) .guide-featured-card{
    grid-template-columns:1fr;
  }
  body:not(.admin-body) .guide-featured-media{
    min-height:280px;
    max-height:420px;
  }
  body:not(.admin-body) .guide-featured-body{
    padding:24px;
  }

  body:not(.admin-body) .guide-reading-layout,
  body:not(.admin-body) .seo-content-layout{
    grid-template-columns:1fr;
    gap:1.5rem;
  }

  body:not(.admin-body) .guide-sidebar,
  body:not(.admin-body) .seo-sidebar{
    position:static;
  }

  /* Footer */
  body:not(.admin-body) .footer-modern{
    grid-template-columns:1fr 1fr;
  }
  body:not(.admin-body) .footer-modern>div:first-child{
    grid-column:1/-1;
  }

  /* Admin */
  .admin-shell{
    grid-template-columns:1fr;
  }
  .admin-mobilebar{
    display:flex;
  }
  .admin-sidebar{
    position:fixed;
    top:58px;
    left:0;
    bottom:0;
    width:min(290px,86vw);
    height:auto;
    transform:translateX(-105%);
    transition:transform .2s ease;
    z-index:60;
  }
  .admin-nav-open .admin-sidebar{
    transform:translateX(0);
  }
  .admin-main{
    min-width:0;
    width:100%;
    padding:18px;
  }
  .admin-topbar{
    gap:.75rem;
  }
  .admin-title{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .admin-title-actions{
    flex-wrap:wrap;
  }
  .admin-content .table-wrap,
  .table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Mobile */
@media(max-width:680px){
  :root{
    --chapali-mobile-gap:12px;
  }

  body:not(.admin-body) .wrap,
  body:not(.admin-body) .seo-page-shell,
  body:not(.admin-body) .guide-article-shell,
  body:not(.admin-body) .guides-catalog-page{
    width:calc(100% - 24px)!important;
  }

  /* Header */
  body:not(.admin-body) .header-row{
    width:calc(100% - 20px);
  }

  body:not(.admin-body) .brand.brand-lockup.brand-logo-only,
  body:not(.admin-body) .brand-logo-image{
    width:145px;
  }

  body:not(.admin-body) .member-nav a{
    font-size:.75rem;
  }

  body:not(.admin-body) .header-search{
    width:100%;
  }

  body:not(.admin-body) .header-search input{
    font-size:.88rem;
  }

  body:not(.admin-body) .public-main-nav{
    width:calc(100% - 20px);
  }

  /* Hero */
  body:not(.admin-body) .home-hero{
    width:calc(100% - 16px);
    margin-top:12px;
    border-radius:16px;
  }

  body:not(.admin-body) .home-hero .hero-grid{
    padding:20px;
    gap:20px;
  }

  body:not(.admin-body) .home-hero h1{
    font-size:clamp(1.8rem,9vw,2.4rem);
  }

  body:not(.admin-body) .hero-actions,
  body:not(.admin-body) .deal-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
  }

  body:not(.admin-body) .hero-actions .btn,
  body:not(.admin-body) .deal-actions .btn{
    flex:1 1 150px;
  }

  body:not(.admin-body) .hero-media,
  body:not(.admin-body) .hero-img{
    height:240px;
    min-height:240px;
  }

  /* Grilles */
  body:not(.admin-body) .home-deals-grid,
  body:not(.admin-body) .home-watch-grid,
  body:not(.admin-body) .home-promos-grid,
  body:not(.admin-body) .home-guides-grid,
  body:not(.admin-body) .grid,
  body:not(.admin-body) .watchgrid,
  body:not(.admin-body) .guidegrid,
  body:not(.admin-body) .guides-catalog-grid,
  body:not(.admin-body) .seo-hub-grid{
    grid-template-columns:1fr!important;
  }

  /* Cartes bons plans */
  body:not(.admin-body) .home-deal-card .card-img{
    height:235px;
    min-height:235px;
    max-height:235px;
    flex-basis:235px;
  }

  body:not(.admin-body) .dealrow{
    grid-template-columns:86px minmax(0,1fr);
    gap:.8rem;
    padding:.8rem;
  }
  body:not(.admin-body) .dealrow .thumb{
    height:86px;
  }
  body:not(.admin-body) .dealrow h2{
    font-size:1rem;
  }

  /* SEO */
  body:not(.admin-body) .seo-page-hero,
  body:not(.admin-body) .guide-article-hero{
    padding:1.35rem 1rem;
  }

  body:not(.admin-body) .seo-page-hero h1,
  body:not(.admin-body) .guide-article-hero h1{
    font-size:clamp(1.9rem,9vw,2.55rem);
  }

  body:not(.admin-body) .seo-offers-block{
    padding:.8rem;
  }

  body:not(.admin-body) .seo-offers-head{
    flex-direction:column;
    align-items:flex-start;
  }

  body:not(.admin-body) .seo-offer-card-horizontal{
    grid-template-columns:1fr;
  }

  body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-media{
    width:100%;
    height:220px;
    min-height:220px;
    border-right:0;
    border-bottom:1px solid #eef1f4;
  }

  body:not(.admin-body) .seo-offer-actions{
    flex-wrap:wrap;
  }
  body:not(.admin-body) .seo-offer-actions .btn{
    flex:1 1 130px;
  }

  /* Guides */
  body:not(.admin-body) .guide-featured-media{
    min-height:220px;
  }

  body:not(.admin-body) .guide-featured-body{
    padding:18px;
  }

  body:not(.admin-body) .guide-cover-premium img{
    max-height:360px;
  }

  body:not(.admin-body) .guide-prose,
  body:not(.admin-body) .seo-copy-main{
    font-size:.98rem;
    line-height:1.72;
  }

  body:not(.admin-body) .guide-prose h2,
  body:not(.admin-body) .seo-copy-main h2{
    font-size:1.38rem;
  }

  /* Formulaires */
  .formgrid,
  .radar-two,
  .source-grid,
  .social-editor-grid{
    grid-template-columns:1fr!important;
  }

  .formgrid .wide{
    grid-column:auto;
  }

  .input,
  input,
  select,
  textarea{
    font-size:16px; /* évite le zoom iOS */
  }

  /* Tableaux publics/admin */
  .table{
    min-width:680px;
  }

  /* Footer */
  body:not(.admin-body) .footer-modern{
    grid-template-columns:1fr;
    gap:1.4rem;
  }
  body:not(.admin-body) .footer-modern>div:first-child{
    grid-column:auto;
  }

  /* Admin */
  .admin-main{
    padding:14px 12px 22px;
  }
  .admin-topbar{
    padding:10px 12px;
  }
  .admin-title h1{
    font-size:1.45rem;
  }
  .admin-shortcuts,
  .notification-toolbar,
  .social-bottom-actions,
  .source-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-shortcuts .btn,
  .notification-toolbar .btn,
  .social-bottom-actions .btn{
    width:100%;
  }

  .radar-card{
    grid-template-columns:1fr!important;
  }
  .radar-score,
  .radar-actions{
    grid-column:1!important;
  }
}

/* Petits mobiles */
@media(max-width:430px){
  body:not(.admin-body) .brand.brand-lockup.brand-logo-only,
  body:not(.admin-body) .brand-logo-image{
    width:132px;
  }

  body:not(.admin-body) .member-nav .member-login{
    display:none;
  }

  body:not(.admin-body) .member-nav .join{
    padding:0 8px;
  }

  body:not(.admin-body) .header-search button{
    min-width:86px;
    padding:0 10px;
  }

  body:not(.admin-body) .header-search-icon{
    display:none;
  }

  body:not(.admin-body) .header-search input{
    padding-left:.8rem;
  }

  body:not(.admin-body) .public-main-nav .nav-shortcut,
  body:not(.admin-body) .public-main-nav .nav-dropdown-toggle{
    font-size:.78rem;
  }

  body:not(.admin-body) .home-hero .hero-grid{
    padding:17px;
  }

  body:not(.admin-body) .hero-media,
  body:not(.admin-body) .hero-img{
    height:215px;
    min-height:215px;
  }

  body:not(.admin-body) .home-deal-card .card-img{
    height:220px;
    min-height:220px;
    max-height:220px;
    flex-basis:220px;
  }

  body:not(.admin-body) .seo-offer-card-horizontal .seo-offer-media{
    height:200px;
    min-height:200px;
  }

  .panel{
    padding:1rem;
  }
}


/* ==========================================================================
   Chapali V5.0 — Affiliation & liens courts
   ========================================================================== */
.merchant-affiliation-box{
  margin-top:.5rem;
  padding:1rem;
  border:1px solid #e3e8ef;
  border-radius:14px;
  background:#f8fafc;
}
.merchant-affiliation-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  margin-bottom:1rem;
}
.merchant-affiliation-head>div{display:flex;flex-direction:column;gap:.2rem}
.merchant-affiliation-head span{
  color:#ff6b1a;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.merchant-affiliation-head strong{font-size:1rem}
.merchant-affiliation-head small{color:#667085}
.affiliation-setup-warning{
  border-color:#fedf89;
  background:#fffcf5;
}
.affiliation-setup-warning p{margin:.35rem 0 0;color:#7a5b15}
.short-link-preview{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding:.9rem 1rem;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#f8fafc;
}
.short-link-preview span{
  color:#667085;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.short-link-preview strong{
  color:#101828;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  overflow-wrap:anywhere;
}
.short-link-preview small{color:#667085}
.affiliation-chip{
  display:inline-flex;
  padding:.25rem .5rem;
  border-radius:999px;
  background:#f2f4f7;
  color:#667085;
  font-size:.72rem;
  font-weight:850;
}
.affiliation-chip.ok{background:#ecfdf3;color:#067647}

@media(max-width:680px){
  .merchant-affiliation-head{flex-direction:column}
}


/* ==========================================================================
   Chapali V5.1 — Bandeau public administrable
   ========================================================================== */
.public-banner{
  position:relative;
  z-index:20;
  width:100%;
  font-size:.9rem;
  font-weight:750;
}
.public-banner-orange{
  background:#ff6b1a;
  color:#fff;
}
.public-banner-navy{
  background:#101c29;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.public-banner-inner{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding:.55rem 0;
}
.public-banner-message{
  min-width:0;
  line-height:1.4;
  text-align:center;
}
.public-banner-action{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.4rem .75rem;
  border-radius:8px;
  background:#fff;
  color:#101828;
  text-decoration:none;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
}
.public-banner-action:hover{opacity:.92}
.public-banner-close{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font:inherit;
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
}
.public-banner-close:hover{background:rgba(255,255,255,.20)}

.banner-admin-form{display:grid;gap:1rem}
.banner-admin-top{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid #e5e9ef;
}
.toggle-line{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.toggle-line input{
  width:18px;
  height:18px;
  accent-color:#ff6b1a;
}
.banner-textarea{
  min-height:105px;
  resize:vertical;
}
.banner-admin-preview{
  display:grid;
  gap:.55rem;
  padding-top:.5rem;
}
.banner-admin-preview>span{
  color:#667085;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.public-banner.is-preview{
  border-radius:12px;
  overflow:hidden;
}
.public-banner.is-preview .public-banner-inner{
  width:auto;
  padding:.65rem 1rem;
}
.banner-admin-note{margin-top:1rem}

@media(max-width:680px){
  .public-banner-inner{
    width:calc(100% - 24px)!important;
    min-height:0;
    padding:.7rem 0;
    flex-wrap:wrap;
    gap:.55rem .7rem;
  }
  .public-banner-message{
    flex:1 1 calc(100% - 42px);
    text-align:left;
  }
  .public-banner-action{
    order:3;
    flex:1 1 100%;
  }
  .public-banner-close{
    margin-left:auto;
  }
  .public-banner.is-preview .public-banner-inner{
    width:auto!important;
  }
}


/* ==========================================================================
   Chapali V5.2 — Navigation publique & catégories visibles
   ========================================================================== */
.navigation-admin-form{display:grid;gap:1.2rem}
.navigation-admin-section{
  padding:1rem;
  border:1px solid #e4e9ef;
  border-radius:14px;
  background:#f8fafc;
}
.navigation-admin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}
.navigation-admin-head span{
  color:#ff6b1a;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.navigation-admin-head h2{
  margin:.15rem 0 0;
  font-size:1.05rem;
}
.navigation-admin-head small{color:#667085}
.navigation-toggle-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.navigation-toggle{
  display:grid;
  grid-template-columns:20px 34px minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  min-height:72px;
  padding:.75rem;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}
.navigation-toggle:hover{border-color:#ff6b1a}
.navigation-toggle input{
  width:18px;
  height:18px;
  accent-color:#ff6b1a;
}
.navigation-toggle>span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:#f2f4f7;
}
.navigation-toggle strong{display:block;font-size:.86rem}
.navigation-toggle small{display:block;margin-top:.15rem;color:#667085;font-size:.72rem;line-height:1.3}
.navigation-admin-note{margin-top:1rem}

.category-update-warning{
  margin-bottom:1rem;
  border-color:#fedf89;
  background:#fffcf5;
}
.category-update-warning p{margin:.35rem 0 0;color:#7a5b15}
.category-admin-table td{vertical-align:middle}
.category-visibility-btn{
  min-width:105px;
  padding:.38rem .58rem;
  border:1px solid #dfe5ec;
  border-radius:999px;
  background:#f2f4f7;
  color:#667085;
  font:inherit;
  font-size:.7rem;
  font-weight:900;
  cursor:pointer;
}
.category-visibility-btn.is-visible{
  border-color:#abefc6;
  background:#ecfdf3;
  color:#067647;
}
.category-visibility-btn.is-hidden{
  border-color:#dfe5ec;
  background:#f2f4f7;
  color:#667085;
}
.category-note{margin-top:1rem}

@media(max-width:1000px){
  .navigation-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .navigation-admin-head{flex-direction:column}
  .navigation-toggle-grid{grid-template-columns:1fr}
  .navigation-toggle{min-height:64px}
}


/* Chapali V5.2.1 — correctif footer/navigation */
.footer-modern .footer-empty-note{
  display:block;
  margin-top:.45rem;
  color:#91a5b6;
  font-size:.8rem;
  line-height:1.45;
}


/* ==========================================================================
   Chapali V5.3 — SEO & Sitemap
   ========================================================================== */
.seo-manager-form{display:grid;gap:1rem}
.seo-admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin-bottom:1rem;
}
.seo-admin-stats .panel{display:flex;flex-direction:column;gap:.25rem}
.seo-admin-stats b{font-size:1.3rem;color:#101828}
.seo-admin-stats span{color:#667085;font-size:.78rem}

.seo-admin-section{display:grid;gap:1rem}
.seo-admin-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  padding-bottom:.85rem;
  border-bottom:1px solid #e5e9ef;
}
.seo-admin-head span{
  display:block;
  color:#ff6b1a;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.seo-admin-head h2{margin:.15rem 0 0;font-size:1.08rem}
.seo-admin-head small{
  max-width:390px;
  color:#667085;
  text-align:right;
  line-height:1.4;
}

.seo-default-description{min-height:88px;resize:vertical}
.seo-select-grid,
.seo-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.seo-select-card,
.seo-category-card{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:.65rem;
  align-items:flex-start;
  padding:.8rem;
  border:1px solid #dfe5ec;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}
.seo-select-card:hover,
.seo-category-card:hover{border-color:#ff6b1a}
.seo-select-card input,
.seo-category-card input{
  width:18px;
  height:18px;
  margin-top:.08rem;
  accent-color:#ff6b1a;
}
.seo-select-card strong,
.seo-category-card strong{display:block;font-size:.85rem}
.seo-select-card small,
.seo-category-card small{
  display:block;
  margin-top:.2rem;
  color:#667085;
  font-size:.72rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.seo-category-card.is-disabled{
  cursor:not-allowed;
  opacity:.55;
  background:#f2f4f7;
}
.seo-category-card.is-disabled:hover{border-color:#dfe5ec}
.seo-family-toggles{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.4rem;
  padding:.8rem;
  border-radius:10px;
  background:#f8fafc;
}
.robots-editor{
  min-height:250px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.84rem;
  line-height:1.55;
}
.seo-safe-note{
  padding:.7rem .8rem;
  border-radius:9px;
  background:#f8fafc;
  color:#667085;
  font-size:.78rem;
}
.seo-manager-actions{display:flex;justify-content:flex-end}
.seo-regenerate-form{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
}
.seo-regenerate-form p{margin:.25rem 0 0;color:#667085;font-size:.84rem}

@media(max-width:1000px){
  .seo-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seo-select-grid,.seo-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .seo-admin-stats{grid-template-columns:1fr}
  .seo-admin-head{flex-direction:column}
  .seo-admin-head small{text-align:left}
  .seo-select-grid,.seo-category-grid{grid-template-columns:1fr}
  .seo-regenerate-form{flex-direction:column;align-items:stretch}
  .seo-regenerate-form .btn{width:100%}
  .seo-manager-actions .btn{width:100%}
}


/* ==========================================================================
   Chapali V5.3.3 — Menu admin fixe
   ========================================================================== */
@media (min-width: 901px){
  .admin-sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    height:100vh !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  .admin-shell{
    min-height:100vh;
  }

  .admin-main{
    margin-left:var(--admin-sidebar-width, 248px);
    width:calc(100% - var(--admin-sidebar-width, 248px));
  }
}

/* Sur mobile, le comportement responsive existant reste prioritaire. */
@media (max-width: 900px){
  .admin-sidebar{
    position:fixed;
    height:100dvh;
    overflow-y:auto;
  }

  .admin-main{
    margin-left:0 !important;
    width:100% !important;
  }
}


/* ==========================================================================
   Chapali V5.3.4 — Correctif structure du menu admin fixe
   ========================================================================== */
@media (min-width: 901px){
  .admin-shell{
    display:block !important;
    min-height:100vh;
  }

  .admin-sidebar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:248px !important;
    height:100vh !important;
    overflow-y:auto !important;
    transform:none !important;
  }

  .admin-content{
    min-width:0 !important;
    margin-left:248px !important;
    width:calc(100% - 248px) !important;
  }

  .admin-main{
    margin-left:0 !important;
    width:100% !important;
  }
}

@media (max-width: 900px){
  .admin-shell{
    display:block !important;
  }

  .admin-content{
    margin-left:0 !important;
    width:100% !important;
  }
}


/* ==========================================================================
   Chapali V5.3.6 — Libellés de navigation modifiables
   ========================================================================== */
.navigation-label-grid{
  align-items:stretch;
}
.navigation-item-card{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  padding:.75rem;
  border:1px solid #dfe5ec;
  border-radius:12px;
  background:#fff;
}
.navigation-item-card .navigation-toggle{
  min-height:54px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.navigation-item-card .navigation-toggle:hover{
  border-color:transparent;
}
.navigation-label-field{
  display:block;
  font-size:.72rem;
  font-weight:800;
  color:#475467;
}
.navigation-label-field .input{
  width:100%;
  margin-top:.32rem;
  font-weight:700;
}


/* ==========================================================================
   Chapali V5.3.7 — Gestion favicon
   ========================================================================== */
.favicon-size-guide{margin-bottom:1rem}
.favicon-size-guide p{margin:.35rem 0 0}
.favicon-admin-form{display:grid;gap:1rem}
.favicon-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.favicon-admin-card{
  display:grid;
  gap:1rem;
}
.favicon-admin-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.favicon-admin-card h2{
  margin:.35rem 0 .25rem;
  font-size:1.05rem;
}
.favicon-admin-card p{
  margin:0;
  color:#667085;
  font-size:.82rem;
}
.favicon-size-badge{
  display:inline-block;
  padding:.3rem .5rem;
  border-radius:999px;
  background:#fff1e8;
  color:#c84a00;
  font-size:.7rem;
  font-weight:900;
}
.favicon-preview{
  flex:0 0 76px;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border:1px solid #dfe5ec;
  border-radius:14px;
  background:
    linear-gradient(45deg,#f2f4f7 25%,transparent 25%),
    linear-gradient(-45deg,#f2f4f7 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#f2f4f7 75%),
    linear-gradient(-45deg,transparent 75%,#f2f4f7 75%);
  background-size:16px 16px;
  background-position:0 0,0 8px,8px -8px,-8px 0;
  overflow:hidden;
}
.favicon-preview img{
  max-width:62px;
  max-height:62px;
  object-fit:contain;
}
.favicon-preview span{
  font-size:1.4rem;
  color:#98a2b3;
}
.favicon-remove-line{
  margin-top:.2rem;
  color:#b42318;
}
.favicon-current-path{
  display:block;
  color:#98a2b3;
  overflow-wrap:anywhere;
}
.favicon-actions{
  display:flex;
  justify-content:flex-end;
}
@media(max-width:900px){
  .favicon-admin-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .favicon-actions .btn{width:100%}
}


/* ==========================================================================
   Chapali V5.3.8 — Amazon Partenaires
   ========================================================================== */
.amazon-affiliate-preset{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed}
.amazon-affiliate-preset>div{display:flex;flex-direction:column;gap:.25rem}
.amazon-affiliate-preset strong{color:#9a3412}
.amazon-affiliate-preset small{color:#7c2d12;line-height:1.45}
.amazon-affiliate-preset code{background:rgba(255,255,255,.75);padding:.08rem .28rem;border-radius:5px}
@media(max-width:680px){.amazon-affiliate-preset{align-items:stretch;flex-direction:column}.amazon-affiliate-preset .btn{width:100%}}

/* ==========================================================================
   Chapali V5.3.9 — Icônes admin sobres, emojis colorés conservés
   ========================================================================== */
.admin-nav a>span{
  color:#d7dee5;
}
.admin-nav a:hover>span{
  color:#ffffff;
}
.admin-nav a.is-active>span{
  color:#ffffff;
}


/* ==========================================================================
   Chapali V5.3.10 — Icônes admin colorées et contextuelles
   ========================================================================== */
.admin-nav a > span:first-child{
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-variant-emoji:emoji;
  color:inherit;
  filter:none!important;
}


/* Chapali Games V5.4 — Administration maintenance */
.maintenance-admin-status{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.04)}
.maintenance-admin-status strong{display:block;color:#dce7f1}.maintenance-admin-status span{display:block;color:#8fa1b4;font-size:.92rem;line-height:1.5}.maintenance-admin-status.is-on{border-color:rgba(255,107,26,.34);background:rgba(255,107,26,.08)}.maintenance-admin-status.is-on strong{color:#ff9a61}
.maintenance-admin-form{display:grid;gap:22px}.maintenance-toggle{align-items:flex-start!important;padding:16px 18px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.035)}.maintenance-toggle span{display:grid;gap:4px}.maintenance-toggle small{color:#8fa1b4;font-weight:400}.maintenance-fields{margin-top:0}.maintenance-message{min-height:150px;resize:vertical}.maintenance-admin-actions{display:flex;gap:10px;flex-wrap:wrap}.maintenance-admin-note code{font-size:.88em;color:#ff9a61}
@media(max-width:700px){.maintenance-admin-status{flex-direction:column;gap:6px}.maintenance-admin-actions .btn{width:100%;text-align:center}}


/* Chapali Games V5.6 — Redirections */
.redirect-form,.redirect-bulk-form,.redirect-list-panel{margin-top:18px}.redirect-fields{align-items:end}.redirect-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.redirect-bulk-form textarea{width:100%;min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.redirect-table code{white-space:normal;overflow-wrap:anywhere}.redirect-last-hit{display:block;margin-top:4px;color:var(--muted,#718096);white-space:nowrap}.redirect-row-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.redirect-row-actions form{margin:0}.status-badge.ok{background:#eaf8ef;color:#17723a;border-color:#bfe8cd}@media(max-width:760px){.redirect-row-actions{min-width:210px}.redirect-fields{grid-template-columns:1fr}.redirect-table{min-width:900px}}

/* V5.8 — Facebook connecté */
.social-api-note .btn{margin-top:.5rem}
.admin-title + .maintenance-admin-status{margin-bottom:1rem}
