*{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}}


/* --- Keldeal 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}}

/* --- Keldeal 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}

.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;
  }
}


/* --- Keldeal 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}}


/* --- Keldeal 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 Keldeal 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%}
}


/* Keldeal 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;
  }
}

/* ==========================================================================
   Keldeal 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;
}


/* Keldeal 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}}
