/* ROC Judo — composants & finitions.
   Les tokens (couleurs, polices, espacements) viennent de theme.json → --wp--preset--*.
   Convention : préfixe .roc-, BEM léger (.roc-bloc__element), styles de blocs en .is-style-*. */

:root{
	--roc-ease:cubic-bezier(.2,.7,.2,1);
	--roc-sumi:var(--wp--preset--color--sumi);
	--roc-washi:var(--wp--preset--color--washi);
	--roc-kinari:var(--wp--preset--color--kinari);
	--roc-shu:var(--wp--preset--color--shu);
	--roc-shu-clair:var(--wp--preset--color--shu-clair);
	--roc-pierre:var(--wp--preset--color--pierre);
	--roc-mincho:var(--wp--preset--font-family--mincho);
	--roc-line:color-mix(in srgb,currentColor 22%,transparent);
	--roc-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .06 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body:not(.editor-styles-wrapper)::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:var(--roc-grain)}
:where(a,button,summary):focus-visible{outline:2px solid var(--roc-shu);outline-offset:4px}
.wp-site-blocks>*+*{margin-block-start:0}
.wp-block-post-content>.alignfull,main>.alignfull{margin-block-start:0;margin-block-end:0}
.wp-block-columns.roc-gap-lg{gap:clamp(2rem,6vw,6rem)}
.has-sumi-background-color,.has-shu-background-color{--roc-line:color-mix(in srgb,currentColor 28%,transparent)}

/* ——— Surtitre ——— */
.is-style-eyebrow{display:flex;align-items:center;gap:.9rem;margin:0;font-family:var(--wp--preset--font-family--gothic);font-size:.8125rem!important;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--roc-shu);line-height:1.3}
.is-style-eyebrow::before{content:"";flex:none;width:2.5rem;height:2px;background:currentColor}
.has-sumi-background-color .is-style-eyebrow{color:var(--roc-shu-clair)}
.has-shu-background-color .is-style-eyebrow{color:inherit}
.is-style-eyebrow a{color:inherit;text-decoration:none}
.roc-cta .is-style-eyebrow{justify-content:center}

/* ——— Texte vertical ——— */
.is-style-tategaki{writing-mode:vertical-rl;font-family:var(--roc-mincho);letter-spacing:.3em;margin:0}

/* ——— Boutons ——— */
.wp-block-button__link{position:relative;overflow:hidden;transition:background-color .35s var(--roc-ease),color .35s var(--roc-ease),translate .35s var(--roc-ease),box-shadow .35s var(--roc-ease)}
.wp-block-button__link:hover{translate:0 -2px;box-shadow:0 12px 24px -12px rgba(20,17,15,.55)}
.wp-block-button.is-style-encre .wp-block-button__link{background:var(--roc-sumi);color:var(--roc-washi)}
.wp-block-button.is-style-encre .wp-block-button__link:hover{background:var(--wp--preset--color--sumi-clair)}
.wp-block-button.is-style-contour-clair .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:inherit;border:1.5px solid currentColor;padding:calc(1.1rem - 1.5px) calc(2rem - 1.5px)}
.wp-block-button.is-style-contour-clair .wp-block-button__link{color:var(--roc-washi)}
.wp-block-button.is-style-contour-clair .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--roc-washi);color:var(--roc-sumi);border-color:var(--roc-washi)}

/* ——— Séparateur « ceintures » ——— */
.wp-block-separator.is-style-ceintures{border:0;height:.45rem;width:min(100%,16rem);margin-inline:0;opacity:1;outline:1px solid color-mix(in srgb,var(--roc-sumi) 18%,transparent);outline-offset:0;
	background:linear-gradient(90deg,#fff 0 14.28%,var(--wp--preset--color--ceinture-jaune) 0 28.56%,var(--wp--preset--color--ceinture-orange) 0 42.84%,var(--wp--preset--color--ceinture-verte) 0 57.12%,var(--wp--preset--color--ceinture-bleue) 0 71.4%,var(--wp--preset--color--ceinture-marron) 0 85.68%,var(--roc-sumi) 0 100%)}

/* ——— Image cadre décalé ——— */
.wp-block-image.is-style-cadre-decale{position:relative;isolation:isolate;margin-right:1.25rem;margin-bottom:1.25rem}
.wp-block-image.is-style-cadre-decale::before{content:"";position:absolute;inset:0;border:2px solid var(--roc-shu);translate:1.25rem 1.25rem;z-index:-1;transition:translate .6s var(--roc-ease)}
.wp-block-image.is-style-cadre-decale:hover::before{translate:.6rem .6rem}
/* Une image plus étroite que sa colonne laissait le cadre déborder : elle remplit la figure. */
.wp-block-image.is-style-cadre-decale img{display:block;width:100%}

/* ——— Citation « Maître » ——— */
.wp-block-quote.is-style-kano{border:0;margin:0;padding:0}
.wp-block-quote.is-style-kano::before{content:"“";display:block;font-family:var(--roc-mincho);font-size:clamp(5rem,12vw,9rem);line-height:.7;margin-bottom:1rem;opacity:.9}
.wp-block-quote.is-style-kano p{font-family:var(--roc-mincho);font-weight:700;font-size:clamp(1.75rem,1rem + 3.6vw,3.75rem);line-height:1.2;letter-spacing:-.01em;text-wrap:balance;margin:0}
.wp-block-quote.is-style-kano cite{display:block;margin-top:2rem;font-style:normal;font-size:.8125rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.wp-block-quote.is-style-kano cite a{color:inherit;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:.2rem}

/* ——— Carte washi ——— */
.wp-block-group.is-style-carte-washi{background:var(--roc-washi);padding:var(--wp--preset--spacing--50);box-shadow:0 1px 0 var(--roc-line),0 24px 40px -30px rgba(20,17,15,.35)}

/* ——— Lien flèche ——— */
.roc-link-arrow{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.roc-link-arrow a{text-decoration:none;color:inherit;display:inline-flex;gap:.6rem;align-items:center}
.roc-link-arrow a::after{content:"→";transition:translate .4s var(--roc-ease);color:var(--roc-shu)}
.roc-link-arrow a:hover::after{translate:.4rem 0}
.has-sumi-background-color .roc-link-arrow a::after{color:var(--roc-shu-clair)}

/* ——— Hanko (tampon rouge) ——— */
.roc-hanko{display:grid;place-items:center;flex:none;width:2.9rem;height:2.9rem;margin:0;background:var(--roc-shu);color:var(--roc-washi);font-family:var(--roc-mincho);font-weight:800;font-size:1.6rem;line-height:1;border-radius:3px;rotate:-4deg;outline:1px solid color-mix(in srgb,var(--roc-washi) 55%,transparent);outline-offset:-5px;transition:rotate .5s var(--roc-ease)}
.roc-brand:hover .roc-hanko{rotate:2deg}

/* ——— En-tête ——— */
.roc-site-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--roc-washi) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--roc-sumi) 12%,transparent);transition:box-shadow .4s}
.admin-bar .roc-site-header{top:32px}
@media(max-width:782px){.admin-bar .roc-site-header{top:46px}}
.roc-site-header.is-scrolled{box-shadow:0 12px 30px -20px rgba(20,17,15,.5)}
.roc-header__bar{min-height:5rem;padding-block:.5rem}
.roc-brand{gap:.9rem}
.roc-brand .wp-block-site-title{margin:0;font-size:1.0625rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.1}
/* Logo du club (bloc Logo du site) : noir sur transparent ; inversé en blanc sur fond sumi. */
.roc-logo{margin:0;line-height:0;flex:none}
.roc-logo img{display:block;height:auto}
.roc-logo--inverse img{filter:invert(1)}
.roc-brand__meta{padding-left:.9rem;border-left:1px solid color-mix(in srgb,var(--roc-sumi) 18%,transparent)}
.roc-brand__tag{margin:0;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--cendre);line-height:1.2}
.roc-nav .wp-block-navigation-item__content{position:relative;padding:.4rem 0;font-weight:500;letter-spacing:.06em}
.roc-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--roc-shu);scale:0 1;transform-origin:left;transition:scale .45s var(--roc-ease)}
.roc-nav .wp-block-navigation-item__content:hover::after,.roc-nav .current-menu-item>.wp-block-navigation-item__content::after{scale:1 1}
.roc-phone{margin:0;font-size:.75rem;line-height:1.25;text-align:right;letter-spacing:.06em;color:var(--wp--preset--color--cendre)}
.roc-phone a{color:var(--roc-sumi);font-size:.9375rem;text-decoration:none;font-weight:700;letter-spacing:.04em}
.roc-header__cta .wp-block-button__link{padding:.9rem 1.5rem}
@media(max-width:1180px){.roc-phone{display:none}}
/* .wp-block-buttons.is-layout-flex (WP) impose display:flex : il faut deux classes pour le battre. */
@media(max-width:600px){.wp-block-buttons.roc-header__cta{display:none}.roc-brand__tag,.roc-brand__meta{display:none}.roc-brand .wp-block-site-title{font-size:.9375rem;letter-spacing:.12em}}

/* ——— Héro ——— */
.roc-hero{position:relative;overflow:hidden;isolation:isolate}
.roc-hero::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(55% 70% at 88% 25%,rgba(194,59,43,.26),transparent 62%),radial-gradient(45% 55% at 5% 105%,rgba(244,239,230,.07),transparent 60%)}
.roc-hero>.roc-hero__kanji{position:absolute;z-index:-2;top:-1rem;right:1vw;margin:0;max-width:none;writing-mode:vertical-rl;font-family:var(--roc-mincho);font-weight:800;font-size:clamp(9rem,26vw,25rem);line-height:.88;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--roc-washi) 22%,transparent);user-select:none;pointer-events:none}
.roc-enso{display:block;color:var(--roc-shu);pointer-events:none;overflow:visible}
.roc-enso circle{animation:roc-draw 2.8s var(--roc-ease) .2s both}
.roc-hero>.roc-hero__enso{position:absolute;z-index:-1;width:min(60vw,50rem);right:max(-6rem,calc(50% - 760px));top:50%;translate:0 -50%;margin:0;max-width:none;opacity:.95}
@keyframes roc-draw{from{stroke-dasharray:0 942}to{stroke-dasharray:880 62}}
@keyframes roc-rise{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
/* Le H1 de l'accueil est le surtitre (mots-clés locaux) ; le slogan en grand est un H2. */
.roc-hero .roc-hero__title{font-size:clamp(3rem,1rem + 6vw,5.5rem);font-weight:800;line-height:1.02;letter-spacing:-.02em;margin:1.25rem 0 0}
.roc-hero .roc-hero__title em{font-style:normal;color:var(--roc-shu-clair)}
.roc-lead{font-size:var(--wp--preset--font-size--medium);line-height:1.65;max-width:34rem;color:var(--roc-pierre)}
.roc-hero__grid>.wp-block-column:first-child>*{animation:roc-rise 1.1s var(--roc-ease) both}
.roc-hero__grid>.wp-block-column:first-child>:nth-child(1){animation-delay:.1s}
.roc-hero__grid>.wp-block-column:first-child>:nth-child(2){animation-delay:.22s}
.roc-hero__grid>.wp-block-column:first-child>:nth-child(3){animation-delay:.38s}
.roc-hero__grid>.wp-block-column:first-child>:nth-child(4){animation-delay:.52s}
.roc-hero__photo{position:relative;margin:0;animation:roc-rise 1.4s var(--roc-ease) .3s both}
.roc-hero__photo img{display:block;width:100%;filter:grayscale(.22) contrast(1.05)}
.roc-hero__photo::after{content:"道";position:absolute;left:-1.1rem;bottom:2rem;display:grid;place-items:center;width:3.4rem;height:3.4rem;background:var(--roc-shu);color:var(--roc-washi);font-family:var(--roc-mincho);font-weight:800;font-size:1.9rem;rotate:-5deg;outline:1px solid color-mix(in srgb,var(--roc-washi) 55%,transparent);outline-offset:-5px}
.roc-hero__meta{margin-top:var(--wp--preset--spacing--60);padding-top:1.5rem;border-top:1px solid var(--roc-line);gap:.75rem 2.5rem}
.roc-hero__meta p{margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--roc-pierre)}

/* ——— Bienvenue ——— */
.roc-principes{margin-top:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--40);border-top:1px solid var(--roc-line);gap:var(--wp--preset--spacing--50)}
.roc-principe__kanji{margin:0 0 .35rem;font-family:var(--roc-mincho);font-weight:800;font-size:clamp(1.5rem,1rem + 1.4vw,2.1rem);letter-spacing:.06em;color:var(--roc-shu);line-height:1.1}
.roc-principe h4{margin:0 0 .35rem;font-size:var(--wp--preset--font-size--medium)}
.roc-principe p:last-child{margin:0}

/* ——— Citation ——— */
.roc-citation{position:relative;overflow:hidden;isolation:isolate}
.roc-citation>.roc-citation__vertical{position:absolute;right:max(1.5rem,4vw);top:50%;translate:0 -50%;margin:0;max-width:none;writing-mode:vertical-rl;font-family:var(--roc-mincho);font-weight:700;font-size:clamp(1.75rem,3.2vw,3rem);letter-spacing:.35em;color:color-mix(in srgb,var(--roc-washi) 40%,transparent);z-index:-1;user-select:none}
@media(max-width:900px){.roc-citation>.roc-citation__vertical{display:none}}

/* ——— Code moral (grille shoji) ——— */
.wp-block-group.roc-code{gap:0;border-top:1px solid var(--roc-sumi);border-left:1px solid var(--roc-sumi);margin-top:var(--wp--preset--spacing--60)}
.roc-code__intro{max-width:26rem;margin:0}
.roc-code__card{position:relative;display:flex;flex-direction:column;min-height:22rem;padding:var(--wp--preset--spacing--50);border-right:1px solid var(--roc-sumi);border-bottom:1px solid var(--roc-sumi);overflow:hidden;transition:background-color .6s var(--roc-ease),color .6s var(--roc-ease)}
.roc-code__card>*{margin:0}
.roc-code__card::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--roc-shu);scale:0 1;transform-origin:left;transition:scale .6s var(--roc-ease)}
.roc-code__card:hover{background:var(--roc-sumi);color:var(--roc-washi)}
.roc-code__card:hover::after{scale:1 1}
.roc-code__num{font-size:.8125rem;font-weight:700;letter-spacing:.22em;color:var(--roc-shu)}
.roc-code__kanji{margin-top:2.25rem!important;font-family:var(--roc-mincho);font-weight:800;font-size:clamp(3rem,4.4vw,4.25rem);line-height:1;transition:translate .6s var(--roc-ease),color .6s var(--roc-ease)}
.roc-code__card:hover .roc-code__kanji{translate:0 -6px;color:var(--roc-shu-clair)}
.roc-code__card h3{margin-top:1.1rem!important;font-size:var(--wp--preset--font-size--large)}
.roc-code__romaji{margin-top:.25rem!important;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--cendre);transition:color .6s}
.roc-code__card:hover .roc-code__romaji{color:var(--roc-pierre)}
.roc-code__card p:last-child{margin-top:auto!important;padding-top:1.5rem;font-size:.9375rem;line-height:1.55}

/* ——— Programmes ——— */
.roc-prog-grid{margin-top:var(--wp--preset--spacing--60)}
.roc-prog{--belt:#fff;position:relative;display:flex;flex-direction:column;background:var(--roc-washi);transition:translate .55s var(--roc-ease),box-shadow .55s var(--roc-ease)}
.roc-prog::before{content:"";display:block;height:.5rem;background:var(--belt);box-shadow:inset 0 -1px 0 rgba(20,17,15,.14)}
.roc-prog:hover{translate:0 -8px;box-shadow:0 30px 44px -28px rgba(20,17,15,.5)}
.roc-prog--blanche{--belt:#fff}
.roc-prog--jaune-orange{--belt:linear-gradient(90deg,var(--wp--preset--color--ceinture-jaune) 50%,var(--wp--preset--color--ceinture-orange) 50%)}
.roc-prog--verte-bleue{--belt:linear-gradient(90deg,var(--wp--preset--color--ceinture-verte) 50%,var(--wp--preset--color--ceinture-bleue) 50%)}
.roc-prog--marron-noire{--belt:linear-gradient(90deg,var(--wp--preset--color--ceinture-marron) 50%,var(--roc-sumi) 50%)}
.roc-prog .wp-block-image{margin:0;overflow:hidden}
.roc-prog .wp-block-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:scale .9s var(--roc-ease)}
.roc-prog:hover .wp-block-image img{scale:1.05}
.roc-prog__body{display:flex;flex-direction:column;flex:1;gap:.8rem;padding:var(--wp--preset--spacing--50)}
.roc-prog__body>*{margin:0}
.roc-prog__meta{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--cendre)}
.roc-prog__meta strong{color:var(--roc-shu);margin-right:.5rem}
.roc-prog__body h3{font-size:var(--wp--preset--font-size--large)}
.roc-prog__body p:not(.roc-prog__meta):not(.roc-link-arrow){font-size:.9375rem;line-height:1.6}
.roc-prog .roc-link-arrow{margin-top:auto!important;padding-top:.75rem}
.roc-prog .roc-link-arrow a::before{content:"";position:absolute;inset:0}

/* ——— Dojos & horaires ——— */
.roc-dojo{position:relative;overflow:hidden;border:1px solid var(--roc-line);padding:var(--wp--preset--spacing--60);isolation:isolate}
.roc-dojo>*{margin-block:0}
.roc-dojo>*+*{margin-block-start:1.1rem}
.roc-dojo__kanji{position:absolute;right:clamp(1.25rem,2.5vw,2rem);top:clamp(1.5rem,3vw,2.5rem);margin:0!important;font-family:var(--roc-mincho);font-weight:800;font-size:1.75rem;letter-spacing:.12em;line-height:1;color:var(--roc-shu-clair);user-select:none}
.roc-dojo h3{font-size:var(--wp--preset--font-size--x-large)}
.roc-dojo__adresse{color:var(--roc-pierre);font-size:.9375rem}
.roc-slots{margin-block:1.75rem!important;gap:0}
.roc-slot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px dashed var(--roc-line);margin:0}
.roc-slot:first-child{border-top:1px dashed var(--roc-line)}
.roc-slot p{margin:0}
.roc-slot p:first-child{font-size:.8125rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.roc-slot p:last-child{font-family:var(--roc-mincho);font-weight:700;font-size:var(--wp--preset--font-size--medium);font-variant-numeric:tabular-nums;white-space:nowrap}

.roc-slots--clair .roc-slot,.roc-slots--clair .roc-slot:first-child{border-color:color-mix(in srgb,var(--roc-sumi) 30%,transparent)}
.wp-block-group.roc-fiche{position:sticky;top:7rem;padding:var(--wp--preset--spacing--50);box-shadow:none}
.roc-fiche>*+*{margin-block-start:1.25rem}

/* ——— Judo local & questions fréquentes ——— */
.roc-faq{margin-top:1.25rem;border-top:1px solid var(--roc-line)}
.roc-faq__item{border-bottom:1px solid var(--roc-line)}
.roc-faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1.15rem 0;font-family:var(--roc-mincho);font-weight:700;font-size:1.125rem;line-height:1.35}
.roc-faq__item summary::-webkit-details-marker{display:none}
.roc-faq__item summary::after{content:"+";flex:none;color:var(--roc-shu);font-size:1.4rem;line-height:1;transition:rotate .35s var(--roc-ease)}
.roc-faq__item[open] summary::after{rotate:45deg}
.roc-faq__item summary:hover{color:var(--roc-shu)}
.roc-faq__item summary:focus-visible{outline:2px solid var(--roc-shu);outline-offset:4px}
.roc-faq__item>p{margin:0 0 1.25rem;max-width:40rem;line-height:1.7}
.wp-block-heading+.roc-link-arrow{margin-top:1.25rem}
.wp-block-column>p+.roc-link-arrow{margin-top:1.75rem}

/* ——— Formulaire de contact (Contact Form 7) ——— */
.roc-contact__line{display:flex;flex-direction:column;gap:.2rem;margin-top:1.5rem!important}
.roc-contact__line span{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--cendre)}
.roc-contact__line a{font-family:var(--roc-mincho);font-weight:700;font-size:var(--wp--preset--font-size--large);color:inherit;text-decoration:none}
.roc-contact__line a:hover{color:var(--roc-shu)}
.roc-form .wpcf7-form{display:grid;gap:1.25rem}
.roc-form .wpcf7-form p{margin:0}
.roc-form br{display:none}
.roc-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem}
.roc-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.roc-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){box-sizing:border-box;width:100%;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--roc-sumi) 35%,transparent);border-radius:2px;background:color-mix(in srgb,#fff 55%,var(--roc-washi));color:var(--roc-sumi);font:inherit;font-size:1rem;font-weight:400;letter-spacing:normal;text-transform:none;transition:border-color .3s var(--roc-ease)}
.roc-form textarea.wpcf7-form-control{min-height:9rem;resize:vertical}
.roc-form .wpcf7-form-control:focus-visible{outline:2px solid var(--roc-shu);outline-offset:1px;border-color:var(--roc-shu)}
.roc-form__rgpd label{flex-direction:row;align-items:flex-start;gap:.65rem;font-size:.875rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.5}
.roc-form__rgpd .wpcf7-list-item{margin:0}
.roc-form__rgpd input[type=checkbox]{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--roc-shu)}
.roc-form .wpcf7-submit{justify-self:start;cursor:pointer}
.roc-form .wpcf7-spinner{margin-left:1rem}
.roc-form .wpcf7-not-valid-tip{margin-top:.35rem;color:var(--roc-shu);font-size:.8125rem;font-weight:500;letter-spacing:normal;text-transform:none}
.roc-form .wpcf7-response-output{margin:0!important;padding:1rem 1.25rem!important;border:1px solid var(--roc-line)!important;font-size:.9375rem}
.roc-form .wpcf7 form.sent .wpcf7-response-output{border-color:var(--roc-sumi)!important}
.roc-form .wpcf7 form.invalid .wpcf7-response-output,.roc-form .wpcf7 form.failed .wpcf7-response-output{border-color:var(--roc-shu)!important}

/* ——— Instagram (version statique) ——— */
.roc-insta__handle{position:relative;display:flex;flex-direction:column;gap:1rem;padding:var(--wp--preset--spacing--60);border:1px solid var(--roc-sumi);color:var(--roc-sumi);text-decoration:none;overflow:hidden;isolation:isolate;transition:background-color .5s var(--roc-ease),color .5s var(--roc-ease)}
.roc-insta__icon{color:var(--roc-shu);line-height:0;transition:color .5s var(--roc-ease)}
.roc-insta__name{font-family:var(--roc-mincho);font-weight:800;font-size:clamp(2rem,1rem + 3vw,3.25rem);line-height:1;letter-spacing:-.01em;overflow-wrap:anywhere}
.roc-insta__kanji{position:absolute;z-index:-1;right:-.25rem;bottom:-1.75rem;font-family:var(--roc-mincho);font-weight:800;font-size:7rem;line-height:1;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--roc-sumi) 18%,transparent)}
.roc-insta__handle:hover{background:var(--roc-sumi);color:var(--roc-washi)}
.roc-insta__handle:hover .roc-insta__icon{color:var(--roc-shu-clair)}
.roc-insta__handle:focus-visible{outline:2px solid var(--roc-shu);outline-offset:4px}

/* ——— Résultats ——— */
.roc-stats__source{margin-top:var(--wp--preset--spacing--50)!important;color:var(--wp--preset--color--cendre)}
.roc-stats__source a{color:var(--roc-shu)}
.roc-palmares__titre{margin-top:var(--wp--preset--spacing--70)!important;font-size:var(--wp--preset--font-size--large)}
.roc-palmares{list-style:none;margin-top:1.25rem!important;margin-bottom:0!important;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));column-gap:var(--wp--preset--spacing--60);border-top:1px solid var(--roc-sumi)}
.roc-palmares li{display:grid;grid-template-columns:3.5rem 1fr;column-gap:1rem;padding:1rem 0;border-bottom:1px solid var(--roc-line);margin:0}
.roc-palmares__annee{grid-row:span 2;font-family:var(--roc-mincho);font-weight:800;font-size:1.25rem;line-height:1.2;color:var(--roc-shu);font-variant-numeric:tabular-nums}
.roc-palmares li a{font-family:var(--roc-mincho);font-weight:700;line-height:1.35;color:inherit;text-decoration:none}
.roc-palmares li a:hover{color:var(--roc-shu)}
.roc-palmares__qui{font-size:.8125rem;letter-spacing:.06em;color:var(--wp--preset--color--cendre)}
.roc-stats{border-top:2px solid var(--roc-sumi);padding-top:var(--wp--preset--spacing--50);gap:var(--wp--preset--spacing--50)}
.roc-stat>*{margin:0}
.roc-stat__num{font-family:var(--roc-mincho);font-weight:800;font-size:clamp(3.5rem,7vw,6.5rem);line-height:1;color:var(--roc-shu);font-variant-numeric:tabular-nums}
.roc-stat__label{margin-top:.6rem!important;font-size:.8125rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.roc-temoin.wp-block-quote{margin:0;padding:0;padding-top:1.5rem;border-top:1px solid var(--roc-line)}
.roc-temoin p{font-size:var(--wp--preset--font-size--medium);line-height:1.5;margin:0 0 1.25rem}
.roc-temoin cite{font-style:normal;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--cendre)}

/* ——— Actualités ——— */
.roc-news .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr));gap:var(--wp--preset--spacing--50)}
.roc-news__card>*{margin-block:0}
.roc-news__card>*+*{margin-block-start:.75rem}
.roc-news__card .wp-block-post-featured-image{overflow:hidden;margin-bottom:1.1rem}
.roc-news__card .wp-block-post-featured-image img{display:block;width:100%;transition:scale .9s var(--roc-ease)}
.roc-news__card:hover .wp-block-post-featured-image img{scale:1.05}
.roc-news__card .wp-block-post-date{color:var(--roc-shu);font-weight:700}
.roc-news__dojos{color:var(--roc-shu);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.roc-news__dojos a{color:inherit;text-decoration:none}
.roc-news__card .wp-block-post-title{font-size:var(--wp--preset--font-size--large);line-height:1.2}
.roc-news__card .wp-block-post-excerpt{color:var(--wp--preset--color--cendre)}
.wp-block-query-pagination{gap:1rem;margin-top:var(--wp--preset--spacing--60);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8125rem}
.wp-block-query-pagination a{color:inherit;text-decoration:none}
.wp-block-query-pagination .page-numbers.current{color:var(--roc-shu)}

/* ——— Grilles : colonnes équilibrées (pas de carte orpheline) ——— */
@media(max-width:1100px){.wp-block-group.roc-code,.wp-block-group.roc-prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.wp-block-group.roc-code,.wp-block-group.roc-prog-grid{grid-template-columns:minmax(0,1fr)}}
/* Code moral en mobile : kanji à gauche, texte à droite — 8 cartes empilées
   faisaient ~2 400 px de défilement. */
@media(max-width:560px){
	.roc-code__card{display:grid;grid-template-columns:5.25rem 1fr;column-gap:1.25rem;align-content:start;min-height:0;padding-block:var(--wp--preset--spacing--40)}
	.roc-code__card>*{grid-column:2}
	.roc-code__card>.roc-code__kanji{grid-column:1;grid-row:1/span 4;margin-top:.15rem!important;font-size:2.5rem;line-height:1.05}
	.roc-code__card h3{margin-top:.35rem!important}
	.roc-code__card p:last-child{padding-top:.6rem}
}
@media(max-width:1100px){.roc-nav .wp-block-navigation__container{gap:1.25rem}}

/* ——— Galerie ——— */
.wp-block-group.roc-gal{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(9rem,17vw,16rem);gap:.75rem}
.roc-gal .wp-block-image{margin:0;height:100%;overflow:hidden}
.roc-gal .wp-block-image img{display:block;width:100%;height:100%;object-fit:cover;transition:scale 1s var(--roc-ease),filter .6s}
.roc-gal .wp-block-image:hover img{scale:1.06}
.roc-gal .roc-gal__tall{grid-row:span 2}
.roc-gal .roc-gal__wide{grid-column:span 2}
@media(max-width:781px){.wp-block-group.roc-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ——— CTA final ——— */
.roc-cta{position:relative;overflow:hidden;isolation:isolate;text-align:center}
.roc-cta>.roc-cta__enso{position:absolute;z-index:-1;width:min(130vw,65rem);left:50%;top:50%;translate:-50% -50%;margin:0;max-width:none;color:color-mix(in srgb,var(--roc-washi) 14%,transparent)}
.roc-cta h2{font-size:clamp(2.75rem,1.2rem + 5.5vw,6rem);font-weight:800;line-height:1.04;letter-spacing:-.02em}
.roc-cta .wp-block-buttons{justify-content:center}

/* ——— Pied de page ——— */
.roc-footer a{color:inherit;text-decoration:none;transition:color .3s}
.roc-footer a:hover{color:var(--roc-shu-clair)}
.roc-footer h5,.roc-footer h6{margin:0 0 1.1rem;color:var(--roc-shu-clair)}
.roc-footer p{margin:0}
.roc-footer__slots p{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--roc-line);font-size:.9375rem}
.roc-footer__slots p span:last-child{font-variant-numeric:tabular-nums;color:var(--roc-pierre)}
.roc-footer .wp-block-social-links.is-style-logos-only .wp-social-link{color:var(--roc-washi)}
.roc-footer .wp-block-social-links.is-style-logos-only .wp-social-link:hover{color:var(--roc-shu-clair)}
.roc-footer__legal{padding-top:1.5rem;border-top:1px solid var(--roc-line);font-size:.8125rem;color:var(--roc-pierre);gap:.5rem 2rem}

/* ——— Pages & articles ——— */
.roc-page-head{position:relative;overflow:hidden;isolation:isolate}
.roc-page-head::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 120% at 95% 0,rgba(194,59,43,.25),transparent 65%)}
.roc-page-head h1{font-size:clamp(2.5rem,1rem + 5vw,5rem);font-weight:800;letter-spacing:-.02em;margin:1rem 0 0}
.roc-page-head .roc-lead{margin-top:1.25rem}
.roc-timeline{border-top:2px solid var(--roc-sumi);gap:var(--wp--preset--spacing--50)}
.roc-timeline__year{margin:0 0 .4rem;font-family:var(--roc-mincho);font-weight:800;font-size:clamp(2rem,1.2rem + 2vw,3.25rem);color:var(--roc-shu);line-height:1}
.roc-timeline p:last-child{margin:0;font-size:.9375rem}
.wp-block-post-content :where(p,ul,ol){text-wrap:pretty}

/* ——— Révélation au scroll (JS : assets/js/theme.js) ——— */
.js .roc-reveal{opacity:0;translate:0 30px;transition:opacity 1s var(--roc-ease),translate 1s var(--roc-ease)}
.js .roc-reveal.is-in{opacity:1;translate:0 0}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
	.js .roc-reveal{opacity:1;translate:none}
}
