:root{--primary:#927000;--primary-dark:#705500;--dark:#222016;--dark-2:#302b1c;--light:#fbf8ef;--gray:#777;--border:#e8e2d1;--white:#fff;--transition:all .3s ease}
/* Animation d'apparition : placée en premier pour ne pas écraser les :hover et .featured */
.scroll-animation{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.scroll-animation.show{opacity:1;transform:translateY(0)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Montserrat',sans-serif;color:var(--dark);line-height:1.7}a{text-decoration:none}.navbar{background:rgba(17,17,17,.96);padding:15px 0;transition:var(--transition)}.navbar.scrolled{box-shadow:0 5px 25px rgba(0,0,0,.2)}.navbar-brand{font-size:1.25rem}.navbar-brand span,.footer-logo span{color:var(--primary)}.navbar-brand i{color:var(--primary)}.nav-link{color:#ddd!important;font-weight:500;margin-left:10px}.nav-link:hover,.nav-link.active{color:var(--primary)!important}
.hero{min-height:100vh;display:flex;align-items:center;color:#fff;background:#000 url('../images/hero/banner.jpg') right center/min(100%,1500px) auto no-repeat}.hero-content{max-width:760px;padding-top:70px}.hero h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:800;line-height:1.08}.hero h1 span{color:var(--primary)}.hero p{font-size:1.1rem;max-width:650px;margin:25px 0}.badge-custom,.page-header span,.eyebrow,.section-title>span{color:var(--primary);font-weight:800;letter-spacing:2px;font-size:.8rem}.btn-primary-custom{background:var(--primary);border:2px solid var(--primary);color:#fff;padding:12px 24px;font-weight:700;border-radius:6px}.btn-primary-custom:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.section{padding:90px 0}.section-title{text-align:center;margin-bottom:50px}.section-title h2{font-weight:800;font-size:2.2rem;margin-top:8px}.value-card,.program-detail-card,.info-card,.pricing-card,.form-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:30px;height:100%;transition:var(--transition)}.value-card:hover,.program-detail-card:hover,.info-card:hover,.pricing-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px rgba(0,0,0,.08)}.value-card i,.program-detail-card>i,.info-card i{font-size:2.4rem;color:var(--primary);display:block;margin-bottom:15px}.value-card h4,.program-detail-card h3,.info-card h4{font-weight:700}.program-detail-card a{color:var(--primary);font-weight:700}.program-detail-card span{font-size:.85rem;color:var(--gray)}.stats-section{background:var(--dark);color:#fff;padding:55px 0}.stats-section strong{display:block;font-size:2.5rem;color:var(--primary);font-weight:800}.stats-section span{color:#ccc}.cta-section{padding:85px 0;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.7)),url('../images/gallery/seance-collective.jpg') center/cover}.cta-section h2{font-weight:800}.page-header{padding:170px 0 90px;background:var(--dark);color:#fff;text-align:center}.page-header h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:800;margin:10px 0}.page-header p{color:#ccc}.bg-light{background:#f7f7f7!important}.mini-stat{background:#f7f7f7;padding:18px;border-radius:10px}.mini-stat strong{display:block;color:var(--primary);font-size:1.8rem}.mini-stat span{font-size:.85rem}.coach-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;height:100%;transition:var(--transition)}.coach-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px rgba(0,0,0,.1)}.coach-card img{width:100%;height:300px;object-fit:cover}.coach-card h4{font-weight:800}.coach-card span{color:var(--primary);font-size:.8rem;font-weight:700}.socials{color:var(--primary);display:flex;gap:15px;font-size:1.2rem}.filter-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.filter-btn{border:1px solid var(--border);background:#fff;padding:10px 18px;border-radius:30px;font-weight:600}.filter-btn.active,.filter-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.pricing-card{position:relative}.pricing-card.featured{border:2px solid var(--primary);transform:scale(1.02)}.popular{position:absolute;top:0;right:20px;background:var(--primary);color:#fff;padding:6px 12px;font-size:.7rem;font-weight:800}.price{font-size:2.2rem;font-weight:800;margin:20px 0}.price small{display:block;font-size:.75rem;color:var(--gray);font-weight:500}.pricing-card ul{list-style:none;padding:0;margin:25px 0}.pricing-card li{padding:8px 0;border-bottom:1px solid #eee}.pricing-card li:before{content:'✓';color:var(--primary);font-weight:800;margin-right:10px}.schedule-table th{background:var(--dark);color:#fff}.schedule-table td,.schedule-table th{padding:16px;border:1px solid #ddd}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{height:300px;position:relative;overflow:hidden;border-radius:14px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-item>div{position:absolute;inset:auto 0 0;padding:20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;justify-content:space-between;align-items:end}.gallery-item:hover img{transform:scale(1.08)}.contact-info>div{display:flex;gap:18px;margin:25px 0}.contact-info i{color:var(--primary);font-size:1.4rem}.contact-info p{margin:0}.form-control,.form-select{padding:12px;border-radius:7px}.map-placeholder{padding:0 0 80px}.map-box{min-height:260px;background:#eee;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.map-box i{font-size:3rem;color:var(--primary)}footer{background:var(--dark);color:#aaa;padding:55px 0 25px}.footer-logo{color:#fff;font-size:1.3rem;font-weight:800}.footer-logo i{color:var(--primary)}footer hr{border-color:#333;margin:30px 0}
@media(max-width:991px){.nav-link{margin-left:0}.hero{min-height:90vh}.gallery-grid{grid-template-columns:repeat(2,1fr)}.pricing-card.featured{transform:none}}
@media(max-width:575px){.section{padding:65px 0}.gallery-grid{grid-template-columns:1fr}.gallery-item{height:260px}.hero h1{font-size:2.5rem}.page-header{padding:145px 15px 70px}}

.back-to-top{position:fixed;right:22px;bottom:22px;width:45px;height:45px;border:0;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.3s;z-index:1000}.back-to-top.show{opacity:1;visibility:visible}

/* Accessibilité */
a:focus-visible,button:focus-visible,.form-control:focus-visible,.form-select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-animation{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
.form-card h2{font-weight:800;font-size:1.6rem;margin-bottom:20px}

/* Bouton WhatsApp flottant (le bouton "retour en haut" passe au-dessus) */
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:1001;transition:transform .2s}
.whatsapp-float:hover{color:#fff;transform:scale(1.08)}
.back-to-top{bottom:90px}

/* Galerie : agrandissement */
.gallery-item{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:70px 20px 30px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1100px,100%);text-align:center}
.lightbox img{max-width:100%;max-height:78vh;border-radius:10px;object-fit:contain}
.lightbox figcaption{color:#fff;margin-top:12px;font-weight:600}
.lightbox-btn{border:0;background:rgba(255,255,255,.15);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox-btn:hover{background:var(--primary)}
.lightbox-close{position:absolute;top:16px;right:16px}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}
.lightbox-nav.prev{left:12px}.lightbox-nav.next{right:12px}
body.no-scroll{overflow:hidden}

/* Calculateur d'IMC */
.bmi-result{min-height:3rem;margin:22px 0 0;padding:14px 18px;border-radius:10px;font-weight:700;background:transparent}
.bmi-result:empty{padding:0;min-height:0}
.bmi-ok{background:#e7f6ec;color:#146c2e}.bmi-low{background:#fff4d6;color:#7a5600}.bmi-high{background:#ffe6dc;color:#a13200}.bmi-error{background:#fde8e8;color:#b02a2a}
.bmi-note{font-size:.85rem;color:var(--gray);margin:12px 0 0}
@media(max-width:575px){.whatsapp-float{right:16px;bottom:16px}.back-to-top{right:20px;bottom:84px}}

/* Logo KEB'SPORT (menu et pied de page) : le logo est sur fond blanc, on l'affiche dans une pastille */
.navbar-brand{padding:0;margin-right:1rem}
.brand-logo{display:block;height:56px;width:auto;background:#fff;border-radius:10px;padding:4px 10px}
footer .brand-logo{height:56px;margin-bottom:6px}

/* En-tête : le texte reste à gauche, le logo de la bannière à droite */
@media(min-width:992px){
  .hero .container{max-width:none;padding-left:clamp(24px,5vw,90px);padding-right:24px}
  .hero-content{max-width:38vw}
  .hero h1{font-size:clamp(2.2rem,3.6vw,4rem)}
}
@media(max-width:991px){
  .hero{min-height:auto;align-items:flex-start;padding-bottom:70px;background-position:center 76px;background-size:100% auto}
  .hero-content{padding-top:calc(46.3vw + 100px)}
}
@media(max-width:575px){.brand-logo{height:48px}}


/* KEB'SPORT — modernisation visuelle globale */
:root{--primary:#927000;--primary-dark:#705500;--dark:#222016;--dark-2:#302b1c;--light:#fbf8ef;--gray:#737373;--border:#e8e2d1;--transition:all .35s cubic-bezier(.2,.75,.25,1);--shadow-soft:0 14px 45px rgba(15,15,15,.09);--shadow-orange:0 12px 32px rgba(146,112,0,.24)}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--primary);color:#fff}
.navbar{padding:14px 0;background:rgba(9,9,10,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.navbar.scrolled{padding:9px 0;background:rgba(9,9,10,.98);box-shadow:0 10px 35px #0003}
.navbar .navbar-brand{transition:transform .3s}.navbar .navbar-brand:hover{transform:translateY(-2px)}
.navbar .nav-link{position:relative;padding:10px 9px!important;font-size:.83rem}
.navbar .nav-link:after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .28s}
.navbar .nav-link:hover:after,.navbar .nav-link.active:after{transform:scaleX(1)}
.navbar .navbar-toggler:focus{box-shadow:0 0 0 .2rem #ff4d004d}
.hero{position:relative;isolation:isolate;overflow:hidden;background-color:#090909}
.hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#050506f5 0%,#050506d1 37%,#05050647 76%,#0505061f 100%);pointer-events:none}
.hero:after{content:"";position:absolute;z-index:0;width:380px;height:380px;right:-160px;bottom:-190px;border:1px solid #ff4d0059;border-radius:50%;box-shadow:0 0 0 45px #ff4d0009,0 0 0 90px #ff4d0006;pointer-events:none}
.hero-content{position:relative;z-index:2;animation:kebHeroIn .85s .08s both}
@keyframes kebHeroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero .badge-custom{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #ff4d006b;border-radius:4px;background:#ff4d0017;font-size:.72rem}
.hero .badge-custom:before{content:"";width:7px;height:7px;background:var(--primary);border-radius:50%;box-shadow:0 0 12px #ff4d00}
.hero h1{letter-spacing:-.055em;text-wrap:balance}.hero h1 span{text-shadow:0 0 35px #ff4d0026}.hero p{color:#ffffffc7;line-height:1.85}
.hero .btn,.btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.hero .btn:hover,.btn-outline-light:hover{transform:translateY(-3px)}
.btn-primary-custom{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 6px 18px #ff4d001f}
.btn-primary-custom:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff33 48%,transparent 75%);transform:translateX(-120%);transition:transform .65s}
.btn-primary-custom:hover:before{transform:translateX(120%)}.btn-primary-custom:hover{transform:translateY(-2px);box-shadow:var(--shadow-orange)}
.section{position:relative}.section-title{max-width:780px;margin-left:auto;margin-right:auto}.section-title h2{letter-spacing:-.04em;text-wrap:balance}
.section-title>span:after{content:"";display:block;width:42px;height:3px;background:var(--primary);margin:12px auto 0;border-radius:10px}
.page-header{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,#ff4d0033,transparent 36%),linear-gradient(135deg,#101012,#080809)}
.page-header:after{content:"";position:absolute;z-index:-1;right:5%;bottom:-75px;width:220px;height:220px;border:1px solid #ff4d0040;border-radius:50%;box-shadow:0 0 0 24px #ff4d0009,0 0 0 48px #ff4d0006}
.page-header h1{letter-spacing:-.045em}.page-header p{max-width:720px;margin:0 auto;color:#ffffffb8}
.value-card,.program-detail-card,.info-card,.pricing-card,.form-card,.coach-card,.gallery-item,.mini-stat{border-radius:16px}
.value-card,.program-detail-card,.info-card,.pricing-card{box-shadow:0 3px 16px #00000008}
.value-card,.program-detail-card,.info-card{position:relative;overflow:hidden}
.value-card:before,.program-detail-card:before,.info-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.value-card:hover:before,.program-detail-card:hover:before,.info-card:hover:before{transform:scaleX(1)}
.value-card:hover,.program-detail-card:hover,.info-card:hover,.pricing-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-soft);border-color:#ff4d0040}
.value-card i,.program-detail-card>i,.info-card i{transition:transform .35s,color .35s}
.value-card:hover i,.program-detail-card:hover>i,.info-card:hover i{transform:translateY(-4px) scale(1.06);color:var(--primary-dark)}
.program-detail-card a{display:inline-flex;align-items:center;gap:7px}.program-detail-card a:hover{gap:12px;color:var(--primary-dark)}
.stats-section{position:relative;overflow:hidden;background:linear-gradient(110deg,#0b0b0d,#1a1513 70%,#0b0b0d)}.stats-section strong{letter-spacing:-.05em}.stats-section span{display:block;margin-top:4px;font-size:.9rem}
.pricing-card.featured{box-shadow:0 15px 45px #ff4d001f}.pricing-card .btn{width:100%}
.coach-card img{transition:none;filter:none}.coach-card:hover img{transform:none;filter:none}
.gallery-item{box-shadow:0 8px 25px #00000014}.gallery-item:after{content:"";position:absolute;inset:0;border:1px solid #ffffff29;border-radius:inherit;pointer-events:none}.gallery-item>div{z-index:1}.gallery-item>div h5{margin:0;font-weight:800}.gallery-item:hover img{transform:scale(1.07)}
.filter-btn{transition:var(--transition)}.filter-btn:hover{transform:translateY(-2px)}
.form-card{box-shadow:var(--shadow-soft)}.form-control,.form-select{border-color:#dedee2;transition:border-color .2s,box-shadow .2s}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .22rem #ff4d001f}
.schedule-table{overflow:hidden;border-radius:12px}.schedule-table th{letter-spacing:.03em}.schedule-table tr:hover td{background:#fff8f4}
.cta-section{position:relative;isolation:isolate;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 0%,#ff4d003d,transparent 58%)}.cta-section h2{letter-spacing:-.04em}
footer{position:relative;overflow:hidden}footer a:hover{color:var(--primary)!important}footer .footer-logo{display:inline-block;margin-bottom:12px}
.scroll-animation{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.scroll-animation.show{opacity:1;transform:translateY(0)}
.scroll-animation:nth-child(2){transition-delay:.07s}.scroll-animation:nth-child(3){transition-delay:.14s}.scroll-animation:nth-child(4){transition-delay:.21s}
.back-to-top,.whatsapp-float{transition:opacity .25s,visibility .25s,transform .25s,box-shadow .25s}.back-to-top{box-shadow:0 7px 20px #0003}.back-to-top:hover{transform:translateY(-3px);box-shadow:var(--shadow-orange)}
.whatsapp-float{box-shadow:0 8px 24px #25d36647}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 28px #25d3665c}
@media(max-width:991px){.navbar-collapse{margin-top:12px;padding:12px 14px 16px;background:#0d0d0dfc;border:1px solid #ffffff14;border-radius:12px}.navbar .nav-link{padding:11px 8px!important}.navbar .nav-link:after{left:8px;right:auto;width:28px}.hero:before{background:linear-gradient(180deg,#0505062e 0%,#050506b8 40%,#050506f5 100%)}.hero-content{max-width:680px}.section-title{margin-bottom:36px}}
@media(max-width:575px){.hero h1{font-size:clamp(2.35rem,11vw,3.25rem);letter-spacing:-.05em}.hero p{font-size:1rem}.hero .btn{width:100%;margin:8px 0 0!important}.section-title h2{font-size:1.8rem}.value-card,.program-detail-card,.info-card,.pricing-card,.form-card{padding:23px}.stats-section{padding:42px 0}.stats-section strong{font-size:2rem}.page-header{padding-top:140px}.gallery-item{border-radius:12px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}}
@media(prefers-reduced-motion:reduce){.hero-content{animation:none}.scroll-animation{opacity:1;transform:none;transition:none}.navbar,.btn,.value-card,.program-detail-card,.info-card,.pricing-card,.coach-card img,.gallery-item img{transition:none!important}}

/* Barre fine de progression de lecture */
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:2005;background:var(--primary);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #ff4d0080;pointer-events:none}


/* Identité photo cohérente sur toutes les pages internes */
.page-header{
  background:
    linear-gradient(90deg,rgba(5,5,6,.94) 0%,rgba(5,5,6,.78) 55%,rgba(5,5,6,.66) 100%),
    url('../images/hero/banner.jpg') center 42%/cover no-repeat;
}
.page-header:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(255,77,0,.08),transparent 65%);pointer-events:none}
.page-header .container{z-index:1}
.page-header h1{text-shadow:0 3px 22px rgba(0,0,0,.24)}
/* Les photos sont traitées de façon homogène et restent légères sur mobile */
.program-item .program-detail-card{padding:0 0 26px;overflow:hidden}
.program-item .program-detail-card>i{margin:22px 26px 10px}
.program-item .program-detail-card h3,.program-item .program-detail-card p,.program-item .program-detail-card>span,.program-item .program-detail-card>a{margin-left:26px;margin-right:26px}
.program-photo{height:190px;overflow:hidden;position:relative;background:#151515}
.program-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent 55%);pointer-events:none}
.program-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .45s;filter:saturate(.86)}
.program-item .program-detail-card:hover .program-photo img{transform:scale(1.06);filter:saturate(1.08)}
.coach-card{box-shadow:0 7px 28px rgba(0,0,0,.055)}
.coach-card img{background:#171717}
.about-photo,.section .img-fluid.rounded-4{transition:transform .45s ease,box-shadow .45s ease}
.section .img-fluid.rounded-4:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(0,0,0,.16)!important}
.gallery-item img{filter:saturate(.92) contrast(1.02)}
.gallery-item:hover img{filter:saturate(1.08) contrast(1.03)}
.brand-logo{object-fit:contain}
footer .brand-logo{padding:5px 12px}
@media(max-width:575px){
 .program-photo{height:210px}
 .program-item .program-detail-card>i{margin:18px 22px 8px}
 .program-item .program-detail-card h3,.program-item .program-detail-card p,.program-item .program-detail-card>span,.program-item .program-detail-card>a{margin-left:22px;margin-right:22px}
 .page-header{background-position:center center}
}

/* Cartes photo sur la page d'accueil */
.home-program-card{padding:0;overflow:hidden}
.home-program-card>i{margin:22px 30px 10px}
.home-program-card h3,.home-program-card p,.home-program-card>a{margin-left:30px;margin-right:30px}
.home-program-card>a{margin-bottom:28px}
.home-program-card .program-photo{height:205px}
@media(max-width:575px){.home-program-card>i{margin:20px 23px 8px}.home-program-card h3,.home-program-card p,.home-program-card>a{margin-left:23px;margin-right:23px}.home-program-card .program-photo{height:190px}}

/* Affiche officielle de la section karaté : affichage net et responsive */
.karate-poster-section{background:var(--light)}.karate-poster{display:block;width:100%;max-width:900px;height:auto;margin:0 auto;object-fit:contain}
@media (max-width:576px){.karate-poster-section{padding-top:1rem!important;padding-bottom:1rem!important}.karate-poster{border-radius:12px!important}}

body{font-family:Arial,'Segoe UI',sans-serif;line-height:1.75}
h1,h2,h3,h4{font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.025em}
.btn-primary-custom{color:#211900}
.btn-primary-custom:hover{color:#211900}
.filter-btn.active,.filter-btn:hover{color:#211900}
.popular{color:#211900}
.home-page .navbar,.home-page .navbar.scrolled{background:rgba(52,43,16,.9)}
.home-page .stats-section{background:#f4e8b9;color:#302810}
.home-page .stats-section span{color:#625735}
.home-page .stats-section strong{color:#705500}
.home-page .hero{background:#302708}
.home-page .hero-slideshow{position:absolute;inset:0;z-index:0;overflow:hidden}
.home-page .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.home-page .hero-slide.active{opacity:1}
.home-page .hero:before{z-index:1;background:linear-gradient(90deg,rgba(35,27,7,.76),rgba(35,27,7,.22) 70%,rgba(35,27,7,.12))}
.home-page .hero:after{border-color:#d7a90059;box-shadow:0 0 0 45px #d7a90009,0 0 0 90px #d7a90006}
.home-page .hero h1 span{color:#f0c747;text-shadow:0 0 35px #d7a90026}
.home-page .hero .badge-custom{border-color:#d7a9006b;background:#d7a90017}
.home-page .hero .badge-custom:before{background:#f0c747;box-shadow:0 0 12px #d7a900}
.home-page .hero h1 .hero-title-highlight{box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .12em;background:#d7a900;color:#211900;text-shadow:none}
.home-page .section.bg-light{background:#fbf8ef!important}
@media(max-width:991px){
  .home-page .hero:before{background:linear-gradient(180deg,rgba(43,34,9,.08) 5%,rgba(43,34,9,.4) 40%,rgba(43,34,9,.84) 100%)}
}
.coach-card img{object-position:center top}
.coach-card img.coach-photo--sangone{object-position:center 25%}
.karate-gallery-card{height:180px;margin:0;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.09)}
.karate-gallery-card img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:575px){.karate-gallery-card{height:145px}}
.gallery-carousel{position:relative;padding:0 56px 38px}
.gallery-grid.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.gallery-grid.gallery-track::-webkit-scrollbar{display:none}
.gallery-track .gallery-item{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}
.gallery-carousel-control{position:absolute;z-index:2;top:calc(50% - 38px);width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--primary-dark);box-shadow:0 5px 18px rgba(0,0,0,.16);transition:transform .2s,background .2s}
.gallery-carousel-control:hover{background:var(--primary);transform:scale(1.08)}
.gallery-carousel-control.previous{left:0}
.gallery-carousel-control.next{right:0}
.gallery-carousel-indicators{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:9px}
.gallery-carousel-indicators button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#cfc8b3;transition:width .2s,background .2s}
.gallery-carousel-indicators button.active{width:25px;border-radius:8px;background:var(--primary)}
@media(max-width:991px){.gallery-track .gallery-item{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:575px){.gallery-carousel{padding:0 38px 34px}.gallery-grid.gallery-track{gap:12px}.gallery-track .gallery-item{flex-basis:100%}.gallery-carousel-control{width:34px;height:34px;top:calc(50% - 35px)}}
@media(prefers-reduced-motion:reduce){.gallery-grid.gallery-track{scroll-behavior:auto}.gallery-carousel-control,.gallery-carousel-indicators button{transition:none}}
@media(prefers-reduced-motion:reduce){.home-page .hero-slide{transition:none}}
