/* ============================================================
   AURÉLIEN LEJEUNE — Article single — Design system EXACT site
   Fonts : Bebas Neue (--dp) / Barlow Condensed (--bc) / Barlow (--bb)
   Loaded on body.single-post via aurelien-blog-and-breadcrumbs.php
   ============================================================ */
:root{
  --aj-bg:#080808;
  --aj-bg2:#101010;
  --aj-bg3:#161616;
  --aj-bg4:#1c1c1c;
  --aj-red:#C8102E;
  --aj-red2:#E8173A;
  --aj-gold:#C9961A;
  --aj-w:#EDEAE4;
  --aj-g:#888;
  --aj-g2:#555;
  --aj-border:rgba(255,255,255,.08);
  --aj-border2:rgba(255,255,255,.14);
  --aj-dp:'Bebas Neue',Bebas Fallback,sans-serif;
  --aj-bc:'Barlow Condensed',BC Fallback,sans-serif;
  --aj-bb:'Barlow',Barlow Fallback,sans-serif;
}

/* === Hide theme's default title + featured image on single posts === */
body.single-post .page-header,
body.single-post header.entry-header,
body.single-post .post-thumbnail,
body.single-post .single-featured-image-header,
body.single-post .featured-image-header,
body.single-post .post-header-image,
body.single-post .ph,
body.single-post .page-hero,
body.single-post .ftheme-feature-image,
body.single-post .elementor-widget-theme-post-title,
body.single-post .elementor-widget-theme-post-featured-image{
  display:none !important;
}

/* === Force full-width on single posts === */
body.single-post{background:var(--aj-bg) !important;overflow-x:hidden !important}
body.single-post main#content,
body.single-post .site-main,
body.single-post .page-content,
body.single-post .entry-content{
  max-width:none !important;width:100% !important;
  padding:0 !important;margin:0 !important;
  background:var(--aj-bg) !important;overflow:visible !important;
}

/* === Article body === */
.aj-article{
  background:var(--aj-bg);color:var(--aj-w);
  font-family:var(--aj-bb);font-size:17px;line-height:1.7;font-weight:400;
  width:100vw;position:relative;left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
}
.aj-article *{box-sizing:border-box}
.aj-article img{max-width:100%;height:auto;display:block}
.aj-article a{color:var(--aj-red);text-decoration:none;border-bottom:1px solid rgba(200,16,46,.3);transition:border-color .15s,color .15s}
.aj-article a:hover{border-bottom-color:var(--aj-red);color:var(--aj-red2)}

.aj-wrap{max-width:780px;margin:0 auto;padding:0 22px}
.aj-wrap-wide{max-width:1140px;margin:0 auto;padding:0 22px}

/* === HERO === */
.aj-hero{
  position:relative;
  padding:110px 22px 85px;
  text-align:center;
  overflow:hidden;
  border-bottom:1px solid var(--aj-border);
  background:var(--aj-bg);
  isolation:isolate;
}
.aj-hero .aj-hero-img{
  position:absolute;inset:0;
  background-position:center;background-size:cover;
  opacity:0.28;z-index:0;
}
.aj-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at top, rgba(200,16,46,.35) 0%, transparent 55%),
    linear-gradient(180deg, rgba(8,8,8,0.55) 0%, rgba(8,8,8,0.95) 100%);
  z-index:1;
}
.aj-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,var(--aj-red),transparent);
  z-index:3;
}
.aj-hero > *{position:relative;z-index:2}
.aj-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--aj-bc);font-size:13px;font-weight:600;
  letter-spacing:4px;text-transform:uppercase;color:var(--aj-gold);
  margin:0 0 22px;
}
.aj-eyebrow::before{
  content:"";width:6px;height:6px;background:var(--aj-red);
  border-radius:50%;box-shadow:0 0 12px var(--aj-red);
  animation:aj-pulse 2s ease-in-out infinite;
}
@keyframes aj-pulse{0%,100%{opacity:1}50%{opacity:.4}}
/* Breadcrumb in article hero — centered via parent text-align (not full-width) */
.aj-hero{ text-align:center !important; }
.aj-breadcrumb{
  display:block !important;
  font-family:var(--aj-bc) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  color:var(--aj-g) !important;
  margin:0 0 26px !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-top:none !important;
  border-bottom:none !important;
  border-left:none !important;
  border-right:none !important;
  box-shadow:none !important;
  outline:none !important;
  width:auto !important;
  max-width:none !important;
}
.aj-breadcrumb a{
  color:var(--aj-g) !important;
  text-decoration:none !important;
  border:none !important;
  transition:color .15s;
}
.aj-breadcrumb a:hover{ color:var(--aj-red) !important; }
.aj-breadcrumb .breadcrumb_last{ color:var(--aj-gold) !important; font-weight:700 !important; }
.aj-breadcrumb span{ background:transparent !important; border:none !important; }

/* Tighten eyebrow gap so breadcrumb sits right under it */
.aj-eyebrow{ margin:0 0 8px !important; }

.aj-h1{
  font-family:var(--aj-dp);font-weight:400;
  font-size:clamp(52px,8vw,96px);line-height:.9;letter-spacing:2px;
  text-transform:uppercase;
  margin:0 0 22px;color:var(--aj-w);
  text-shadow:0 4px 28px rgba(0,0,0,0.6);
}
.aj-h1 em{color:var(--aj-red);font-style:normal}
.aj-hero-sub{
  font-family:var(--aj-bb);font-weight:400;
  font-size:19px;line-height:1.55;color:#cccccc;
  max-width:660px;margin:0 auto;
}
.aj-meta{
  margin-top:40px;display:flex;justify-content:center;gap:28px;
  font-family:var(--aj-bc);font-size:12px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--aj-g);
  flex-wrap:wrap;
}
.aj-meta span{display:inline-flex;align-items:center;gap:6px}
.aj-meta strong{color:var(--aj-w);font-weight:700}

/* === Content === */
.aj-content{padding:80px 0 100px;background:var(--aj-bg)}
.aj-content p{margin:0 0 22px;color:#d4cfc4;font-family:var(--aj-bb);font-size:17px;line-height:1.72}
.aj-content p strong{color:var(--aj-w);font-weight:700}
.aj-h2{
  font-family:var(--aj-dp);font-weight:400;
  font-size:clamp(38px,5vw,58px);line-height:.95;letter-spacing:1.5px;
  text-transform:uppercase;
  margin:68px 0 8px;color:var(--aj-w);
}
.aj-h2 em{color:var(--aj-red);font-style:normal}
.aj-h2-eyebrow{
  font-family:var(--aj-bc);font-size:12px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--aj-red);
  margin:0 0 14px;
}
.aj-divider{width:52px;height:3px;background:var(--aj-red);margin:0 0 36px}
.aj-h3{
  font-family:var(--aj-dp);font-weight:400;font-size:28px;
  letter-spacing:1.2px;line-height:1.1;text-transform:uppercase;
  margin:36px 0 14px;color:var(--aj-w);
}
.aj-lede{
  font-family:var(--aj-bb);font-weight:500;
  font-size:21px;line-height:1.55;color:var(--aj-w);
  padding-left:24px;border-left:3px solid var(--aj-red);
  margin:0 0 54px;
}

/* === 2-col rows === */
.aj-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;margin:70px 0}
.aj-cols.flip{grid-template-columns:1fr 1.15fr}
.aj-cols img{width:100%;height:auto;border:1px solid var(--aj-border)}

/* === Reason cards === */
.aj-reasons{display:grid;grid-template-columns:1fr;gap:14px;margin:30px 0 64px}
.aj-reason{
  background:var(--aj-bg2);border:1px solid var(--aj-border);
  border-left:3px solid var(--aj-red);
  padding:28px 32px;
  display:grid;grid-template-columns:64px 1fr;gap:24px;
  align-items:flex-start;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.aj-reason:hover{transform:translateY(-2px);background:var(--aj-bg3);border-color:var(--aj-border2);border-left-color:var(--aj-red)}
.aj-reason-num{
  font-family:var(--aj-dp);font-weight:400;
  font-size:66px;line-height:.85;letter-spacing:1px;
  color:var(--aj-red);
}
.aj-reason h4{
  font-family:var(--aj-dp);font-weight:400;font-size:26px;
  letter-spacing:1.5px;line-height:1.05;
  text-transform:uppercase;
  margin:0 0 12px;color:var(--aj-w);
}
.aj-reason p{margin:0;font-size:16px;color:#c4bfb3;line-height:1.65;font-family:var(--aj-bb)}

/* === Callout box === */
.aj-callout{
  background:var(--aj-red);color:#fff;
  padding:46px 38px;margin:64px 0;text-align:center;position:relative;
}
.aj-callout::before{content:"";position:absolute;top:-1px;left:-1px;width:16px;height:16px;
  border-top:2px solid #fff;border-left:2px solid #fff}
.aj-callout::after{content:"";position:absolute;bottom:-1px;right:-1px;width:16px;height:16px;
  border-bottom:2px solid #fff;border-right:2px solid #fff}
.aj-callout h3{
  font-family:var(--aj-dp);font-weight:400;font-size:34px;
  letter-spacing:2px;line-height:1;
  text-transform:uppercase;margin:0 0 24px;color:#fff;
}
.aj-callout ul{list-style:none;padding:0;margin:24px auto 0;text-align:left;max-width:600px}
.aj-callout li{
  padding:11px 0 11px 24px;font-size:16px;line-height:1.65;
  position:relative;font-family:var(--aj-bb);color:#fff;
}
.aj-callout li::before{content:"";position:absolute;left:0;top:20px;width:7px;height:7px;
  background:#fff;border-radius:50%}
.aj-callout li strong{font-weight:700;color:#fff}

/* === Stats === */
.aj-stats{
  background:var(--aj-bg2);border:1px solid var(--aj-border);
  padding:36px;margin:48px 0;position:relative;
}
.aj-stats::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--aj-red),transparent)}
.aj-stats-title{
  font-family:var(--aj-bc);font-size:12px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--aj-gold);
  margin:0 0 28px;
}
.aj-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--aj-border)}
.aj-stat{background:var(--aj-bg2);padding:20px 18px}
.aj-stat-label{
  font-family:var(--aj-bc);font-size:11px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:var(--aj-g);
  margin:0 0 6px;
}
.aj-stat-value{
  font-family:var(--aj-dp);font-weight:400;
  font-size:30px;color:var(--aj-w);
  letter-spacing:1px;line-height:1;
}
.aj-stat-value.accent{color:var(--aj-red)}

/* === Pros / Cons === */
.aj-proscons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:44px 0 64px}
.aj-pc{background:var(--aj-bg2);border:1px solid var(--aj-border);padding:30px 28px;position:relative}
.aj-pc-pros{border-top:3px solid #2ecc71}
.aj-pc-cons{border-top:3px solid var(--aj-red)}
.aj-pc h4{
  font-family:var(--aj-dp);font-weight:400;font-size:24px;
  letter-spacing:2px;line-height:1;
  text-transform:uppercase;margin:0 0 22px;
}
.aj-pc-pros h4{color:#2ecc71}
.aj-pc-cons h4{color:var(--aj-red)}
.aj-pc ul{list-style:none;padding:0;margin:0}
.aj-pc li{padding:12px 0;border-bottom:1px solid var(--aj-border);
  font-size:15.5px;line-height:1.55;color:#c4bfb3;display:flex;gap:10px;
  font-family:var(--aj-bb);
}
.aj-pc li:last-child{border-bottom:none}
.aj-pc-pros li::before{content:"✓";color:#2ecc71;font-weight:700;flex-shrink:0}
.aj-pc-cons li::before{content:"✗";color:var(--aj-red);font-weight:700;flex-shrink:0}

/* === Final CTA === */
.aj-cta{
  position:relative;padding:120px 22px;text-align:center;
  overflow:hidden;border-top:1px solid var(--aj-border);
  isolation:isolate;
}
.aj-cta .aj-cta-img{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0.22;z-index:0}
.aj-cta::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(16,16,16,0.45) 0%,rgba(8,8,8,0.95) 100%);z-index:1}
.aj-cta::after{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--aj-red),transparent);z-index:3}
.aj-cta > *{position:relative;z-index:2}
.aj-cta h2{
  font-family:var(--aj-dp);font-weight:400;
  font-size:clamp(42px,6vw,72px);line-height:.92;letter-spacing:1.5px;
  text-transform:uppercase;
  margin:0 0 24px;color:#fff;
  text-shadow:0 4px 28px rgba(0,0,0,0.6);
}
.aj-cta h2 em{color:var(--aj-red);font-style:normal}
.aj-cta p{
  font-family:var(--aj-bb);font-size:18px;color:#cccccc;
  max-width:680px;margin:0 auto 42px;line-height:1.6;
}
.aj-cta-btn{
  display:inline-block;padding:22px 52px;
  background:var(--aj-red);color:#fff !important;
  font-family:var(--aj-dp);font-weight:400;font-size:20px;
  letter-spacing:3px;text-transform:uppercase;
  text-decoration:none !important;border:none !important;cursor:pointer;
  transition:background .2s,transform .2s;
  box-shadow:0 6px 32px rgba(200,16,46,.5);
}
.aj-cta-btn:hover{background:var(--aj-red2);transform:translateY(-2px)}

/* ============================================================
   BREADCRUMB (Yoast)
   ============================================================ */
.ac-breadcrumb{
  background:var(--aj-bg);
  border-bottom:1px solid var(--aj-border);
  padding:18px 0;
  font-family:var(--aj-bc);font-size:12px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--aj-g);
  width:100vw;position:relative;left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
}
.ac-breadcrumb-inner{max-width:1140px;margin:0 auto;padding:0 22px;text-align:left !important}
.ac-breadcrumb a{color:var(--aj-g);text-decoration:none;border:none;transition:color .15s}
.ac-breadcrumb a:hover{color:var(--aj-red)}
.ac-breadcrumb .breadcrumb_last{color:var(--aj-gold);font-weight:700}

/* ============================================================
   BLOG — Magazine layout : featured story + grid
   ============================================================ */

/* Override theme on /blog/ */
body.page-id-28092,
body.page-id-28092 main#content,
body.page-id-28092 .site-main,
body.page-id-28092 .page-content,
body.page-id-28092 .entry-content {
  background: var(--aj-bg) !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
body.page-id-28092 { overflow-x: hidden !important; }
body.page-id-28092 .page-header,
body.page-id-28092 header.entry-header { display: none !important; }

.ac-blog {
  background: var(--aj-bg);
  color: var(--aj-w);
  font-family: var(--aj-bb);
  overflow: hidden;
  padding-bottom: 30px;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.ac-blog *{box-sizing:border-box}

/* ===== HERO ===== */
.ac-blog-hero {
  position: relative;
  padding: 70px 24px 130px;
  text-align: center;
  background:
    radial-gradient(ellipse at top, rgba(200,16,46,.25) 0%, transparent 55%),
    linear-gradient(180deg, #080808 0%, #101010 100%);
  border-bottom: 1px solid var(--aj-border);
  overflow: hidden;
}
.ac-blog-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.ac-blog-hero::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--aj-red), transparent);
}
.ac-blog-hero > * { position: relative; z-index: 1; }
.ac-blog-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--aj-bc); font-size: 13px; font-weight: 700;
  letter-spacing: 5px; text-transform: uppercase; color: var(--aj-gold);
  margin: 0 0 8px;
}
.ac-blog-eyebrow::before {
  content: ""; width: 7px; height: 7px; background: var(--aj-red);
  border-radius: 50%; box-shadow: 0 0 14px var(--aj-red);
  animation: aj-pulse 2s ease-in-out infinite;
}
.ac-blog-breadcrumb {
  font-family: var(--aj-bc) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--aj-g) !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
}
.ac-blog-breadcrumb span { background: transparent !important; border: none !important; }
.ac-blog-breadcrumb a {
  color: var(--aj-g);
  text-decoration: none;
  border: none;
  transition: color .15s;
}
.ac-blog-breadcrumb a:hover { color: var(--aj-red); }
.ac-blog-breadcrumb .breadcrumb_last { color: var(--aj-gold); font-weight: 700; }

.ac-blog-h1 {
  font-family: var(--aj-dp); font-weight: 400;
  font-size: clamp(56px, 9vw, 120px); line-height: .88; letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 26px; color: var(--aj-w);
  text-shadow: 0 4px 28px rgba(0,0,0,.6);
}
.ac-blog-h1 em { color: var(--aj-red); font-style: normal; }
.ac-blog-intro {
  font-family: var(--aj-bb); font-size: 17px; line-height: 1.6; color: #c9c4b6;
  max-width: 620px; margin: 0 auto;
}
.ac-blog-stats {
  display: flex; justify-content: center; align-items: center; gap: 14px;
  margin-top: 32px;
  font-family: var(--aj-bc); font-size: 12px; font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase; color: var(--aj-g);
}
.ac-blog-stats strong { color: var(--aj-w); font-weight: 700; }
.ac-blog-stats .dot { color: var(--aj-red); font-size: 18px; line-height: 1; }

/* ===== FEATURED STORY ===== */
.ac-blog-feature {
  max-width: 1240px;
  margin: -70px auto 0;
  padding: 0 24px 100px;
  position: relative;
  z-index: 5;
}
.ac-feature-link {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr;
  background: var(--aj-bg2);
  border: 1px solid var(--aj-border);
  overflow: hidden;
  position: relative;
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color .35s ease, transform .35s ease;
  min-height: 420px;
}
.ac-feature-link::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--aj-red), transparent);
  z-index: 4; opacity: 0; transition: opacity .35s ease;
}
.ac-feature-link:hover { border-color: var(--aj-red); transform: translateY(-3px); }
.ac-feature-link:hover::before { opacity: 1; }

.ac-feature-media {
  position: relative;
  background: var(--aj-bg3);
  background-size: cover;
  background-position: center;
  min-height: 420px;
  overflow: hidden;
}
.ac-feature-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(8,8,8,.4) 0%, rgba(8,8,8,.15) 50%, rgba(200,16,46,.18) 100%);
}
.ac-feature-corner-tl,
.ac-feature-corner-br {
  position: absolute; width: 18px; height: 18px; z-index: 2;
}
.ac-feature-corner-tl { top: 18px; left: 18px; border-top: 2px solid var(--aj-red); border-left: 2px solid var(--aj-red); }
.ac-feature-corner-br { bottom: 18px; right: 18px; border-bottom: 2px solid var(--aj-red); border-right: 2px solid var(--aj-red); }

.ac-feature-body {
  padding: 50px 48px;
  display: flex; flex-direction: column;
  justify-content: center;
  position: relative;
}
.ac-feature-badge {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--aj-bc); font-size: 11px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase; color: var(--aj-red);
  background: rgba(200,16,46,.10);
  padding: 5px 11px;
  border: 1px solid rgba(200,16,46,.3);
  margin: 0 0 22px;
}
.ac-feature-meta {
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center;
  font-family: var(--aj-bc); font-size: 11px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: var(--aj-g);
  margin: 0 0 18px;
}
.ac-feature-meta .ac-feature-date { color: var(--aj-gold); }
.ac-feature-meta .ac-feature-cat {
  padding: 3px 8px; background: rgba(200,16,46,.12); color: var(--aj-red);
  letter-spacing: 1.5px;
}
.ac-feature-meta .ac-feature-time::before {
  content: "·"; margin-right: 8px; color: var(--aj-red);
}
.ac-feature-title {
  font-family: var(--aj-dp); font-weight: 400;
  font-size: clamp(28px, 3.2vw, 44px); line-height: 1; letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 0 0 18px; color: var(--aj-w);
  transition: color .25s ease;
}
.ac-feature-link:hover .ac-feature-title { color: var(--aj-red); }
.ac-feature-excerpt {
  font-family: var(--aj-bb); font-size: 16px; line-height: 1.65; color: #c4bfb3;
  margin: 0 0 26px;
}
.ac-feature-cta {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--aj-bc); font-size: 12px; font-weight: 700;
  letter-spacing: 2.5px; text-transform: uppercase; color: var(--aj-red);
  align-self: flex-start;
  transition: gap .25s ease;
}
.ac-feature-link:hover .ac-feature-cta { gap: 14px; }

/* ===== LIST / GRID ===== */
.ac-blog-list {
  max-width: 1240px;
  margin: 0 auto;
  padding: 80px 24px 100px;
}
.ac-list-header {
  margin: 0 0 32px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--aj-border);
}
.ac-list-eyebrow {
  font-family: var(--aj-bc); font-size: 12px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase; color: var(--aj-red);
}
.ac-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 28px;
}

.ac-card {
  background: var(--aj-bg2);
  border: 1px solid var(--aj-border);
  overflow: hidden;
  position: relative;
  transition: transform .35s ease, border-color .25s ease;
  display: flex;
  flex-direction: column;
}
.ac-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--aj-red);
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s ease;
  z-index: 2;
}
.ac-card:hover { transform: translateY(-4px); border-color: var(--aj-red); }
.ac-card:hover::before { transform: scaleX(1); }
.ac-card-link {
  display: flex !important; flex-direction: column;
  color: inherit !important; text-decoration: none !important;
  border: none !important; flex: 1;
}
.ac-card-thumb {
  position: relative; aspect-ratio: 16/10;
  background: var(--aj-bg3);
  background-size: cover; background-position: center;
  overflow: hidden;
}
.ac-card-thumb.no-img {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--aj-bg3) 0%, var(--aj-bg) 100%);
}
.ac-card-thumb.no-img span {
  font-family: var(--aj-dp); font-size: 80px; color: var(--aj-border2);
  letter-spacing: 4px;
}
.ac-card-thumb::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(8,8,8,.85) 100%);
  opacity: .6; transition: opacity .35s ease;
}
.ac-card:hover .ac-card-thumb::after { opacity: .3; }
.ac-card-num {
  position: absolute; top: 14px; left: 14px;
  font-family: var(--aj-bc); font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  background: rgba(8,8,8,.7);
  padding: 4px 10px;
  color: var(--aj-w);
  border: 1px solid var(--aj-border2);
  z-index: 1;
}
.ac-card-body {
  padding: 24px 24px 22px;
  flex: 1;
  display: flex; flex-direction: column;
}
.ac-card-cat {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--aj-bc); font-size: 10px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  padding: 3px 8px;
  background: rgba(200,16,46,.12); color: var(--aj-red);
  margin: 0 0 12px;
}
.ac-card-title {
  font-family: var(--aj-dp); font-weight: 400;
  font-size: 24px; line-height: 1.05; letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 14px; color: var(--aj-w);
  transition: color .2s ease;
}
.ac-card:hover .ac-card-title { color: var(--aj-red); }
.ac-card-title em { color: var(--aj-red); font-style: normal; }
.ac-card-excerpt {
  font-family: var(--aj-bb); font-size: 14.5px; line-height: 1.6; color: #b8b3a7;
  margin: 0 0 20px;
  flex: 1;
}
.ac-card-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--aj-border);
}
.ac-card-time {
  font-family: var(--aj-bc); font-size: 11px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: var(--aj-g);
}
.ac-card-arrow {
  font-family: var(--aj-bb); font-size: 18px; color: var(--aj-red);
  transition: transform .25s ease;
}
.ac-card:hover .ac-card-arrow { transform: translateX(4px); }

.ac-blog-empty {
  text-align: center; padding: 100px 24px; color: var(--aj-g);
  font-family: var(--aj-bc); font-size: 14px; font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase;
  max-width: 1240px; margin: 0 auto;
}

/* === BLOG responsive === */
@media (max-width: 960px) {
  .ac-blog-hero { padding: 60px 22px 100px; }
  .ac-blog-feature { margin: -60px auto 0; padding: 0 18px 70px; }
  .ac-feature-link { grid-template-columns: 1fr; min-height: auto; }
  .ac-feature-media { min-height: 280px; }
  .ac-feature-body { padding: 36px 28px; }
  .ac-feature-title { font-size: 32px; }
  .ac-blog-list { padding: 64px 18px 90px; }
}
@media (max-width: 600px) {
  .ac-blog-hero { padding: 50px 18px 80px; }
  .ac-blog-feature { margin: -40px auto 0; padding: 0 16px 56px; }
  .ac-feature-media { min-height: 220px; }
  .ac-feature-body { padding: 30px 22px; }
  .ac-feature-title { font-size: 28px; }
  .ac-feature-excerpt { font-size: 15px; }
  .ac-blog-list { padding: 48px 16px 80px; }
  .ac-blog-grid { grid-template-columns: 1fr; gap: 18px; }
  .ac-blog-stats { gap: 8px; font-size: 10px; flex-wrap: wrap; justify-content: center; }
}

/* === RESPONSIVE === */
@media(max-width:900px){
  .aj-cols,.aj-cols.flip{grid-template-columns:1fr;gap:36px;margin:54px 0}
}
@media(max-width:760px){
  .aj-hero{padding:74px 18px 60px}
  .aj-content{padding:54px 0 70px}
  /* Breadcrumb in article hero — centered via parent text-align (not full-width) */
.aj-hero{ text-align:center !important; }
.aj-breadcrumb{
  display:block !important;
  font-family:var(--aj-bc) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  color:var(--aj-g) !important;
  margin:0 0 26px !important;
  padding:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  border-top:none !important;
  border-bottom:none !important;
  border-left:none !important;
  border-right:none !important;
  box-shadow:none !important;
  outline:none !important;
  width:auto !important;
  max-width:none !important;
}
.aj-breadcrumb a{
  color:var(--aj-g) !important;
  text-decoration:none !important;
  border:none !important;
  transition:color .15s;
}
.aj-breadcrumb a:hover{ color:var(--aj-red) !important; }
.aj-breadcrumb .breadcrumb_last{ color:var(--aj-gold) !important; font-weight:700 !important; }
.aj-breadcrumb span{ background:transparent !important; border:none !important; }

/* Tighten eyebrow gap so breadcrumb sits right under it */
.aj-eyebrow{ margin:0 0 8px !important; }

.aj-h1{letter-spacing:1px}
  .aj-h2{font-size:36px;margin:50px 0 6px;letter-spacing:1px}
  .aj-h3{font-size:24px}
  .aj-lede{font-size:18px;padding-left:18px;margin-bottom:40px}
  .aj-reason{grid-template-columns:1fr;gap:8px;padding:24px}
  .aj-reason-num{font-size:50px}
  .aj-reason h4{font-size:22px;letter-spacing:1px}
  .aj-callout{padding:34px 22px;margin:44px 0}
  .aj-callout h3{font-size:28px;letter-spacing:1px}
  .aj-callout li{font-size:15px}
  .aj-stats{padding:24px;margin:34px 0}
  .aj-stat{padding:16px 12px}
  .aj-stat-value{font-size:24px}
  .aj-proscons{grid-template-columns:1fr;gap:14px;margin:30px 0 48px}
  .aj-pc h4{font-size:22px}
  .aj-cta{padding:80px 18px}
  .aj-cta-btn{padding:18px 36px;font-size:16px;letter-spacing:2px}
  .aj-meta{gap:14px;font-size:10px;margin-top:26px}
}
@media(max-width:480px){
  .aj-hero{padding:60px 16px 48px}
  .aj-wrap,.aj-wrap-wide{padding:0 16px}
  .aj-h2{font-size:32px}
  .aj-callout{padding:26px 18px}
  .aj-callout h3{font-size:24px}
  .aj-cta-btn{width:100%;text-align:center;letter-spacing:1.5px}
  .aj-stats-grid{grid-template-columns:1fr}
}

/* Blog grid responsive */
@media(max-width:760px){
  .ac-blog-hero{padding:64px 18px 50px}
  .ac-blog-grid{gap:18px;padding:48px 0 80px}
  .ac-card-body{padding:20px 20px 24px}
  .ac-card-title{font-size:22px}
  .ac-breadcrumb{padding:14px 0;font-size:10px;letter-spacing:1.5px}
  .ac-breadcrumb-inner{padding:0 18px}
}
@media(max-width:480px){
  .ac-blog-grid{grid-template-columns:1fr}
  .ac-blog-wrap{padding:0 16px}
}


/* ============================================================
   HEADER NAV FIX — prevent .mob duplicate + nav wrapping
   ============================================================ */
@media (min-width: 901px){
    nav .mob{display:none !important}
    nav .nl{
        flex-wrap:nowrap !important;
        gap:2px !important;
    }
    nav .nl li a{
        padding:8px 9px !important;
        font-size:12.5px !important;
        letter-spacing:1.2px !important;
        white-space:nowrap !important;
    }
}
/* On tablet (901-1200px), reduce nav padding further */
@media (min-width: 901px) and (max-width: 1280px){
    nav .nl li a{padding:8px 7px !important;font-size:12px !important}
    nav .nav-r{gap:6px !important}
    nav .ncta{padding:9px 13px !important;font-size:12px !important}
    nav .cart-btn{font-size:12px !important;padding:6px 10px !important}
}

/* Force-hide theme page-header + maquette .ph on blog page */
body.page-id-28092 .page-header,
body.page-id-28092 .ph,
body.page-id-28092 header.entry-header { display: none !important; }

/* Hide the legacy global breadcrumb bar on single posts — breadcrumb now lives in the hero */
body.single-post > .ac-breadcrumb,
body.single-post .ac-breadcrumb{ display:none !important; }


/* ============================================================
   WOOCOMMERCE NOTICES — match Aurélien dark/strongman aesthetic
   ============================================================ */
/* Wrapper : transparent + auto-hide when empty */
.woocommerce-notices-wrapper{
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    max-width: 720px !important;
    width: 100% !important;
}
.woocommerce-notices-wrapper:empty{ display:none !important; }

/* Actual notice elements styled inside */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
    background: var(--aj-bg2, #101010) !important;
    border: none !important;
    border-left: 3px solid var(--aj-red, #C8102E) !important;
    color: var(--aj-w, #EDEAE4) !important;
    border-radius: 0 !important;
    padding: 16px 24px !important;
    margin: 20px auto !important;
    max-width: 720px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.4) !important;
    font-family: var(--aj-bb, 'Barlow', Barlow Fallback, sans-serif) !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    position: relative !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
    color: var(--aj-red, #C8102E) !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    margin-right: 12px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    background: transparent !important;
    text-shadow: none !important;
}
.woocommerce-message strong,
.woocommerce-info strong,
.woocommerce-error strong{
    color: var(--aj-w, #EDEAE4) !important;
    font-weight: 700 !important;
}

/* CTA button INSIDE the notice (Voir le panier, etc.) */
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button{
    background: var(--aj-red, #C8102E) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 11px 22px !important;
    font-family: var(--aj-bc, 'Barlow Condensed', BC Fallback, sans-serif) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background .2s ease, transform .15s ease !important;
    margin: 0 !important;
    float: none !important;
    order: 2 !important;
    flex-shrink: 0 !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover{
    background: var(--aj-red2, #E8173A) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

/* Error variant : red accent already, but customize */
.woocommerce-error{
    background: rgba(200,16,46,0.08) !important;
    border-left-color: var(--aj-red, #C8102E) !important;
}
.woocommerce-error li{
    color: var(--aj-w, #EDEAE4) !important;
    list-style: none !important;
}

/* Info variant : bronze accent */
.woocommerce-info{
    border-left-color: var(--aj-gold, #C9961A) !important;
}
.woocommerce-info::before{
    color: var(--aj-gold, #C9961A) !important;
}

/* WC Block notice banner (Gutenberg blocks) */
.wc-block-components-notice-banner__content{
    color: var(--aj-w, #EDEAE4) !important;
    font-family: var(--aj-bb, 'Barlow', Barlow Fallback, sans-serif) !important;
}

@media (max-width: 600px){
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error{
        padding: 14px 18px !important;
        font-size: 13.5px !important;
        gap: 12px !important;
    }
    .woocommerce-message .button,
    .woocommerce-info .button{
        width: 100% !important;
        text-align: center !important;
        padding: 12px 18px !important;
    }
}


/* ============================================================
   DYNAMIC PRICING — sale + regular pricing display
   ============================================================ */
.ac-price{
    display:inline-flex;
    align-items:baseline;
    gap:10px;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif);
}
/* Home cards (.pc-price=40px) — Sale display */
.pc-price .ac-price{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:14px !important;
    line-height:1 !important;
}
.pc-price .ac-price-old{
    color:rgba(237,234,228,0.42) !important;
    text-decoration:line-through !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:26px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}
.pc-price .ac-price-new{
    color:var(--aj-red,#C8102E) !important;
    text-decoration:none !important;
    background:transparent !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:40px !important;
    font-weight:400 !important;
}
.pc-price .ac-price-cur{
    font-family:var(--aj-bc,'Barlow Condensed',BC Fallback,sans-serif) !important;
    font-size:13px !important;
    color:var(--aj-g,#888) !important;
    font-weight:400 !important;
    margin-left:2px !important;
}

/* Product page (.prod-price=72px) — Sale display */
.prod-price-wrap .ac-price,
.prod-price-wrap del,
.prod-price-wrap ins{ display:inline-block; }
.prod-price-wrap .ac-price{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:20px !important;
    line-height:1 !important;
}
.prod-price-wrap .ac-price-old{
    color:rgba(237,234,228,0.42) !important;
    text-decoration:line-through !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:46px !important;
    font-weight:400 !important;
}
.prod-price-wrap .ac-price-new{
    color:var(--aj-red,#C8102E) !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:72px !important;
    font-weight:400 !important;
}
.prod-price-wrap .ac-price-cur{
    font-family:var(--aj-bc,'Barlow Condensed',BC Fallback,sans-serif) !important;
    font-size:20px !important;
    color:var(--aj-g,#888) !important;
}

/* Shop loop card (regular cards) */
.shop-price{ display:inline-flex; align-items:baseline; gap:10px; }
.shop-price-old{
    color:rgba(237,234,228,0.42) !important;
    text-decoration:line-through !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:24px !important;
    font-weight:400 !important;
}
.shop-price-new{
    color:var(--aj-red,#C8102E) !important;
    font-family:var(--aj-dp,'Bebas Neue',Bebas Fallback,sans-serif) !important;
    font-size:40px !important;
    font-weight:400 !important;
    display:inline-flex !important;
    align-items:baseline !important;
}
.shop-price-new span{
    font-family:var(--aj-bc,'Barlow Condensed',BC Fallback,sans-serif) !important;
    font-size:13px !important;
    color:var(--aj-g,#888) !important;
}

/* Sale badge — small "-X%" indicator could go here in future */

/* Make sure WC default <del>/<ins> on product cards is also styled */
.shop-price del,
.product .price del,
.woocommerce .price del{
    color:rgba(237,234,228,0.4) !important;
    text-decoration:line-through !important;
}
.shop-price ins,
.product .price ins,
.woocommerce .price ins{
    background:transparent !important;
    color:var(--aj-red,#C8102E) !important;
    text-decoration:none !important;
}


/* ============================================================
   PRICE LAYOUT FIX — keep del/ins inline, no wrapping
   ============================================================ */
.pc-price{
    display:flex !important;
    align-items:baseline !important;
    flex-wrap:nowrap !important;
    line-height:1 !important;
    overflow:visible !important;
}
.pc-price .ac-price{
    display:inline-flex !important;
    align-items:baseline !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    white-space:nowrap !important;
}
.pc-price .ac-price-old,
.pc-price .ac-price-new{ white-space:nowrap !important; }
.pc-price .ac-price-old .ac-price-cur{ display:none !important; }

/* Force consistent display in any container */
.ac-price.ac-price-onsale{
    display:inline-flex !important;
    align-items:baseline !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    white-space:nowrap !important;
}


/* ============================================================
   PLETNEV ARTICLE — extra responsive fixes for custom inline blocks
   ============================================================ */

/* "Flow arrows" pull-quote (CONCENTRIQUE → PLIO → ISO → EXC) */
.aj-content p[style*="font-family"][style*="Bebas"]{
    line-height:1.45 !important;
    word-spacing:6px !important;
}
@media (max-width:760px){
    .aj-content p[style*="font-family"][style*="Bebas"]{
        font-size:16px !important;
        letter-spacing:1px !important;
        padding:18px 16px !important;
        line-height:1.6 !important;
    }
}
@media (max-width:480px){
    .aj-content p[style*="font-family"][style*="Bebas"]{
        font-size:14px !important;
        letter-spacing:0.5px !important;
    }
}

/* Protocol stat blocks with sub-labels (charges per regime) */
.aj-stat > div[style*="font-family"][style*="Barlow Condensed"]{
    line-height:1.4 !important;
    word-break:break-word !important;
}

/* Inline 6-stat grids that override default with 2 cols */
@media (max-width:760px){
    .aj-stats-grid[style*="1fr 1fr"]{
        grid-template-columns:1fr 1fr !important;
    }
}
@media (max-width:520px){
    .aj-stats-grid[style*="1fr 1fr"]{
        grid-template-columns:1fr !important;
    }
}

/* Dual CTA buttons at end of CTA section — stack on mobile */
@media (max-width:600px){
    .aj-cta a.aj-cta-btn{
        display:block !important;
        margin:0 0 12px !important;
        width:100% !important;
        max-width:100% !important;
        text-align:center !important;
    }
    .aj-cta a.aj-cta-btn:last-child{ margin-bottom:0 !important; }
}

/* Inline lists with custom red bullets — keep them tidy on mobile */
@media (max-width:600px){
    .aj-cols ul[style*="list-style:none"] li,
    .aj-wrap-wide ul[style*="list-style:none"] li,
    .aj-wrap ul[style*="list-style:none"] li{
        padding:10px 0 10px 20px !important;
        font-size:15px !important;
        line-height:1.6 !important;
    }
}

/* Tables (if any wp:table HTML widget used) — horizontal scroll on small screens */
.aj-content table{
    width:100% !important;
    border-collapse:collapse !important;
    margin:24px 0 !important;
    font-family:var(--aj-bb,'Barlow',Barlow Fallback,sans-serif) !important;
    background:var(--aj-bg2,#101010) !important;
    border:1px solid var(--aj-border,rgba(255,255,255,.08)) !important;
}
.aj-content table th{
    background:rgba(200,16,46,.08) !important;
    color:var(--aj-w,#EDEAE4) !important;
    font-family:var(--aj-bc,'Barlow Condensed',BC Fallback,sans-serif) !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:1.5px !important;
    font-size:12px !important;
    padding:12px 14px !important;
    text-align:left !important;
    border-bottom:1px solid var(--aj-border) !important;
}
.aj-content table td{
    color:#d4cfc4 !important;
    padding:12px 14px !important;
    border-bottom:1px solid var(--aj-border) !important;
    font-size:14.5px !important;
}
.aj-content table tr:last-child td{ border-bottom:none !important; }
@media (max-width:600px){
    .aj-content figure.wp-block-table{
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }
    .aj-content table{ min-width:480px !important; font-size:13px !important; }
    .aj-content table th,.aj-content table td{ padding:9px 10px !important; }
}
