.king-theme .bt-kicker,
.king-theme .bt-card__content a,
.king-theme .bt-news-card a {
    color: #75aaff;
}

.king-theme .bt-hero__overlay {
    background: linear-gradient(90deg, rgba(4, 15, 31, .96) 0%, rgba(4, 15, 31, .72) 52%, rgba(4, 15, 31, .2) 100%);
}

.king-theme .bt-hero h1 span,
.king-theme .bt-title::after {
    color: var(--club-accent);
}

.king-theme .bt-btn--red,
.king-theme .bt-prof-card__body span {
    background: var(--club-accent);
}

.king-theme .bt-btn--outline {
    border-color: var(--club-accent);
    color: var(--club-accent);
}

.king-theme .bt-btn--outline:hover {
    background: var(--club-accent);
    color: white;
}

.king-theme .bt-card,
.king-theme .bt-news-card {
    box-shadow: 0 18px 45px rgba(7, 21, 38, .14);
}

.king-theme .bt-club,
.king-theme .bt-professors,
.king-theme .bt-planning {
    background: #071526;
}

.king-theme .bt-section--light {
    background: #eef4fb;
}

.king-theme .bt-schedule-course span,
.king-theme .bt-event-card__icon {
    color: #75aaff;
}

.king-theme .contact-kicker,
.king-theme .contact-hero h1 span,
.king-theme .contact-detail > span,
.king-theme .prof-hero h1 span,
.king-theme .hero-kicker,
.king-theme .coach-grade,
.king-theme .inscription-kicker,
.king-theme .planning-intro h1 span,
.king-theme .info-icon {
    color: var(--club-accent);
}

.king-theme .contact-socials a,
.king-theme .contact-submit,
.king-theme .step.active span,
.king-theme .doc-toggle,
.king-theme .submit-btn {
    background: linear-gradient(135deg, #2878ff, #154b9f);
}

.king-theme .contact-field input:focus,
.king-theme .contact-field textarea:focus,
.king-theme .form-field input:focus,
.king-theme .form-field select:focus {
    border-color: var(--club-accent);
}

.king-theme .info-actions a,
.king-theme .upload-card {
    border-color: var(--club-accent);
    color: #75aaff;
}

.king-theme .prof-contact {
    background: linear-gradient(135deg, #154b9f, #071526);
}

.king-theme .prof-contact .bt-btn {
    color: #154b9f;
}

.king-theme,
.king-theme .planning-page,
.king-theme .prof-page,
.king-theme .contact-page,
.king-theme .inscription-page {
    background: #071526;
}

/* Tarifs / disciplines: copie fidèle de la maquette Budokan, palette bleue. */
.king-theme .discipline-page {
    overflow: hidden;
    background:
        radial-gradient(circle at top left, #123d75 0%, transparent 45%),
        radial-gradient(circle at bottom right, #061d3d 0%, transparent 45%),
        linear-gradient(180deg, #08111d, #050a11);
}

.king-theme .hero-mini .overlay {
    background: radial-gradient(circle, rgba(40, 120, 255, .18) 0%, transparent 70%);
}

.king-theme .hero-content .kicker,
.king-theme .hero-content h1 span,
.king-theme .discipline-card a {
    color: #418cff;
}

.king-theme .discipline-section h2::after,
.king-theme .tarifs-section h2::after {
    background: #2878ff;
}

.king-theme .cta-section {
    background: linear-gradient(135deg, #175cc5, #092b60);
}

.king-theme .cta-section .bt-btn--red {
    background: #418cff;
}

.king-theme .cta-section .bt-btn--red:hover {
    background: #67a3ff;
}

.king-theme .bt-footer {
    margin: 0;
}

/* Accueil: sections communautaires Budokan adaptées à la palette King Karate. */
.king-theme .bt-community {
    background:
        radial-gradient(circle at 12% 10%, rgba(40, 120, 255, .1), transparent 27%),
        #eef4fb;
}

.king-theme .bt-reason {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .06), transparent 46%),
        #0a1728;
    box-shadow: 0 18px 50px rgba(7, 21, 38, .16);
}

.king-theme .bt-reason::after {
    background: rgba(40, 120, 255, .13);
}

.king-theme .bt-reason:hover {
    border-color: rgba(40, 120, 255, .55);
    box-shadow: 0 26px 60px rgba(7, 21, 38, .25);
}

.king-theme .bt-reason__icon {
    border-color: rgba(40, 120, 255, .5);
    background: rgba(40, 120, 255, .14);
    color: #418cff;
}

.king-theme .bt-numbers {
    background:
        linear-gradient(120deg, rgba(40, 120, 255, .16), transparent 38%),
        #06111f;
}

.king-theme .bt-numbers__glow {
    background: rgba(40, 120, 255, .17);
}

.king-theme .bt-stat__number {
    color: #418cff;
}

/* Vidéos: composition Budokan et ambiance bleu sombre King Karate. */
.king-theme .video-page {
    background:
        radial-gradient(circle at left top, rgba(24, 91, 177, .38), transparent 34%),
        radial-gradient(circle at right center, rgba(12, 61, 125, .28), transparent 38%),
        linear-gradient(110deg, #09264b 0%, #08182d 36%, #070e19 70%, #050a11 100%);
}

.king-theme .video-overlay {
    background:
        radial-gradient(circle at 20% 45%, rgba(40, 120, 255, .28), transparent 28%),
        linear-gradient(180deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .88));
}

.king-theme .video-kicker,
.king-theme .video-hero h1 span,
.king-theme .video-card-media > i {
    color: #418cff;
}

.king-theme .video-header h2::after,
.king-theme .video-card-copy::before {
    background: #2878ff;
}

.king-theme .video-card-copy {
    background:
        linear-gradient(135deg, rgba(40, 120, 255, .11), transparent 52%),
        #0a1728;
}

.king-theme .video-card:hover {
    box-shadow:
        0 28px 65px rgba(0, 0, 0, .45),
        0 0 28px rgba(40, 120, 255, .25);
}

/* Professeurs: composition Budokan avec palette King Karate. */
.king-theme .bt-hero__overlay {
    background:
        linear-gradient(90deg, rgba(3, 13, 33, .08) 0%, rgba(3, 13, 33, .14) 38%, rgba(3, 13, 33, .54) 70%, rgba(3, 13, 33, .9) 100%),
        linear-gradient(0deg, rgba(3, 13, 33, .64) 0%, rgba(3, 13, 33, .04) 58%, rgba(3, 13, 33, .18) 100%);
}

.king-theme .bt-hero__content {
    text-shadow: 0 3px 20px rgba(0, 0, 0, .48);
}

.king-theme .prof-page {
    overflow: hidden;
    background:
        radial-gradient(circle at left center, rgba(18, 83, 160, .34) 0%, transparent 35%),
        radial-gradient(circle at right top, rgba(19, 68, 130, .22) 0%, transparent 35%),
        linear-gradient(110deg, #09264b 0%, #081b32 35%, #07111e 65%, #050a11 100%);
}

.king-theme .prof-hero {
    background:
        linear-gradient(rgba(0, 0, 0, .72), rgba(0, 0, 0, .72)),
        radial-gradient(circle at top left, #154b9f 0%, transparent 45%),
        url("/images/accueil/champion.jpg");
    background-size: cover;
    background-position: center top;
}

.king-theme .hero-kicker,
.king-theme .prof-hero h1 span {
    color: #418cff;
}

.king-theme .coach-grade {
    background: #2878ff;
    color: white;
}

.king-theme .coach-card:hover {
    box-shadow:
        0 20px 40px rgba(0, 0, 0, .35),
        0 0 25px rgba(40, 120, 255, .28);
}

.king-theme .value-grid div:hover {
    background: #2878ff;
}

.king-theme .prof-contact {
    background: linear-gradient(135deg, #2878ff, #123d75);
}

.king-theme .prof-contact .bt-btn {
    color: #154b9f;
}

/* Planning: structure Budokan complète avec ambiance bleue. */
.king-theme .planning-page {
    overflow: hidden;
    background:
        radial-gradient(circle at left top, rgba(24, 91, 177, .38), transparent 34%),
        radial-gradient(circle at right center, rgba(12, 61, 125, .28), transparent 38%),
        linear-gradient(110deg, #09264b 0%, #08182d 36%, #070e19 70%, #050a11 100%);
}

.king-theme .planning-overlay {
    background:
        radial-gradient(circle at 20% 45%, rgba(40, 120, 255, .28), transparent 28%),
        linear-gradient(180deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .88));
}

.king-theme .planning-intro .hero-kicker,
.king-theme .planning-intro h1 span,
.king-theme .info-card a {
    color: #418cff;
}

.king-theme .planning-infos .info-icon {
    background: rgba(40, 120, 255, .16);
    color: #65a2ff;
}

.king-theme .planning-note {
    margin-bottom: 80px;
}

/* Contact: mise en page Budokan, sans vide avant le footer. */
.king-theme .contact-page {
    min-height: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, #123d75 0%, transparent 45%),
        linear-gradient(135deg, #081b32, #050a11);
}

.king-theme .contact-hero {
    background:
        linear-gradient(rgba(0, 0, 0, .72), rgba(0, 0, 0, .72)),
        radial-gradient(circle at top left, #154b9f 0%, transparent 45%),
        url("/images/accueil/champion.jpg");
    background-size: cover;
    background-position: center top;
}

.king-theme .contact-kicker,
.king-theme .contact-hero h1 span {
    color: #418cff;
}

.king-theme .contact-socials a {
    background: #2878ff;
}

.king-theme .contact-socials a:hover {
    background: white;
    color: #2878ff;
}

.king-theme .contact-field input:focus,
.king-theme .contact-field textarea:focus {
    border-color: #2878ff;
}

.king-theme .contact-submit {
    background: linear-gradient(135deg, #2878ff, #154b9f);
}

.king-theme .contact-submit:hover {
    box-shadow: 0 15px 30px rgba(40, 120, 255, .35);
}

/* Inscription: composants Budokan avec accents bleus. */
.king-theme .inscription-page {
    overflow: hidden;
    background:
        radial-gradient(circle at top left, #123d75 0%, transparent 35%),
        linear-gradient(135deg, #08182d, #050a11);
}

.king-theme .inscription-hero {
    background:
        linear-gradient(rgba(0, 0, 0, .75), rgba(0, 0, 0, .75)),
        radial-gradient(circle at top left, rgba(40, 120, 255, .28), transparent 45%),
        url("/images/accueil/champion.jpg");
    background-size: cover;
    background-position: center top;
}

.king-theme .inscription-kicker,
.king-theme .gdpr-line a {
    color: #418cff;
}

.king-theme .step.active {
    border-color: #2878ff;
    box-shadow: 0 0 30px rgba(40, 120, 255, .22);
}

.king-theme .step.active span,
.king-theme .doc-toggle,
.king-theme .submit-btn {
    background: #2878ff;
}

.king-theme .info-actions a {
    border-color: #2878ff;
    color: #65a2ff;
}

.king-theme .info-actions a:hover,
.king-theme .doc-toggle:hover,
.king-theme .submit-btn:hover {
    background: #418cff;
    color: white;
}

.king-theme .form-field input:focus,
.king-theme .form-field select:focus {
    border-color: #2878ff;
    box-shadow: 0 0 15px rgba(40, 120, 255, .25);
}

.king-theme .upload-card {
    border-color: #566579;
    color: white;
}

.king-theme .upload-card:hover {
    border-color: #2878ff;
}

.king-theme .upload-card.has-file {
    border-color: #36c878;
    background: rgba(54, 200, 120, .1);
}

.king-theme .upload-card.has-error {
    border-color: #ff5a52;
    background: rgba(255, 90, 82, .1);
}

.king-theme .form-errors {
    border-color: #ff5a52;
    border-left-color: #ff5a52;
}

.king-theme .submit-btn:hover {
    box-shadow: 0 10px 30px rgba(40, 120, 255, .35);
}
