  :root{
    --navy:#0e1f6b;
    --navy-2:#1747c9;
    --crimson:#c22030;
    --cream:#f2f4f9;
    --paper:#ffffff;
    --ink:#1b1b1b;
    --slate:#5c6773;
    --gold:#e2712f;
    --hair:#d7ddea;
    --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,'Times New Roman',serif;
    --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
    --mono:'JetBrains Mono','Courier New',monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    background:var(--cream);
    color:var(--ink);
    line-height:1.5;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1240px;margin:0 auto;padding:0 24px;}

  /* ---------- topbar ---------- */
  .topbar{
    background:var(--navy);
    color:#cdd8e3;
    font-size:12.5px;
    letter-spacing:.02em;
  }
  .topbar .wrap{
    display:flex;justify-content:space-between;align-items:center;
    height:36px;gap:16px;overflow:hidden;
  }
  .topbar .date{font-family:var(--mono);color:var(--gold);white-space:nowrap;}
  .topbar .social{display:flex;gap:14px;}
  .topbar .social a{color:#8fa3b8;font-size:12px;}
  .topbar .social a:hover{color:var(--gold);}
  .topbar .lang{color:#8fa3b8;white-space:nowrap;}
  .lang-switch{position:relative;}
  .lang-current{
    background:none;border:1px solid rgba(255,255,255,.25);color:#dfe6ee;
    padding:5px 10px;border-radius:3px;font-size:12px;cursor:pointer;
    display:flex;align-items:center;gap:6px;font-family:var(--sans);
  }
  .lang-current:hover{border-color:var(--gold);color:#fff;}
  .lang-menu{
    display:none;position:absolute;top:calc(100% + 6px);right:0;
    background:var(--paper);border:1px solid var(--hair);border-radius:4px;
    list-style:none;min-width:150px;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:100;overflow:hidden;
  }
  .lang-menu.open{display:block;}
  .lang-menu li{
    padding:9px 14px;font-size:13px;color:var(--ink);cursor:pointer;transition:.15s;
  }
  .lang-menu li:hover{background:var(--cream);color:var(--crimson);}

  .lang-toast{
    position:fixed;left:20px;bottom:20px;max-width:340px;
    background:var(--paper);border:1px solid var(--hair);border-left:4px solid var(--navy-2);
    border-radius:6px;padding:14px 16px;box-shadow:0 12px 28px rgba(0,0,0,.18);
    display:none;align-items:center;gap:10px;z-index:90;font-size:13px;color:var(--ink);
  }
  .lang-toast.show{display:flex;}
  .lang-toast button{
    border:0;border-radius:3px;font-size:12.5px;font-weight:700;padding:7px 12px;cursor:pointer;flex-shrink:0;
  }
  #langToastYes{background:var(--navy-2);color:#fff;}
  #langToastNo{background:transparent;color:var(--slate);padding:7px 9px;}

  /* ---------- RTL support (arabe) ---------- */
  html[dir="rtl"] body{font-family:'Tahoma',var(--sans);}
  html[dir="rtl"] .lang-menu{right:auto;left:0;}
  html[dir="rtl"] .lang-toast{left:auto;right:20px;}
  html[dir="rtl"] .carousel{text-align:right;}
  html[dir="rtl"] .section-head::before,
  html[dir="rtl"] .section-head h2::before{margin-left:10px;margin-right:0;}
  html[dir="rtl"] .newsletter{border-left:none;border-right:4px solid var(--crimson);}
  html[dir="rtl"] .art-thumb{justify-content:flex-end;}
  html[dir="rtl"] .hero-card,
  html[dir="rtl"] .pop-item,
  html[dir="rtl"] .jr{flex-direction:row-reverse;}

  /* ---------- masthead ---------- */
  .masthead{
    background:var(--paper);
    border-bottom:3px solid var(--navy);
  }
  .masthead .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:26px;padding-bottom:20px;
    flex-wrap:wrap;gap:16px;
  }
  .brand{display:flex;align-items:center;gap:14px;}
  .brand-mark{
    width:58px;height:58px;border-radius:10px;
    background:linear-gradient(135deg, var(--crimson) 0%, var(--gold) 48%, var(--navy-2) 100%);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;border:2px solid #fff;
    box-shadow:0 3px 10px rgba(14,31,107,.35), inset 0 0 0 1px rgba(255,255,255,.4);
  }
  .brand-mark span{
    font-size:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
    transform:rotate(-8deg);
  }
  .brand h1, .brand .brand-name{
    font-family:var(--sans);font-size:30px;font-weight:800;font-style:italic;
    letter-spacing:-.01em;line-height:1.02;text-transform:uppercase;
    background:linear-gradient(90deg, var(--crimson) 0%, var(--gold) 45%, var(--navy-2) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .brand .tagline{
    font-size:13px;font-style:italic;font-weight:600;
    color:var(--navy-2);margin-top:4px;
  }
  .subscribe-btn{
    border:1.5px solid var(--navy);color:var(--navy);
    padding:10px 22px;font-size:13px;font-weight:600;letter-spacing:.04em;
    border-radius:2px;transition:.2s;
  }
  .subscribe-btn:hover{background:var(--navy);color:var(--paper);}

  /* ---------- nav ---------- */
  nav.mainnav{
    background:var(--navy);
    position:sticky;top:0;z-index:50;
  }
  nav.mainnav .wrap{display:flex;align-items:center;gap:2px;position:relative;}
  nav.mainnav ul{display:flex;list-style:none;flex-wrap:wrap;}
  nav.mainnav a{
    display:block;padding:14px 16px;font-size:13.5px;font-weight:600;
    color:#dfe6ee;letter-spacing:.02em;position:relative;
    transition:.2s;white-space:nowrap;
  }
  nav.mainnav a:hover{color:#fff;background:rgba(255,255,255,.06);}
  nav.mainnav li.current a{color:var(--gold);}
  .nav-toggle{display:none;background:none;border:0;color:#fff;font-size:22px;padding:12px 4px;cursor:pointer;}

  /* ---------- ticker ---------- */
  .ticker{
    background:var(--crimson);color:#fff;
    display:flex;align-items:center;overflow:hidden;
    font-size:13.5px;font-weight:500;
  }
  .ticker .tag{
    background:#8f2a20;padding:8px 18px;font-weight:800;letter-spacing:.08em;
    text-transform:uppercase;font-size:11.5px;flex-shrink:0;
    display:flex;align-items:center;gap:6px;
  }
  .ticker .tag .dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
  .ticker-track-wrap{overflow:hidden;flex:1;}
  .ticker-track{
    display:flex;white-space:nowrap;width:max-content;
    animation:scroll-left 38s linear infinite;
  }
  .ticker-track span{padding:8px 34px 8px 0;}
  .ticker-track span::after{content:'•';margin-left:34px;color:#e8a89f;}
  @keyframes scroll-left{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
    .dot{animation:none;}
  }

  /* ---------- layout ---------- */
  main{padding:36px 0 10px;}
  .layout{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start;}

  .section-head{
    display:flex;align-items:baseline;justify-content:space-between;
    border-bottom:2px solid var(--navy);padding-bottom:10px;margin-bottom:20px;
  }
  .section-head h2{
    font-family:var(--serif);font-size:24px;color:var(--navy);
    display:flex;align-items:center;gap:10px;
  }
  .section-head h2::before{content:'';width:5px;height:22px;background:var(--crimson);display:inline-block;}
  .section-head .see-all{font-size:12.5px;font-weight:700;color:var(--crimson);letter-spacing:.03em;}
  .section-head .see-all:hover{text-decoration:underline;}

  /* featured hero */
  .hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-bottom:44px;}

  /* ---------- espaces publicitaires (gérés depuis le back-office) ---------- */
  .ad-slot{
    background:repeating-linear-gradient(135deg, #eef1f7, #eef1f7 10px, #e4e8f0 10px, #e4e8f0 20px);
    border:1px dashed var(--hair);border-radius:4px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;overflow:hidden;position:relative;
  }
  .ad-slot .ad-label{
    position:absolute;top:6px;left:8px;font-size:9.5px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--slate);background:rgba(255,255,255,.75);padding:1px 6px;border-radius:2px;
  }
  .ad-slot .ad-placeholder{font-size:12px;color:var(--slate);font-family:var(--mono);}
  .ad-slot img{width:100%;height:100%;object-fit:cover;}
  .ad-leaderboard{width:100%;height:90px;margin-bottom:30px;}
  .ad-incontent{width:100%;height:90px;margin:0 0 40px;}
  .ad-rectangle{width:100%;height:250px;}

  /* ---------- carrousel ---------- */
  .carousel{
    position:relative;border-radius:3px;overflow:hidden;min-height:360px;
    background:var(--navy);
  }
  .carousel-track{position:relative;width:100%;height:100%;min-height:360px;}
  .car-slide{
    position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
    padding:28px;color:#fff;opacity:0;pointer-events:none;transition:opacity .5s ease;
    background:linear-gradient(160deg,var(--navy-2),var(--navy) 70%);
  }
  .car-slide.active{opacity:1;pointer-events:auto;}
  .car-slide::before{
    content:'';position:absolute;inset:0;
    background:
      radial-gradient(circle at 85% 15%, rgba(226,113,47,.28), transparent 45%),
      repeating-linear-gradient(115deg, rgba(255,255,255,.03) 0 2px, transparent 2px 26px);
  }
  .car-slide .cat{position:relative;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
  .car-slide h2{position:relative;font-family:var(--serif);font-size:29px;line-height:1.18;margin-bottom:12px;font-weight:700;}
  .car-slide p{position:relative;color:#c3cedb;font-size:14.5px;max-width:46ch;}
  .car-slide .meta{position:relative;margin-top:16px;font-size:12px;color:#8fa3b8;font-family:var(--mono);}
  .car-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:10;
    width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.15);
    color:#fff;font-size:20px;cursor:pointer;transition:.2s;
    display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);
  }
  .car-arrow:hover{background:rgba(255,255,255,.3);}
  .car-arrow.prev{left:14px;}
  .car-arrow.next{right:14px;}
  .carousel-dots{
    position:absolute;bottom:16px;right:20px;display:flex;gap:7px;z-index:10;
  }
  .carousel-dots button{
    width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.2s;
  }
  .carousel-dots button.active{background:var(--gold);width:22px;border-radius:5px;}

  .hero-side{display:flex;flex-direction:column;gap:16px;}
  .hero-card{
    display:flex;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--hair);
  }
  .hero-card:last-child{border-bottom:none;padding-bottom:0;}
  .hero-card .num{
    font-family:var(--serif);font-size:26px;color:var(--hair);font-weight:700;
    -webkit-text-stroke:1px var(--navy);color:transparent;line-height:1;flex-shrink:0;width:34px;
  }
  .hero-card .body .cat{font-size:10.5px;font-weight:800;color:var(--crimson);letter-spacing:.08em;text-transform:uppercase;}
  .hero-card .body h3{font-family:var(--serif);font-size:16px;font-weight:700;line-height:1.3;margin:4px 0;color:var(--navy);}
  .hero-card:hover h3{color:var(--crimson);}
  .hero-card .body .date{font-size:11.5px;color:var(--slate);font-family:var(--mono);}

  /* article grid */
  .art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;}
  .art-card{background:var(--paper);border:1px solid var(--hair);border-radius:3px;overflow:hidden;transition:.2s;}
  .art-card:hover{border-color:var(--crimson);transform:translateY(-2px);box-shadow:0 8px 20px rgba(19,36,55,.08);}
  .art-thumb{
    height:120px;background:linear-gradient(135deg,var(--navy-2),var(--navy));
    position:relative;display:flex;align-items:flex-end;padding:12px;
  }
  .art-thumb .cat-badge{
    background:var(--crimson);color:#fff;font-size:10px;font-weight:800;
    letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;
  }
  .art-body{padding:16px 18px 18px;}
  .art-body h3{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.32;color:var(--navy);margin-bottom:8px;}
  .art-card:hover h3{color:var(--crimson);}
  .art-body p{font-size:13px;color:var(--slate);line-height:1.5;margin-bottom:10px;}
  .art-body .date{font-size:11.5px;color:var(--slate);font-family:var(--mono);}

  /* services */
  .services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:48px;}
  .svc-card{
    background:var(--navy);color:#fff;border-radius:3px;padding:22px 18px;
    display:flex;flex-direction:column;gap:8px;transition:.2s;position:relative;overflow:hidden;
  }
  .svc-card:nth-child(2){background:var(--crimson);}
  .svc-card:nth-child(3){background:var(--gold);color:var(--navy);}
  .svc-card:nth-child(4){background:var(--navy-2);}
  .svc-card:hover{transform:translateY(-3px);}
  .svc-card .icon{font-size:26px;}
  .svc-card h4{font-family:var(--serif);font-size:16.5px;}
  .svc-card .link{font-size:12px;font-weight:700;opacity:.85;}

  /* newsletter */
  .newsletter{
    background:var(--paper);border:1px solid var(--hair);border-left:4px solid var(--crimson);
    padding:30px 32px;margin-bottom:48px;border-radius:3px;
    display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  }
  .newsletter .eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--crimson);}
  .newsletter h3{font-family:var(--serif);font-size:22px;color:var(--navy);margin:6px 0 4px;}
  .newsletter p{font-size:13.5px;color:var(--slate);}
  .newsletter form{display:flex;gap:10px;}
  .newsletter input{
    border:1px solid var(--hair);padding:11px 14px;font-size:13.5px;border-radius:2px;min-width:220px;
    font-family:var(--sans);
  }
  .newsletter input:focus{outline:2px solid var(--navy);outline-offset:1px;}
  .newsletter button{
    background:var(--navy);color:#fff;border:0;padding:11px 20px;font-size:13.5px;font-weight:700;
    border-radius:2px;cursor:pointer;transition:.2s;
  }
  .newsletter button:hover{background:var(--crimson);}

  /* sidebar */
  .sidebar{display:flex;flex-direction:column;gap:32px;}
  .side-box{background:var(--paper);border:1px solid var(--hair);border-radius:3px;padding:22px;}
  .side-box h3{
    font-family:var(--serif);font-size:18px;color:var(--navy);margin-bottom:16px;
    padding-bottom:10px;border-bottom:2px solid var(--navy);
    display:flex;align-items:center;gap:8px;
  }
  .pop-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair);}
  .pop-item:last-child{border-bottom:none;}
  .pop-item .rank{
    font-family:var(--serif);font-weight:700;font-size:20px;color:var(--gold);width:24px;flex-shrink:0;
  }
  .pop-item a{font-size:13.5px;line-height:1.4;color:var(--navy);}
  .pop-item a:hover{color:var(--crimson);}

  .weather-box{background:linear-gradient(160deg,var(--navy-2),var(--navy));color:#fff;}
  .weather-box h3{color:#fff;border-color:rgba(255,255,255,.25);}
  .weather-now{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .weather-now .temp{font-family:var(--serif);font-size:44px;font-weight:700;}
  .weather-now .icon{font-size:44px;}
  .weather-now .desc{font-size:12.5px;color:#aebdcc;}
  .weather-days{display:flex;justify-content:space-between;}
  .wday{text-align:center;font-size:11.5px;color:#c3cedb;}
  .wday .ic{font-size:18px;margin:4px 0;}
  .wday .t{font-weight:700;color:#fff;}

  .journalists-box .jr{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair);}
  .journalists-box .jr:last-child{border-bottom:none;}
  .jr-avatar{
    width:38px;height:38px;border-radius:50%;background:var(--hair);
    display:flex;align-items:center;justify-content:center;font-family:var(--serif);
    font-weight:700;color:var(--navy);flex-shrink:0;
  }
  .jr-name{font-size:13px;font-weight:600;color:var(--navy);}
  .jr-role{font-size:11.5px;color:var(--slate);}

  /* footer */
  footer{background:var(--navy);color:#c3cedb;margin-top:40px;}
  .footer-top{padding:52px 0 30px;}
  .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;}
  .footer-brand .brand-mark{width:44px;height:44px;}
  .footer-brand span{font-size:16px;}
  .footer-brand h4{font-family:var(--serif);font-size:20px;color:#fff;margin:12px 0 4px;}
  .footer-brand .tag{font-size:12px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
  .footer-brand p{font-size:13px;color:#8fa3b8;line-height:1.6;max-width:34ch;margin-bottom:14px;}
  .footer-brand .social a{margin-right:12px;font-size:12px;color:#8fa3b8;}
  footer h5{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px;}
  footer ul{list-style:none;}
  footer li{margin-bottom:9px;font-size:13px;}
  footer a:hover{color:var(--gold);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);padding:18px 0;
    display:flex;justify-content:space-between;font-size:12px;color:#7188a0;flex-wrap:wrap;gap:8px;
  }

  /* back to top */
  .top-btn{
    position:fixed;bottom:26px;right:26px;width:44px;height:44px;border-radius:50%;
    background:var(--crimson);color:#fff;border:0;font-size:18px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.25);
    opacity:0;pointer-events:none;transition:.25s;z-index:60;
  }
  .top-btn.show{opacity:1;pointer-events:auto;}

  /* ============ RESPONSIVE ============ */

  /* Tablettes (portrait et paysage) */
  @media (max-width:1024px){
    .wrap{padding:0 18px;}
    .brand h1, .brand .brand-name{font-size:26px;}
    nav.mainnav a{padding:12px 12px;font-size:13px;}
  }
  @media (max-width:980px){
    .layout{grid-template-columns:1fr;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
    .hero-card{flex-direction:column;border-bottom:none;padding:14px;background:var(--paper);border:1px solid var(--hair);border-radius:3px;}
    .hero-card .num{width:auto;}
    .art-grid{grid-template-columns:repeat(2,1fr);}
    .services{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .sidebar{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  }

  /* Téléphones */
  @media (max-width:680px){
    .nav-toggle{display:block;margin-left:auto;}
    nav.mainnav ul{
      display:none;flex-direction:column;width:100%;
      position:absolute;top:100%;left:0;background:var(--navy);
      box-shadow:0 10px 20px rgba(0,0,0,.2);
    }
    nav.mainnav ul.open{display:flex;}
    nav.mainnav a{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06);}
    .hero-side{grid-template-columns:1fr;}
    .art-grid{grid-template-columns:1fr;}
    .services{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .sidebar{grid-template-columns:1fr;}
    .newsletter{flex-direction:column;align-items:flex-start;}
    .newsletter form{width:100%;flex-direction:column;}
    .newsletter input, .newsletter button{width:100%;}
    .brand h1, .brand .brand-name{font-size:22px;}
    .brand-mark{width:46px;height:46px;}
    .topbar .social{display:none;}
    .carousel{min-height:280px;}
    .car-slide{padding:20px;}
    .car-slide h2{font-size:23px;}
    .ad-leaderboard,.ad-incontent{height:60px;}
    .ad-leaderboard .ad-placeholder,.ad-incontent .ad-placeholder{font-size:10.5px;}
    .lang-current span:last-child{display:none;}
  }

  @media (max-width:400px){
    .wrap{padding:0 14px;}
    .masthead .wrap{padding-top:18px;padding-bottom:14px;}
    .brand{gap:10px;}
    .subscribe-btn{padding:8px 14px;font-size:12px;}
  }

/* ============ PAGE ARTICLE ============ */
.breadcrumb{font-size:12.5px;color:var(--slate);margin-bottom:18px;}
.breadcrumb a{color:var(--navy-2);}
.breadcrumb a:hover{text-decoration:underline;}

.article-hero{
  background:linear-gradient(160deg,var(--navy-2),var(--navy) 70%);
  border-radius:4px;min-height:220px;margin-bottom:26px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.article-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 85% 15%, rgba(226,113,47,.28), transparent 45%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 2px, transparent 2px 26px);
}
.article-hero .icon{position:relative;font-size:44px;opacity:.5;}

.article-cat{
  display:inline-block;background:var(--crimson);color:#fff;font-size:11px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:2px;margin-bottom:14px;
}
.article-title{font-family:var(--serif);font-size:32px;line-height:1.2;color:var(--navy);margin-bottom:14px;}
.article-meta{
  display:flex;align-items:center;gap:14px;font-size:13px;color:var(--slate);margin-bottom:26px;
  padding-bottom:20px;border-bottom:1px solid var(--hair);flex-wrap:wrap;
}
.article-meta .author{font-weight:700;color:var(--navy);}
.article-body{font-size:16px;line-height:1.75;color:var(--ink);}
.article-body p{margin-bottom:20px;}
.article-body p:first-of-type::first-letter{
  font-family:var(--serif);font-size:52px;font-weight:700;float:left;line-height:.8;
  padding:5px 8px 0 0;color:var(--crimson);
}

.share-row{display:flex;align-items:center;gap:10px;margin:30px 0 44px;padding-top:22px;border-top:1px solid var(--hair);}
.share-row .lbl{font-size:12.5px;font-weight:700;color:var(--slate);}
.share-row a{
  width:34px;height:34px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--navy);border:1px solid var(--hair);
}
.share-row a:hover{background:var(--navy);color:#fff;border-color:var(--navy);}

.related-heading{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:16px;
  display:flex;align-items:center;gap:10px;}
.related-heading::before{content:'';width:5px;height:20px;background:var(--crimson);display:inline-block;}

.not-found{text-align:center;padding:60px 20px;}
.not-found h2{font-family:var(--serif);font-size:24px;color:var(--navy);margin-bottom:10px;}
.not-found p{color:var(--slate);margin-bottom:20px;}

/* ============ LECTEUR RADIO FLOTTANT ============ */
.radio-player{
  position:fixed;left:20px;bottom:20px;z-index:120;
  background:var(--navy);color:#fff;border-radius:30px;padding:8px 10px 8px 16px;
  display:none;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);
  max-width:calc(100vw - 40px);
}
.radio-player.show{display:flex;}
.radio-player .rp-icon{font-size:18px;flex-shrink:0;}
.radio-player .rp-info{min-width:0;}
.radio-player .rp-name{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;}
.radio-player .rp-status{font-size:10.5px;color:var(--gold);}
.radio-player .rp-btn{
  width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;
  font-size:13px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
.radio-player .rp-btn:hover{background:rgba(255,255,255,.28);}
.radio-player .rp-close{background:none;font-size:12px;color:#8fa3b8;}
@media (max-width:680px){
  .radio-player{left:12px;right:12px;bottom:12px;max-width:none;}
  .radio-player .rp-name{max-width:none;}
}
