/* CB Site Starter : mise en forme des pages de départ. Classes « cbss-* ». */
:root{
  --cb-navy:#14304a; --cb-orange:#d9480f; --cb-orange-l:#ff6b35; --cb-teal:#0a7f76; --cb-teal-l:#12b5a6;
  --cb-violet:#6347e0; --cb-sun:#ffc93c; --cb-sun-d:#8a5d00; --cb-pink:#c2255c; --cb-blue:#1d4ed8; --cb-cream:#fff6ec;
  --cb-radius:20px; --cb-shadow:0 14px 34px -16px rgba(20,48,74,.4);
}

/* Couleurs d’encadrés : --c (bordure) et --ct (texte) */
.cbss-c-orange{--c:var(--cb-orange);--ct:var(--cb-orange)}
.cbss-c-teal{--c:var(--cb-teal-l);--ct:var(--cb-teal)}
.cbss-c-violet{--c:var(--cb-violet);--ct:var(--cb-violet)}
.cbss-c-blue{--c:#3b82f6;--ct:var(--cb-blue)}
.cbss-c-pink{--c:#e0407f;--ct:var(--cb-pink)}
.cbss-c-sun{--c:var(--cb-sun);--ct:var(--cb-sun-d)}

/* Alignement : le texte courant suit le bord gauche des blocs larges */
.wp-block-post-content>.cbss-h2,.wp-block-post-content>.cbss-steps,.wp-block-post-content>.cbss-links,.wp-block-post-content>.cbss-lead-dark,.wp-block-post-content>.cbss-prose{
  max-width:var(--wp--style--global--wide-size,1200px)!important;
  margin-left:max(0px,calc((100% - var(--wp--style--global--wide-size,1200px))/2))!important;margin-right:auto!important}
.wp-block-post-content>.cbss-lead-dark,.wp-block-post-content>.cbss-prose{max-width:min(52rem,100%)!important}
.wp-block-post-content>.cbss-timeline{max-width:var(--wp--style--global--wide-size,1200px)!important}

/* Titres de section */
.cbss-h2{margin-top:3rem!important;font-weight:800;letter-spacing:-.01em}
.cbss-h2::after{content:"";display:block;width:72px;height:6px;border-radius:6px;margin-top:.55rem;
  background:linear-gradient(90deg,var(--cb-orange-l),var(--cb-sun),var(--cb-teal-l))}
.cbss-lead-dark{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;color:var(--cb-navy)}
.cbss-links a{font-weight:700;text-decoration:none;border-bottom:3px solid var(--cb-sun)}
.cbss-links a:hover{border-bottom-color:var(--cb-orange)}

/* Héros */
.cbss-hero{position:relative;overflow:hidden;color:#fff;border-radius:28px;padding:clamp(1.6rem,4vw,3.2rem);margin-top:1rem;
  background:linear-gradient(135deg,#14304a 0%,#4b2fd0 58%,#c2410c 130%);box-shadow:var(--cb-shadow)}
.cbss-hero::before,.cbss-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.cbss-hero::before{width:320px;height:320px;right:-90px;top:-110px;background:radial-gradient(circle,rgba(255,201,60,.55),rgba(255,201,60,0) 70%)}
.cbss-hero::after{width:260px;height:260px;left:-80px;bottom:-120px;background:radial-gradient(circle,rgba(18,181,166,.5),rgba(18,181,166,0) 70%)}
.cbss-hero>*{position:relative;z-index:1}
.cbss-hero p{color:#fff}
.cbss-eyebrow{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
  padding:.3em 1em;border-radius:999px;font-weight:700;margin:0 0 1rem}
.cbss-lead{font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.45;font-weight:600;max-width:46rem;margin:0 0 1.3rem}

/* Pastilles */
.cbss-chips{list-style:none!important;padding:0!important;margin:.6rem 0 1.2rem!important;display:flex;flex-wrap:wrap;gap:.5rem}
.cbss-chips li{margin:0;padding:.35em .95em;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1.3;
  background:#fff;color:var(--cb-navy);border:2px solid var(--cb-teal-l)}
.cbss-chips li::marker{content:""}
.cbss-chips li:nth-child(4n+2){border-color:var(--cb-sun)}
.cbss-chips li:nth-child(4n+3){border-color:var(--cb-orange-l)}
.cbss-chips li:nth-child(4n+4){border-color:#8b74ff}
.cbss-chips--light li{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.45)}
.cbss-chips--light li:nth-child(n){border-color:rgba(255,255,255,.45)}

/* Boutons (héros et bandeau final) */
.cbss-hero .wp-block-button__link,.cbss-cta .wp-block-button__link{border-radius:999px;font-weight:800;padding:.8em 1.5em;
  background:#fff;color:var(--cb-navy);border:2px solid #fff;transition:transform .15s,box-shadow .15s}
.cbss-hero .is-style-outline .wp-block-button__link,.cbss-cta .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.cbss-hero .wp-block-button__link:hover,.cbss-cta .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 20px -8px rgba(0,0,0,.45)}
.cbss-extra-btn{margin-top:.8rem}

/* Encadrés */
.cbss-cards.wp-block-columns{gap:1.25rem;align-items:stretch;margin-block:1.25rem}
.cbss-cards .wp-block-column{display:flex}
.cbss-card{width:100%;box-sizing:border-box;background:#fff;border-radius:var(--cb-radius);padding:1.3rem 1.5rem;margin-block:1.1rem;
  border:1px solid rgba(20,48,74,.08);border-top:7px solid var(--c,var(--cb-teal-l));box-shadow:var(--cb-shadow);transition:transform .2s,box-shadow .2s}
.cbss-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px rgba(20,48,74,.5)}
.cbss-card>h2,.cbss-card>h3,.cbss-card__title{margin:0 0 .55rem!important;font-size:1.3rem!important;color:var(--ct,var(--cb-navy))}
.cbss-card p{margin:.4rem 0}
.cbss-card .cbss-date{margin-bottom:.4rem}
@supports (background:color-mix(in srgb,red 10%,white)){
  .cbss-card{background:linear-gradient(180deg,color-mix(in srgb,var(--c,#12b5a6) 11%,#fff),#fff 55%)}
}

/* Chiffres clés */
.cbss-stats.wp-block-columns{gap:1.25rem;margin-block:1.25rem}
.cbss-stats .wp-block-column{display:flex}
.cbss-stat{width:100%;box-sizing:border-box;color:#fff;border-radius:var(--cb-radius);padding:1.4rem;text-align:center;box-shadow:var(--cb-shadow)}
.cbss-stat p{color:#fff;margin:.3rem 0}
.cbss-stat__n{font-size:clamp(2.6rem,6vw,3.8rem)!important;font-weight:900;line-height:1;margin:0!important}
.cbss-bg-teal{background:linear-gradient(135deg,#0a7f76,#0b9488)}
.cbss-bg-violet{background:linear-gradient(135deg,#5b3fd6,#7048ee)}
.cbss-bg-orange{background:linear-gradient(135deg,#c2410c,#d9480f)}

/* Étapes du profil */
.cbss-steps{list-style:none!important;counter-reset:s;padding:0!important;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.cbss-steps li{counter-increment:s;position:relative;background:#fff;border-radius:16px;padding:2.6rem 1rem 1rem;font-weight:700;color:var(--cb-navy);
  box-shadow:var(--cb-shadow);border:1px solid rgba(20,48,74,.08);margin:0}
.cbss-steps li::before{content:counter(s);position:absolute;top:.7rem;left:1rem;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;
  font-size:.95rem;color:#fff;background:var(--cb-orange)}
.cbss-steps li:nth-child(2)::before{background:var(--cb-teal)}
.cbss-steps li:nth-child(3)::before{background:var(--cb-violet)}
.cbss-steps li:nth-child(4)::before{background:var(--cb-pink)}

/* Frise du parcours */
.cbss-timeline{position:relative;padding-left:2.6rem;margin-block:1.5rem}
.cbss-timeline::before{content:"";position:absolute;left:.55rem;top:.4rem;bottom:.4rem;width:4px;border-radius:4px;
  background:linear-gradient(var(--cb-orange-l),var(--cb-sun),var(--cb-violet),var(--cb-teal-l))}
.cbss-tl{position:relative;background:#fff;border-radius:var(--cb-radius);padding:1.1rem 1.4rem;margin:0 0 1.2rem;
  box-shadow:var(--cb-shadow);border:1px solid rgba(20,48,74,.08)}
.cbss-tl::before{content:"";position:absolute;left:-2.5rem;top:1.35rem;width:1.1rem;height:1.1rem;border-radius:50%;
  background:var(--c);box-shadow:0 0 0 4px #fff}
.cbss-tl__title{margin:.1rem 0 .4rem!important;font-size:1.25rem!important;color:var(--ct,var(--cb-navy))}
.cbss-tl p{margin:.4rem 0}
.cbss-date{display:inline-block;margin:0 0 .4rem;padding:.15rem .85rem;border-radius:999px;font-weight:800;font-size:.85rem;color:#fff;background:var(--ct,var(--cb-teal))}
.cbss-c-sun .cbss-date{background:var(--cb-sun);color:var(--cb-navy)}

/* Visuels */
.cbss-figure{margin:1.6rem auto!important;padding:.6rem;background:#fff;border-radius:var(--cb-radius);box-shadow:var(--cb-shadow);border:1px solid rgba(20,48,74,.08);max-width:100%}
.cbss-figure img{display:block;width:100%;height:auto;border-radius:14px}
.cbss-figure figcaption{text-align:center;font-size:.9rem;color:#55677a;padding:.5rem}

/* Liste des réalisations */
.cbss-rgrid .wp-block-post-template{gap:1.4rem;padding:0;list-style:none}
.cbss-rcard{height:100%;box-sizing:border-box;overflow:hidden;background:#fff;border-radius:var(--cb-radius);border:1px solid rgba(20,48,74,.08);
  border-top:7px solid var(--c,var(--cb-teal-l));box-shadow:var(--cb-shadow);transition:transform .2s,box-shadow .2s;padding:0}
.cbss-rcard:hover{transform:translateY(-5px);box-shadow:0 24px 42px -18px rgba(20,48,74,.5)}
.wp-block-post-template>li:nth-child(4n+1) .cbss-rcard{--c:var(--cb-orange-l)}
.wp-block-post-template>li:nth-child(4n+2) .cbss-rcard{--c:var(--cb-teal-l)}
.wp-block-post-template>li:nth-child(4n+3) .cbss-rcard{--c:var(--cb-violet)}
.wp-block-post-template>li:nth-child(4n+4) .cbss-rcard{--c:var(--cb-sun)}
.cbss-rcard .wp-block-post-featured-image{margin:0;background:var(--cb-cream)}
.cbss-rcard .wp-block-post-featured-image img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;display:block}
.cbss-rcard:not(:has(.wp-block-post-featured-image img))::before{content:"✨";display:grid;place-items:center;aspect-ratio:16/9;font-size:3rem;background:linear-gradient(135deg,#ffe9d6,#e9e4ff)}
.cbss-rcard .wp-block-post-title{margin:1rem 1.3rem .4rem;font-size:1.3rem;font-weight:800;line-height:1.3}
.cbss-rcard .wp-block-post-title a{color:var(--cb-navy);text-decoration:none}
.cbss-rcard .wp-block-post-title a:hover{color:var(--cb-orange)}
.cbss-rcard .wp-block-post-excerpt{margin:0 1.3rem 1.3rem;font-size:.95rem;color:#3b4a5a}
.cbss-rcard .wp-block-post-excerpt__more-link{display:inline-block;margin-top:.4rem;padding:.3em .9em;border-radius:999px;font-weight:800;
  background:var(--cb-sun);color:var(--cb-navy);text-decoration:none}

/* Bandeau final */
.cbss-cta{margin-top:3rem;color:#fff;text-align:center;border-radius:28px;padding:clamp(1.6rem,4vw,2.8rem);
  background:linear-gradient(135deg,#d9480f 0%,#c2255c 65%,#6347e0 120%);box-shadow:var(--cb-shadow)}
.cbss-cta p{color:#fff;font-size:1.15rem}
.cbss-cta__title{color:#fff!important;margin-top:0!important;font-weight:900}
.cbss-cta .wp-block-buttons{justify-content:center}

/* Champs vides : rien à afficher */
.cbss-card p:empty,.cbss-tl p:empty{display:none}

@media (prefers-reduced-motion:reduce){.cbss-card,.cbss-rcard,.cbss-hero .wp-block-button__link{transition:none}.cbss-card:hover,.cbss-rcard:hover{transform:none}}

/* Titre de la page aligné sur les blocs larges (pages mises en forme par le plugin) */
body:has(.wp-block-post-content>[class*="cbss-"]) .wp-block-post-title{
  max-width:var(--wp--style--global--wide-size,1200px)!important;
  margin-left:max(0px,calc((100% - var(--wp--style--global--wide-size,1200px))/2))!important;margin-right:auto!important}

/* Fiche d’une réalisation : pas de doublon d’image ni de ligne « auteur », contenu aligné à gauche */
.single-realisation .wp-block-post-title~.wp-block-post-featured-image,
.single-realisation .wp-block-post-title~.has-small-font-size{display:none}
.single-realisation .wp-block-post-content>.cbss-card,
.single-realisation .wp-block-post-content>.cbss-figure,
.single-realisation .wp-block-post-content>.cbss-links,
.single-realisation .wp-block-post-content>.cbss-lead-dark{
  max-width:min(60rem,100%)!important;
  margin-left:max(0px,calc((100% - var(--wp--style--global--wide-size,1200px))/2))!important;margin-right:auto!important}

.cbss-card>h2,.cbss-card>h3,.cbss-card__title,.cbss-tl__title{font-weight:800!important}

/* Titre de la page dans le bandeau : le titre du thème est masqué */
body:has(.cbss-hero__title) .wp-block-post-title:not(.cbss-hero__title){display:none}
.cbss-hero__title{color:#fff!important;font-weight:900!important;font-size:clamp(2rem,5vw,3.4rem)!important;line-height:1.1!important;margin:.1em 0 .45em!important;max-width:46rem}
.cbss-hero--teal{background:linear-gradient(135deg,#064e47 0%,#0a7f76 55%,#2563eb 130%)}
.cbss-hero--violet{background:linear-gradient(135deg,#2e1a8c 0%,#6347e0 55%,#c2255c 130%)}
.cbss-hero--orange{background:linear-gradient(135deg,#9a3412 0%,#d9480f 55%,#c2255c 130%)}
.cbss-hero--pink{background:linear-gradient(135deg,#7a123b 0%,#c2255c 55%,#6347e0 130%)}
.cbss-hero--navy{background:linear-gradient(135deg,#0b1d2e 0%,#14304a 60%,#0a7f76 130%)}
.single-realisation .cbss-hero,.wp-block-post-content>.cbss-hero:first-child{margin-top:0}
main .wp-block-group.alignfull:has(>.wp-block-post-content>.cbss-hero){padding-top:1.5rem!important}
.cbss-hero{margin-bottom:1.75rem!important}

/* Fiche : on retire la navigation et la liste « articles » du thème */
.single-realisation .wp-block-post-navigation-link,.single-realisation main .wp-block-query{display:none}
