/* ============ TOKENS ============ */
:root{
  --ink:#10151f;
  --ink-soft:#3a4252;
  --paper:#f7f7f3;
  --paper-raised:#ffffff;
  --line:#dedad0;
  --line-strong:#c7c2b4;
  --navy:#0e1b2c;
  --navy-2:#16273d;
  --brass:#a9812f;
  --brass-light:#c9a355;
  --red:#9c2a34;
  --green-live:#2f6b4f;
  --shadow: 0 12px 32px rgba(16,21,31,0.08);
  --font-display:'Fraunces', Georgia, serif;
  --font-ui:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fs-base:16px;
  --radius-s:2px;
  --radius-m:3px;
  --maxw:1280px;
}
:root:not([data-theme="light"]){
  --ink:#10151f; --paper:#f7f7f3; --paper-raised:#ffffff; --line:#dedad0;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eee9dd;
    --ink-soft:#b9b2a1;
    --paper:#11161f;
    --paper-raised:#161d29;
    --line:#2a3242;
    --line-strong:#38425a;
    --navy:#060a12;
    --navy-2:#0c1420;
    --shadow: 0 12px 32px rgba(0,0,0,0.4);
  }
}
:root[data-theme="dark"]{
  --ink:#eee9dd; --ink-soft:#b9b2a1; --paper:#11161f; --paper-raised:#161d29;
  --line:#2a3242; --line-strong:#38425a; --navy:#060a12; --navy-2:#0c1420;
  --shadow: 0 12px 32px rgba(0,0,0,0.4);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-ui); font-size:var(--fs-base); line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
@media(max-width:720px){.wrap{padding:0 20px;}}
html, body{overflow-x:hidden; max-width:100%;}
@media(max-width:560px){
  .utility-left span{display:none;}
  .lang-flag{padding:3px 3px; font-size:0.82rem;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ============ UTILITY BAR ============ */
.utility{
  background:var(--navy); color:#cfd6e2; font-size:0.78rem;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.utility .wrap{display:flex; align-items:center; justify-content:space-between; height:38px; gap:16px;}
.utility-left{display:flex; align-items:center; gap:18px; color:#9aa6bb;}
.utility-left span{white-space:nowrap;}
.utility-right{display:flex; align-items:center; gap:14px;}

.fontctl{display:flex; align-items:center; gap:2px; border-left:1px solid rgba(255,255,255,0.15); padding-left:14px;}
.fontctl button{
  background:none; border:1px solid rgba(255,255,255,0.25); color:#cfd6e2;
  width:22px; height:22px; border-radius:50%; font-size:0.72rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
}
.fontctl button:hover{border-color:var(--brass-light); color:var(--brass-light);}

.langswitch-row{display:flex; align-items:center; gap:4px;}
.lang-flag{
  background:none; border:1px solid transparent; border-radius:4px; font-size:0.95rem; line-height:1;
  padding:4px 5px; opacity:0.6; transition:opacity .15s ease, border-color .15s ease;
}
.lang-flag:hover{opacity:1;}
.lang-flag.active{opacity:1; border-color:var(--brass-light);}

/* ============ HEADER ============ */
header.site{background:var(--navy); position:sticky; top:0; z-index:150; border-bottom:1px solid rgba(255,255,255,0.08);}
.header-row{display:flex; align-items:center; justify-content:space-between; height:84px; gap:24px;}
.brand{display:flex; align-items:center; gap:16px;}
.brand-logo-img{height:56px; width:auto; display:block; flex:none;}
.brand-tagline{
  font-size:0.74rem; font-weight:800; letter-spacing:0.12em; line-height:1.35; color:#eef1f6;
  border-left:1px solid rgba(255,255,255,0.28); padding-left:16px; max-width:130px; text-transform:uppercase;
}
@media(max-width:640px){
  .brand-logo-img{height:42px;}
  .brand-tagline{display:none;}
}
.footer-logo-img{height:92px; width:auto; margin-bottom:18px; display:block;}

/* top leaderboard banner, above the menu */
.top-banner-bar{background:var(--paper); padding:10px 0; text-align:center;}
.top-banner-bar .banner-slot{margin:0 auto;}

.header-actions{display:flex; align-items:center; gap:18px;}
.search-wrap{position:relative;}
.search-toggle{
  background:none; border:none; color:#e7e9ee; display:flex; align-items:center; gap:8px; font-size:0.86rem; padding:8px;
}
.search-toggle svg{width:18px; height:18px;}
.search-panel{
  position:absolute; top:calc(100% + 14px); right:-8px; width:360px; max-width:calc(100vw - 32px); background:var(--paper-raised);
  border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); padding:16px; display:none; z-index:220;
}
.search-panel.open{display:block;}
.search-panel input{
  width:100%; padding:10px 12px; border:1px solid var(--line-strong); border-radius:6px; font-size:0.92rem;
  font-family:var(--font-ui); background:var(--paper); color:var(--ink);
}
.search-results{margin-top:10px; max-height:320px; overflow-y:auto;}
.search-result{display:block; padding:10px 6px; border-bottom:1px solid var(--line);}
.search-result:last-child{border-bottom:none;}
.search-result .tag{font-size:0.68rem; color:var(--brass); font-weight:700;}
.search-result .ttl{font-size:0.88rem; margin-top:2px; font-weight:600;}
.search-empty{font-size:0.82rem; color:var(--ink-soft); padding:8px 6px;}

.hamburger{
  width:42px; height:42px; border:1px solid rgba(255,255,255,0.25); border-radius:2px; background:none;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; flex:none;
}
.hamburger span{width:18px; height:1.5px; background:#e7e9ee; display:block; transition:transform .25s ease, opacity .25s ease;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ============ HORIZONTAL SUB-MENU ============ */
nav.subnav{background:var(--navy-2); border-bottom:1px solid rgba(255,255,255,0.08);}
.subnav .wrap{display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none;}
.subnav .wrap::-webkit-scrollbar{display:none;}
.subnav a{
  position:relative; white-space:nowrap; color:#c9d0dd; font-size:0.82rem; font-weight:600;
  letter-spacing:0.02em; padding:13px 16px; border-bottom:2px solid transparent; display:flex; align-items:center; gap:5px;
}
.subnav a:hover{color:#fff; border-bottom-color:var(--brass-light);}
.subnav a.current{color:#fff; border-bottom-color:var(--brass-light);}

/* ============ MEGA DRAWER (hamburger) ============ */
.drawer-overlay{position:fixed; inset:0; background:rgba(10,13,20,0.55); z-index:300; display:none;}
.drawer-overlay.open{display:block;}
.drawer{
  position:fixed; top:0; right:-420px; width:400px; max-width:88vw; height:100%; background:var(--paper-raised);
  z-index:310; transition:right .32s cubic-bezier(.4,0,.2,1); overflow-y:auto; box-shadow:-16px 0 40px rgba(0,0,0,0.25);
}
.drawer.open{right:0;}
.drawer-head{display:flex; justify-content:space-between; align-items:center; padding:22px 24px; border-bottom:1px solid var(--line);}
.drawer-head .t1{font-family:var(--font-display); font-size:1.1rem;}
.drawer-close{background:none; border:1px solid var(--line-strong); border-radius:50%; width:34px; height:34px; font-size:1rem; color:var(--ink);}
.drawer-body{padding:10px 12px 40px;}
.drawer-group{padding:10px 12px;}
.drawer-group > a, .drawer-group > .dg-label{
  display:flex; justify-content:space-between; align-items:center; font-family:var(--font-display); font-size:1.15rem;
  padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); font-weight:500;
}
.drawer-sub{display:none; padding-left:14px;}
.drawer-sub.open{display:block;}
.drawer-sub a{display:block; padding:9px 0; font-size:0.9rem; color:var(--ink-soft); border-bottom:1px dashed var(--line);}
.drawer-sub a:hover{color:var(--brass);}
.dg-label{cursor:pointer;}
.dg-label .caret2{width:8px; height:8px; border-right:1.5px solid var(--ink-soft); border-bottom:1.5px solid var(--ink-soft); transform:rotate(45deg); transition:transform .2s;}
.drawer-group.open .caret2{transform:rotate(225deg);}
.drawer-foot{padding:20px 24px; border-top:1px solid var(--line); margin-top:8px;}
.drawer-foot .langs{display:flex; flex-wrap:wrap; gap:8px;}
.drawer-foot .langs button{border:1px solid var(--line-strong); background:none; border-radius:16px; padding:6px 12px; font-size:0.78rem;}
.drawer-foot .langs button.active{border-color:var(--brass); color:var(--brass); font-weight:700;}

/* ============ TICKER ============ */
.ticker-bar{background:var(--navy); color:#e9e6da; overflow:hidden; position:relative; border-bottom:1px solid rgba(255,255,255,0.08);}
.ticker-label{
  position:absolute; left:0; top:0; bottom:0; background:var(--red); color:#fff; font-size:0.72rem; font-weight:700;
  letter-spacing:0.06em; display:flex; align-items:center; gap:6px; padding:0 14px; z-index:5;
}
.live-dot{width:6px; height:6px; border-radius:50%; background:#fff; animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.ticker-track{display:flex; white-space:nowrap; animation:tickerscroll 42s linear infinite; padding-left:130px;}
.ticker-track:hover{animation-play-state:paused;}
@keyframes tickerscroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.tick{display:inline-flex; align-items:baseline; gap:6px; padding:8px 20px; font-size:0.8rem; border-right:1px solid rgba(255,255,255,0.12);}
.tick .sym{font-weight:700; color:#fff;}
.tick .val{color:#cfcabb;}
.tick .chg.up{color:#6fbf8b;}
.tick .chg.down{color:#e08b8b;}

/* ============ BANNER SLOTS ============ */
.banner-slot{
  max-width:100%; margin:0 auto; display:flex; align-items:center; justify-content:center; text-align:center;
  background:repeating-linear-gradient(135deg, var(--paper-raised), var(--paper-raised) 10px, var(--paper) 10px, var(--paper) 20px);
  border:1px dashed var(--line-strong); color:var(--ink-soft); font-size:0.72rem; letter-spacing:0.04em;
  border-radius:4px; overflow:hidden; flex-direction:column; gap:3px;
}
.banner-slot.banner-filled{
  background:none; border:none; padding:0; display:block; border-radius:6px; box-shadow:var(--shadow); transition:opacity .2s ease;
}
.banner-slot.banner-filled:hover{opacity:0.92;}
.banner-slot.banner-filled img{width:100%; height:100%; object-fit:cover; display:block; border-radius:6px;}
.banner-300x250.banner-filled img{object-fit:contain; background:var(--navy);}
.banner-970x250{width:970px; max-width:100%; height:250px;}
.banner-970x500{width:970px; max-width:100%; height:500px;}
.banner-728x90{width:728px; max-width:100%; height:90px;}
.banner-300x250{width:300px; max-width:100%; height:250px;}
.banner-outer{display:flex; justify-content:center; padding:0; margin:24px 0;}
.banner-outer + .banner-outer{margin-top:0;}
@media(max-width:1020px){.banner-970x250{height:180px;} .banner-970x500{height:320px;}}

/* ============ HERO ============ */
.hero{background:var(--navy); color:#f2efe6; position:relative; overflow:hidden;}
.hero::after{
  content:""; position:absolute; right:-8%; top:-18%; width:620px; height:620px; border-radius:50%;
  background:radial-gradient(circle at 40% 40%, rgba(169,129,47,0.25), transparent 70%);
  pointer-events:none;
}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; padding-top:64px; padding-bottom:56px; position:relative; z-index:2;}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr; padding-top:40px; padding-bottom:32px; gap:30px;}}
.eyebrow-plain{color:var(--brass-light); font-size:0.85rem; font-weight:600; margin-bottom:18px;}
.hero h1{
  font-family:var(--font-display); font-weight:600; font-size:clamp(2.3rem, 4.6vw, 3.7rem);
  line-height:1.06; letter-spacing:-0.01em; margin:0 0 22px;
}
.hero p.lead{font-size:1.08rem; color:#cbd0da; max-width:46ch; margin:0 0 30px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:2px; font-size:0.88rem; font-weight:700;
  letter-spacing:0.02em; border:1.5px solid transparent; transition:transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--brass-light); color:var(--navy);}
.btn-primary:hover{background:#d9b569;}
.btn-ghost{background:transparent; border-color:rgba(242,239,230,0.4); color:#f2efe6;}
.btn-ghost:hover{border-color:#f2efe6;}
.btn-line{background:none; border:0; border-bottom:1.5px solid var(--brass); color:var(--ink); padding:4px 0; border-radius:0; font-weight:700;}

/* hero pulse panel */
.pulse-panel{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2); border-radius:10px; padding:24px; backdrop-filter:blur(2px); max-width:420px; margin-left:auto; box-shadow:0 20px 50px rgba(0,0,0,0.25);}
@media(max-width:960px){.pulse-panel{max-width:100%; margin-left:0;}}
.pulse-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.14);}
.pulse-head .name{font-weight:700; font-size:0.92rem;}
.pulse-foot{display:flex; align-items:center; gap:6px; margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.14); font-size:0.72rem; color:#9aa6bb;}
.pulse-row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px dashed rgba(255,255,255,0.1); font-size:0.86rem;}
.pulse-row:last-child{border-bottom:none;}
.pulse-row .nm{color:#d6d9e0;}
.pulse-row .figs{display:flex; align-items:baseline; gap:8px;}
.pulse-row .v{font-weight:700; font-variant-numeric:tabular-nums;}
.pulse-row .c{font-size:0.78rem; font-variant-numeric:tabular-nums;}
.up{color:#7bc99a;} .down{color:#e39292;}

/* ============ SECTIONS / LISTING ============ */
main{background:var(--paper);}
.section{padding:56px 0;}
.section-tight{padding:36px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; gap:20px; border-bottom:1px solid var(--line); padding-bottom:16px;}
.section-head h2{font-family:var(--font-display); font-size:1.9rem; font-weight:600; margin:0; letter-spacing:-0.01em;}
.section-head .desc{color:var(--ink-soft); font-size:0.92rem; margin-top:6px; max-width:56ch;}

.breadcrumb{font-size:0.8rem; color:var(--ink-soft); padding:20px 0 0;}
.breadcrumb a{color:var(--brass);}
.breadcrumb span{margin:0 6px;}

.page-layout{display:grid; grid-template-columns:1fr 320px; gap:52px; align-items:start; min-width:0;}
.page-layout > *{min-width:0;}
@media(max-width:940px){.page-layout{grid-template-columns:1fr;}}

/* ---- category grid page: side banners + item grid + pagination ---- */
/* ---- category grid page: side banners removed, grid now spans full width ---- */
.cat-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; min-width:0;}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(3, 1fr);}}
@media(max-width:640px){.cat-grid{grid-template-columns:repeat(2, 1fr);}}
.cat-card{display:block; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--paper-raised); min-width:0;}
.cat-card:hover{border-color:var(--brass);}
.cat-card .cc-thumb{
  aspect-ratio:3/2; background:linear-gradient(150deg, var(--navy), var(--navy-2)); position:relative; overflow:hidden;
}
.cat-card .cc-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.cat-card .cc-body{padding:14px;}
.cat-card .cc-meta{font-size:0.66rem; color:var(--brass); font-weight:700; letter-spacing:0.03em; margin-bottom:6px;}
.cat-card h4{font-family:var(--font-display); font-size:0.98rem; line-height:1.28; margin:0 0 6px; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:break-word; word-break:break-word;}
.cat-card .cc-date{font-size:0.72rem; color:var(--ink-soft);}
/* Tablette et mobile : titre complet (pas de « … »), les cartes étant trop étroites pour 3 lignes */
@media(max-width:900px){
  .cat-card h4{display:block; -webkit-line-clamp:unset; overflow:visible; word-break:normal; overflow-wrap:break-word; hyphens:auto;}
}

.pagination{display:flex; align-items:center; justify-content:center; gap:6px; margin-top:36px; flex-wrap:wrap;}
.pagination button{
  min-width:36px; height:36px; padding:0 10px; border:1px solid var(--line-strong); background:var(--paper-raised);
  color:var(--ink); border-radius:4px; font-size:0.84rem; font-weight:600;
}
.pagination button:hover:not(:disabled){border-color:var(--brass); color:var(--brass);}
.pagination button.active{background:var(--navy); border-color:var(--navy); color:#fff;}
.pagination button:disabled{opacity:0.35; cursor:default;}
.pagination .pg-ellipsis{padding:0 4px; color:var(--ink-soft);}

/* ---- article / TEKST view ---- */
.article-view-head{margin-bottom:26px;}
.article-view-head h1{font-family:var(--font-display); font-size:2rem; line-height:1.18; margin:0 0 14px; font-weight:600;}
.article-view-body{font-size:1.02rem; line-height:1.75; color:var(--ink);}
.article-view-body p{margin:0 0 20px;}
.article-view-body p:first-of-type{font-size:1.12rem; font-weight:500; color:var(--ink-soft);}
.related-title{font-family:var(--font-display); font-size:1.05rem; padding-bottom:12px; border-bottom:2px solid var(--ink); margin-bottom:16px;}
.related-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; min-width:0;}
.back-to-cat{display:inline-flex; align-items:center; gap:6px; font-size:0.82rem; font-weight:700; color:var(--brass); margin-bottom:22px;}

.article-row{display:grid; grid-template-columns:200px 1fr; gap:22px; padding:24px 0; border-bottom:1px solid var(--line);}
.article-row:first-child{padding-top:0;}
@media(max-width:600px){.article-row{grid-template-columns:1fr; gap:12px;}}
.article-thumb{
  width:200px; aspect-ratio:3/2; border-radius:3px; background:linear-gradient(135deg, var(--navy), var(--navy-2));
  position:relative; overflow:hidden; flex:none;
}
@media(max-width:600px){.article-thumb{width:100%;}}
.article-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.article-meta{display:flex; gap:12px; align-items:center; font-size:0.72rem; color:var(--ink-soft); margin-bottom:8px;}
.article-meta .cat{color:var(--brass); font-weight:700;}
.article-row h3{font-family:var(--font-display); font-size:1.28rem; font-weight:600; margin:0 0 8px; line-height:1.25;}
.article-row h3 a:hover{color:var(--brass);}
.article-row p{font-size:0.92rem; color:var(--ink-soft); margin:0 0 8px; max-width:64ch;}
.readmore{font-size:0.8rem; font-weight:700; color:var(--brass);}

.sidebar-block{margin-bottom:36px;}
.sidebar-block .banner-outer{margin:0;}
.sidebar-title{font-family:var(--font-display); font-size:1.05rem; padding-bottom:12px; border-bottom:2px solid var(--ink); margin-bottom:14px;}
.side-item{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--line);}
.side-item .n{font-family:var(--font-display); font-size:1.3rem; color:var(--line-strong); flex:none; width:26px;}
.side-item .tt{font-size:0.86rem; font-weight:600; line-height:1.3;}
.side-item .tt:hover{color:var(--brass);}

.tag-pill{display:inline-block; font-size:0.68rem; font-weight:700; letter-spacing:0.03em; padding:4px 10px; border-radius:20px; background:var(--paper-raised); border:1px solid var(--line-strong); color:var(--ink-soft); margin:0 6px 6px 0;}

/* featured hero article for listing pages */
.feature-card{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; margin-bottom:40px; background:var(--paper-raised);}
@media(max-width:760px){.feature-card{grid-template-columns:1fr;}}
.feature-media{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 60%, #1c2e46 100%); min-height:280px; position:relative; display:flex; align-items:flex-end; padding:26px;}
.feature-media .fnum{color:rgba(201,163,85,0.55); font-family:var(--font-display); font-size:5rem; line-height:1;}
.feature-body{padding:34px;}
.feature-body h3{font-family:var(--font-display); font-size:1.6rem; margin:0 0 14px; line-height:1.2;}
.feature-body p{color:var(--ink-soft); margin:0 0 20px;}

/* company hub grid */
.sector-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line); border:1px solid var(--line); min-width:0;}
@media(max-width:900px){.sector-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.sector-grid{grid-template-columns:1fr;}}

.interviews-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; min-width:0;}
.interviews-grid > div{min-width:0;}
@media(max-width:760px){.interviews-grid{grid-template-columns:repeat(2, 1fr); gap:20px;}}
@media(max-width:480px){.interviews-grid{grid-template-columns:1fr;}}
.sector-card{background:var(--paper-raised); padding:32px 26px; transition:background .2s ease; min-width:0;}
.sector-card:hover{background:var(--navy); color:#fff;}
.sector-card:hover .sc-desc, .sector-card:hover .sc-arrow{color:#cfd6e2;}
.sc-index{font-family:var(--font-display); font-size:0.85rem; color:var(--brass);}
.sector-card h3{font-family:var(--font-display); font-size:1.3rem; margin:14px 0 10px;}
.sc-desc{font-size:0.86rem; color:var(--ink-soft); margin:0 0 18px; min-height:44px;}
.sc-arrow{font-size:0.8rem; font-weight:700; color:var(--brass);}

/* Global Markets widget — TradingView-style tabbed snapshot, fills the confirmed grid slot */
.market-widget-card{background:var(--navy); color:#fff; grid-column:span 2;}
@media(max-width:900px){.market-widget-card{grid-column:span 2;}}
@media(max-width:600px){.market-widget-card{grid-column:span 1;}}
.mw-head{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-size:1.05rem; margin-bottom:14px;}
.mw-tabs{display:flex; gap:4px; margin-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.14);}
.mw-tab{background:none; border:none; color:#9aa6bb; font-size:0.72rem; font-weight:700; letter-spacing:0.02em; padding:0 0 8px; margin-right:14px; border-bottom:2px solid transparent;}
.mw-tab.active{color:#fff; border-bottom-color:var(--brass-light);}
.mw-row{display:flex; align-items:center; justify-content:space-between; padding:8px 0; border-bottom:1px dashed rgba(255,255,255,0.14); font-size:0.82rem;}
.mw-row:last-of-type{border-bottom:none;}
.mw-sym{color:#d6d9e0; font-weight:600;}
.mw-val{font-variant-numeric:tabular-nums; color:#fff; font-weight:600;}
.mw-chg{font-variant-numeric:tabular-nums; font-size:0.76rem;}
.mw-chg.up{color:#7bc99a;} .mw-chg.down{color:#e39292;}
.market-widget-card:hover{background:var(--navy);}
.market-widget-card .sc-arrow{color:var(--brass-light);}

/* ---- full Market Data page ---- */
.mw-tabs-lg{border-bottom:1px solid var(--line); margin-bottom:28px; gap:0;}
.mw-tab-lg{background:none; border:none; color:var(--ink-soft); font-size:0.86rem; font-weight:700; padding:10px 18px 12px 0; margin-right:22px; border-bottom:2px solid transparent;}
.mw-tab-lg.active{color:var(--ink); border-bottom-color:var(--brass);}
.md-panel{margin-bottom:8px;}
.md-scroll{overflow-x:auto;}
.md-table{width:100%; border-collapse:collapse; font-size:0.86rem;}
.md-table th{text-align:left; padding:10px 14px; background:var(--navy); color:#e9ecf2; font-size:0.72rem; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap;}
.md-table td{padding:10px 14px; border-bottom:1px solid var(--line); white-space:nowrap;}
.md-table tbody tr:hover{background:var(--paper-raised);}
.md-sym{font-weight:700; color:var(--ink);}
.md-heat td.hm-good, .md-heat td.hm-mid, .md-heat td.hm-bad{color:var(--ink); font-weight:600;}
.md-heat td.hm-good{background:rgba(58,140,110,0.16);}
.md-heat td.hm-mid{background:rgba(201,163,85,0.18);}
.md-heat td.hm-bad{background:rgba(156,42,52,0.14);}
td.hm-good{color:var(--green-live); font-weight:700;}
td.hm-bad{color:var(--red); font-weight:700;}
.md-note{font-size:0.78rem; color:var(--ink-soft); margin-top:14px; font-style:italic;}

/* stats strip */
.stats-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:0 0 8px; min-width:0;}
@media(max-width:760px){.stats-strip{grid-template-columns:repeat(2,1fr);}}
.stat-cell{background:var(--paper-raised); padding:26px 22px;}
.stat-cell .num{font-family:var(--font-display); font-size:2.1rem; color:var(--navy); font-weight:600;}
:root[data-theme="dark"] .stat-cell .num{color:#eee9dd;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .stat-cell .num{color:#eee9dd;}}
.stat-cell .lbl{font-size:0.78rem; color:var(--ink-soft); margin-top:6px;}

/* ---- promo cards: Market+ / Exporter Catalog ---- */
.promo-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media(max-width:640px){.promo-grid{grid-template-columns:1fr;}}
.promo-card{
  position:relative; display:block; aspect-ratio:1/1; border-radius:8px; overflow:hidden;
  color:#fff; box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease;
}
.promo-card:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(16,21,31,0.22);}
.promo-tag{
  position:absolute; top:16px; right:16px; font-size:0.66rem; font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; background:rgba(255,255,255,0.18); backdrop-filter:blur(4px);
  padding:5px 10px; border-radius:20px; z-index:2;
}
.promo-body{position:relative; z-index:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:28px;}
.promo-logo{font-family:var(--font-display); font-weight:700; font-size:1.5rem; margin-bottom:auto; margin-top:4px;}
.promo-logo span{color:var(--brass-light);}
.promo-card h3{font-family:var(--font-display); font-size:1.5rem; margin:0 0 8px; font-weight:600;}
.promo-card p{font-size:0.88rem; color:rgba(255,255,255,0.82); margin:0 0 18px; max-width:34ch;}
.promo-cta{font-size:0.82rem; font-weight:700; color:var(--brass-light);}
.promo-marketplus, .promo-exporter{background-color:var(--navy); background-size:cover; background-position:center;}
.promo-marketplus, .promo-exporter{background-size:contain; background-repeat:no-repeat;}
.promo-exporter::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 15%, rgba(201,163,85,0.18), transparent 60%),
             linear-gradient(to top, rgba(10,15,23,0.92) 0%, rgba(10,15,23,0.75) 30%, rgba(10,15,23,0.15) 60%, rgba(10,15,23,0.35) 100%);
}

/* interview quote layout */
.quote-block{border-left:3px solid var(--brass); padding:6px 0 6px 22px; margin:26px 0; font-family:var(--font-display); font-size:1.2rem; font-style:italic; color:var(--ink);}

/* doing business steps (legit sequence) */
.steps{counter-reset:stp; display:flex; flex-direction:column;}
.step{display:grid; grid-template-columns:60px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line);}
.step:first-child{padding-top:0;}
.step .stepnum{font-family:var(--font-display); font-size:1.8rem; color:var(--brass); counter-increment:stp;}
.step h4{margin:0 0 6px; font-size:1.05rem;}
.step p{margin:0; color:var(--ink-soft); font-size:0.9rem;}

/* newsletter */
.newsband{background:var(--navy); color:#f2efe6; padding:52px 0;}
.newsband .row{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.newsband h3{font-family:var(--font-display); font-size:1.6rem; margin:0 0 8px;}
.newsband p{color:#c8cdd8; margin:0; max-width:44ch; font-size:0.92rem;}
.newsform{display:flex; gap:10px; flex-wrap:wrap;}
.newsform input{padding:13px 16px; border:1px solid rgba(242,239,230,0.3); background:rgba(255,255,255,0.06); color:#fff; border-radius:2px; min-width:240px; font-family:var(--font-ui);}
.newsform input::placeholder{color:#98a0ae;}

/* ============ FOOTER ============ */
footer.site{background:var(--navy-2); color:#c7c2b4; padding:60px 0 0; border-top:1px solid var(--brass); }
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.1); min-width:0;}
.footer-grid > div{min-width:0;}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:#f2efe6; font-size:0.82rem; letter-spacing:0.04em; margin:0 0 16px; font-weight:700;}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:10px;}
.contact-list li{display:flex; align-items:flex-start; gap:10px; color:#a9a496; font-size:0.86rem;}
.contact-list .ci{width:16px; height:16px; flex:none; margin-top:3px; color:var(--brass-light); opacity:0.85;}
.footer-grid a{font-size:0.86rem; color:#a9a496;}

.footer-grid a:hover{color:var(--brass-light);}
.footer-about p{font-size:0.88rem; color:#a9a496; max-width:38ch; margin:0 0 18px;}
.footer-social{display:flex; gap:10px;}
.footer-social a{width:34px; height:34px; border:1px solid rgba(255,255,255,0.18); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.75rem;}
.footer-social a:hover{border-color:var(--brass-light); color:var(--brass-light);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:0.76rem; color:#7f7b6e; flex-wrap:wrap; gap:10px;}
.footer-bottom .flinks{display:flex; gap:18px; flex-wrap:wrap; align-items:center;}
.footer-bottom a{color:#7f7b6e;}
/* Lien « BUSINESS MEDIA GROUP » : texte simple souligné, même couleur que le reste du bas de page */
.footer-bottom .bmg-link{color:inherit; font-weight:400; font-size:inherit; letter-spacing:0.02em; text-transform:uppercase;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; white-space:nowrap;}
.footer-bottom .bmg-link:hover{color:var(--brass-light);}
.footer-bottom .bmg-link:focus-visible{outline:2px solid var(--brass-light); outline-offset:2px;}
@media(max-width:640px){
  /* mobile : le lien passe sur sa propre ligne, sans point « · » orphelin (ancien et nouveau modèle de page) */
  .footer-bottom > span:first-child{font-size:0;}
  .footer-bottom > span:first-child > [data-i18n="footer_rights"]{font-size:0.76rem;}
  .footer-bottom > span:first-child > .bmg-link{display:inline-block; margin-top:8px; font-size:0.76rem;}
  .footer-bottom > span:first-child > [data-i18n="footer_rights"]::after{content:''; display:block;}
}

.footer-bottom a:hover{color:var(--brass-light);}
.footer-bottom .dev-credit{padding-left:18px; border-left:1px solid rgba(255,255,255,0.12); color:#7f7b6e;}
.footer-bottom .dev-credit strong{color:#a9a496; font-weight:700; letter-spacing:0.02em;}

/* skip link */
.skip-link{position:absolute; left:-999px; top:0; background:var(--brass); color:#10151f; padding:10px 16px; z-index:999;}
.skip-link:focus{left:12px; top:12px;}

/* fade transition for route content */
#app{animation:fadein .35s ease;}
@keyframes fadein{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

/* ===================================================================
   MOBILE REFINEMENTS
=================================================================== */
@media(max-width:640px){
  .header-row{height:68px;}
  .search-toggle span{display:none;}
  .search-toggle{padding:8px 4px;}
  .hero-grid{padding-top:32px; padding-bottom:28px;}
  .hero h1{font-size:clamp(1.6rem, 7.5vw, 2.6rem); word-break:normal; overflow-wrap:break-word; hyphens:auto;}
  .hero p.lead{font-size:0.96rem; max-width:100%;}
  .hero-ctas{gap:10px;}
  .btn{padding:12px 18px; font-size:0.82rem;}
  .section{padding:38px 0;}
  .section-tight{padding:26px 0;}
  .section-head{flex-direction:column; align-items:flex-start; gap:10px;}
  .section-head h2{font-size:1.5rem;}
  .banner-970x500{height:230px;}
  .banner-970x250{height:150px;}
  .top-banner-bar{padding:14px 0;}
  .feature-body{padding:20px;}
  .feature-body h3{font-size:1.3rem;}
  .quote-block{font-size:1rem; padding-left:16px;}
  .article-view-head h1{font-size:1.5rem;}
  .article-view-body{font-size:0.96rem;}
  .newsband .row{flex-direction:column; align-items:flex-start;}
  .newsform{width:100%;}
  .newsform input{flex:1; min-width:0;}
  .pagination button{min-width:32px; height:32px; font-size:0.78rem;}
  .drawer{width:100%; max-width:100%; right:-100%;}
}
@media(max-width:400px){
  .hero h1{font-size:clamp(1.4rem, 8vw, 2rem);}
  .eyebrow-plain{font-size:0.76rem;}
  .hero-ctas{flex-direction:column; align-items:stretch;}
  .hero-ctas .btn{width:100%; justify-content:center;}
}
@media(max-width:480px){
  .cat-grid{grid-template-columns:repeat(2, 1fr); gap:12px;}
  .related-grid{grid-template-columns:1fr;}
  .cat-card h4{font-size:0.9rem;}
  .banner-970x500{height:180px;}
  .banner-970x250{height:120px;}
  .stats-strip{grid-template-columns:1fr 1fr;}
  .stat-cell{padding:18px 14px;}
  .stat-cell .num{font-size:1.6rem;}
  .step{grid-template-columns:44px 1fr; gap:12px;}
  .step .stepnum{font-size:1.4rem;}
  .langswitch-menu{right:-40px;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .footer-bottom .dev-credit{padding-left:0; border-left:none; margin-top:2px;}
}

/* ===================================================================
   COOKIE CONSENT
=================================================================== */
.cookie-banner{
  position:fixed; left:28px; bottom:28px; z-index:400;
  transform:translateY(140%); opacity:0; transition:transform .4s cubic-bezier(.4,0,.2,1), opacity .4s ease;
  pointer-events:none;
}
.cookie-banner.open{transform:translateY(0); opacity:1; pointer-events:auto;}
@media(max-width:600px){.cookie-banner{left:14px; right:14px; bottom:14px;}}

.cookie-card{
  background:var(--navy); color:#e9ecf2; width:400px; max-width:100%; border-radius:12px;
  padding:24px; box-shadow:0 24px 60px rgba(0,0,0,0.35); border:1px solid rgba(255,255,255,0.1);
  position:relative; overflow:hidden;
}
.cookie-card::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 100% 0%, rgba(201,163,85,0.16), transparent 55%);
}
.cookie-icon{
  width:44px; height:44px; border-radius:10px; background:rgba(201,163,85,0.14); border:1px solid rgba(201,163,85,0.3);
  display:flex; align-items:center; justify-content:center; color:var(--brass-light); margin-bottom:16px; position:relative;
}
.cookie-icon svg{width:22px; height:22px;}
.cookie-copy{position:relative;}
.cookie-title{font-family:var(--font-display); font-size:1.15rem; font-weight:600; margin-bottom:8px; color:#fff;}
.cookie-copy p{margin:0; font-size:0.84rem; line-height:1.55; color:#b9c0cc;}
.cookie-actions{position:relative; margin-top:20px; display:flex; flex-direction:column; gap:14px;}
.cookie-actions .btn-line{color:var(--brass-light); border-bottom-color:rgba(201,163,85,0.4); align-self:flex-start; font-size:0.8rem;}
.cookie-actions-row{display:flex; gap:10px;}
.cookie-actions-row .btn{flex:1; justify-content:center; white-space:nowrap; padding:11px 16px; font-size:0.8rem;}
.cookie-actions-row .btn-ghost{background:transparent; border-color:rgba(255,255,255,0.35); color:#e9ecf2;}
.cookie-actions-row .btn-ghost:hover{border-color:#e9ecf2; background:rgba(255,255,255,0.06);}

.cookie-modal-overlay{position:fixed; inset:0; background:rgba(10,13,20,0.55); z-index:410; display:none; align-items:center; justify-content:center; padding:20px;}
.cookie-modal-overlay.open{display:flex;}
.cookie-modal{background:var(--paper-raised); color:var(--ink); border-radius:14px; max-width:480px; width:100%; max-height:86vh; overflow-y:auto; box-shadow:var(--shadow);}
.cookie-modal-head{display:flex; justify-content:space-between; align-items:center; padding:22px 24px; border-bottom:1px solid var(--line); font-family:var(--font-display); font-size:1.15rem; font-weight:600;}
.cookie-modal-body{padding:6px 24px;}
.cookie-row{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);}
.cookie-row:last-child{border-bottom:none;}
.cookie-row strong{font-size:0.92rem;}
.cookie-row p{margin:4px 0 0; font-size:0.8rem; color:var(--ink-soft); line-height:1.5;}
.cookie-toggle-locked{font-size:0.72rem; color:var(--ink-soft); font-weight:700; letter-spacing:0.02em; white-space:nowrap; margin-top:2px; text-transform:uppercase;}
.cookie-toggle{position:relative; display:inline-block; width:42px; height:24px; flex:none; margin-top:2px;}
.cookie-toggle input{opacity:0; width:0; height:0;}
.cookie-toggle span{position:absolute; inset:0; background:var(--line-strong); border-radius:24px; transition:.2s;}
.cookie-toggle span::before{content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,0.3);}
.cookie-toggle input:checked + span{background:var(--brass);}
.cookie-toggle input:checked + span::before{transform:translateX(18px);}
.cookie-modal-foot{padding:18px 24px 24px; display:flex; justify-content:flex-end; gap:10px; border-top:1px solid var(--line); margin-top:6px;}

/* ============ CONTENU GÉRÉ PAR L'ADMIN (backend PHP) ============ */
.article-view-image{margin:0 0 26px; border-radius:6px; overflow:hidden; background:var(--navy); aspect-ratio:3/2}
.article-view-image img{width:100%; height:100%; object-fit:cover; display:block}
.article-view-body h2,.article-view-body h3{font-family:var(--font-display); font-weight:600; line-height:1.25; margin:32px 0 12px}
.article-view-body h2{font-size:1.45rem}
.article-view-body h3{font-size:1.2rem}
.article-view-body ul,.article-view-body ol{margin:0 0 20px; padding-left:1.4em}
.article-view-body li{margin-bottom:6px}
.article-view-body blockquote{margin:0 0 20px; padding:4px 0 4px 18px; border-left:3px solid var(--brass-light); font-family:var(--font-display); font-size:1.15rem; color:var(--ink-soft)}
.article-view-body a{color:var(--brass); text-decoration:underline; text-underline-offset:2px}
.article-view-body img{max-width:100%; height:auto; border-radius:4px}
.article-view-body table{width:100%; border-collapse:collapse; margin:0 0 20px; font-size:.95rem}
.article-view-body th,.article-view-body td{border-bottom:1px solid var(--line); padding:8px; text-align:left}

/* ============ PAGE 404 ============ */
.wrap.notfound{max-width:680px; text-align:center; padding:64px 0 84px}
.nf-code{font-family:var(--font-display); font-size:clamp(5rem,16vw,9rem); line-height:.9; font-weight:600; color:var(--brass-light); letter-spacing:-0.02em}
.notfound h1{font-family:var(--font-display); font-weight:600; font-size:1.9rem; line-height:1.2; margin:14px 0 12px}
.notfound p{color:var(--ink-soft); margin:0 auto 30px; max-width:46ch}
.nf-actions{display:flex; gap:22px; justify-content:center; align-items:center; flex-wrap:wrap}
.nf-actions .btn-line{cursor:pointer; font-size:.88rem}
.nf-browse{margin-top:44px; padding-top:26px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px; justify-content:center}
.nf-browse span{flex-basis:100%; font-size:.85rem; color:var(--ink-soft); margin-bottom:6px}
@media(max-width:600px){ .wrap.notfound{padding:40px 0 60px} .notfound h1{font-size:1.5rem} }

/* ============ ARTICLES : images dans le texte, alignement, auteur, droits ============ */
.article-view-body figure{margin:28px 0}
.article-view-body figure img{display:inline-block; max-width:100%; height:auto; border-radius:4px}
.article-view-body figcaption{font-size:.88rem; color:var(--ink-soft); font-style:italic; margin-top:8px; line-height:1.5}
.article-view-body figure[style*="center"] figcaption{text-align:center}
.article-view-body figure[style*="right"] figcaption{text-align:right}
.article-view-body p img{max-width:100%; height:auto}
.article-byline{margin-top:12px; font-size:.95rem; color:var(--ink-soft)}
.article-byline strong{color:var(--ink); font-weight:600}
.article-foot{margin-top:34px; padding-top:16px; border-top:1px solid var(--line); font-size:.88rem; color:var(--ink-soft)}
.article-foot p{margin:0 0 6px}
.article-source a{color:var(--brass); text-decoration:underline; text-underline-offset:2px}

/* ============ ARTICLES : légende de l'image principale, lien auteur, rubrique « À la une » ============ */
.article-view-image.has-caption{aspect-ratio:auto; background:none; overflow:visible}
.article-view-image.has-caption img{aspect-ratio:3/2; object-fit:cover; border-radius:6px; background:var(--navy)}
.article-view-image figcaption{font-size:.88rem; color:var(--ink-soft); font-style:italic; margin-top:8px; line-height:1.5}
.article-byline a{color:inherit; text-decoration:underline; text-decoration-color:var(--brass-light); text-underline-offset:3px}
.article-byline a:hover{color:var(--brass)}
.focus-section .section-head h2{display:flex; align-items:center; gap:10px}
.focus-star{color:var(--brass-light); font-size:.8em}

/* ============ TRADUCTION AUTOMATIQUE DES ARTICLES (Google) ============ */
/* la barre que Google ajoute en haut de page est masquée : le bouton de langue du site la remplace */
body{top:0 !important}
.goog-te-banner-frame, body > .skiptranslate, #goog-gt-tt, .goog-te-balloon-frame, .goog-tooltip, .goog-te-spinner-pos,
iframe[id*=":"][class*="skiptranslate"], .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none !important}
.goog-text-highlight{background:none !important; box-shadow:none !important}
.autotr-note{display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:0 0 18px; padding:9px 14px;
  border:1px solid var(--line); border-left:3px solid var(--brass-light); border-radius:4px; font-size:.85rem; color:var(--ink-soft); background:var(--paper-raised)}
.autotr-note .autotr-ico{color:var(--brass)}
.autotr-note .btn-line{font-size:.82rem; cursor:pointer}
