/* =========================================================================
   V2 SKIN — aligne blog / articles / pages internes sur la DA V2 de la home
   Référence : BookStack "Branding V2 (DA webstratege.co)" (page 371).
   Chargée APRÈS style.css : surcharge tokens + composants, sans toucher
   aux gabarits. La home (front-page.php) ne charge pas ce fichier.
   ========================================================================= */

/* --- Archivo variable auto-hébergée (mêmes fichiers que la home /v2/) --- */
@font-face { font-family:'Archivo'; font-style:italic; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-01.woff2) format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Archivo'; font-style:italic; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-02.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Archivo'; font-style:italic; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-03.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-04.woff2) format('woff2'); unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-05.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Archivo'; font-style:normal; font-weight:100 900; font-stretch:62% 125%; font-display:swap; src:url(/v2/fonts/archivo-06.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* --- Tokens V2 (surchargent le :root de style.css) --- */
:root {
  --ws-bg:        #07070b;
  --ws-bg-2:      #0f0d0a;
  --ws-bg-3:      #12100c;
  --ws-border:    rgba(255, 255, 255, 0.07);
  --ws-text:      #f2f1ed;
  --ws-text-mute: rgba(242, 241, 237, 0.68);
  --ws-text-dim:  rgba(242, 241, 237, 0.5);
  --ws-gold:      #ebbb81;
  --ws-gold-2:    #f2c088;
  --ws-gold-dark: #c99a5b;
  --ws-gold-shadow: #8a6531;
  --ws-line:      #26262b;
  --ws-radius:    0px;
  --ws-radius-lg: 0px;
  --ws-slant:     -17deg;
  --ws-bev:       14px;
  --ws-font:      'Archivo', -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* --- Typo : Archivo partout (remplace Poppins/Playfair/Manrope/etc.) --- */
body,
.ws-header *, .ws-footer *, .ws-nav-dialog *,
.ws-blog *, .ws-single *, .ws-main * {
  font-family: var(--ws-font) !important;
}
pre, code, kbd, samp,
.ws-article__content pre, .ws-article__content code {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace !important;
}
body { background: var(--ws-bg); color: var(--ws-text); }

/* --- Titres : bloc affiche V2 --- */
h1, h2, h3, .entry-title {
  font-weight: 800;
  letter-spacing: -0.02em;
}
.ws-blog-hero h1 {
  text-transform: uppercase;
  font-stretch: 125%;
  line-height: 0.96;
  font-size: clamp(38px, 5.4vw, 72px);
}
.ws-blog-hero h1 em { font-style: italic; }
.ws-blog-cta h2, .ws-related__head h2 {
  text-transform: uppercase;
  font-stretch: 118%;
  line-height: 1.05;
}
.ws-single-art__title {
  font-stretch: 112%;
  line-height: 1.08;
  font-size: clamp(30px, 3.6vw, 52px);
}

/* Mot-clé or : dégradé signature V2 (remplace la pill or pleine) */
.ws-pill-gold {
  background: linear-gradient(120deg, var(--ws-gold) 30%, var(--ws-gold-2) 50%, var(--ws-gold-dark) 70%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding: 0 .12em 0 0;
  border-radius: 0;
  box-shadow: none;
  font-style: italic;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* --- Eyebrows / kickers : parallélogrammes V2 --- */
.ws-blog-hero__eyebrow, .ws-blog-cta__eyebrow, .ws-related__eyebrow,
.ws-single-art__cat, .ws-aside-block__badge {
  display: inline-flex;
  align-items: center;
  padding: 9px 26px;
  border: none;
  border-radius: 0;
  clip-path: polygon(11px 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
  background: rgba(235, 187, 129, 0.1);
  color: var(--ws-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* --- Boutons : parallélogramme penché + ombre dure (signature V2) --- */
.ws-btn--primary, .ws-header__cta {
  border-radius: 0 !important;
  clip-path: none !important;
  border: none;
  background: var(--ws-gold);
  color: #07070b;
  font-weight: 700;
  font-stretch: 108%;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-size: 13.5px;
  padding: 13px 30px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transform: skewX(var(--ws-slant));
  box-shadow: -5px 6px 0 var(--ws-gold-shadow), -4px 14px 24px -6px rgba(0, 0, 0, 0.5);
  transition: transform .14s cubic-bezier(.16,1,.3,1), box-shadow .14s cubic-bezier(.16,1,.3,1), background .3s ease;
}
.ws-btn--primary > *, .ws-header__cta > * {
  transform: skewX(calc(-1 * var(--ws-slant)));
  display: inline-block;
}
.ws-btn--primary:hover, .ws-header__cta:hover {
  transform: skewX(var(--ws-slant)) translateY(-2px);
  box-shadow: -5px 8px 0 var(--ws-gold-shadow), -4px 18px 28px -6px rgba(0, 0, 0, 0.55);
  background: var(--ws-gold-2);
  color: #07070b;
}
.ws-btn--primary svg, .ws-header__cta svg { width: 15px; height: 15px; }
.ws-header__cta { padding: 10px 22px; font-size: 12px; letter-spacing: 1px; }

/* --- Header : aligné sur le header V2 de la home --- */
.ws-header {
  background: rgba(7, 7, 11, 0.85);
  border-bottom: 1px solid var(--ws-line);
}
.ws-header.is-scrolled {
  background: rgba(5, 5, 7, 0.95);
  border-bottom-color: var(--ws-line);
}
.ws-nav a {
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12.5px;
  font-weight: 700;
  font-stretch: 110%;
  color: var(--ws-text-mute);
}
.ws-nav a:hover { color: var(--ws-gold); }
.ws-logo span { font-weight: 800; font-stretch: 115%; text-transform: uppercase; letter-spacing: 0; }

/* --- Menu plein écran (dialog mobile) : style menu V2 numéroté --- */
.ws-nav-dialog {
  background: #07070b;
}
.ws-nav-dialog__inner { counter-reset: wsmenu; max-width: 640px; gap: 0; }
.ws-nav-dialog__inner a {
  counter-increment: wsmenu;
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 22px 8px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--ws-line);
  border-radius: 0;
  font-size: clamp(26px, 6vw, 40px);
  font-weight: 800;
  font-stretch: 118%;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--ws-text);
}
.ws-nav-dialog__inner a::before {
  content: counter(wsmenu, decimal-leading-zero);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--ws-gold);
  min-width: 26px;
}
.ws-nav-dialog__inner a::after {
  content: "\2192";
  margin-left: auto;
  font-size: 0.55em;
  color: var(--ws-gold);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .2s ease, transform .2s ease;
}
.ws-nav-dialog__inner a:hover, .ws-nav-dialog__inner a:focus {
  background: transparent;
  border-color: var(--ws-gold);
  color: var(--ws-gold);
  transform: none;
}
.ws-nav-dialog__inner a:hover::after, .ws-nav-dialog__inner a:focus::after {
  opacity: 1;
  transform: translateX(0);
}
.ws-nav-dialog__close {
  border-radius: 50%; /* cercle : autorisé DA V2 (pastilles) */
}

/* --- Cartes blog : biseaux + traitement photo cinéma ---
   Règle DA : jamais de border sur un élément clippé (elle disparaît dans les
   coins coupés). Le cadre est trace par un SVG .a-frame qui suit le biseau
   (window.__poserFrame, porté de la home). --bev = taille du biseau lue par le JS. */
.ws-blog-card, .ws-related-card {
  --bev: 14px;
  position: relative;
  border-radius: 0;
  clip-path: polygon(var(--ws-bev) 0, 100% 0, 100% calc(100% - var(--ws-bev)), calc(100% - var(--ws-bev)) 100%, 0 100%, 0 var(--ws-bev));
  background: var(--ws-bg-2);
  border: none;
}
.ws-blog-card__media, .ws-related-card__media,
.ws-blog-card__media img, .ws-related-card__media img,
.ws-single-art__cover, .ws-single-art__cover img {
  border-radius: 0;
}
.ws-blog-card__media img, .ws-related-card__media img {
  filter: grayscale(1) contrast(1.06) brightness(0.85);
  transition: filter .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}
.ws-blog-card:hover .ws-blog-card__media img,
.ws-related-card:hover .ws-related-card__media img {
  filter: grayscale(0) contrast(1.03) brightness(1);
}
.ws-blog-card__cat, .ws-related-card__cat {
  border-radius: 0;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  background: rgba(7, 7, 11, 0.82);
  color: var(--ws-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 16px;
  border: none;
}
.ws-blog-card__title, .ws-related-card__title {
  font-weight: 800;
  font-stretch: 112%;
  letter-spacing: -0.015em;
}
.ws-blog-card__readmore, .ws-related-card__arrow { color: var(--ws-gold); }

/* Élévation au survol : la carte se soulève, son cadre s'allume, la flèche part */
.ws-blog-card, .ws-related-card {
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.ws-blog-card:hover, .ws-related-card:hover { transform: translateY(-5px); }
.ws-blog-card > .a-frame polygon, .ws-related-card > .a-frame polygon {
  transition: stroke .3s ease;
}
.ws-blog-card:hover > .a-frame polygon, .ws-related-card:hover > .a-frame polygon {
  stroke: var(--ws-gold);
}
.ws-blog-card__readmore svg { transition: transform .3s cubic-bezier(.16,1,.3,1); }
.ws-blog-card:hover .ws-blog-card__readmore svg { transform: translateX(4px); }
.ws-blog-card__reading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--ws-text-dim);
  margin-left: auto;
  margin-right: 12px;
}

/* Cover article : biseau discret */
.ws-single-art__cover {
  --bev: 14px;
  position: relative;
  clip-path: polygon(var(--ws-bev) 0, 100% 0, 100% calc(100% - var(--ws-bev)), calc(100% - var(--ws-bev)) 100%, 0 100%, 0 var(--ws-bev));
}
.ws-single-art__cover img {
  filter: grayscale(1) contrast(1.06) brightness(0.85);
  transition: filter .8s cubic-bezier(.16,1,.3,1);
}
.ws-single-art:hover .ws-single-art__cover img { filter: grayscale(0); }

/* --- Tags catégories (hero blog) : chips parallélogrammes --- */
.ws-blog-tag {
  border-radius: 0 !important;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  border: none;
  background: rgba(255, 255, 255, 0.06);
  color: var(--ws-text-mute);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-size: 11px;
  font-weight: 700;
  padding: 9px 20px;
}
.ws-blog-tag:hover { background: rgba(235, 187, 129, 0.14); color: var(--ws-gold); }
.ws-blog-tag.is-current { background: var(--ws-gold); color: #07070b; }

/* --- Pagination : chips V2 --- */
.ws-blog-pagination .page-numbers {
  border-radius: 0 !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  border: none;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 700;
}
.ws-blog-pagination .page-numbers.current { background: var(--ws-gold); color: #07070b; }

/* --- Article : aside, tags, contenu --- */
.ws-aside-block {
  --bev: 14px;
  position: relative;
  border-radius: 0;
  clip-path: polygon(var(--ws-bev) 0, 100% 0, 100% calc(100% - var(--ws-bev)), calc(100% - var(--ws-bev)) 100%, 0 100%, 0 var(--ws-bev));
  background: var(--ws-bg-2);
  border: none;
}
.ws-article-tag {
  border-radius: 0 !important;
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  background: rgba(255, 255, 255, 0.06);
  border: none;
}
.ws-article-tag:hover { background: rgba(235, 187, 129, 0.14); color: var(--ws-gold); }
.ws-read-progress__bar {
  background: linear-gradient(90deg, var(--ws-gold-dark), var(--ws-gold));
}
.ws-article__content a { color: var(--ws-gold); }
.ws-article__content blockquote {
  border-left: 3px solid var(--ws-gold);
  background: var(--ws-bg-3);
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
  font-style: italic;
}
.ws-article__content img { border-radius: 0; }
.ws-article__content h2, .ws-article__content h3 { font-stretch: 112%; letter-spacing: -0.015em; }

/* --- Carte CTA bas de blog : biseau V2 (radius 24px codé en dur) --- */
.ws-blog-cta__inner {
  --bev: 22px;
  border-radius: 0;
  border: none;
  clip-path: polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(235, 187, 129, 0.16), transparent 70%),
    linear-gradient(135deg, rgba(18, 16, 12, 0.96), rgba(7, 7, 11, 0.96));
}

/* --- Contenu article : arrondis codés en dur (sélecteurs longs de style.css) --- */
.ws-single-art .ws-article__content,
.ws-single-art .ws-article__content figure img,
.ws-single-art .ws-article__content img,
.ws-single-art .ws-article__content table,
.ws-single-art .ws-article__content pre,
.ws-single-art .ws-article__content iframe,
.ws-single-art .ws-article__content blockquote,
.ws-single-art__cover,
.ws-aside-toc__item a,
.ws-aside-social__list a {
  border-radius: 0;
}
.ws-single-art .ws-article__content blockquote {
  border-left: 3px solid var(--ws-gold);
  background: var(--ws-bg-3);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
}

/* --- Footer : tokens V2 --- */
.ws-footer {
  background: #050507;
  border-top: 1px solid var(--ws-line);
}
.ws-footer h4 {
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ws-gold);
}

/* --- Responsive : re-masquer nav + CTA header sous 1024px (le display du
       skin surchargait la media query de style.css, chargée avant) --- */
@media (max-width: 1024px) {
  .ws-nav { display: none; }
  .ws-header__cta { display: none; }
}
@media (max-width: 480px) {
  /* Le logo étiré V2 mordait sur le sélecteur de langue */
  .ws-logo span, .ws-nav-dialog__header .ws-logo span { font-stretch: 100%; font-size: 0.85rem; }
}

/* --- Hero blog : mot-clé en dégradé or + fond travaillé (halos + grille or) --- */
.ws-blog-hero--centered h1 em.gold {
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
.ws-blog-hero--centered {
  background:
    radial-gradient(ellipse 62% 55% at 50% -6%, rgba(235, 187, 129, 0.17), transparent 62%),
    radial-gradient(ellipse 42% 46% at 8% 108%, rgba(235, 187, 129, 0.08), transparent 60%),
    radial-gradient(ellipse 38% 42% at 94% 96%, rgba(201, 154, 91, 0.06), transparent 60%),
    linear-gradient(180deg, #0b0906 0%, #07070b 55%);
  overflow: hidden;
}
/* le petit trait or centré de l'ancienne version fait doublon avec le filet du cockpit */
.ws-blog-hero--centered::before { display: none; }
/* grille or fine fondue au centre, comme le hero des articles */
.ws-blog-hero--centered::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(235, 187, 129, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(235, 187, 129, 0.05) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(ellipse 75% 90% at 50% 30%, black 25%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 75% 90% at 50% 30%, black 25%, transparent 78%);
  pointer-events: none;
  z-index: 0;
}
.ws-blog-hero--centered .ws-container { position: relative; z-index: 1; }

/* --- Sections du blog réorganisé (Contenus / Interviews / Villes) --- */
.ws-blog-sec { padding: 54px 0 72px; }
.ws-blog-sec + .ws-blog-sec { border-top: 1px solid var(--ws-line); }
.ws-blog-cta { margin-top: 30px; }
.ws-blog-sec__head { margin-bottom: 34px; }
.ws-blog-sec__head .ws-blog-hero__eyebrow b {
  font-weight: 800;
  margin-right: 12px;
  padding-right: 12px;
  border-right: 1px solid rgba(235, 187, 129, 0.35);
}
.ws-blog-sec__title {
  text-transform: uppercase;
  font-stretch: 118%;
  font-weight: 800;
  letter-spacing: -0.015em;
  font-size: clamp(24px, 2.8vw, 38px);
  margin: 14px 0 0;
}
.ws-blog-sec__lead { color: var(--ws-text-mute); margin: 12px 0 0; max-width: 640px; }
.ws-cities-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
@media (max-width: 900px) { .ws-cities-groups { grid-template-columns: 1fr; } }
.ws-cities-group h3 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ws-gold);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ws-cities-group h3 b {
  font-size: 10px;
  font-weight: 800;
  color: var(--ws-gold);
  background: rgba(235, 187, 129, 0.12);
  clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
  padding: 3px 12px;
  letter-spacing: 1px;
}
.ws-cities { display: flex; flex-wrap: wrap; gap: 10px; }
.ws-city {
  display: inline-flex;
  align-items: center;
  padding: 9px 20px;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  background: rgba(255, 255, 255, 0.06);
  color: var(--ws-text-mute);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.ws-city { transition: background .2s ease, color .2s ease, transform .25s cubic-bezier(.16,1,.3,1); }
.ws-city:hover { background: rgba(235, 187, 129, 0.14); color: var(--ws-gold); transform: translateY(-2px); }

/* --- Apparitions en cascade au scroll (grammaire home) --- */
@media (prefers-reduced-motion: no-preference) {
  .rev {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
    transition-delay: var(--rev-delay, 0ms);
  }
  .rev.in { opacity: 1; transform: none; }
  /* la transition transform du hover reprend la main une fois révélée */
  .ws-blog-card.rev.in { transition: transform .35s cubic-bezier(.16,1,.3,1); }
}

/* --- Bouton retour accueil (pages légales) : ghost V2, plus de pilule --- */
.ws-page__back-link {
  border-radius: 0 !important;
  border: none;
  background: var(--ws-overlay, rgba(255, 255, 255, 0.09));
  color: var(--ws-text);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-stretch: 108%;
  padding: 12px 26px;
  transform: skewX(var(--ws-slant));
  box-shadow: -5px 6px 0 rgba(255, 255, 255, 0.14), -4px 14px 24px -6px rgba(0, 0, 0, 0.45);
  transition: transform .14s cubic-bezier(.16,1,.3,1), box-shadow .14s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease;
}
.ws-page__back-link > * { transform: skewX(calc(-1 * var(--ws-slant))); display: inline-block; }
.ws-page__back-link:hover {
  background: rgba(235, 187, 129, 0.14);
  color: var(--ws-gold);
  border-color: transparent;
  transform: skewX(var(--ws-slant)) translateY(-2px);
  box-shadow: -5px 8px 0 rgba(235, 187, 129, 0.3), -4px 18px 28px -6px rgba(0, 0, 0, 0.5);
}

/* --- Scan DA 20/08 : derniers restes ancienne génération --- */

/* Sélecteur de langue (menu plein écran) : pilule -> parallélogrammes V2 */
.ws-lang-switch {
  border-radius: 0 !important;
  border: none;
  background: rgba(255, 255, 255, 0.06);
  clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  padding: 4px 12px;
}
.ws-lang-switch__link {
  border-radius: 0 !important;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
}
.ws-lang-switch__link.is-active {
  background: var(--ws-gold);
  color: #07070b;
  clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
}

/* Badge de note des articles : pilule -> chip biseautée, Archivo */
.ws-rating {
  border-radius: 0 !important;
  border: none;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  background: rgba(235, 187, 129, 0.1);
}

/* Bouton fantôme (404 et divers) : parallélogramme, plus de contour arrondi */
.ws-btn--ghost {
  border-radius: 0 !important;
  border: none;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  background: rgba(255, 255, 255, 0.08);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.6px;
  font-size: 13px;
}
.ws-btn--ghost:hover { background: rgba(235, 187, 129, 0.14); color: var(--ws-gold); }

/* Recherche 404 : barre biseautée, loupe carrée-biseau */
.ws-404__search-form {
  border-radius: 0 !important;
  border: none;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  background: rgba(255, 255, 255, 0.06);
}
.ws-404__search-form button {
  border-radius: 0 !important;
  clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}

/* Page contact (gabarit focus) : Archivo + biseaux, plus d'arrondis ni de pilule */
.ws-focus, .ws-focus * { font-family: var(--ws-font) !important; }
.ws-focus__card {
  border-radius: 0 !important;
  clip-path: polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px);
}
.ws-form-embed, .ws-form-embed iframe { border-radius: 0 !important; }
.ws-focus__back {
  border-radius: 0 !important;
  border: none;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  background: rgba(255, 255, 255, 0.07);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1px;
  padding: 11px 22px;
}
.ws-focus__back:hover { background: rgba(235, 187, 129, 0.14); color: var(--ws-gold); }
.ws-focus__logo span { font-weight: 800; font-stretch: 115%; text-transform: uppercase; }

/* =========================================================================
   MODE CLAIR des pages intérieures (thème choisi via le carré réglages).
   Palette crème/parchemin de la DA V2 (BookStack p371). Comme sur la home :
   les surfaces « cinéma » (cartes photos, CTA, asides), le header, le footer
   et le menu restent sombres.
   ========================================================================= */
html[data-theme="light"] {
  --ws-bg:        #eae2cf;
  --ws-bg-2:      #f2ecdd;
  --ws-bg-3:      #e1d8c1;
  --ws-border:    rgba(20, 15, 10, 0.08);
  --ws-text:      #191512;
  --ws-text-mute: rgba(25, 21, 18, 0.7);
  --ws-text-dim:  rgba(25, 21, 18, 0.52);
  --ws-gold:      #96702a;
  --ws-gold-2:    #b3873a;
  --ws-gold-dark: #755620;
  --ws-gold-shadow: #755620;
  --ws-line:      #c6b995;
}
/* Heros : ils restent SOMBRES en clair (zone cinéma, demande Benjamin 20/08).
   Les fonds sombres par défaut s'appliquent ; on force juste les textes en
   crème et les ors clairs, car le texte du body passe en sombre. */
html[data-theme="light"] .ws-blog-hero--centered h1,
html[data-theme="light"] .ws-single-art__title,
html[data-theme="light"] .ws-blog-hero h1, html[data-theme="light"] .ws-blog-hero h2 { color: #f2f1ed; }
html[data-theme="light"] .ws-blog-hero--centered h1 em.gold {
  background: linear-gradient(120deg, #ebbb81 30%, #f2c088 50%, #c99a5b 70%);
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-theme="light"] .ws-blog-hero__sub,
html[data-theme="light"] .ws-blog-hero .ws-lead { color: rgba(242, 241, 237, 0.68); }
html[data-theme="light"] .ws-blog-hero--centered .ws-blog-hero__eyebrow,
html[data-theme="light"] .ws-blog-hero .ws-blog-hero__eyebrow,
html[data-theme="light"] .ws-single-art__hero .ws-single-art__cat {
  color: #ebbb81;
  background: rgba(235, 187, 129, 0.1);
}
html[data-theme="light"] .ws-blog-hero__back a { color: rgba(242, 241, 237, 0.68); }
html[data-theme="light"] .ws-blog-sec__lead { color: var(--ws-text-mute); }
html[data-theme="light"] .ws-single-art__hero .ws-single-art__meta,
html[data-theme="light"] .ws-single-art__hero .ws-meta-item,
html[data-theme="light"] .ws-single-art__hero .ws-breadcrumb,
html[data-theme="light"] .ws-single-art__hero .ws-breadcrumb a { color: rgba(242, 241, 237, 0.68); }
html[data-theme="light"] .ws-single-art__hero .ws-meta-item strong { color: #f2f1ed; }
/* Contenu article : feuille de lecture claire, texte sombre */
html[data-theme="light"] .ws-single-art .ws-article__content {
  background: #f2ecdd;
  color: rgba(25, 21, 18, 0.85);
  box-shadow: 0 4px 24px -8px rgba(60, 45, 30, 0.18);
}
html[data-theme="light"] .ws-single-art .ws-article__content p,
html[data-theme="light"] .ws-single-art .ws-article__content li { color: rgba(25, 21, 18, 0.82); }
html[data-theme="light"] .ws-single-art .ws-article__content h2,
html[data-theme="light"] .ws-single-art .ws-article__content h3,
html[data-theme="light"] .ws-single-art .ws-article__content h4,
html[data-theme="light"] .ws-single-art .ws-article__content strong,
html[data-theme="light"] .ws-single-art .ws-article__content > p:first-of-type { color: #191512; }
html[data-theme="light"] .ws-single-art .ws-article__content blockquote { background: #e1d8c1; color: #191512; }
html[data-theme="light"] .ws-article__content a { color: #96702a; }
/* Cartes photos, asides et CTA : restent SOMBRES (règle cinéma de la home) */
html[data-theme="light"] .ws-blog-card,
html[data-theme="light"] .ws-related-card,
html[data-theme="light"] .ws-aside-block { background: #0f0d0a; }
/* .ws-aside-cta a un fond translucide !important : on repose la base sombre dessous */
html[data-theme="light"] .ws-aside-cta { background: linear-gradient(135deg, rgba(235, 187, 129, 0.12), rgba(235, 187, 129, 0.03)), #0f0d0a !important; }
html[data-theme="light"] .ws-aside-cta .ws-aside-block__t,
html[data-theme="light"] .ws-aside-cta .ws-aside-block__lead { color: #f2f1ed; }
html[data-theme="light"] .ws-aside-cta .ws-aside-block__lead { color: rgba(242, 241, 237, 0.68); }
html[data-theme="light"] .ws-blog-card__title, html[data-theme="light"] .ws-related-card__title,
html[data-theme="light"] .ws-aside-block__t, html[data-theme="light"] .ws-aside-block h3 { color: #f2f1ed; }
html[data-theme="light"] .ws-blog-card__meta, html[data-theme="light"] .ws-blog-card__meta time,
html[data-theme="light"] .ws-related-card__meta, html[data-theme="light"] .ws-related-card__meta time,
html[data-theme="light"] .ws-blog-card__reading,
html[data-theme="light"] .ws-aside-block__lead, html[data-theme="light"] .ws-aside-toc__item a,
html[data-theme="light"] .ws-aside-social__list a { color: rgba(242, 241, 237, 0.68); }
html[data-theme="light"] .ws-blog-card__readmore, html[data-theme="light"] .ws-related-card__arrow,
html[data-theme="light"] .ws-blog-card__cat, html[data-theme="light"] .ws-related-card__cat { color: #ebbb81; }
html[data-theme="light"] .ws-blog-card > .a-frame polygon,
html[data-theme="light"] .ws-related-card > .a-frame polygon,
html[data-theme="light"] .ws-aside-block > .a-frame polygon { stroke: rgba(235, 187, 129, 0.3); }
html[data-theme="light"] .ws-blog-card:hover > .a-frame polygon,
html[data-theme="light"] .ws-related-card:hover > .a-frame polygon { stroke: #ebbb81; }
html[data-theme="light"] .ws-aside-block .ws-btn--primary { background: #ebbb81; color: #07070b; }
/* Chips, kickers, pagination sur fond clair */
html[data-theme="light"] .ws-city,
html[data-theme="light"] .ws-blog-tag,
html[data-theme="light"] .ws-blog-pagination .page-numbers,
html[data-theme="light"] .ws-article-tag { background: rgba(20, 15, 10, 0.07); color: var(--ws-text-mute); }
html[data-theme="light"] .ws-city:hover, html[data-theme="light"] .ws-blog-tag:hover,
html[data-theme="light"] .ws-article-tag:hover { background: rgba(150, 112, 42, 0.16); color: #755620; }
html[data-theme="light"] .ws-blog-hero__eyebrow,
html[data-theme="light"] .ws-single-art__cat,
html[data-theme="light"] .ws-blog-cta__eyebrow,
html[data-theme="light"] .ws-related__eyebrow { background: rgba(150, 112, 42, 0.14); }
html[data-theme="light"] .ws-cities-group h3 b { background: rgba(150, 112, 42, 0.14); }
/* Boutons or : ors assombris sur fond clair (hors zones cinéma) */
html[data-theme="light"] .ws-main > .ws-blog-sec .ws-btn--primary { background: #96702a; color: #f6f1e4; }
/* Zones restées sombres : texte crème forcé (sinon héritage du texte sombre du body) */
html[data-theme="light"] #hd .logo,
html[data-theme="light"] .menu-ov,
html[data-theme="light"] .menu-ov .menu-link,
html[data-theme="light"] #foot,
html[data-theme="light"] #foot .foot-logo span,
html[data-theme="light"] .ws-blog-cta__inner,
html[data-theme="light"] .ws-blog-cta__inner h2,
html[data-theme="light"] .ws-blog-card, html[data-theme="light"] .ws-related-card,
html[data-theme="light"] .ws-aside-block { color: #f2f1ed; }
html[data-theme="light"] .ws-blog-cta__inner p { color: rgba(242, 241, 237, 0.72); }
html[data-theme="light"] .ws-blog-cta__inner .ws-btn--primary { background: #ebbb81; color: #07070b; }
html[data-theme="light"] .ws-blog-cta__inner .ws-pill-gold {
  background: linear-gradient(120deg, #ebbb81 30%, #f2c088 50%, #c99a5b 70%);
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-theme="light"] .ws-blog-cta__eyebrow { color: #ebbb81; background: rgba(235, 187, 129, 0.12); }

/* --- Divers : plus d'arrondis résiduels hors cercles --- */
.ws-blog-card__placeholder, .ws-related-card__placeholder { border-radius: 0; }
.ws-meta-avatar { border-radius: 50%; }
