/* ============================================================
   OPERA PRESTIGE — SINGLE POST (BLOG) — DARK TEMPLATE
   Loaded by single.php. Self-contained (tokens + .bl-* + .lp-*
   atoms reused). Aligned with destinations.css design system.
   ============================================================ */
:root{
  --lp-black:#0a0a0a; --lp-anthracite:#111; --lp-cream:#f5f0eb; --lp-white:#f7f4f0;
  --lp-gold:#c9a96e; --lp-gold-light:#dfc090;
  --lp-text:#b9b4ad; --lp-text-soft:#8d8881;
  --lp-line:rgba(255,255,255,.09);
  --lp-serif:'Playfair Display',Georgia,serif; --lp-sans:'Montserrat',sans-serif;
  --lp-ease:.4s cubic-bezier(.2,.6,.2,1); --lp-r:2px;
  --bl-read:720px;
}

body.opera-blog-single{background:#0a0a0a!important;background-image:none!important}
body.opera-blog-single .box-wrapper,
body.opera-blog-single .box-container,
body.opera-blog-single .uncont,
body.opera-blog-single #page,
body.opera-blog-single .main-content,
body.opera-blog-single .uncode-content{background-image:none!important;background-color:#0a0a0a!important}

body.opera-blog-single #header-outer,
body.opera-blog-single #masthead,
body.opera-blog-single .header-wrapper,
body.opera-blog-single .nav-wrapper,
body.opera-blog-single #header-space,
body.opera-blog-single .header-sticky-placeholder{display:none!important;height:0!important;min-height:0!important}

/* scope reset so theme styles don't bleed into the article */
#bl-single, #bl-single *{box-sizing:border-box}
#bl-single{background:var(--lp-black);color:var(--lp-text);font-family:var(--lp-sans);line-height:1.7;font-size:16px}
#bl-single img{max-width:100%;display:block;height:auto}

/* ---- shared atoms ---- */
#bl-single .lp-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--lp-gold);display:inline-block}
#bl-single .lp-hero__divider{height:1px;width:160px;margin:30px auto 0;background:linear-gradient(to right,transparent,var(--lp-gold),transparent)}
#bl-single .lp-btn{display:inline-block;font-family:var(--lp-sans);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:16px 38px;border-radius:var(--lp-r);text-decoration:none;transition:transform var(--lp-ease),background var(--lp-ease),color var(--lp-ease);cursor:pointer}
#bl-single .lp-btn--white{background:var(--lp-cream);color:var(--lp-black);border:1px solid var(--lp-cream)}
#bl-single .lp-btn--white:hover{transform:translateY(-2px)}
#bl-single .lp-btn--outline-white{background:transparent;color:var(--lp-cream);border:1px solid rgba(245,240,235,.4)}
#bl-single .lp-btn--outline-white:hover{background:var(--lp-cream);color:var(--lp-black);border-color:var(--lp-cream)}

/* ---- breadcrumb ---- */
.bl-crumb{max-width:var(--bl-read);margin:0 auto;padding:34px 24px 0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-text-soft)}
.bl-crumb a{text-decoration:none;color:var(--lp-text-soft);transition:color var(--lp-ease)}
.bl-crumb a:hover{color:var(--lp-gold)}
.bl-crumb .bl-crumb__cur{color:var(--lp-gold)}

/* ---- article hero (dark, sans image) ---- */
.bl-hero{max-width:860px;margin:0 auto;padding:74px 24px 18px;text-align:center}
.bl-hero__title{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12;margin:22px 0 6px;letter-spacing:-.01em}
.bl-hero__title em{font-style:italic;color:var(--lp-gold);display:block}
.bl-meta{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-text-soft);flex-wrap:wrap}
.bl-meta span{position:relative}
.bl-meta span+span::before{content:'·';position:absolute;left:-11px;color:var(--lp-gold)}

/* ---- cover ---- */
.bl-cover{max-width:1100px;margin:46px auto 0;padding:0 24px;overflow:hidden}
.bl-cover__img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;border:1px solid var(--lp-line);filter:saturate(.92)}
.bl-cover__cap{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-text-soft);margin-top:12px;text-align:center}

/* ---- reset WPBakery/Uncode row backgrounds dans le corps ---- */
.bl-body .vc_row,.bl-body .wpb_row,.bl-body .vc_row_inner,.bl-body .vc_column-inner{background-color:transparent!important;background-image:none!important;box-shadow:none!important}

/* ---- reading column (the_content) ---- */
.bl-body{max-width:var(--bl-read);margin:0 auto;padding:70px 24px 30px}
.bl-body p{font-weight:300;font-size:1.02rem;color:var(--lp-text);margin-bottom:26px;line-height:1.85}
.bl-body>p:first-of-type,.bl-body p.bl-lead{font-size:1.22rem;line-height:1.7;color:var(--lp-white);font-weight:300}
.bl-body a{color:var(--lp-gold-light);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.4);transition:color var(--lp-ease),border-color var(--lp-ease)}
.bl-body a:hover{color:var(--lp-white);border-color:var(--lp-white)}
.bl-body h2{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:56px 0 0;letter-spacing:-.01em}
.bl-body h2::after{content:'';display:block;width:40px;height:1px;background:var(--lp-gold);margin:18px 0 30px}
.bl-body h3{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:1.22rem;margin:38px 0 14px}
.bl-body ul,.bl-body ol{margin:0 0 30px;padding:0;list-style:none}
.bl-body ul li,.bl-body ol li{position:relative;padding-left:26px;margin-bottom:14px;font-weight:300;color:var(--lp-text);line-height:1.7}
.bl-body ul li::before{content:'';position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--lp-gold)}
.bl-body ol{counter-reset:bl}
.bl-body ol li::before{counter-increment:bl;content:counter(bl);position:absolute;left:0;top:0;color:var(--lp-gold);font-family:var(--lp-serif);font-size:.95rem}
.bl-body strong{color:var(--lp-white);font-weight:500}

/* pull quote (core/quote or .bl-quote html block) */
.bl-body .bl-quote,.bl-body blockquote{margin:48px 0;padding:8px 0 8px 30px;border-left:2px solid var(--lp-gold);font-family:var(--lp-serif);font-style:italic;font-size:1.45rem;line-height:1.5;color:var(--lp-white)}
.bl-body blockquote p{font-size:inherit;color:inherit;font-weight:inherit;margin:0}

/* key-takeaways box */
.bl-key{margin:44px 0;padding:34px 36px;background:rgba(255,255,255,.025);border:1px solid var(--lp-line)}
.bl-key__t{font-size:.7rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--lp-gold);margin-bottom:18px}
.bl-key ul{margin:0}
.bl-key ul li{margin-bottom:12px;font-size:.95rem}

/* price table */
.bl-table-wrap{margin:36px 0;border:1px solid var(--lp-line);overflow-x:auto}
table.bl-table{width:100%;border-collapse:collapse;font-size:.9rem}
.bl-table caption{text-align:left;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-text-soft);padding:16px 20px;border-bottom:1px solid var(--lp-line);background:rgba(255,255,255,.02)}
.bl-table th{font-family:var(--lp-sans);font-weight:600;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lp-gold);text-align:left;padding:16px 20px;border-bottom:1px solid var(--lp-line)}
.bl-table td{padding:15px 20px;border-bottom:1px solid var(--lp-line);font-weight:300;color:var(--lp-text)}
.bl-table tr:last-child td{border-bottom:none}
.bl-table td:first-child a{color:var(--lp-white);border:none;font-weight:400}
.bl-table td:first-child a:hover{color:var(--lp-gold)}
.bl-table td strong{color:var(--lp-white)}

/* inline CTA mid-article */
.bl-inline-cta{margin:48px 0;padding:36px;text-align:center;border:1px solid rgba(201,169,110,.3);background:rgba(201,169,110,.04)}
.bl-inline-cta p{font-family:var(--lp-serif);font-style:italic;font-size:1.2rem;color:var(--lp-white);margin-bottom:22px}

/* ---- FAQ ---- */
.bl-faq{background:var(--lp-anthracite);padding:90px 24px;margin-top:40px}
.bl-faq__inner{max-width:820px;margin:0 auto}
.bl-faq__head{text-align:center;margin-bottom:48px}
.bl-faq__head h2{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:clamp(1.6rem,3vw,2.1rem);margin-top:16px}
.lp-faq__list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}
.lp-faq-item{border:1px solid var(--lp-line);overflow:hidden;transition:border-color var(--lp-ease)}
.lp-faq-item[open]{border-color:rgba(201,169,110,.35);border-left:2px solid var(--lp-gold)}
.lp-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;cursor:pointer;list-style:none;font-size:.9rem;font-weight:500;color:var(--lp-white)}
.lp-faq-item summary::-webkit-details-marker{display:none}
.lp-faq-item[open] summary,.lp-faq-item summary:hover{background:rgba(201,169,110,.06)}
.lp-faq-item__icon{flex-shrink:0;width:20px;height:20px;color:var(--lp-gold);transition:transform .25s ease;font-size:1.3rem;line-height:1;text-align:center}
.lp-faq-item[open] .lp-faq-item__icon{transform:rotate(45deg)}
.lp-faq-item__body{padding:0 28px 24px;font-size:.92rem;font-weight:300;color:var(--lp-text);line-height:1.8}

/* ---- final CTA band ---- */
.bl-cta{background:var(--lp-black);text-align:center;padding:104px 24px;border-top:1px solid var(--lp-line)}
.bl-cta h2{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.2;margin:18px auto 0;max-width:680px}
.bl-cta p{max-width:540px;margin:20px auto 34px;font-weight:300;color:var(--lp-text)}
.bl-cta__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ---- related / from the journal ---- */
.bl-journal{background:var(--lp-anthracite);padding:90px 24px;border-top:1px solid var(--lp-line)}
.bl-journal__head{text-align:center;margin-bottom:48px}
.bl-journal__head h2{font-family:var(--lp-serif);font-weight:400;color:var(--lp-white);font-size:1.9rem;margin-top:14px}
.bl-cards{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lp-line);border:1px solid var(--lp-line)}
.bl-card{background:var(--lp-anthracite);padding:34px 30px;text-decoration:none;display:block;transition:background var(--lp-ease)}
.bl-card:hover{background:rgba(201,169,110,.05)}
.bl-card__cat{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--lp-gold)}
.bl-card__t{font-family:var(--lp-serif);font-size:1.28rem;color:var(--lp-white);margin:16px 0 0;line-height:1.3}
.bl-card__arrow{margin-top:22px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-text-soft)}

@media(max-width:760px){
  .bl-cards{grid-template-columns:1fr}
  .bl-body{padding-top:50px}
  .bl-cover{margin-top:34px}
  .bl-cta{padding:80px 24px}
}
