/* ═══════════════════════════════════════════
   MonBienfait.fr — Stylesheet v3 (Modern)
   ═══════════════════════════════════════════ */
:root{
  --brand:#6C3AED;--brand-l:#8B5CF6;--brand-d:#5B21B6;
  --accent:#F59E0B;--hot:#EF4444;
  --bg:#F5F5F7;--card:#FFF;--dark:#1A1A2E;
  --txt:#111827;--txt2:#6B7280;--txt3:#9CA3AF;
  --bdr:#E5E7EB;--bdr-l:#F3F4F6;
  --sh-s:0 1px 4px rgba(0,0,0,.05);--sh-m:0 4px 16px rgba(0,0,0,.08);--sh-l:0 10px 40px rgba(0,0,0,.12);
  --r:14px;--rs:8px;--rl:18px;
  --transition:all .25s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit;transition:color .2s}img{max-width:100%;display:block}
.container{max-width:1300px;margin:0 auto;padding:0 20px}

/* ── Breaking Bar ── */
.breaking-bar{background:linear-gradient(90deg,#DC2626,#EF4444);color:#fff;font-size:.78rem;font-weight:600;padding:8px 0;overflow:hidden}
.breaking-inner{display:flex;align-items:center;gap:12px}
.breaking-label{background:rgba(0,0,0,.25);padding:3px 10px;border-radius:4px;font-size:.68rem;text-transform:uppercase;letter-spacing:1.2px;flex-shrink:0}
.breaking-scroll{overflow:hidden;flex:1;white-space:nowrap}
.breaking-scroll a{display:inline-block;animation:scrollLeft 25s linear infinite;color:#fff}
@keyframes scrollLeft{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}

/* ── Top Bar ── */
.top-bar{background:var(--dark);color:#999;font-size:.72rem;padding:6px 0}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.top-bar a{color:#999;transition:color .2s}.top-bar a:hover{color:#fff}.date-d{letter-spacing:.5px;text-transform:uppercase;font-weight:500}

/* ── Header ── */
header{background:var(--card);border-bottom:1px solid var(--bdr);position:sticky;top:0;z-index:100;box-shadow:0 1px 12px rgba(0,0,0,.06)}
.header-main{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}
.logo{display:flex;align-items:center;gap:6px;flex-shrink:0}
.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--brand),#A78BFA);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.2rem;font-family:'Playfair Display',serif;box-shadow:0 3px 10px rgba(108,58,237,.25)}
.logo-text{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand-d));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.search-w{flex:1;max-width:600px}
.search-bar{display:flex;align-items:center;background:var(--bg);border:2px solid transparent;border-radius:50px;padding:4px 6px 4px 20px;transition:var(--transition)}
.search-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgba(108,58,237,.08);background:#fff}
.search-bar input{flex:1;border:none;background:none;font-size:.92rem;font-family:inherit;color:var(--txt);outline:none;padding:8px 0}
.search-bar input::placeholder{color:var(--txt3)}
.search-btn{background:linear-gradient(135deg,var(--brand),var(--brand-l));border:none;border-radius:50px;color:#fff;padding:10px 22px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--transition)}
.search-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(108,58,237,.3)}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-actions a{font-size:.82rem;font-weight:500;color:var(--txt2);padding:6px 12px;border-radius:8px;transition:var(--transition)}
.header-actions a:hover{background:var(--bdr-l);color:var(--txt)}
.btn-sub{background:var(--brand)!important;color:#fff!important;padding:8px 18px!important;border-radius:50px!important;font-weight:600!important}
.btn-sub:hover{background:var(--brand-d)!important}

/* ── Nav ── */
nav.categories{background:var(--card);border-bottom:1px solid var(--bdr)}
nav.categories ul{display:flex;list-style:none;overflow-x:auto;scrollbar-width:none}
nav.categories ul::-webkit-scrollbar{display:none}
nav.categories li a{display:block;padding:10px 16px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--txt2);border-bottom:3px solid transparent;transition:var(--transition);white-space:nowrap}
nav.categories li a:hover,nav.categories li a.active{color:var(--brand);border-bottom-color:var(--brand)}

/* ═══════════════════════════════════════════
   HERO SLIDER
   ═══════════════════════════════════════════ */
.hero-section{position:relative;background:#000}
.hero-slider{position:relative;height:520px;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center}
.slide.active{opacity:1;z-index:1}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.2) 100%)}
.slide-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.slide-inner{max-width:600px;color:#fff}
.slide-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border-radius:6px;margin-bottom:16px}
.slide-title{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;line-height:1.2;margin-bottom:14px}
.slide-title a{color:#fff;transition:opacity .2s}.slide-title a:hover{opacity:.85}
.slide-desc{font-size:.92rem;line-height:1.65;opacity:.8;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.slide-meta{display:flex;align-items:center;gap:8px;font-size:.78rem;opacity:.6;margin-bottom:20px}
.slide-sep{opacity:.4}
.slide-src{font-weight:600}
.slide-cta{display:inline-flex;align-items:center;background:var(--brand);color:#fff;padding:10px 24px;border-radius:50px;font-size:.85rem;font-weight:600;transition:var(--transition)}
.slide-cta:hover{background:var(--brand-l);transform:translateY(-1px);box-shadow:0 6px 20px rgba(108,58,237,.4);color:#fff}

/* Slider Controls */
.slider-controls{position:absolute;bottom:28px;left:0;right:0;z-index:3;display:flex;align-items:center;gap:16px}
.slider-btn{width:40px;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);color:#fff;font-size:1.4rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;line-height:1}
.slider-btn:hover{background:var(--brand);border-color:var(--brand)}
.slider-dots{display:flex;gap:6px}
.slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:var(--transition);padding:0}
.slider-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px rgba(255,255,255,.5)}
.slider-counter{margin-left:auto;color:rgba(255,255,255,.5);font-size:.78rem;font-weight:600}

/* Thumbnails */
.slider-thumbs{position:absolute;bottom:-55px;left:0;right:0;z-index:3;display:flex;gap:10px;padding-bottom:10px}
.thumb{display:flex;align-items:center;gap:10px;background:var(--card);border:2px solid transparent;border-radius:10px;padding:6px 10px 6px 6px;cursor:pointer;transition:var(--transition);text-align:left;flex:1;min-width:0;font-family:inherit}
.thumb:hover{border-color:var(--brand-l);box-shadow:var(--sh-s)}
.thumb.active{border-color:var(--brand);box-shadow:0 2px 12px rgba(108,58,237,.2)}
.thumb img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}
.thumb-title{font-size:.72rem;font-weight:600;color:var(--txt);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ═══ FLASH BAR ═══ */
.flash-bar{background:var(--card);border-bottom:1px solid var(--bdr);padding:16px 0;margin-top:65px}
.flash-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.flash-icon{font-size:1.2rem}
.flash-label{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700}
.flash-scroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.flash-scroll::-webkit-scrollbar{display:none}
.flash-item{display:flex;align-items:center;gap:10px;min-width:280px;flex-shrink:0;padding:8px 12px;border-radius:12px;border:1px solid var(--bdr-l);background:#FAFAFA;transition:var(--transition);scroll-snap-align:start}
.flash-item:hover{border-color:var(--brand-l);background:#fff;box-shadow:var(--sh-s)}
.flash-thumb{width:54px;height:54px;border-radius:10px;object-fit:cover;flex-shrink:0}
.flash-text{min-width:0}
.flash-cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--brand)}
.flash-title{font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--txt)}

/* ═══ HOME GRID ═══ */
.home-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;padding:32px 0 48px}
.home-main{min-width:0}
.home-sidebar{min-width:0}

/* ── Section Headers ── */
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--bdr)}
.sec-header h2{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:8px}
.sec-header a{font-size:.8rem;font-weight:600;color:var(--brand);transition:var(--transition)}
.sec-header a:hover{color:var(--brand-d)}

/* ── Featured Card ── */
.feat-card{display:block;background:var(--card);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);margin-bottom:24px;transition:var(--transition)}
.feat-card:hover{transform:translateY(-3px);box-shadow:var(--sh-m)}
.feat-img-wrap{overflow:hidden;height:340px}
.feat-img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.feat-card:hover .feat-img{transform:scale(1.04)}
.feat-body{padding:24px}
.feat-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;line-height:1.3;margin:8px 0 12px;color:var(--txt)}
.feat-desc{font-size:.9rem;color:var(--txt2);line-height:1.65;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ── Article Cards Grid ── */
.a-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:28px}
.a-card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);transition:var(--transition);display:block}
.a-card:hover{transform:translateY(-3px);box-shadow:var(--sh-m)}
.a-card .c-img{width:100%;height:170px;object-fit:cover;transition:transform .5s}
.a-card:hover .c-img{transform:scale(1.04)}
.c-body{padding:14px 16px}
.c-badge{display:inline-block;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:5px;margin-bottom:6px}
.badge-actu{background:#FEE2E2;color:#DC2626}.badge-tech{background:#EDE9FE;color:#6C3AED}.badge-sante{background:#D1FAE5;color:#059669}
.badge-astuces{background:#FEF3C7;color:#D97706}.badge-finance{background:#FCE7F3;color:#DB2777}.badge-voyage{background:#DBEAFE;color:#2563EB}
.badge-culture{background:#FDE68A;color:#92400E}.badge-lifestyle{background:#EDE9FE;color:#7C3AED}.badge-sport{background:#FEE2E2;color:#DC2626}
.badge-enviro{background:#D1FAE5;color:#047857}.badge-science{background:#DBEAFE;color:#4F46E5}
.c-title{font-size:.92rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.c-meta{font-size:.72rem;color:var(--txt3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.src-dot{width:18px;height:18px;border-radius:50%;color:#fff;font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* ── Horizontal Scroll Cards ── */
.h-scroll-row{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:4px;margin-bottom:28px}
.h-scroll-row::-webkit-scrollbar{display:none}
.h-card{min-width:220px;max-width:240px;flex-shrink:0;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);transition:var(--transition);scroll-snap-align:start}
.h-card:hover{transform:translateY(-2px);box-shadow:var(--sh-m)}
.h-card-img{width:100%;height:130px;object-fit:cover}
.h-card-body{padding:12px 14px}
.h-card-title{font-size:.82rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
.h-card-meta{font-size:.68rem;color:var(--txt3)}

/* ── Astuces Grid ── */
.ast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.ast-card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);transition:var(--transition);display:block}
.ast-card:hover{transform:translateY(-3px);box-shadow:var(--sh-m);border-color:var(--brand-l)}
.ast-img{width:100%;height:120px;object-fit:cover}
.ast-body{padding:14px}
.ast-title{font-size:.88rem;font-weight:700;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ast-desc{font-size:.78rem;color:var(--txt2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.ast-more{font-size:.75rem;font-weight:600;color:var(--brand)}

/* ═══ SIDEBAR ═══ */
.sb-card{background:var(--card);border-radius:var(--rl);padding:20px;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);margin-bottom:20px}
.sb-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--bdr)}
.sb-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--bdr-l);transition:var(--transition)}
.sb-item:last-child{border-bottom:none}
.sb-item:hover .sb-item-title{color:var(--brand)}
.sb-rank{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:var(--bdr);line-height:1;min-width:26px;transition:color .2s}
.sb-item:hover .sb-rank{color:var(--brand-l)}
.sb-item-title{font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.sb-item-meta{font-size:.68rem;color:var(--txt3);margin-top:3px}
.sb-thumb-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--bdr-l);transition:var(--transition)}
.sb-thumb-item:last-of-type{border-bottom:none}
.sb-thumb-item:hover .sb-item-title{color:var(--brand)}
.sb-thumb-img{width:64px;height:52px;border-radius:8px;object-fit:cover;flex-shrink:0}
.sb-more{display:block;text-align:center;font-size:.78rem;font-weight:600;color:var(--brand);padding-top:12px;margin-top:8px;border-top:1px solid var(--bdr-l)}

/* ── Weather ── */
.weather{background:linear-gradient(135deg,#667EEA,#764BA2);border-radius:var(--rl);padding:20px;color:#fff;margin-bottom:20px;box-shadow:0 4px 20px rgba(102,126,234,.3)}
.weather-loc{font-size:.78rem;opacity:.8;margin-bottom:8px;font-weight:500}
.weather-main{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.weather-icon{font-size:2.8rem}
.weather-temp{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:800;line-height:1}
.weather-desc{font-size:.82rem;opacity:.85}
.weather-fc{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.fc-d{text-align:center;background:rgba(255,255,255,.12);border-radius:10px;padding:8px 4px}
.fc-d .day{font-size:.68rem;font-weight:600;opacity:.7}.fc-d .fi{font-size:1.3rem;margin:4px 0}.fc-d .temp{font-size:.7rem;opacity:.85}

/* ── Newsletter ── */
.nl-box{background:linear-gradient(135deg,var(--brand),#A78BFA);border-radius:var(--rl);padding:24px;color:#fff;margin-bottom:20px;box-shadow:0 4px 20px rgba(108,58,237,.2)}
.nl-box h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:8px}
.nl-box p{font-size:.82rem;opacity:.85;margin-bottom:14px;line-height:1.5}
.nl-form{display:flex;flex-direction:column;gap:8px}
.nl-form input{padding:10px 16px;border:none;border-radius:10px;font-size:.88rem;font-family:inherit;background:rgba(255,255,255,.95);color:var(--txt);outline:none}
.nl-form input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.nl-form button{padding:10px;border:none;border-radius:10px;background:rgba(0,0,0,.2);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:var(--transition)}
.nl-form button:hover{background:rgba(0,0,0,.35)}
.nl-msg{margin-top:8px;font-size:.78rem;text-align:center}
.nl-ok{color:#A7F3D0}.nl-err{color:#FCA5A5}

/* ── Category List View ── */
.a-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.a-row{display:flex;gap:18px;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);transition:var(--transition);padding:12px}
.a-row:hover{box-shadow:var(--sh-m);border-color:var(--brand-l)}
.a-row .r-img{width:200px;height:140px;border-radius:10px;object-fit:cover;flex-shrink:0}
.r-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.r-title{font-size:1.05rem;font-weight:700;line-height:1.35;margin:6px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r-desc{font-size:.82rem;color:var(--txt2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.r-bottom{font-size:.72rem;color:var(--txt3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.r-reading{margin-left:auto;font-weight:500}

/* ── Grid Layouts ── */
.grid-2col{display:grid;grid-template-columns:1fr 340px;gap:28px;padding:28px 0 40px}

/* ── Ad Slots ── */
.ad-slot{background:var(--bdr-l);border:1px dashed var(--bdr);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--txt3);font-size:.78rem;margin:16px 0}
.ad-header{height:90px}.ad-sidebar{height:250px;margin-bottom:20px}.ad-sidebar-lg{height:600px;margin-bottom:20px}.ad-inline{height:90px}
.ad-mobile{display:none;height:100px}.ad-footer{height:90px;margin-top:16px}

/* ── Pagination ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:20px 0}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:10px;font-size:.85rem;font-weight:600;background:var(--card);color:var(--txt);border:1px solid var(--bdr);transition:var(--transition)}
.pg-btn:hover{border-color:var(--brand);color:var(--brand)}.pg-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ── Empty ── */
.empty{text-align:center;padding:60px 20px;color:var(--txt2)}
.empty .ei{font-size:3rem;margin-bottom:16px}.empty h2{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:8px;color:var(--txt)}.empty p{font-size:.9rem;max-width:400px;margin:0 auto 20px}
.btn-primary{display:inline-block;background:linear-gradient(135deg,var(--brand),var(--brand-l));color:#fff;padding:11px 26px;border-radius:50px;font-weight:600;font-size:.88rem;transition:var(--transition);box-shadow:0 2px 10px rgba(108,58,237,.2)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(108,58,237,.3);color:#fff}

/* ── Static Page ── */
.page-content{max-width:760px;margin:0 auto;padding:40px 20px}
.page-content h1{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:12px;line-height:1.3;color:var(--brand-d)}
.page-content h2{font-family:'Playfair Display',serif;font-size:1.35rem;margin:32px 0 12px;padding-top:16px;border-top:1px solid var(--bdr-l);color:var(--txt)}
.page-content h3{font-size:1.05rem;font-weight:700;margin:20px 0 8px;color:var(--txt)}
.page-content p{margin-bottom:14px;line-height:1.75;color:#374151}
.page-content a{color:var(--brand);text-decoration:underline}.page-content a:hover{color:var(--brand-d)}
.page-content ul,.page-content ol{margin:0 0 16px 24px;line-height:1.75;color:#374151}.page-content li{margin-bottom:6px}
.page-content em{color:var(--txt3)}.page-content strong{color:var(--txt)}
.page-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}
.page-content table th{background:var(--bdr-l);padding:10px 14px;text-align:left;font-weight:600;border:1px solid var(--bdr)}
.page-content table td{padding:10px 14px;border:1px solid var(--bdr)}

/* ── Footer ── */
footer{background:var(--dark);color:#aaa;padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px;margin-bottom:36px}
.footer-brand .logo-text{-webkit-text-fill-color:var(--brand-l);font-family:'Playfair Display',serif;font-weight:800;font-size:1.3rem;margin-bottom:12px}
.footer-brand p{font-size:.82rem;line-height:1.5;color:#888}
.footer-col h4{color:#fff;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col a{font-size:.82rem;color:#888;transition:color .2s}.footer-col a:hover{color:var(--brand-l)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#666;flex-wrap:wrap;gap:10px}

/* ── Cookie Banner ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);color:#ddd;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:999;font-size:.82rem;box-shadow:0 -4px 30px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .4s}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner button{background:var(--brand);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit}

/* ── Article Detail ── */
.art-detail{max-width:100%}
.art-breadcrumb{font-size:.78rem;color:var(--txt3);margin-bottom:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.art-breadcrumb a{color:var(--brand);font-weight:500}.art-breadcrumb a:hover{text-decoration:underline}
.art-title{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;line-height:1.3;margin-bottom:16px;color:var(--txt)}
.art-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem;color:var(--txt2);margin-bottom:16px}
.art-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.share-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:#fff;font-size:.75rem;font-weight:700;text-decoration:none;transition:opacity .2s}.share-icon:hover{opacity:.8}
.art-img-wrap{margin-bottom:24px;border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-m)}
.art-img{width:100%;max-height:480px;object-fit:cover}
.art-content{font-size:1.05rem;line-height:1.85;color:var(--txt);margin-bottom:24px}.art-content p{margin-bottom:18px}
.art-source-link{background:var(--bdr-l);border-radius:var(--r);padding:24px;text-align:center;margin-bottom:24px}.art-source-link p{margin-bottom:12px;font-size:.92rem;color:var(--txt2)}.art-source-link .btn-primary{font-size:.88rem}

/* ── Admin ── */
.admin-wrap{max-width:1100px;margin:30px auto;padding:0 20px}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding-bottom:16px;border-bottom:2px solid var(--bdr)}
.admin-header h1{font-family:'Playfair Display',serif;font-size:1.6rem}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}
.stat-card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh-s);border:1px solid var(--bdr-l);text-align:center}
.stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--brand)}.stat-label{font-size:.78rem;color:var(--txt2);margin-top:4px}
.admin-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s)}
.admin-table th{background:var(--bdr-l);padding:12px 16px;text-align:left;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--txt2)}
.admin-table td{padding:10px 16px;border-bottom:1px solid var(--bdr-l);font-size:.85rem}
.admin-table tr:hover td{background:#FAFAFA}
.status-ok{color:#059669;font-weight:600}.status-err{color:var(--hot);font-weight:600}
.admin-btn{display:inline-block;padding:6px 14px;border-radius:6px;font-size:.78rem;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:var(--transition)}
.admin-btn-primary{background:var(--brand);color:#fff}.admin-btn-danger{background:var(--hot);color:#fff}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .5s ease forwards;opacity:0}
.fade-up:nth-child(1){animation-delay:.05s}.fade-up:nth-child(2){animation-delay:.1s}
.fade-up:nth-child(3){animation-delay:.15s}.fade-up:nth-child(4){animation-delay:.2s}

/* ── Responsive ── */
@media(max-width:1024px){
  .home-grid,.grid-2col{grid-template-columns:1fr}
  .home-sidebar{order:-1;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .slider-thumbs{display:none}
  .flash-bar{margin-top:10px}
}
@media(max-width:768px){
  .header-main{flex-wrap:wrap}.header-actions{display:none}
  .search-w{order:3;max-width:100%;flex-basis:100%}
  .a-grid{grid-template-columns:1fr}.ast-grid{grid-template-columns:1fr}
  .hero-slider{height:360px}
  .slide-title{font-size:1.4rem}.slide-desc{display:none}
  .slider-controls{bottom:16px}
  .home-sidebar{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .a-row{flex-direction:column;padding:0;overflow:hidden}.a-row .r-img{width:100%;height:180px;border-radius:0}
  .r-body{padding:14px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .feat-img-wrap{height:220px}.feat-title{font-size:1.2rem}
  .art-title{font-size:1.4rem}.art-img{max-height:280px}.art-content{font-size:.95rem}
}
@media(max-width:480px){
  .container{padding:0 12px}.footer-grid{grid-template-columns:1fr}
  .hero-slider{height:300px}.slide-title{font-size:1.15rem}
  .flash-item{min-width:240px}
}
