/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-r3nge4urn7] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-r3nge4urn7] {
    flex: 1;
}

.sidebar[b-r3nge4urn7] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-r3nge4urn7] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-r3nge4urn7]  a, .top-row[b-r3nge4urn7]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-r3nge4urn7]  a:hover, .top-row[b-r3nge4urn7]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-r3nge4urn7]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-r3nge4urn7] {
        justify-content: space-between;
    }

    .top-row[b-r3nge4urn7]  a, .top-row[b-r3nge4urn7]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-r3nge4urn7] {
        flex-direction: row;
    }

    .sidebar[b-r3nge4urn7] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-r3nge4urn7] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-r3nge4urn7]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-r3nge4urn7], article[b-r3nge4urn7] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-r3nge4urn7] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-r3nge4urn7] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Pages/About.razor.rz.scp.css */
.about-page[b-2pw5xb9w1r] {
	padding-top: 130px;
	padding-bottom: 80px;
	max-width: 1100px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* Glassmorphism Card Container */
.about-card[b-2pw5xb9w1r] {
	background: rgba(12, 12, 18, 0.75);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	padding: 35px;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);
}

/* Header & Intro Section */
.intro-card[b-2pw5xb9w1r] {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 35px;
	align-items: center;
}

.emblem-wrapper[b-2pw5xb9w1r] {
	display: flex;
	justify-content: center;
}

.emblem-img[b-2pw5xb9w1r] {
	width: 100%;
	max-width: 200px;
	height: auto;
	filter: drop-shadow(0 0 15px rgba(225, 29, 72, 0.3));
}

.section-title[b-2pw5xb9w1r] {
	font-size: 2.2rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 20px;
}

.section-subtitle[b-2pw5xb9w1r] {
	font-size: 1.8rem;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 20px;
}

/* Grid Layouts for Content + Image Side-by-Side */
.content-grid[b-2pw5xb9w1r] {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 35px;
	align-items: start;
}

.reverse-grid[b-2pw5xb9w1r] {
	grid-template-columns: 1fr 280px;
}

.text-block p[b-2pw5xb9w1r] {
	font-size: 1rem;
	line-height: 1.75;
	color: #d4d4d8;
	margin-bottom: 16px;
	text-align: justify;
}

/* Portrait Card Framing */
.portrait-wrapper[b-2pw5xb9w1r] {
	display: flex;
	justify-content: center;
}

.portrait-card[b-2pw5xb9w1r] {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: rgba(24, 24, 27, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 10px;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	width: 100%;
	max-width: 260px;
}

.portrait-img[b-2pw5xb9w1r] {
	width: 100%;
	height: auto;
	border-radius: 4px;
	display: block;
}

.portrait-caption[b-2pw5xb9w1r] {
	margin-top: 10px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #a1a1aa;
	text-align: center;
}

/* Mobile Responsive Adjustments */
@media (max-width: 850px) {
	.intro-card[b-2pw5xb9w1r],
	.content-grid[b-2pw5xb9w1r],
	.reverse-grid[b-2pw5xb9w1r] {
		grid-template-columns: 1fr;
	}

	.portrait-wrapper[b-2pw5xb9w1r] {
		order: -1;
	}
}
/* /Pages/Contact.razor.rz.scp.css */
.contact-page[b-29kgi55tqy] { position: relative; isolation: isolate; width: min(100%, 560px); margin: 0 auto 24px; padding: 0 12px; box-sizing: border-box; color: #000; }
.contact-page[b-29kgi55tqy]::before { content: ""; position: absolute; inset: -35px -60px; z-index: -1; pointer-events: none; background: linear-gradient(#fff5df38,#fff5df38), #dfc7a0 url('images/parallax/paper.webp') repeat fixed; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
.contact-intro[b-29kgi55tqy] { text-align: center; margin-bottom: 18px; }
.contact-intro h1[b-29kgi55tqy] { margin: 0 0 8px; font: 700 2.6rem/1.3 'Merienda', cursive; color: #000; }
.contact-lead[b-29kgi55tqy] { margin: 0; font-size: .9rem; }
.contact-paper[b-29kgi55tqy] { width: min(100%, 460px); margin: auto; }
.contact-method[b-29kgi55tqy] { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 16px; align-items: center; padding: 12px 0; }
.contact-medallion[b-29kgi55tqy] { width: 78px; height: 78px; display: grid; place-items: center; border: 3px double #927021; border-radius: 48% 52% 49% 51%; background: radial-gradient(ellipse at 35% 30%, #a27a29, #59400e); box-shadow: 0 0 0 2px #92702155; }
.contact-method-1 .contact-medallion[b-29kgi55tqy] { border-color: #292921; background: radial-gradient(ellipse at 35% 30%, #45453a, #151612); box-shadow: 0 0 0 2px #29292155; }
.contact-method-2 .contact-medallion[b-29kgi55tqy] { border-color: #872d16; background: radial-gradient(ellipse at 35% 30%, #a33b20, #652010); box-shadow: 0 0 0 2px #872d1655; }
.contact-icon[b-29kgi55tqy] { width: 36px; height: 36px; object-fit: contain; filter: brightness(0) invert(91%) sepia(18%); }
.contact-details[b-29kgi55tqy] { min-width: 0; padding-bottom: 9px; border-bottom: 1px solid #a68b5555; }
.contact-method-2 .contact-details[b-29kgi55tqy] { border-bottom: 0; }
.contact-details h2[b-29kgi55tqy] { position: relative; isolation: isolate; display: inline-block; margin: 0 0 8px; padding: 5px 12px; font: 400 1.15rem/1.35 'Merienda', cursive; color: #fff0d3; }
.contact-details h2[b-29kgi55tqy]::before { content: ""; position: absolute; inset: -12px -18px; z-index: -1; background: url('images/course-banner-children-trimmed.webp') center / 100% 100% no-repeat; filter: brightness(.72) saturate(.82);  background-size: 98.66666666666667% 77.08333333333333%; background-position: 62.5% 80%; }
.contact-method-1 h2[b-29kgi55tqy]::before { background-image: url('images/course-banner-adults-trimmed.webp'); filter: brightness(.5);  background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
.contact-method-2 h2[b-29kgi55tqy]::before { background-image: url('images/course-banner-red-matched-trimmed.webp'); filter: none;  background-size: 99.66666666666667% 84%; background-position: 0% 84.375%; }
.contact-details p[b-29kgi55tqy], .contact-details a[b-29kgi55tqy], .contact-details a span[b-29kgi55tqy] { font-family: Georgia, 'Times New Roman', serif; font-style: normal !important; font-size: 1.05rem; line-height: 1.35; color: #000; }
.contact-details p[b-29kgi55tqy] { margin: 0 0 4px; }
.contact-details a[b-29kgi55tqy] { overflow-wrap: anywhere; text-decoration-color: #872d16; text-underline-offset: 3px; }
.contact-page a:hover[b-29kgi55tqy] { color: #872d16; }
.contact-page a:focus-visible[b-29kgi55tqy] { outline: 2px solid #872d16; outline-offset: 5px; }
.contact-note[b-29kgi55tqy] { text-align: center; padding: 8px 0 0; }
.contact-note > span[b-29kgi55tqy] { display: block; font: normal 1rem Georgia, serif; }
.contact-note a[b-29kgi55tqy] { display: flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; max-width: 100%; min-height: 86px; margin: 0 auto; padding: 12px 30px; box-sizing: border-box; background: url('images/training-contact-oval-matched-trimmed.webp') center / 100% 100% no-repeat; font: 700 1rem 'Merienda', cursive; color: #872d16; text-decoration: none; transform: rotate(-3deg);  background-size: 98.11111111111111% 70.66666666666667%; background-position: 47.05882352941177% 48.86363636363637%; }
.contact-sr-only[b-29kgi55tqy] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (min-width: 1200px) { .contact-page[b-29kgi55tqy] { left: clamp(-300px, -15vw, -160px); } }
@media (max-width: 700px) {
 .contact-page[b-29kgi55tqy] { padding: 0 4px; }
 .contact-intro h1[b-29kgi55tqy] { font-size: 2.1rem; }
 .contact-method[b-29kgi55tqy] { grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
 .contact-medallion[b-29kgi55tqy] { width: 58px; height: 58px; }
 .contact-icon[b-29kgi55tqy] { width: 28px; height: 28px; }
 .contact-details h2[b-29kgi55tqy] { font-size: 1rem; padding-inline: 6px; }
 .contact-details p[b-29kgi55tqy], .contact-details a[b-29kgi55tqy] { font-size: .95rem; }
}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (max-width: 1100px) { .contact-page[b-29kgi55tqy]::before { display: block; } }

/* Contact monochrome ; seuls les traits de séparation restent ocre jaune. */
.contact-page .contact-medallion[b-29kgi55tqy] {
    border-color: #292921;
    background: radial-gradient(ellipse at 35% 30%, #45453a, #151612);
    box-shadow: 0 0 0 2px #29292155;
}
.contact-page .contact-details h2[b-29kgi55tqy]::before {
    background-image: url('images/course-banner-adults-trimmed.webp');
    filter: brightness(.5);
 background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
.contact-page .contact-details[b-29kgi55tqy] { position: relative; border-bottom: 0; padding-bottom: 14px; }
.contact-page .contact-details[b-29kgi55tqy]::after {
    content: '';
    position: absolute;
    left: -4px;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, #8c691d55, #ac822a 12%, #bd943f 68%, #bd943f00);
    clip-path: polygon(0 45%, 6% 24%, 33% 14%, 66% 30%, 100% 54%, 76% 63%, 41% 78%, 9% 68%, 0 62%);
}
.contact-page .contact-details a[b-29kgi55tqy] { text-decoration-color: #292921; }
.contact-page a:hover[b-29kgi55tqy] { color: #000; }
.contact-page a:focus-visible[b-29kgi55tqy] { outline-color: #292921; }
.contact-page .contact-note a[b-29kgi55tqy] { color: #171814; filter: grayscale(1); }
/* Dessins à l’encre avec bambou : aucun disque CSS derrière. */
.contact-page .contact-medallion[b-29kgi55tqy] { width: 96px; height: 116px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.contact-page .contact-icon[b-29kgi55tqy] { width: 116px; height: 116px; max-width: none; margin: 0; filter: none; object-fit: contain; }
.contact-page .contact-method[b-29kgi55tqy] { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
@media (max-width: 700px) {
 .contact-page .contact-method[b-29kgi55tqy] { grid-template-columns: 72px minmax(0, 1fr); gap: 8px; }
 .contact-page .contact-medallion[b-29kgi55tqy] { width: 72px; height: 96px; }
 .contact-page .contact-icon[b-29kgi55tqy] { width: 96px; height: 96px; }
}

.contact-page .contact-medallion[b-29kgi55tqy] { width: 96px; height: 104px; }
.contact-page .contact-icon[b-29kgi55tqy] { width: 104px; height: 104px; }
/* Long trait de pinceau, fin, effilé et strié comme sur la référence. */
.contact-page .contact-details[b-29kgi55tqy]::after {
    left: -8px; right: -8px; bottom: -3px; height: 7px;
    clip-path: none;
    background: linear-gradient(90deg, #8f681c, #bd9334 45%, #a47b2480);
    mask: url('images/course-banner-adults.png?v=small-1') center / 100% 100% no-repeat;
}
.contact-page .contact-details[b-29kgi55tqy]::before {
    content: ''; position: absolute; left: 3px; right: -4px; bottom: -4px; height: 2px;
    background: linear-gradient(90deg, transparent, #a8812c88 15%, #bc92335c 85%, transparent);
    transform: rotate(-.3deg); pointer-events: none;
}
@media (max-width: 700px) {
 .contact-page .contact-medallion[b-29kgi55tqy] { width: 72px; height: 84px; }
 .contact-page .contact-icon[b-29kgi55tqy] { width: 84px; height: 84px; }
}

/* L’illustration reste dans sa colonne, y compris sur petit écran. */
.contact-page .contact-icon[b-29kgi55tqy] { width: 100%; height: 100%; max-width: 100%; }
@media (max-width: 700px) {
 .contact-page .contact-method[b-29kgi55tqy] { grid-template-columns: 68px minmax(0, 1fr); column-gap: 18px; }
 .contact-page .contact-medallion[b-29kgi55tqy] { width: 68px; height: 76px; }
 .contact-page .contact-details h2[b-29kgi55tqy]::before { left: -8px; right: -8px; }
 .contact-page .contact-details h2[b-29kgi55tqy] { max-width: 100%; box-sizing: border-box; }
}

/* Trait généré d’après la référence, avec sa texture et sa transparence. */
.contact-page .contact-details[b-29kgi55tqy]::after {
    background: url('images/contact-divider-gold.png') center / 100% 100% no-repeat;
    mask: none;
    clip-path: none;
    height: 6px;
    left: -8px;
    right: -8px;
    bottom: -3px;
}
.contact-page .contact-details[b-29kgi55tqy]::before { display: none; }
/* Marge suffisante autour du contenu, y compris les icônes et les bandeaux. */
.contact-page[b-29kgi55tqy]::before { inset: -85px -105px; }

/* Composition mobile : illustrations à alpha natif, sans masque de gommage. */
.contact-page.contact-one-page[b-29kgi55tqy] { left: auto; width: 100%; max-width: none; margin: 0; padding: 0; }
.contact-one-page .contact-intro[b-29kgi55tqy] { position: relative; margin: 0 auto 28px; padding: 0 24px; }
.contact-one-page .contact-intro h1[b-29kgi55tqy] { font-size: clamp(2.3rem, 7vw, 3.4rem); margin-bottom: 14px; }
.contact-one-page .contact-lead[b-29kgi55tqy] { font-size: clamp(.9rem, 2.7vw, 1.2rem); }
.contact-one-page .contact-paper[b-29kgi55tqy] { position: relative; width: min(100%, 620px); padding: 0 20px; box-sizing: border-box; }
.contact-page.contact-one-page .contact-method[b-29kgi55tqy] { grid-template-columns: clamp(60px, 14vw, 96px) minmax(0, 1fr); gap: clamp(14px, 3vw, 24px); padding: 15px 0; }
.contact-page.contact-one-page .contact-medallion[b-29kgi55tqy] { width: 100%; height: auto; aspect-ratio: 1; }
.contact-page.contact-one-page .contact-details[b-29kgi55tqy] { padding-bottom: 18px; }
.contact-page.contact-one-page .contact-details h2[b-29kgi55tqy] { font-size: clamp(1rem, 3vw, 1.35rem); margin-bottom: 12px; }
.contact-page.contact-one-page .contact-details p[b-29kgi55tqy],
.contact-page.contact-one-page .contact-details a[b-29kgi55tqy] { font-size: clamp(1rem, 2.8vw, 1.2rem); line-height: 1.4; }
.contact-one-page .contact-details p[b-29kgi55tqy] { margin-bottom: 8px; }
.contact-one-page .contact-bamboo[b-29kgi55tqy] { position: absolute; z-index: -1; right: -12px; top: -115px; width: clamp(110px, 26vw, 175px); height: auto; transform: scaleX(-1); opacity: .48; pointer-events: none; }
.contact-landscape[b-29kgi55tqy] { position: relative; height: clamp(250px, 65vw, 440px); margin-top: -65px; overflow: hidden; pointer-events: none; }
.contact-landscape img[b-29kgi55tqy] { position: absolute; bottom: 0; height: auto; max-width: none; }
.contact-landscape-back[b-29kgi55tqy] { right: 0; width: max(100%, 440px); opacity: .7; }
.contact-landscape-front[b-29kgi55tqy] { left: 0; width: clamp(340px, 82%, 650px); }
/* /Pages/Disciplines.razor.rz.scp.css */
.disciplines-page[b-rpva257sgo] { position: relative; isolation: isolate; width: min(100%,560px); margin: -12px auto 24px; padding: 0 12px; box-sizing: border-box; color: #000; }
.disciplines-page[b-rpva257sgo]::before { content: ''; position: absolute; inset: -65px -85px -100px; z-index: -1; pointer-events: none; background: linear-gradient(#fff5df38,#fff5df38), #dfc7a0 url('images/parallax/paper.webp') repeat fixed; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
header[b-rpva257sgo] { text-align: center; margin-bottom: 24px; }
h1[b-rpva257sgo] { position: relative; margin: 0 0 18px; padding-bottom: 17px; font: 700 clamp(2.1rem,5vw,3.4rem)/1.3 'Merienda',cursive; color: #000; }
h1[b-rpva257sgo]::after { content: ''; position: absolute; bottom: 0; left: 5%; width: 90%; height: 9px; background: linear-gradient(90deg,#872d16 55%,#806017 75%); mask: url('images/contact-divider-gold.png') center / 100% 100% no-repeat; }
.introduction[b-rpva257sgo] { margin: 0; font: 1rem/1.55 'Merienda',cursive; }
.discipline[b-rpva257sgo] { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 20px; align-items: start; padding: 12px 0 24px; }
.medallion[b-rpva257sgo] { width: 132px; height: 132px; object-fit: contain; }
.nihon .medallion[b-rpva257sgo] { filter: sepia(1); }
.description[b-rpva257sgo] { min-width: 0; }
h2[b-rpva257sgo], summary[b-rpva257sgo] { position: relative; isolation: isolate; color: #fff0d3; }
h2[b-rpva257sgo] { display: block; width: fit-content; font: 700 1.35rem/1.3 'Merienda',cursive; padding: 5px 12px; margin: 0 0 10px; }
h2[b-rpva257sgo]::before, summary[b-rpva257sgo]::before { content: ''; position: absolute; z-index: -1; inset: -9px -12px; background: url('images/course-banner-children-trimmed.webp') center / 100% 100% no-repeat; filter: brightness(.72) saturate(.82);  background-size: 98.66666666666667% 77.08333333333333%; background-position: 62.5% 80%; }
.red h2[b-rpva257sgo]::before, .red summary[b-rpva257sgo]::before { background-image: url('images/course-banner-red-matched-trimmed.webp'); filter: none;  background-size: 99.66666666666667% 84%; background-position: 0% 84.375%; }
.description p[b-rpva257sgo] { margin: 0 0 12px; color: #000; font: 1.05rem/1.4 Georgia,'Times New Roman',serif; font-style: normal !important; }
summary[b-rpva257sgo] { cursor: pointer; display: block; width: fit-content; padding: 4px 15px; margin: 4px 0 6px; font: .9rem/1.4 'Merienda',cursive; list-style: none; }
summary[b-rpva257sgo]::-webkit-details-marker { display: none; }
summary:focus-visible[b-rpva257sgo], a:focus-visible[b-rpva257sgo] { outline: 2px solid #872d16; outline-offset: 6px; }
.more[b-rpva257sgo] { padding: 12px 0 0; }
.more a[b-rpva257sgo] { color: #872d16; text-underline-offset: 3px; }
@media (min-width:1200px) { .disciplines-page[b-rpva257sgo] { left: clamp(-300px,-15vw,-160px); } }
@media (max-width:700px) {
 .disciplines-page[b-rpva257sgo] { margin-top: 0; padding: 0 4px; }
 .disciplines-page[b-rpva257sgo]::before { display: block; }
 .discipline[b-rpva257sgo] { grid-template-columns: 88px minmax(0,1fr); gap: 14px; }
 .medallion[b-rpva257sgo] { width: 88px; height: 100px; }
 h2[b-rpva257sgo] { font-size: 1.02rem; padding-inline: 6px; }
 .description p[b-rpva257sgo] { font-size: .98rem; }
 .introduction[b-rpva257sgo] { font-size: .9rem; }
}

/* Actions entourées, sans réutiliser les bandeaux des titres. */
summary[b-rpva257sgo] { color: #872d16; border: 1px solid currentColor; border-radius: 48% 44% 46% 42% / 28% 34% 30% 38%; padding: 8px 16px; }
summary[b-rpva257sgo]::before { display: none; }
summary:hover[b-rpva257sgo] { background: #872d1610; }

/* Même contour peint que le lien de la page Horaires. */
summary[b-rpva257sgo] {
    border: 0;
    border-radius: 0;
    background: url('images/training-contact-oval-matched-trimmed.webp') center / 100% 100% no-repeat;
    padding: 20px 24px 20px 30px;
    color: #872d16;
 background-size: 98.11111111111111% 70.66666666666667%; background-position: 47.05882352941177% 48.86363636363637%; }
summary:hover[b-rpva257sgo] { background-color: transparent; color: #62200f; }

.button-label[b-rpva257sgo] { display: block; transform: rotate(-4deg); transform-origin: center; text-align: center; }

.discipline-action[b-rpva257sgo] { display: inline-block; cursor: pointer; border: 0; padding: 22px 30px; color: #872d16; background: url('images/training-contact-oval-matched-trimmed.webp') center / 98% 71% no-repeat; font: 1rem/1.4 'Merienda', cursive; text-decoration: none; }
.discipline-action:focus-visible[b-rpva257sgo], .discipline-dialog button:focus-visible[b-rpva257sgo] { outline: 2px solid #806017; outline-offset: 3px; }
.discipline-dialog[b-rpva257sgo] { box-sizing: border-box; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 28px 16px; border: 0; background: transparent; color: #171712; overflow-y: auto; overscroll-behavior: contain; }
.discipline-dialog[b-rpva257sgo]::backdrop { background: #17130cb3; }
.dialog-paper[b-rpva257sgo] { position: relative; box-sizing: border-box; width: min(850px, 100%); margin: 0 auto; padding: 54px 58px 42px; background: #ead7b3 url('images/parallax/paper.webp') repeat; -webkit-mask-box-image: url('images/dialog-paper-nine-slice.svg') 24 / 24px / 0 stretch; mask-border: url('images/dialog-paper-nine-slice.svg') 24 / 24px / 0 stretch; }
.dialog-eyebrow[b-rpva257sgo] { text-align: center; margin: 0 60px 20px; color: #806017; text-transform: uppercase; letter-spacing: .25em; font: 700 .8rem Georgia, serif; }
.discipline-dialog #discipline-dialog-title[b-rpva257sgo] { display: block; width: auto; margin: 0 0 20px; padding: 0 0 18px; color: #000; text-align: center; font: italic clamp(2rem, 6vw, 3.8rem)/1.2 Georgia, serif; background: url('images/contact-divider-gold.png') center bottom / 100% 5px no-repeat; }
.discipline-dialog h2[b-rpva257sgo]::before { display: none; }
.dialog-intro[b-rpva257sgo] { font: italic 1.3rem/1.4 Georgia, serif; text-align: center; margin: 0 auto 16px; max-width: 600px; }
.dialog-photo[b-rpva257sgo] { display: block; width: min(100%, 510px); height: auto; aspect-ratio: 3 / 2; margin-inline: auto; -webkit-mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
.dialog-topic[b-rpva257sgo] { margin: 22px 0; }
.dialog-topic h3[b-rpva257sgo] { position: relative; isolation: isolate; display: inline-block; margin: 0 0 12px; padding: 6px 20px; color: #fff0d3; font: italic 1.35rem Georgia, serif; }
.dialog-topic h3[b-rpva257sgo]::before { content: ''; position: absolute; inset: 0; transform: translateY(3px); z-index: -1; background: url('images/course-banner-children-trimmed.webp') center / 100% 100% no-repeat; filter: brightness(.72) saturate(.82); }
.dialog-red .dialog-topic h3[b-rpva257sgo]::before { background-image: url('images/course-banner-red-matched-trimmed.webp'); filter: none; }
.discipline-dialog .dialog-topic p[b-rpva257sgo] { margin: 0; font: normal 1.1rem/1.5 Georgia, serif; font-style: normal !important; }
.dialog-close[b-rpva257sgo] { position: absolute; right: 24px; top: 24px; }
.dialog-close button[b-rpva257sgo] { display: grid; justify-items: center; border: 0; background: none; color: #806017; cursor: pointer; font: italic 1rem Georgia, serif; }
.dialog-close span[b-rpva257sgo] { font: 3rem/.85 Georgia, serif; }
.dialog-actions[b-rpva257sgo] { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 28px; padding-top: 18px; background: url('images/contact-divider-gold.png') center top / 100% 4px no-repeat; }
.dialog-dismiss[b-rpva257sgo] { border: 0; background: none; cursor: pointer; text-decoration: underline; font: italic 1.1rem Georgia, serif; }
.dialog-article h3[b-rpva257sgo] { margin-top: 24px; line-height: 1.4; }
.dialog-article ul[b-rpva257sgo] { padding-left: 22px; margin: 16px 0 24px; }
.discipline-dialog .dialog-article li[b-rpva257sgo], .discipline-dialog .dialog-article blockquote[b-rpva257sgo] { font: normal 1.1rem/1.6 Georgia, serif; font-style: normal !important; }
.dialog-article li[b-rpva257sgo] { margin-bottom: 16px; }
.dialog-article strong[b-rpva257sgo] { font-family: Georgia, serif; font-style: normal; font-weight: 700; }
.dialog-article blockquote[b-rpva257sgo] { margin: 24px 0; padding: 12px 18px; border-left: 3px solid #806017; }
@media(max-width: 600px) {
 .discipline-dialog[b-rpva257sgo] { padding: 12px 8px; }
 .dialog-paper[b-rpva257sgo] { padding: 64px 24px 28px; -webkit-mask-box-image-width: 16px; mask-border-width: 16px; }
 .dialog-eyebrow[b-rpva257sgo] { margin-inline: 0; font-size: .7rem; }
 .dialog-intro[b-rpva257sgo] { font-size: 1.1rem; }
 .dialog-topic p[b-rpva257sgo] { font-size: 1rem; }
}
/* /Pages/Home.razor.rz.scp.css */
/* Composition inspirée de la référence : calligraphie, encre et papier.
   Le mouvement de l'ensemble reste piloté par SceneCamera.cs. */
.ink-hero[b-4w3jhxe76n] {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 24px;
    width: min(100%, 640px);
    margin: 62px 0 90px;
    padding: 24px 8px;
    color: #141710;
}
.ink-hero[b-4w3jhxe76n]::before {
    content: '';
    position: absolute;
    inset: -45px -32px;
    z-index: -1;
    
    pointer-events: none;
}
.ink-hero-kanji[b-4w3jhxe76n] { position: relative; width: 80px; height: 310px; min-width: 0; align-self: start; --kanji-image-width: 160px; --kanji-image-height: 310px; }
.ink-hero-copy[b-4w3jhxe76n] { min-width: 0; padding-top: 36px; }
.ink-hero h1[b-4w3jhxe76n] {
    margin: 0;
    font-family: 'Merienda', cursive;
    font-size: clamp(2.8rem, 4.5vw, 4.2rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: .1em;
    color: #141710;
    text-align: left;
}
.ink-hero h1 span[b-4w3jhxe76n] { display: block; white-space: nowrap; }
.ink-hero-motto[b-4w3jhxe76n] {
    margin: 24px 0 26px;
    font-family: 'Merienda', cursive;
    font-size: clamp(1.05rem, 2vw, 1.55rem);
    font-style: italic;
    line-height: 1.5;
    letter-spacing: .045em;
}
.ink-hero-enter[b-4w3jhxe76n] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    width: min(100%, 370px);
    min-height: 124px;
    padding: 20px 14px 22px 35px;
    color: #141710;
    text-decoration: none;
    font-family: 'Merienda', cursive;
    font-size: 1.65rem;
    white-space: nowrap;
}
.ink-hero-enter img[b-4w3jhxe76n] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    z-index: -1;
}
.ink-hero-arrow[b-4w3jhxe76n] { font: 400 2.4rem 'Merienda', cursive; }
.ink-hero-enter:hover[b-4w3jhxe76n] { color: #853b27; }
.ink-hero-enter:focus-visible[b-4w3jhxe76n] { outline: 2px solid #853b27; outline-offset: 5px; border-radius: 3px; }
@media (min-width: 701px) and (max-width: 1100px) {
    .ink-hero[b-4w3jhxe76n] { grid-template-columns: 62px minmax(0, 1fr); gap: 16px; }
    .ink-hero-kanji[b-4w3jhxe76n] { width: 62px; height: 255px; --kanji-image-width: 124px; --kanji-image-height: 255px; }
    .ink-hero h1[b-4w3jhxe76n] { font-size: clamp(2.3rem, 4.5vw, 3rem); }
}
@media (max-width: 700px) {
    .ink-hero[b-4w3jhxe76n] { grid-template-columns: 52px minmax(0, 1fr); gap: 13px; margin: 38px 0 65px; padding: 12px 0; }
    .ink-hero-kanji[b-4w3jhxe76n] { width: 52px; height: 215px; --kanji-image-width: 104px; --kanji-image-height: 215px; }
    .ink-hero-copy[b-4w3jhxe76n] { padding-top: 22px; }
    .ink-hero h1[b-4w3jhxe76n] { font-size: clamp(1.85rem, 7.8vw, 3.4rem); letter-spacing: .07em; }
    .ink-hero-motto[b-4w3jhxe76n] { margin-top: 20px; font-size: clamp(.88rem, 3.5vw, 1.3rem); letter-spacing: .01em; }
    .ink-hero-enter[b-4w3jhxe76n] { font-size: clamp(1rem, 4.3vw, 1.5rem); min-height: 100px; padding: 18px 8px 18px 20px; gap: 10px; }
    .ink-hero-arrow[b-4w3jhxe76n] { font-size: 1.9rem; }
}

.ink-hero-kanji img[b-4w3jhxe76n] { position: absolute; left: calc(50% - var(--kanji-image-width) * .3134765625); top: calc(var(--kanji-image-height) * .02734375); width: calc(var(--kanji-image-width) * .5712890625); max-width: none; height: calc(var(--kanji-image-height) * .9524739583); object-fit: fill; }

@media (orientation: landscape) and (max-height: 600px) and (max-width: 1100px) {
    .ink-hero[b-4w3jhxe76n] { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; margin: 6px 0 12px; padding: 0; }
    .ink-hero-kanji[b-4w3jhxe76n] { width: 44px; height: 190px; --kanji-image-width: 88px; --kanji-image-height: 190px; }
    .ink-hero-copy[b-4w3jhxe76n] { padding-top: 12px; }
    .ink-hero h1[b-4w3jhxe76n] { font-size: clamp(1.55rem, 3.7vw, 2.6rem); letter-spacing: .07em; }
    .ink-hero-motto[b-4w3jhxe76n] { margin: 12px 0 8px; font-size: clamp(.8rem, 1.7vw, 1.1rem); }
    .ink-hero-enter[b-4w3jhxe76n] { width: min(100%, 290px); min-height: 85px; padding: 12px 8px 14px 24px; gap: 12px; font-size: 1.2rem; }
    .ink-hero-arrow[b-4w3jhxe76n] { font-size: 1.8rem; }
}
/* /Pages/Staff.razor.rz.scp.css */
.club-page[b-ttvkupcgcp] { position: relative; isolation: isolate; width: min(100%,880px); margin: -20px auto 24px; padding: 0 14px; box-sizing: border-box; color: #000; }
.club-page[b-ttvkupcgcp]::before { content: ''; position: absolute; inset: -60px -85px -110px; z-index: -1; pointer-events: none; background: linear-gradient(#fff5df38,#fff5df38), #dfc7a0 url('images/parallax/paper.webp') repeat fixed; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
header[b-ttvkupcgcp] { text-align: center; margin-bottom: 24px; }
h1[b-ttvkupcgcp] { position: relative; margin: 0 auto 14px; padding-bottom: 15px; width: fit-content; font: 700 clamp(2.3rem,5vw,3.7rem)/1.3 'Merienda',cursive; }
h1[b-ttvkupcgcp]::after { content: ''; position: absolute; bottom: 0; left: -12%; width: 124%; height: 9px; background: linear-gradient(90deg,#872d16 55%,#806017 75%); mask: url('images/contact-divider-gold.png') center / 100% 100% no-repeat; }
.club-page p[b-ttvkupcgcp] { font: 1.05rem/1.4 Georgia,'Times New Roman',serif; font-style: normal !important; color: #000; margin: 0 0 12px; }
.club-page .introduction[b-ttvkupcgcp] { font: .95rem/1.55 'Merienda',cursive; }
h2[b-ttvkupcgcp],h3[b-ttvkupcgcp],.brush-link[b-ttvkupcgcp] { position: relative; isolation: isolate; color: #fff0d3; width: fit-content; }
h2[b-ttvkupcgcp] { font: 700 1.4rem/1.3 'Merienda',cursive; margin: 0 0 12px; padding: 5px 14px; }
h2[b-ttvkupcgcp]::before,h3[b-ttvkupcgcp]::before,.brush-link[b-ttvkupcgcp]::before { content: ''; position: absolute; z-index: -1; inset: -9px -12px; background: url('images/course-banner-adults-trimmed.webp') center / 100% 100% no-repeat; filter: brightness(.5);  background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
h2.gold[b-ttvkupcgcp]::before { background-image: url('images/course-banner-children-trimmed.webp'); filter: brightness(.72) saturate(.82);  background-size: 98.66666666666667% 77.08333333333333%; background-position: 62.5% 80%; }
h2.red[b-ttvkupcgcp]::before,.brush-link[b-ttvkupcgcp]::before { background-image: url('images/course-banner-red-matched-trimmed.webp'); filter: none;  background-size: 99.66666666666667% 84%; background-position: 0% 84.375%; }
.dojo-section[b-ttvkupcgcp] { display: grid; grid-template-columns: 1.3fr 1fr; gap: 26px; align-items: center; margin-bottom: 26px; }
.dojo-photo[b-ttvkupcgcp] { display: block; width: 100%; height: 240px; object-fit: cover; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
.brush-link[b-ttvkupcgcp] { display: inline-block; font: .95rem/1.4 'Merienda',cursive; padding: 5px 12px; margin: 6px 0; text-decoration: none; }
.brush-link:focus-visible[b-ttvkupcgcp] { outline: 2px solid #872d16; outline-offset: 8px; }
.team-section[b-ttvkupcgcp] { display: grid; grid-template-columns: 1fr 1.8fr; gap: 22px; margin-bottom: 24px; }
.members[b-ttvkupcgcp] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.member[b-ttvkupcgcp] { text-align: center; min-width: 0; display: grid; grid-template-rows: auto auto 1fr; align-content: start; }
.portrait[b-ttvkupcgcp] { display: grid; place-items: center; height: 105px; font: 700 1.8rem 'Merienda',cursive; color: #fff0d3; background: url('images/course-banner-adults-trimmed.webp') center / 100% 100% no-repeat;  background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
h3[b-ttvkupcgcp] { font: .9rem/1.4 'Merienda',cursive; margin: 4px auto 10px; padding: 3px 5px; }
.member p[b-ttvkupcgcp] { font-size: .95rem; }
.spirit-section[b-ttvkupcgcp] { padding-bottom: 8px; }
.club-bottom[b-ttvkupcgcp] { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.values[b-ttvkupcgcp] { display: flex; gap: 20px; list-style: none; padding: 0; margin: 0; }
.values li[b-ttvkupcgcp] { display: grid; justify-items: center; gap: 3px; font: italic .85rem Georgia,serif; }
.values span[b-ttvkupcgcp] { display: grid; place-items: center; width: 54px; height: 54px; border: 3px double #29251d; border-radius: 48% 52% 46% 54%; font: 2rem serif; font-style: normal !important; }
@media(min-width:1200px) { .club-page[b-ttvkupcgcp] { left: -90px; } }
@media(max-width:700px) {
 .club-page[b-ttvkupcgcp] { margin: 0 auto 20px; padding: 0 4px; }
 .club-page[b-ttvkupcgcp]::before { display: block; }
 .dojo-section[b-ttvkupcgcp],.team-section[b-ttvkupcgcp] { grid-template-columns: 1fr; gap: 16px; }
 .dojo-photo[b-ttvkupcgcp] { height: 200px; }
 .members[b-ttvkupcgcp] { gap: 10px; }
 .portrait[b-ttvkupcgcp] { height: 86px; font-size: 1.4rem; }
 h3[b-ttvkupcgcp] { font-size: .8rem; }
 .club-bottom[b-ttvkupcgcp] { flex-direction: column; align-items: center; gap: 12px; }
 .values[b-ttvkupcgcp] { gap: 14px; }
 .values li[b-ttvkupcgcp] { font-size: .75rem; }
}

/* Portraits complets, sans recadrage des visages. */
.teacher-photo[b-ttvkupcgcp] {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
    object-position: center top;
    /* Le centre opaque couvre le visage ; les bords restent gommés. */
    -webkit-mask: url('images/parallax/eraser-mask.png') center / 100% 110% no-repeat;
    mask: url('images/parallax/eraser-mask.png') center / 100% 110% no-repeat;
}




/* Même emplacement pour chaque portrait, même avec des proportions différentes. */
.member .portrait[b-ttvkupcgcp] { height: auto; aspect-ratio: 2 / 3; width: 100%; }
.member h3[b-ttvkupcgcp] { box-sizing: border-box; min-height: 3.2em; display: grid; place-items: center; }
.dojo-photo[b-ttvkupcgcp] { height: auto; aspect-ratio: 3 / 2; }
@media (max-width: 420px) {
 .members[b-ttvkupcgcp] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
 .member:last-child[b-ttvkupcgcp] { grid-column: 1 / -1; width: calc((100% - 16px) / 2); justify-self: center; }
}

.location-section[b-ttvkupcgcp] { margin-top: 12px; padding-bottom: 10px; }
.location-layout[b-ttvkupcgcp] { display: grid; grid-template-columns: 1fr 1.6fr; gap: 24px; align-items: center; }
.location-layout address[b-ttvkupcgcp] { font: normal 1.05rem/1.65 Georgia, serif; color: #000; margin-bottom: 14px; }
.club-map[b-ttvkupcgcp] { display: block; width: 100%; height: 300px; border: 1px solid #a68b55; box-sizing: border-box; }
@media (max-width:700px) { .location-layout[b-ttvkupcgcp] { grid-template-columns: 1fr; gap: 14px; } .club-map[b-ttvkupcgcp] { height: 260px; } }

/* Les actions se distinguent des titres peints. */
.brush-link[b-ttvkupcgcp] { color: #872d16; border: 1px solid #872d16; border-radius: 48% 44% 46% 42% / 28% 34% 30% 38%; padding: 9px 18px; }
.brush-link[b-ttvkupcgcp]::before { display: none; }
.brush-link:hover[b-ttvkupcgcp] { background: #872d1610; }
.location-layout[b-ttvkupcgcp] { grid-template-columns: 1.3fr 1fr; gap: 26px; }
.map-frame[b-ttvkupcgcp] { grid-column: 1; grid-row: 1; padding: 28px; background: #e7d3b0; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
.location-layout > div:not(.map-frame)[b-ttvkupcgcp] { grid-column: 2; }
.club-map[b-ttvkupcgcp] { height: 290px; border: 0; }
@media(max-width:700px) {
 .location-layout[b-ttvkupcgcp] { grid-template-columns: 1fr; }
 .map-frame[b-ttvkupcgcp] { grid-column: 1; grid-row: auto; order: -1; padding: 22px; }
 .location-layout > div:not(.map-frame)[b-ttvkupcgcp] { grid-column: 1; }
 .club-map[b-ttvkupcgcp] { height: 260px; }
}

/* Même contour peint que le lien de la page Horaires. */
.brush-link[b-ttvkupcgcp] {
    border: 0;
    border-radius: 0;
    background: url('images/training-contact-oval-matched-trimmed.webp') center / 100% 100% no-repeat;
    padding: 20px 24px 20px 30px;
    color: #872d16;
 background-size: 98.11111111111111% 70.66666666666667%; background-position: 47.05882352941177% 48.86363636363637%; }
.brush-link:hover[b-ttvkupcgcp] { background-color: transparent; color: #62200f; }

.button-label[b-ttvkupcgcp] { display: block; transform: rotate(-4deg); transform-origin: center; text-align: center; }
/* /Pages/Tarifs.razor.rz.scp.css */
.tariffs-page[b-falcyxhshh] { position: relative; isolation: isolate; width: min(100%, 560px); margin: -20px auto 24px; color: #000; padding: 0 12px; box-sizing: border-box; }
.tariffs-paper[b-falcyxhshh] { position: absolute; inset: -55px -85px -140px; z-index: -1; pointer-events: none; background-image: linear-gradient(#fff5df38, #fff5df38), url('images/parallax/paper.webp'); background-color: #dfc7a0; background-attachment: fixed; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
h1[b-falcyxhshh] { font: 700 clamp(2.3rem, 5vw, 3rem)/1.2 'Merienda', cursive; text-align: center; margin: 0 0 20px; color: #000; }
.tariff-offers[b-falcyxhshh] { width: min(100%, 470px); margin: auto; }
.tariff-offer[b-falcyxhshh] { padding: 10px 0 16px; }
.offer-content[b-falcyxhshh] { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 18px; align-items: center; }
.offer-icon[b-falcyxhshh] { width: 88px; height: 88px; object-fit: contain; }
.offer-details[b-falcyxhshh] { position: relative; padding-bottom: 10px; }
.offer-details[b-falcyxhshh]::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 5px; background: url('images/contact-divider-gold.png') center / 100% 100% no-repeat; }
h2[b-falcyxhshh] { font: 700 1.15rem/1.3 'Merienda', cursive; }
.offer-details h2[b-falcyxhshh] { position: relative; isolation: isolate; display: inline-block; color: #fff0d3; margin: 0 0 7px; padding: 6px 12px; }
.offer-details h2[b-falcyxhshh]::before { content: ''; position: absolute; inset: -8px -12px; z-index: -1; background: url('images/course-banner-adults-trimmed.webp') center / 100% 100% no-repeat; filter: brightness(.5);  background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
.tariffs-page p[b-falcyxhshh], .tariffs-page th[b-falcyxhshh], .tariffs-page td[b-falcyxhshh] { font: 400 1.1rem/1.25 Georgia, 'Times New Roman', serif; font-style: normal !important; color: #000; }
.offer-description[b-falcyxhshh] { margin: 0 0 3px; }
.offer-description:empty[b-falcyxhshh] { display: none; }
.offer-frequency[b-falcyxhshh] { margin: 0; }
.tariffs-page .offer-price[b-falcyxhshh] { font-size: 1.55rem; font-weight: 700; margin: 5px 0 0; }
.family-prices[b-falcyxhshh] { margin: 14px auto 0; width: min(100%, 470px); }
.family-prices h2[b-falcyxhshh] { text-align: center; margin: 0 0 12px; }
table[b-falcyxhshh] { width: 100%; border-collapse: collapse; }
.tariffs-page th[b-falcyxhshh], .tariffs-page td[b-falcyxhshh] { padding: 4px 0; border-bottom: 1px solid #a68b5540; font-size: 1.05rem; }
th[b-falcyxhshh] { text-align: left; }
td[b-falcyxhshh] { text-align: right; white-space: nowrap; padding-left: 12px !important; }
.new-group th[b-falcyxhshh], .new-group td[b-falcyxhshh] { padding-top: 12px; }
tr:last-child th[b-falcyxhshh], tr:last-child td[b-falcyxhshh] { border: 0; }
.sr-only[b-falcyxhshh] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1200px) { .tariffs-page[b-falcyxhshh] { left: clamp(-300px, -15vw, -160px); } }
@media (max-width: 700px) {
 .tariffs-page[b-falcyxhshh] { margin: 0 auto 16px; padding: 0 4px; }
 .tariffs-paper[b-falcyxhshh] { display: block; }
 .offer-content[b-falcyxhshh] { grid-template-columns: 66px minmax(0, 1fr); gap: 12px; }
 .offer-icon[b-falcyxhshh] { width: 66px; height: 76px; }
 .offer-details h2[b-falcyxhshh] { font-size: .95rem; padding: 5px 8px; }
 .tariffs-page p[b-falcyxhshh] { font-size: 1rem; }
 .tariffs-page th[b-falcyxhshh], .tariffs-page td[b-falcyxhshh] { font-size: .95rem; }
 h1[b-falcyxhshh] { margin-bottom: 12px; }
}

/* Encres identiques aux catégories de la page Horaires. */
.offer-children .offer-details h2[b-falcyxhshh]::before {
    background-image: url('images/course-banner-children-trimmed.webp');
    filter: brightness(.72) saturate(.82);
 background-size: 98.66666666666667% 77.08333333333333%; background-position: 62.5% 80%; }
.offer-red .offer-details h2[b-falcyxhshh]::before {
    background-image: url('images/course-banner-red-matched-trimmed.webp');
    filter: none;
 background-size: 99.66666666666667% 84%; background-position: 0% 84.375%; }
.tariffs-page .offer-children .offer-price[b-falcyxhshh] { color: #806017; }
.tariffs-page .offer-red .offer-price[b-falcyxhshh] { color: #872d16; }



.offer-heading[b-falcyxhshh] { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 18px; row-gap: 2px; margin-bottom: 6px; }
.tariffs-page .offer-age[b-falcyxhshh] { font: normal .9rem/1.35 Georgia, 'Times New Roman', serif; font-style: normal !important; color: #000; white-space: nowrap; }
/* /Pages/Training.razor.rz.scp.css */
h1[b-h5a4wrfd11] { position: relative; padding-bottom: 20px; margin-bottom: 8px; font-weight: 800; letter-spacing: -.055em; }
h1 span[b-h5a4wrfd11] { color: #922e25; }
h1 em[b-h5a4wrfd11] { color: #65501d; }
h1[b-h5a4wrfd11]::after { content: ""; position: absolute; bottom: 0; left: 10%; width: 80%; height: 16px; background: #8c3025; mask: url('images/navStroke.png') center / 100% 100% no-repeat; }
.dojo-welcome[b-h5a4wrfd11] { font-size: .95rem; margin-bottom: 22px; }
.dojo-session[b-h5a4wrfd11] { --course-ink: #927021; display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: center; padding: 13px 0; border: 0; }
.course-adults[b-h5a4wrfd11] { --course-ink: #24241e; }
.course-red[b-h5a4wrfd11] { --course-ink: #852d25; }
.course-medallion[b-h5a4wrfd11] { width: 104px; height: 104px; object-fit: contain; }
.course-details[b-h5a4wrfd11] { position: relative; padding: 0 0 17px; }
.course-details[b-h5a4wrfd11]::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, #ad8c51 20%, #ad8c51 80%, transparent); }
.course-red .course-details[b-h5a4wrfd11]::after { display: none; }
.course-details h2[b-h5a4wrfd11] { position: relative; isolation: isolate; display: inline-block; padding: 7px 19px 10px; margin: 0 0 5px -12px; color: #fff0d3; font-size: clamp(1.05rem, 1.8vw, 1.4rem); }
.course-details h2[b-h5a4wrfd11]::before { content: ""; position: absolute; inset: 0 -10px 0 0; z-index: -1; background: var(--course-ink); mask: url('images/navStroke.png') center / 100% 100% no-repeat; }
.course-details p[b-h5a4wrfd11] { font-size: .88rem; line-height: 1.9; }
.course-details strong[b-h5a4wrfd11] { color: #28271f; font-size: inherit; font-weight: 500; white-space: nowrap; }
.training-information .training-contact[b-h5a4wrfd11] { display: flex; align-items: center; justify-content: center; min-height: 98px; margin: 8px 0 0 60px; padding: 22px 15px 20px 30px; background: url('images/hero-enso.png') center / 100% 100% no-repeat; color: #862c24; font-size: .95rem; text-align: center; text-decoration: none; }
@media (max-width: 700px) {
 .dojo-session[b-h5a4wrfd11] { grid-template-columns: 72px minmax(0, 1fr); gap: 8px; }
 .course-medallion[b-h5a4wrfd11] { width: 72px; height: 72px; }
 .course-details p[b-h5a4wrfd11] { font-size: .73rem; }
 .training-information .training-contact[b-h5a4wrfd11] { margin-left: 0; font-size: .8rem; }
}

.training-information .training-contact[b-h5a4wrfd11] { font-family: 'Merienda', cursive; font-style: italic; font-weight: 700; }

.training-heading[b-h5a4wrfd11] { padding: 0; margin: -16px -24px 0; }
.training-heading[b-h5a4wrfd11]::after { display: none; }
.training-heading img[b-h5a4wrfd11] { display: block; width: 100%; height: auto; }
.course-details h2[b-h5a4wrfd11] { padding: 12px 22px 15px; margin-bottom: 12px; }
.course-details h2[b-h5a4wrfd11]::before { inset: -7px -24px -7px -12px; }
.course-details p[b-h5a4wrfd11], .course-details strong[b-h5a4wrfd11] { color: #000; }
.training-information .training-contact[b-h5a4wrfd11] { font-size: 1.2rem; min-height: 114px; margin-left: 0; padding: 22px 16px 22px 32px; }
@media (max-width: 700px) {
 .training-heading[b-h5a4wrfd11] { margin: -8px -8px 0; }
 .course-details h2[b-h5a4wrfd11] { padding: 10px 12px 12px; }
 .course-details h2[b-h5a4wrfd11]::before { inset: -5px -10px -5px -5px; }
 .training-information .training-contact[b-h5a4wrfd11] { font-size: 1rem; min-height: 104px; padding-left: 20px; }
}

.training-paper[b-h5a4wrfd11] { margin-top: 0; padding-top: 0; }
.training-heading[b-h5a4wrfd11] { transform: translateY(16px); margin-top: -24px; margin-bottom: 14px; }
.course-details h2[b-h5a4wrfd11]::before { mask: none; background: url('images/course-banner-children-trimmed.webp') center / 100% 100% no-repeat; inset: -16px -24px -16px -12px;  background-size: 98.66666666666667% 77.08333333333333%; background-position: 62.5% 80%; }
.course-adults .course-details h2[b-h5a4wrfd11]::before { background-image: url('images/course-banner-adults-trimmed.webp');  background-size: 99% 84.5%; background-position: 50% 19.35483870967742%; }
.course-red .course-details h2[b-h5a4wrfd11]::before { background-image: url('images/course-banner-red-matched-trimmed.webp');  background-size: 99.66666666666667% 84%; background-position: 0% 84.375%; }
.course-details p[b-h5a4wrfd11], .course-details strong[b-h5a4wrfd11] { font-style: normal !important; font-size: 1.05rem; color: #000; }
@media (max-width: 700px) {
 .training-paper[b-h5a4wrfd11] { margin-top: 0; padding-top: 0; }
 .training-heading[b-h5a4wrfd11] { margin-top: -18px; transform: translateY(12px); }
 .course-details p[b-h5a4wrfd11], .course-details strong[b-h5a4wrfd11] { font-size: .86rem; }
 .course-details h2[b-h5a4wrfd11]::before { inset: -14px -12px -14px -8px; }
}

/* Créneaux compacts : tout le bloc reste dans la hauteur du médaillon. */
.training-information .dojo-session[b-h5a4wrfd11] { align-items: start; padding: 12px 0 20px; }
.training-information .course-details[b-h5a4wrfd11] { padding: 0; }
.training-information .course-details[b-h5a4wrfd11]::after { bottom: -12px; }
.training-information .course-details h2[b-h5a4wrfd11] { font-size: 1.3rem; line-height: 1.2; margin: 0 0 8px -10px; padding: 8px 18px 9px; }
.training-information .course-details h2[b-h5a4wrfd11]::before { inset: -12px -20px -12px -8px; }
.training-information .course-details p[b-h5a4wrfd11],
.training-information .course-details strong[b-h5a4wrfd11] {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: normal !important;
    font-weight: 400;
    font-size: 1.15rem;
    line-height: 1.25;
    letter-spacing: 0;
    color: #000;
}
.training-information .course-details p[b-h5a4wrfd11] { margin: 0 0 2px; }
/* Assombrir les hautes lumières pour accorder les encres aux médaillons. */
.course-children .course-details h2[b-h5a4wrfd11]::before { filter: brightness(.72) saturate(.82); }
.course-adults .course-details h2[b-h5a4wrfd11]::before { filter: brightness(.5); }
.course-red .course-details h2[b-h5a4wrfd11]::before { filter: brightness(.78) saturate(.85); }
@media (max-width: 700px) {
 .training-information .dojo-session[b-h5a4wrfd11] { grid-template-columns: 88px minmax(0, 1fr); gap: 8px; }
 .training-information .course-medallion[b-h5a4wrfd11] { width: 88px; height: 88px; }
 .training-information .course-details h2[b-h5a4wrfd11] { font-size: 1.05rem; padding: 5px 10px 7px; margin-bottom: 6px; }
 .training-information .course-details p[b-h5a4wrfd11],
 .training-information .course-details strong[b-h5a4wrfd11] { font-size: clamp(.85rem, 3.5vw, 1rem); line-height: 1.2; }
 .training-information .course-details h2[b-h5a4wrfd11]::before { inset: -10px -10px -10px -4px; }
}

/* Composition centrée et compacte, sans réduire les horaires. */
.training-paper[b-h5a4wrfd11] { width: 100%; max-width: 560px; margin: 0 auto 20px; padding: 0 10px; box-sizing: border-box; }
.training-information .training-heading[b-h5a4wrfd11] { margin: -18px auto -12px; padding: 0; transform: none; width: 100%; }
.training-information .dojo-session[b-h5a4wrfd11] { width: min(100%, 440px); margin: 0 auto; padding: 8px 0; gap: 14px; }
.training-information .course-details[b-h5a4wrfd11]::after { bottom: -8px; }
.training-information .training-contact[b-h5a4wrfd11] { width: min(100%, 450px); box-sizing: border-box; margin: 2px auto 0; min-height: 88px; padding: 16px 12px 16px 24px; font-size: 1.1rem; }
@media (max-width: 700px) {
 .training-paper[b-h5a4wrfd11] { padding: 0 4px; margin-bottom: 12px; }
 .training-information .training-heading[b-h5a4wrfd11] { margin: -10px auto -4px; }
 .training-information .dojo-session[b-h5a4wrfd11] { gap: 8px; padding: 8px 0; }
 .training-information .training-contact[b-h5a4wrfd11] { min-height: 80px; font-size: 1rem; padding: 12px 8px 12px 18px; }
}

.training-information .training-contact[b-h5a4wrfd11] {
    background: url('images/training-contact-oval.png') center / 100% 100% no-repeat;
    min-height: 104px;
    padding: 20px 20px 20px 30px;
    margin-top: 8px;
}
.training-contact span[b-h5a4wrfd11] { display: block; transform: rotate(-4deg); text-align: center; }
@media (max-width: 700px) {
    .training-information .training-contact[b-h5a4wrfd11] { min-height: 92px; padding: 16px 12px 16px 22px; font-size: clamp(.8rem, 3.3vw, 1rem); }
}

/* Ovale ajusté au texte, sans grand espace à gauche. */
.training-information .training-contact[b-h5a4wrfd11] {
    width: fit-content;
    max-width: 100%;
    min-height: 96px;
    padding: 18px 22px 18px 30px;
    justify-content: flex-start;
}
.training-contact span[b-h5a4wrfd11] { white-space: nowrap; }
@media (max-width: 700px) {
    .training-information .training-contact[b-h5a4wrfd11] {
        min-height: 84px;
        padding: 16px 16px 16px 24px;
        font-size: clamp(.76rem, 3.1vw, 1rem);
    }
    .training-contact span[b-h5a4wrfd11] { white-space: normal; }
}
.training-heading img[b-h5a4wrfd11] { filter: brightness(.76); }
.training-information .training-contact[b-h5a4wrfd11] { position: relative; isolation: isolate; background: none; }
.training-contact .contact-oval[b-h5a4wrfd11] { position: absolute; left: .88888889%; top: 14.33333333%; width: 98.11111111%; height: 70.66666667%; z-index: -1; pointer-events: none; }

.course-red .course-details h2[b-h5a4wrfd11]::before { filter: none; }
.training-information .training-contact[b-h5a4wrfd11] { color: #872d16; }
.training-information .training-heading[b-h5a4wrfd11] { width: min(70%, 240px); margin: -8px auto 0; }
.training-heading img[b-h5a4wrfd11] { filter: none; }

/* Photos incrustées avec le même contour peint que le dojo. */
.training-information .dojo-session[b-h5a4wrfd11] { width: 100%; grid-template-columns: 170px minmax(0, 1fr); align-items: center; padding-block: 12px; }
.training-information .course-photo[b-h5a4wrfd11] { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; mask: url('images/parallax/eraser-mask.png') center / 100% 100% no-repeat; }
@media (max-width: 700px) {
 .training-information .dojo-session[b-h5a4wrfd11] { grid-template-columns: minmax(100px, 34%) minmax(0, 1fr); gap: 12px; }
}
/* /Shared/Footer.razor.rz.scp.css */
.site-footer[b-g4jn8o143j] {
    position: relative;
    width: 100%;
    margin-top: auto;
    color: #edddbf;
    isolation: isolate;
}
.footer-bar[b-g4jn8o143j] {
    min-height: 200px;
    display: grid;
    grid-template-columns: 145px minmax(230px, 1fr) minmax(250px, 1.5fr) 210px;
    align-items: center;
    gap: 28px;
    padding: 48px clamp(26px, 4vw, 64px) 28px;
    font-family: 'Merienda', cursive;
}
.footer-emblem[b-g4jn8o143j] { display: grid; place-items: center; }
.footer-emblem img[b-g4jn8o143j] { width: 116px; height: 116px; object-fit: contain; filter: grayscale(1) sepia(.7); }
.footer-identity[b-g4jn8o143j] { border-left: 1px solid #a789526b; padding-left: 28px; }
.footer-title[b-g4jn8o143j] { margin: 0 0 4px; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.15; }
.footer-town[b-g4jn8o143j] { margin: 0 0 8px; font-size: 1.1rem; letter-spacing: .04em; }
address[b-g4jn8o143j] { margin: 0; font-size: .78rem; font-style: normal; line-height: 1.65; letter-spacing: .025em; }
.footer-links[b-g4jn8o143j] { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 0; }
.footer-links a[b-g4jn8o143j] { color: #edddbf; text-decoration: none; font-size: .9rem; white-space: nowrap; }
.footer-links a + a[b-g4jn8o143j]::before { content: '·'; display: inline-block; margin: 0 12px; color: #b3945c; }
.footer-links a:hover[b-g4jn8o143j] { color: #d7af62; }
a:focus-visible[b-g4jn8o143j] { outline: 2px solid #d7af62; outline-offset: 6px; }
.footer-spirit[b-g4jn8o143j] { border-left: 1px solid #a789526b; padding-left: 28px; text-align: center; }
.footer-socials[b-g4jn8o143j] { display: flex; justify-content: center; gap: 16px; }
.footer-socials a[b-g4jn8o143j] { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #edddbf; color: #242622; font-size: 1.15rem; text-decoration: none; }
.footer-socials a:hover[b-g4jn8o143j] { background: #d7af62; }
.footer-kanji[b-g4jn8o143j] { margin: 17px 0 5px; color: #b3945c; font-size: 1.45rem; letter-spacing: .3em; }
.footer-motto[b-g4jn8o143j] { margin: 0; border-top: 1px solid #a789526b; padding-top: 7px; color: #b3945c; font-size: .56rem; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 1150px) {
    .footer-bar[b-g4jn8o143j] { grid-template-columns: 100px 1fr 190px; gap: 18px; padding: 48px 28px 28px; }
    .footer-emblem img[b-g4jn8o143j] { width: 90px; height: 90px; }
    .footer-links[b-g4jn8o143j] { grid-column: 1 / -1; grid-row: 2; }
    .footer-identity[b-g4jn8o143j], .footer-spirit[b-g4jn8o143j] { padding-left: 18px; }
}
/* Footer à la fin du parcours mobile, y compris en paysage. */
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (max-width: 1100px) {
    .site-footer[b-g4jn8o143j] { display: block; }
    .footer-bar[b-g4jn8o143j] { grid-template-columns: 1fr; gap: 20px; padding: 48px 22px 28px; text-align: center; }
    .footer-emblem img[b-g4jn8o143j] { width: 80px; height: 80px; }
    .footer-identity[b-g4jn8o143j], .footer-spirit[b-g4jn8o143j] { border-left: 0; padding-left: 0; }
    .footer-links[b-g4jn8o143j] { grid-column: 1; grid-row: auto; gap: 4px 14px; }
    .footer-links a[b-g4jn8o143j] { padding: 10px 0; }
    .footer-links a + a[b-g4jn8o143j]::before { display: none; }
    .footer-spirit[b-g4jn8o143j] { justify-self: center; }
    .footer-title[b-g4jn8o143j] { font-size: 1.5rem; }
}

.footer-socials svg[b-g4jn8o143j] { display: block; width: 20px; height: 20px; }

/* Le paysage se dissout dans le papier avant le bord irrégulier de l’encre. */
.site-footer[b-g4jn8o143j]::before {
    content: "";
    position: absolute;
    inset: -48px 0 0;
    z-index: -2;
    pointer-events: none;
    background: #dfc7a0 url('../images/parallax/paper.webp') repeat fixed;
    mask-image: linear-gradient(to bottom, transparent 0, #0003 16px, #000a 36px, black 62px);
}
.site-footer[b-g4jn8o143j]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url('../images/footer-ink-transparent.png') center / 100% 100% no-repeat;
}
/* /Shared/WindLeaves.razor.rz.scp.css */
.wind-leaves[b-1mc16e3tm8] { position: absolute; inset: 0; z-index: 2; overflow: visible; pointer-events: none; }
.wind-leaves img[b-1mc16e3tm8] { position: absolute; left: 0; top: 0; height: auto; will-change: transform; pointer-events: none; }

