/* Classement JV — styles du thème (sections statiques et structure). */

:root{
	--cjv-bg:var(--wp--preset--color--bg,#12151F);
	--cjv-bg-2:var(--wp--preset--color--bg-2,#0D1018);
	--cjv-surface:var(--wp--preset--color--surface,#1B1F2C);
	--cjv-surface-2:var(--wp--preset--color--surface-2,#232838);
	--cjv-line:var(--wp--preset--color--line,#2C3244);
	--cjv-text:var(--wp--preset--color--text,#fff);
	--cjv-soft:var(--wp--preset--color--soft,#C5C9D6);
	--cjv-muted:var(--wp--preset--color--muted,#8A90A3);
	--cjv-lime:var(--wp--preset--color--lime,#A8DB1C);
	--cjv-lime-dim:rgba(168,219,28,.14);
	--cjv-warn:#F2C14E;
	--cjv-display:var(--wp--preset--font-family--display);
	--cjv-cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
	color-scheme:dark;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
html,body{overflow-x:clip}
:focus-visible{outline:2px solid var(--cjv-lime);outline-offset:3px}
h1,h2,h3{text-wrap:balance}
.cjv-lime{color:var(--cjv-lime)}

/* En-tête */
.cjv-top{position:sticky;top:0;z-index:50;background:rgba(10,12,18,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--cjv-line);padding:12px 16px;margin-inline:-16px}
.admin-bar .cjv-top{top:32px}
@media (max-width:782px){.admin-bar .cjv-top{top:46px}}
.cjv-top-in{max-width:1160px;margin:0 auto;align-items:center;gap:18px}
.cjv-brand{gap:10px;align-items:center}
.cjv-brand-mark{margin:0;width:30px;height:30px;border:2px solid var(--cjv-lime);display:grid;place-items:center;font-family:var(--cjv-display);font-weight:800;font-size:.75rem;color:var(--cjv-lime);line-height:1}
.cjv-brand-name{margin:0;font-family:var(--cjv-display);font-weight:800;font-size:1rem;text-transform:uppercase}
.cjv-brand-name a{color:var(--cjv-text);text-decoration:none}
.cjv-nav{font-family:var(--cjv-display);font-weight:700;font-size:.72rem;text-transform:uppercase;gap:24px}
.cjv-nav a{color:var(--cjv-text);text-decoration:none}
.cjv-nav a:hover{color:var(--cjv-lime)}
.cjv-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--cjv-bg);color:var(--cjv-text)}

/* Contenu principal : espacement entre sections */
.cjv-main{padding-bottom:0}
.cjv-main .wp-block-post-content > .cjv-section{margin-block-start:110px}
.cjv-main .wp-block-post-content > .cjv-section:first-child{margin-block-start:0}
.cjv-page{padding-block:60px 20px}
.cjv-page .cjv-page-title{font-size:clamp(1.6rem,4vw,2.4rem)}

/* Sur-titres, titres de section */
.cjv-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--cjv-display);font-weight:700;font-size:.78rem;text-transform:uppercase;color:var(--cjv-lime);margin:0}
.cjv-eyebrow::before{content:"";width:34px;height:10px;flex:none;background:repeating-linear-gradient(115deg,var(--cjv-lime) 0 3px,transparent 3px 6px)}
.cjv-s-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:44px}
.cjv-s-head > *{margin:0 !important}
.cjv-s-head h2::after{content:"";display:block;margin:14px auto 0;width:43px;height:5px;background:linear-gradient(90deg,var(--cjv-lime) 0 22px,transparent 22px 25px,var(--cjv-lime) 25px)}
.cjv-s-head p:not(.cjv-eyebrow){color:var(--cjv-muted);max-width:58ch}

/* Boutons */
.wp-block-button.cjv-btn .wp-block-button__link{clip-path:var(--cjv-cut)}
.wp-block-button.cjv-btn-ghost .wp-block-button__link{background:none;color:var(--cjv-text);padding:0;display:inline-flex;align-items:center;gap:12px;font-family:var(--wp--preset--font-family--body);font-weight:500;text-transform:none;font-size:.95rem}
.wp-block-button.cjv-btn-ghost .wp-block-button__link::before{content:"";width:40px;height:40px;border-radius:50%;flex:none;box-shadow:0 0 0 6px var(--cjv-lime-dim);background:var(--cjv-lime) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M0 0l10 6-10 6z' fill='%2311140B'/%3E%3C/svg%3E")}
.wp-block-button.cjv-btn-ghost .wp-block-button__link:hover{color:var(--cjv-lime)}

/* Images de remplacement */
.cjv-ph{margin:0}
.cjv-ph img{display:block;width:100%;height:100%;object-fit:cover}

/* Hero */
.cjv-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-top:40px}
.cjv-hero-copy{display:flex;flex-direction:column;gap:22px}
.cjv-hero-copy > *{margin:0 !important}
.cjv-hero h1{font-size:clamp(2.2rem,5.4vw,4.1rem)}
.cjv-hero-sub{font-family:var(--cjv-display);font-weight:700;font-size:.85rem;text-transform:uppercase}
.cjv-hero-intro{color:var(--cjv-soft);max-width:50ch}
.cjv-hero-cta{gap:26px;align-items:center;margin-top:6px}
.cjv-hero-visual{position:relative;padding:18px 0 0 18px}
.cjv-hero-visual::before{content:"";position:absolute;left:0;top:0;right:18px;bottom:18px;border:2px solid var(--cjv-lime)}
.cjv-hero-visual .cjv-ph{position:relative;aspect-ratio:4/5}
.cjv-hero-badge{position:absolute;right:-6px;bottom:34px;margin:0;background:var(--cjv-bg);border:1px solid var(--cjv-line);padding:14px 18px;display:flex;flex-direction:column;gap:2px;line-height:1.3}
.cjv-hero-badge strong{font-family:var(--cjv-display);font-size:1.6rem;line-height:1;color:var(--cjv-lime)}
.cjv-hero-badge span{font-size:.75rem;color:var(--cjv-muted);text-transform:uppercase;letter-spacing:.04em}

/* Bande des écoles */
.cjv-strip{display:flex;flex-direction:column;align-items:center;gap:26px}
.cjv-strip h2{font-size:.95rem;color:var(--cjv-soft);margin:0}

/* Méthode (cartes à icône) */
.cjv-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:40px}
.cjv-feat > *{margin:0 !important}
.cjv-f-card{background:linear-gradient(180deg,var(--cjv-surface),var(--cjv-bg));padding:62px 26px 30px;text-align:center;position:relative;display:flex;flex-direction:column;gap:10px}
.cjv-f-card > *{margin:0 !important}
.cjv-f-ico{position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:80px;height:80px;border-radius:50%;background:var(--cjv-bg);border:1px solid var(--cjv-line);display:grid;place-items:center}
.cjv-f-ico svg{width:34px;height:34px;stroke:var(--cjv-lime);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cjv-f-card p{color:var(--cjv-muted);font-size:.9rem}

/* Bannière versus */
.cjv-main .cjv-banner{width:100vw;max-width:none !important;margin-left:calc(50% - 50vw) !important;margin-right:0 !important}
.cjv-banner{position:relative;min-height:360px;display:grid;place-items:center;text-align:center;overflow:hidden;padding:40px 16px}
.cjv-banner > .cjv-ph{position:absolute;inset:0;margin:0}
.cjv-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,21,31,.88),rgba(168,219,28,.28))}
.cjv-banner-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px}
.cjv-banner-in > *{margin:0 !important}
.cjv-banner h2{font-size:clamp(1.8rem,5vw,3.4rem);font-weight:800}
.cjv-vs-badge{width:70px;height:70px;border-radius:50%;border:3px dotted var(--cjv-lime);display:grid;place-items:center;font-family:var(--cjv-display);font-weight:800;color:var(--cjv-lime);background:rgba(13,16,24,.7)}

/* Critères */
.cjv-crit{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cjv-crit > *{margin:0 !important}
.cjv-crit > div{background:var(--cjv-surface);padding:22px;display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--cjv-line)}
.cjv-crit > div > *{margin:0}
.cjv-crit > div:hover{border-top-color:var(--cjv-lime)}
.cjv-crit h3{font-size:.85rem}
.cjv-crit p:not(.cjv-eyebrow){font-size:.88rem;color:var(--cjv-muted)}
.cjv-crit .cjv-todo{border-top-color:var(--cjv-warn)}
.cjv-crit .cjv-todo p:not(.cjv-eyebrow){color:var(--cjv-warn)}

/* Équipe de visite */
.cjv-team{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:26px;justify-content:center}
.cjv-team > *{margin:0 !important}
.cjv-t-card{background:linear-gradient(180deg,var(--cjv-surface),transparent);text-align:center;padding:0 20px 28px;margin-top:60px !important;display:flex;flex-direction:column;align-items:center;gap:8px}
.cjv-t-card > *{margin:0 !important}
.cjv-t-card .cjv-ph{width:150px;height:150px;border-radius:50%;padding:5px;background:conic-gradient(var(--cjv-lime),transparent 60%,var(--cjv-lime));margin-top:-60px !important}
.cjv-t-card .cjv-ph img{border-radius:50%}
.cjv-t-card h3{font-size:.95rem;margin-top:8px !important}
.cjv-t-role{color:var(--cjv-lime);font-family:var(--cjv-display);font-weight:700;font-size:.66rem;text-transform:uppercase}
.cjv-story{max-width:760px;margin:40px auto 0 !important;display:flex;flex-direction:column;gap:16px;color:var(--cjv-soft);text-align:center}
.cjv-story > *{margin:0 !important}

/* Sur le terrain */
.cjv-field{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cjv-field > *{margin:0 !important}
.cjv-fd .cjv-ph{aspect-ratio:1/1}
.cjv-fd-cap{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px !important}
.cjv-fd-cap > *{margin:0 !important}
.cjv-fd-cap h3{font-size:.8rem}
.cjv-fd-cap p{color:var(--cjv-muted);font-size:.72rem;text-transform:uppercase}

/* Pied de page */
.cjv-footer{margin:110px -16px 0;background:var(--cjv-bg-2);clip-path:polygon(0 40px,14% 40px,18% 0,82% 0,86% 40px,100% 40px,100% 100%,0 100%);padding:80px 16px 40px;gap:18px;text-align:center}
.cjv-footer > *{margin:0 !important}
.cjv-totop a{font-family:var(--cjv-display);font-weight:700;font-size:.7rem;text-transform:uppercase;text-decoration:none}
.cjv-footer-text{color:var(--cjv-muted);font-size:.82rem;max-width:60ch}
.cjv-footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:.82rem}
.cjv-footer-links a{color:var(--cjv-soft);text-decoration:none}
.cjv-footer-links a:hover{color:var(--cjv-lime)}

@media (max-width:960px){
	.cjv-hero{grid-template-columns:1fr}
	.cjv-hero-visual{max-width:460px}
	.cjv-feat{grid-template-columns:1fr;gap:64px}
	.cjv-crit{grid-template-columns:1fr 1fr}
	.cjv-field{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
	.cjv-crit{grid-template-columns:1fr}
	.cjv-team{grid-template-columns:1fr}
	.cjv-footer{clip-path:polygon(0 30px,20% 30px,26% 0,74% 0,80% 30px,100% 30px,100% 100%,0 100%)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
