/* Blog Fiddes : pages liste, articles, section d'accueil */
.bchip { display: inline-block; padding: 7px 14px; border-radius: 99px; background: color-mix(in srgb, var(--acc, #0B4DFF) 12%, #fff); color: var(--acc, #0B4DFF); font: 700 13px Sora, sans-serif; letter-spacing: .01em; }
.cta-btn { display: inline-flex; align-items: center; gap: 12px; padding: 16px 28px; border-radius: 99px; text-decoration: none; color: #fff; font: 700 16px Sora, sans-serif; white-space: nowrap;
  background: linear-gradient(100deg, #0B4DFF, #8B5CF6); box-shadow: 0 18px 40px -16px rgba(11,77,255,.65); transition: transform .3s var(--ease), box-shadow .3s; }
.cta-btn:hover, .cta-btn:focus-visible { transform: translateY(-3px); box-shadow: 0 26px 50px -18px rgba(139,92,246,.75); }
.cta-btn svg, .bmeta svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s var(--ease); }
.cta-btn:hover svg { transform: translateX(5px); }

/* Cartes */
.bgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.bcard { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 26px; text-decoration: none; color: var(--nuit); background: #fff;
  border: 1px solid rgba(10,27,61,.1); transition: transform .4s var(--ease), box-shadow .4s, border-color .3s; overflow: hidden; }
.bcard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--acc); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.bcard:hover, .bcard:focus-visible { transform: translateY(-6px); box-shadow: 0 30px 60px -34px rgba(10,27,61,.5); border-color: color-mix(in srgb, var(--acc) 40%, #fff); }
.bcard:hover::before, .bcard:focus-visible::before { transform: scaleX(1); }
.bcard .bchip { align-self: flex-start; }
.bcard h3 { font: 800 clamp(20px, 1.7vw, 24px)/1.18 Sora, sans-serif; letter-spacing: -0.03em; }
.bcard p { margin: 0; color: var(--txt2); font: 500 16px/1.55 Inter, sans-serif; }
.bmeta { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font: 700 14px Sora, sans-serif; color: var(--txt3); }
.bmeta i { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--acc); color: #fff; font-style: normal; transition: transform .4s var(--ease); }
.bmeta i svg { width: 18px; height: 18px; }
.bcard:hover .bmeta i { transform: rotate(-45deg) scale(1.08); }

/* Accueil */
.home-blog { max-width: 1280px; margin: 0 auto; padding: 10px var(--gutter) 40px; }
.hb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 64px; }

/* Index du blog */
.bl-list { max-width: 1280px; margin: 0 auto; padding: 30px var(--gutter) 100px; }
.bcard[hidden] { display: none; }

/* Article */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 80; pointer-events: none; }
.progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #0B4DFF, #8B5CF6, #FFB88C); }
.art { max-width: 780px; margin: 0 auto; padding: 160px var(--gutter) 40px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font: 600 14px Inter, sans-serif; color: var(--txt3); margin-bottom: 22px; }
.crumbs a { color: var(--txt3); text-decoration: none; } .crumbs a:hover { color: var(--saphir); }
.art-head h1 { font-size: clamp(32px, 4.6vw, 58px); line-height: 1.05; margin: 18px 0 20px; text-wrap: balance; }
.byline { color: var(--txt3); font: 600 15px Inter, sans-serif; margin: 0 0 34px; } .byline span { margin: 0 8px; }
.art-body { font: 400 19px/1.75 Inter, sans-serif; color: #1c2a47; }
.art-body p { margin: 0 0 1.25em; }
.art-body > p:first-of-type { font: 600 clamp(20px, 2vw, 23px)/1.6 Manrope, sans-serif; color: var(--nuit); }
.art-body h2 { font-size: clamp(27px, 3.2vw, 38px); line-height: 1.12; margin: 2.1em 0 .6em; scroll-margin-top: 100px; text-wrap: balance; }
.art-body h3 { font-size: clamp(21px, 2.2vw, 26px); line-height: 1.18; margin: 1.7em 0 .5em; scroll-margin-top: 100px; }
.art-body ul, .art-body ol { padding-left: 1.3em; margin: 0 0 1.4em; }
.art-body li { margin-bottom: .55em; padding-left: .2em; }
.art-body li::marker { color: var(--acc); font-weight: 700; }
.art-body a { color: var(--saphir); font-weight: 600; text-underline-offset: 3px; }
.art-body strong { color: var(--nuit); }
.art-body blockquote { margin: 1.6em 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--acc); font: 600 21px/1.6 Manrope, sans-serif; color: var(--nuit); }
.art-body blockquote p { margin: 0; }
.callout { margin: 2.2em 0; padding: 26px 28px; border-radius: 24px; background: color-mix(in srgb, var(--acc) 8%, #fff); border: 1px solid color-mix(in srgb, var(--acc) 22%, #fff); }
.callout p { margin: 0 0 .6em; font: 800 19px Sora, sans-serif; letter-spacing: -0.02em; color: var(--nuit); }
.callout ul { margin: 0; } .callout li { font-size: 17.5px; line-height: 1.55; }
.tbl { overflow-x: auto; margin: 1.6em 0; border-radius: 18px; border: 1px solid rgba(10,27,61,.12); }
.tbl table { border-collapse: collapse; width: 100%; font-size: 16px; min-width: 460px; }
.tbl th { background: var(--nuit); color: #fff; font: 700 14px Sora, sans-serif; text-align: left; padding: 13px 16px; }
.tbl td { padding: 13px 16px; border-top: 1px solid rgba(10,27,61,.1); vertical-align: top; }
.toc { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 2.2em; padding: 18px 20px; border-radius: 22px; background: var(--soft); border: 1px solid rgba(10,27,61,.08); }
.toc span { flex-basis: 100%; font: 800 13px Sora, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--txt3); margin-bottom: 4px; }
.toc a { padding: 9px 15px; border-radius: 99px; background: #fff; border: 1px solid rgba(10,27,61,.1); color: var(--nuit); text-decoration: none; font: 600 14.5px/1.3 Inter, sans-serif; transition: transform .3s var(--ease), background .3s, color .3s; }
.toc a:hover { transform: translateY(-2px); background: var(--nuit); color: #fff; }

.bcta { display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap; margin: 56px 0 10px; padding: 36px; border-radius: 30px; color: #fff; position: relative; overflow: hidden; isolation: isolate;
  background: var(--nuit); }
.bcta::before { content: ""; position: absolute; width: 480px; height: 480px; right: -150px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(139,92,246,.6), transparent 65%); z-index: -1; }
.bcta .bchip { background: rgba(255,255,255,.14); color: #fff; }
.bcta h2 { font-size: clamp(25px, 3vw, 36px); line-height: 1.12; margin: 14px 0 10px; color: #fff; }
.bcta p { margin: 0; max-width: 460px; font: 600 17px/1.55 Manrope, sans-serif; color: #C9D3EA; } .bcta p a { color: #fff; }
.bcta > div { flex: 1 1 320px; }
.bfaq { margin-top: 56px; }
.bfaq h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 18px; }
.bfaq details { border: 1px solid rgba(10,27,61,.12); border-radius: 20px; margin-bottom: 10px; background: #fff; transition: box-shadow .3s; }
.bfaq details[open] { box-shadow: 0 20px 40px -30px rgba(10,27,61,.5); }
.bfaq summary { cursor: pointer; list-style: none; padding: 20px 56px 20px 22px; font: 700 17px/1.35 Sora, sans-serif; position: relative; }
.bfaq summary::-webkit-details-marker { display: none; }
.bfaq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; translate: 0 -50%; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--soft); font-size: 20px; transition: transform .4s var(--ease), background .3s; }
.bfaq details[open] summary::after { transform: rotate(45deg); background: var(--nuit); color: #fff; }
.bfaq details p { margin: 0; padding: 0 22px 22px; font-size: 17px; line-height: 1.65; color: var(--txt2); }
.brel { max-width: 1180px; margin: 0 auto; padding: 60px var(--gutter) 110px; }
.brel h2 { font-size: clamp(26px, 3vw, 38px); margin-bottom: 24px; }

@media (max-width: 640px) {
  .art { padding-top: 130px; } .art-body { font-size: 18px; } .bcta { padding: 26px; } .cta-btn { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .bcard, .cta-btn, .toc a, .bfilters button { transition: none; } }

/* Images d'articles */
.art-fig { margin: 2.2em 0; }
.art-fig img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 26px; background: var(--soft); box-shadow: 0 40px 80px -50px rgba(10,27,61,.55); }
.art-fig.art-top { margin: 0 0 2.2em; }
.art-fig.art-top img { border-radius: 30px; }
.bthumb { display: block; margin: -28px -28px 6px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--soft); }
.bthumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.bcard:hover .bthumb img, .bcard:focus-visible .bthumb img { transform: scale(1.05); }
.bcard::before { z-index: 2; }
@media (max-width: 640px) { .art-fig img, .art-fig.art-top img { border-radius: 20px; } }

/* En-tête du blog : même format que les pages de vente */
.bl .grad { background: linear-gradient(100deg, #0B4DFF, #8B5CF6 60%, #FF9A62); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bl-hero { max-width: 1280px; margin: 0 auto; padding: 150px var(--gutter) 10px; text-align: center; }
.bl-hero h1 { font-size: clamp(46px, 7.4vw, 112px); margin: 26px auto 22px; max-width: 1100px; }
.bl-hero h1 .ln { display: block; overflow: hidden; padding-bottom: .06em; }
.bl-hero h1 .ln > span { display: inline-block; animation: blUp 1.1s var(--ease) both; }
.bl-hero h1 .ln:nth-child(2) > span { animation-delay: .12s; }
@keyframes blUp { from { transform: translateY(110%); } to { transform: none; } }
.bfilters { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 40px; }
.who-chip { display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px 12px 12px; border-radius: 99px; border: 1px solid rgba(10,27,61,.12); background: #fff; cursor: pointer; font: 700 16px Sora, sans-serif; color: var(--nuit); transition: all .3s var(--ease); }
.who-chip i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font: 800 15px Sora, sans-serif; font-style: normal; color: #fff; transition: transform .4s var(--ease); }
.who-chip:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -18px rgba(10,27,61,.45); }
.who-chip.on { background: var(--nuit); color: #fff; border-color: var(--nuit); }
.who-chip.on i { transform: rotate(-12deg) scale(1.1); }
@media (prefers-reduced-motion: reduce) { .bl-hero h1 .ln > span { animation: none; } }
