:root{--green:#143d34;--green2:#0d2c26;--gold:#c9a45c;--cream:#f7f3eb;--ink:#1f2522;--muted:#6b746f;--white:#fff;--shadow:0 18px 45px rgba(22,40,33,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.05;margin:0 0 16px}h1{font-size:clamp(3rem,7vw,6.3rem);font-weight:600}h1 span{font-size:.67em}h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:600}h3{font-size:1.65rem}p{margin:0 0 18px}a{color:inherit;text-decoration:none}.site-header{height:82px;position:fixed;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:0 4vw;color:white;background:linear-gradient(to bottom,rgba(4,19,16,.88),rgba(4,19,16,.35));transition:.3s}.site-header.scrolled{background:rgba(13,44,38,.96);box-shadow:0 8px 30px rgba(0,0,0,.15)}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;font-family:"Cormorant Garamond";color:var(--gold);font-size:1.2rem}.brand strong,.brand small{display:block;line-height:1.1}.brand small{font-size:.6rem;letter-spacing:.2em;margin-top:4px}.main-nav{display:flex;gap:24px;margin-left:auto;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.main-nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:2px;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.06em;border:1px solid transparent;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#fff}.btn-outline{border-color:rgba(255,255,255,.7);color:white}.btn-dark{background:var(--green);color:white}.header-cta{padding:11px 18px}.hero{min-height:780px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(120deg,#142f29 0%,#243f33 45%,#8c744d 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 36%,rgba(255,222,157,.45),transparent 25%),linear-gradient(90deg,rgba(5,22,18,.75),rgba(5,22,18,.08));}.hero:after{content:"PHOTO ÉQUESTRE PRINCIPALE";position:absolute;right:10%;top:45%;font-size:.75rem;letter-spacing:.2em;opacity:.45;border:1px dashed rgba(255,255,255,.35);padding:80px 45px}.hero-content{position:relative;z-index:2;max-width:850px;padding:140px 7vw 120px}.eyebrow{text-transform:uppercase;color:var(--gold);font-size:.74rem;letter-spacing:.15em;font-weight:700}.hero-lead{font-size:1.05rem;max-width:690px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-badges{position:absolute;right:3vw;bottom:34px;z-index:2;display:flex;background:rgba(11,45,37,.92)}.hero-badges div{padding:18px 22px;text-align:center;border-right:1px solid rgba(255,255,255,.15)}.hero-badges strong,.hero-badges span{display:block}.hero-badges strong{color:var(--gold)}.hero-badges span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.section,.section-narrow{padding:90px 6vw}.section-narrow{padding-top:30px;padding-bottom:30px}.strengths{display:grid;grid-template-columns:repeat(4,1fr);gap:0;box-shadow:var(--shadow);position:relative;z-index:4;background:#fff;margin:-28px auto 0;max-width:1200px}.strengths article{display:flex;gap:14px;padding:22px;border-right:1px solid #eee}.strengths article:last-child{border:0}.strengths span{font-size:1.8rem;color:var(--gold)}.strengths h3{font-size:1.2rem;margin-bottom:5px}.strengths p{font-size:.75rem;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 7vw;background:var(--green);color:#fff}.split-copy p:not(.eyebrow){color:rgba(255,255,255,.78)}.media-card{min-height:480px;display:grid;place-items:center}.photo{background:linear-gradient(135deg,#c5b497,#627a68);position:relative;overflow:hidden}.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 20%,rgba(255,255,255,.15),transparent 70%)}.media-card span{z-index:1;color:#fff;background:rgba(13,44,38,.72);padding:10px 14px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.section-title{text-align:center;max-width:760px;margin:0 auto 45px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.activity-card{background:#fff;box-shadow:0 8px 25px rgba(20,61,52,.08);padding-bottom:20px}.activity-card .photo{height:210px}.activity-card h3,.activity-card p{padding:0 18px}.activity-card h3{margin-top:18px;margin-bottom:8px}.activity-card p{font-size:.82rem;color:var(--muted)}.photo-1{background:linear-gradient(135deg,#8aa58c,#d8b37e)}.photo-2{background:linear-gradient(135deg,#4d6559,#b28a62)}.photo-3{background:linear-gradient(135deg,#a47756,#4f6e63)}.photo-4{background:linear-gradient(135deg,#496f55,#c7ac77)}.photo-5{background:linear-gradient(135deg,#d4b283,#8ca29c)}.photo-6{background:linear-gradient(135deg,#425f72,#b06a4e)}.photo-7{background:linear-gradient(135deg,#9b7958,#5e785e)}.photo-8{background:linear-gradient(135deg,#c5a779,#68786f)}.soft{background:var(--cream)}.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.infra-grid article{background:#fff;padding-bottom:18px}.infra-grid .photo{height:230px}.infra-grid h3,.infra-grid p{padding:0 18px}.infra-grid h3{margin:16px 0 7px}.infra-grid p{font-size:.82rem;color:var(--muted)}.competition{display:grid;grid-template-columns:1.1fr .9fr;background:var(--green2);color:white}.competition-gallery{display:grid;grid-template-columns:repeat(3,1fr);min-height:520px}.competition-gallery .photo{border-right:2px solid var(--green2)}.comp-1{background:linear-gradient(160deg,#8f6d49,#3e5e4b)}.comp-2{background:linear-gradient(160deg,#526a5d,#c39b6a)}.comp-3{background:linear-gradient(160deg,#a87750,#304f43)}.competition-copy{padding:75px 6vw;display:flex;flex-direction:column;justify-content:center}.competition-copy p:not(.eyebrow){color:rgba(255,255,255,.75)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 28px}.chips span{border:1px solid rgba(255,255,255,.25);padding:7px 10px;font-size:.7rem;text-transform:uppercase}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.three-cols article{border-top:3px solid var(--gold);padding:28px;background:var(--cream)}.three-cols p{color:var(--muted);font-size:.9rem}.clubhouse .split-copy{background:#fff;color:var(--ink)}.clubhouse .split-copy p:not(.eyebrow){color:var(--muted)}.photo-club{background:linear-gradient(135deg,#775b3d,#d7a75e)}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;background:var(--cream)}.contact-details{margin-top:28px}.contact-details a{color:var(--green);font-weight:700}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:#fff;padding:30px;box-shadow:var(--shadow)}.contact-form label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #ddd;font:inherit;background:white}.full{grid-column:1/-1}.contact-form small{color:var(--muted)}footer{background:var(--green2);color:#fff;padding:40px 6vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;align-items:start}footer a,footer span{display:block;color:rgba(255,255,255,.7);font-size:.78rem;margin-bottom:7px}.footer-brand strong{font-family:"Cormorant Garamond";font-size:1.6rem}.reveal{opacity:0;transform:translateY(25px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--green2);padding:20px;flex-direction:column}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.brand{min-width:0}.strengths{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(2,1fr)}.infra-grid{grid-template-columns:repeat(2,1fr)}.competition,.split,.contact{grid-template-columns:1fr}.competition-gallery{min-height:360px}.three-cols{grid-template-columns:1fr}.hero-badges{display:none}footer{grid-template-columns:1fr 1fr}}@media(max-width:620px){.site-header{padding:0 18px}.brand small{display:none}.hero{min-height:700px}.hero-content{padding:125px 22px 90px}.hero:after{display:none}.section,.section-narrow{padding:65px 20px}.strengths{grid-template-columns:1fr;margin:0}.strengths article{border-right:0;border-bottom:1px solid #eee}.card-grid,.infra-grid{grid-template-columns:1fr}.competition-gallery{grid-template-columns:1fr;height:420px}.competition-gallery .photo:nth-child(n+2){display:none}.contact-form{grid-template-columns:1fr;padding:22px}.full{grid-column:auto}footer{grid-template-columns:1fr}.actions .btn{width:100%}}

body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.custom-photo{background-size:cover!important;background-position:center!important}.custom-photo:before{display:none}.hero.custom-photo:after{display:none}


.team-section{background:#fff}
.team-section .section-title>p:last-child{max-width:680px;margin:0 auto;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto}
.team-card{background:#fff;box-shadow:var(--shadow);overflow:hidden;border-bottom:3px solid transparent;transition:.3s}
.team-card:hover{transform:translateY(-6px);border-bottom-color:var(--gold)}
.team-photo{height:430px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.team-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,44,38,.42),transparent 45%)}
.team-content{padding:26px}
.team-content h3{font-size:2rem;margin-bottom:10px}
.team-content p{font-size:.86rem;color:var(--muted)}
.team-specialty{margin:0 0 7px!important;color:var(--gold)!important;text-transform:uppercase;font-size:.7rem!important;letter-spacing:.11em;font-weight:700}
.text-link{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--green)}
@media(max-width:1000px){.team-grid{grid-template-columns:1fr 1fr}.team-card:last-child{grid-column:1/-1;max-width:580px;width:100%;justify-self:center}}
@media(max-width:620px){.team-grid{grid-template-columns:1fr}.team-card:last-child{grid-column:auto}.team-photo{height:390px}}


/* PAGE PROFESSEUR — MARION */
.teacher-page{background:#fbfaf7}
.teacher-hero{min-height:760px;display:flex;align-items:center;position:relative;color:#fff;background:linear-gradient(120deg,#0b3027,#294d3e 58%,#9a7d55);background-size:cover;background-position:center 35%;padding:130px 7vw 90px}
.teacher-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,24,19,.34),transparent 50%);pointer-events:none}
.teacher-hero-inner{position:relative;z-index:2;max-width:900px}
.teacher-hero h1{font-size:clamp(4.2rem,8vw,7.5rem);margin:8px 0 12px;color:#fff}
.teacher-subtitle{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.88)}
.teacher-hero blockquote{font-family:"Cormorant Garamond";font-size:clamp(1.5rem,2.5vw,2.2rem);max-width:720px;margin:30px 0 0;border-left:2px solid var(--gold);padding-left:22px;color:#f2e7d3}
.teacher-highlights{display:grid;grid-template-columns:repeat(4,1fr);max-width:1180px;margin:-34px auto 0;position:relative;z-index:5;background:#fff;box-shadow:var(--shadow)}
.teacher-highlights div{padding:24px;border-right:1px solid #eee}.teacher-highlights div:last-child{border:0}
.teacher-highlights strong,.teacher-highlights span{display:block}.teacher-highlights strong{font-family:"Cormorant Garamond";font-size:1.45rem}.teacher-highlights span{font-size:.72rem;color:var(--muted);margin-top:4px}
.teacher-section{padding:100px 7vw}
.teacher-intro,.teacher-coaching{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}
.teacher-photo{min-height:540px;background:linear-gradient(145deg,#365d4e,#c0a373);background-size:cover;background-position:center;display:grid;place-items:center;box-shadow:var(--shadow)}
.teacher-photo span,.teacher-gallery-item span{color:#fff;background:rgba(8,41,32,.75);padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.teacher-copy h2,.teacher-heading h2{font-size:clamp(2.8rem,5vw,4.5rem);margin:8px 0 25px}
.teacher-copy p:not(.eyebrow){color:var(--muted);font-size:.98rem}
.teacher-dark{background:var(--green2);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.teacher-dark .teacher-copy p:not(.eyebrow){color:rgba(255,255,255,.75)}
.teacher-achievements{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.teacher-achievements article{border:1px solid rgba(255,255,255,.15);padding:24px;background:rgba(255,255,255,.04)}
.teacher-achievements span{color:var(--gold);font-size:.72rem}.teacher-achievements h3{font-size:1.6rem;margin:6px 0}.teacher-achievements p{font-size:.78rem;color:rgba(255,255,255,.68)}
.teacher-philosophy{min-height:500px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(135deg,#315749,#9d7c50);background-size:cover;background-position:center;padding:80px 7vw}
.teacher-philosophy>div{max-width:980px}.teacher-philosophy blockquote{font-family:"Cormorant Garamond";font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.15;margin:20px 0}
.teacher-heading{text-align:center;max-width:760px;margin:0 auto 45px}
.teacher-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.teacher-service-grid article{background:#fff;padding:30px;border-top:3px solid var(--gold);box-shadow:0 10px 30px rgba(20,61,52,.08)}
.teacher-service-grid span{color:var(--gold);font-size:.72rem}.teacher-service-grid h3{font-size:1.65rem;margin:8px 0}.teacher-service-grid p{font-size:.8rem;color:var(--muted)}
.teacher-coaching{background:var(--cream);grid-template-columns:1.05fr .95fr}
.teacher-gallery-section{padding:100px 7vw;background:#fff}
.teacher-gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:260px 260px;gap:14px}
.teacher-gallery-item{background:linear-gradient(145deg,#486b5c,#b99b6f);background-size:cover;background-position:center;display:grid;place-items:center}
.teacher-gallery-item:first-child{grid-row:1/3}.teacher-gallery-item:nth-child(4){grid-column:2/4}
.teacher-cta{padding:75px 7vw;background:var(--green);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}
.teacher-cta h2{font-size:clamp(2.7rem,5vw,4.5rem);margin:7px 0}.teacher-cta p:not(.eyebrow){color:rgba(255,255,255,.75);max-width:720px}
.standard-page-content{max-width:980px;margin:0 auto;background:#fff;padding:45px;box-shadow:var(--shadow)}
@media(max-width:1000px){
 .teacher-highlights{grid-template-columns:1fr 1fr;margin:0}.teacher-intro,.teacher-dark,.teacher-coaching{grid-template-columns:1fr}
 .teacher-service-grid{grid-template-columns:1fr 1fr}.teacher-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 250px 250px}
 .teacher-gallery-item:first-child{grid-row:auto;grid-column:1/3}.teacher-gallery-item:nth-child(4){grid-column:1/3}
}
@media(max-width:620px){
 .teacher-hero{min-height:680px;padding:120px 22px 70px}.teacher-hero h1{font-size:4rem}
 .teacher-highlights{grid-template-columns:1fr}.teacher-highlights div{border-right:0;border-bottom:1px solid #eee}
 .teacher-section,.teacher-gallery-section{padding:68px 20px}.teacher-photo{min-height:440px}.teacher-achievements,.teacher-service-grid{grid-template-columns:1fr}
 .teacher-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,300px)}.teacher-gallery-item:first-child,.teacher-gallery-item:nth-child(4){grid-column:auto}
 .teacher-cta{padding:60px 22px;flex-direction:column;align-items:flex-start}.teacher-cta .btn{width:100%}
}


/* PARCOURS INTERNATIONAL MARION */
.international-intro{min-height:560px;display:flex;align-items:center;padding:95px 7vw;color:#fff;background:linear-gradient(125deg,#082b22,#31584a 62%,#a18054);background-size:cover;background-position:center}
.international-copy{max-width:850px}
.international-copy h2{font-size:clamp(3rem,6vw,5.3rem);color:#fff;margin:8px 0 24px}
.international-copy p:not(.eyebrow){max-width:760px;color:rgba(255,255,255,.78);font-size:1rem}
.international-results{background:#f5f0e5}
.international-results .teacher-heading>p:last-child{color:var(--muted);max-width:760px;margin:0 auto}
.international-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1180px;margin:0 auto 70px}
.international-card{background:#fff;padding:34px;box-shadow:0 14px 38px rgba(20,61,52,.09);border-top:4px solid #d5c39b}
.international-card.featured{background:var(--green2);color:#fff;border-top-color:var(--gold)}
.international-label{display:block;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:10px}
.international-card h3{font-size:2rem;margin:0 0 12px}
.international-card p{font-size:.88rem;color:var(--muted);margin:0}
.international-card.featured p{color:rgba(255,255,255,.76)}
.international-timeline{display:grid;grid-template-columns:repeat(6,1fr);max-width:1180px;margin:0 auto;position:relative}
.international-timeline:before{content:"";position:absolute;left:4%;right:4%;top:19px;height:1px;background:#cbb98e}
.international-timeline>div{position:relative;text-align:center;padding:0 8px}
.international-timeline span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.68rem;margin:0 auto 14px;position:relative;z-index:2}
.international-timeline strong,.international-timeline small{display:block}
.international-timeline strong{font-family:"Cormorant Garamond";font-size:1.25rem}
.international-timeline small{font-size:.68rem;color:var(--muted);margin-top:5px}
@media(max-width:900px){
 .international-cards{grid-template-columns:1fr}
 .international-timeline{grid-template-columns:1fr 1fr 1fr;gap:28px}
 .international-timeline:before{display:none}
}
@media(max-width:620px){
 .international-intro{min-height:520px;padding:75px 22px}
 .international-results{padding-left:20px;padding-right:20px}
 .international-timeline{grid-template-columns:1fr 1fr}
}


/* IDENTITÉ NELL */
.nell-page{--nell-sage:#657d70;--nell-cream:#f4f0e8}
.nell-hero{background:linear-gradient(120deg,#354c43,#89988f 55%,#c8bda8)}
.nell-highlights{background:#fbfaf7}
.nell-competition{min-height:560px;display:flex;align-items:center;padding:95px 7vw;color:#fff;background:linear-gradient(125deg,#354c43,#71877b 62%,#b9ac93);background-size:cover;background-position:center}
.nell-results{background:var(--nell-cream)}
.nell-philosophy{background:linear-gradient(135deg,#52695e,#a8a895);color:#fff}
.nell-coaching{background:#f4f0e8}
.nell-gallery-section{background:#fbfaf7}
.nell-cta{background:#435b50}

/* IDENTITÉ AMBRE */
.ambre-page{--ambre-brown:#6b5131;--ambre-cream:#f5ecdf}
.ambre-hero{background:linear-gradient(120deg,#5f492c,#9a7a4b 58%,#d1b276)}
.ambre-highlights{background:#fbf4e9}
.ambre-training{padding:95px 7vw;background:#6b5131;color:#fff}
.ambre-training .teacher-copy{max-width:920px;margin:0 auto}
.ambre-training .teacher-copy h2{color:#fff}
.ambre-training .teacher-copy p:not(.eyebrow){color:rgba(255,255,255,.78)}
.ambre-values{background:var(--ambre-cream)}
.ambre-philosophy{background:linear-gradient(135deg,#7b5e35,#bc955f);color:#fff}
.ambre-coaching{background:#fbf4e9}
.ambre-gallery-section{background:#fffaf3}
.ambre-cta{background:#6b5131}

/* COMMON PAGE POLISH */
.nell-page .teacher-service-grid article{border-top-color:#81978c}
.ambre-page .teacher-service-grid article{border-top-color:#c28f4f}
.nell-page .eyebrow{color:#9a8b70}
.ambre-page .eyebrow{color:#d5ae73}


/* CORRECTIONS 2.0.1 — LISIBILITÉ & NAVIGATION */
.nell-page .teacher-photo span,
.nell-page .teacher-gallery-item span,
.nell-page .teacher-photo .image-placeholder,
.nell-page .teacher-gallery-item .image-placeholder{
  color:#fff!important;
  background:rgba(5,34,27,.88)!important;
  border:1px solid rgba(255,255,255,.65);
  padding:12px 18px!important;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  backdrop-filter:blur(4px);
}

.nell-page .teacher-photo,
.nell-page .teacher-gallery-item{
  position:relative;
}

.nell-page .teacher-photo:after,
.nell-page .teacher-gallery-item:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(12,39,30,.30),rgba(12,39,30,.04));
  pointer-events:none;
}

.nell-page .teacher-photo span,
.nell-page .teacher-gallery-item span{
  position:relative;
  z-index:2;
}


/* VERSION 2.0.3 — LIENS ACTIVITÉS */
.events-tags,
.event-tags,
.sport-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.events-tags a,
.event-tags a,
.sport-tags a{
  transition:.25s ease;
}
.events-tags a:hover,
.event-tags a:hover,
.sport-tags a:hover{
  background:var(--gold);
  color:var(--green2);
  border-color:var(--gold);
  transform:translateY(-2px);
}


/* CORRECTION 2.0.4 */
.competition .chips a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(255,255,255,.34);color:#fff;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;transition:.25s}
.competition .chips a:hover{background:var(--gold);border-color:var(--gold);color:var(--green2);transform:translateY(-2px)}


/* VERSION 2.0.5 — PAGES D’INSCRIPTION */
.registration-page{background:#f6f1e7;min-height:70vh}
.registration-hero{padding:150px 7vw 90px;background:linear-gradient(125deg,#0b382d,#375e4e);color:#fff}
.registration-obstacle .registration-hero{background:linear-gradient(125deg,#153b30,#7b5d39)}
.registration-stages .registration-hero{background:linear-gradient(125deg,#2f4f42,#a27d4b)}
.registration-hero-inner{max-width:1000px;margin:0 auto}
.registration-hero h1{font-size:clamp(3.2rem,6vw,5.8rem);color:#fff;margin:8px 0 20px}
.registration-hero p:not(.eyebrow){max-width:700px;color:rgba(255,255,255,.78);font-size:1rem}
.registration-content{padding:70px 7vw 100px}
.registration-box{max-width:1000px;margin:0 auto;background:#fff;padding:45px;box-shadow:0 18px 50px rgba(20,61,52,.10)}
.forms-placeholder{padding:60px 25px;border:2px dashed #c9a456;text-align:center;background:#fbf8f0}
.forms-placeholder h2{font-size:2.2rem;margin-bottom:12px}
.forms-placeholder p{max-width:660px;margin:0 auto;color:var(--muted)}
.registration-box iframe{width:100%!important;max-width:100%;border:0}
@media(max-width:620px){
  .registration-hero{padding:120px 22px 70px}
  .registration-content{padding:45px 20px 70px}
  .registration-box{padding:22px}
}


/* VERSION 2.0.7 — MENU DIVERS */
.main-nav{align-items:center}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  font:inherit;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
}
.nav-dropdown-toggle:hover,
.nav-dropdown:focus-within .nav-dropdown-toggle{color:var(--gold)}
.nav-dropdown .sub-menu{
  display:none;
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  transform:translateX(-50%);
  min-width:190px;
  margin:0;
  padding:10px 0;
  list-style:none;
  background:var(--green2);
  box-shadow:0 16px 38px rgba(0,0,0,.22);
  border-top:2px solid var(--gold);
}
.nav-dropdown.open .sub-menu{display:block}
.nav-dropdown .sub-menu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:20px;
}
.nav-dropdown .sub-menu li{margin:0}
.nav-dropdown .sub-menu a{
  display:block;
  padding:11px 18px;
  white-space:nowrap;
  color:#fff;
  font-size:.72rem;
}
.nav-dropdown .sub-menu a:hover{
  background:rgba(255,255,255,.08);
  color:var(--gold);
}

@media(max-width:1000px){
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown-toggle{
    width:100%;
    text-align:left;
    padding:8px 0;
  }
  .nav-dropdown .sub-menu{
    display:none;
    position:static;
    transform:none;
    min-width:0;
    margin:5px 0 0 14px;
    padding:0 0 0 12px;
    background:transparent;
    box-shadow:none;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.2);
  }
  .nav-dropdown .sub-menu a{padding:7px 10px}
}


/* VERSION 2.0.8 — DIVERS AU CLIC UNIQUEMENT */
.nav-dropdown-toggle{
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  padding:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.site-header.scrolled .nav-dropdown-toggle{color:#fff!important}
.nav-dropdown-toggle span{
  display:inline-block;
  margin-left:5px;
  transition:transform .2s ease;
}
.nav-dropdown.open .nav-dropdown-toggle span{transform:rotate(180deg)}
.nav-dropdown .sub-menu{display:none!important}
.nav-dropdown.open .sub-menu{display:block!important}

@media(max-width:1000px){
  .nav-dropdown .sub-menu{display:none!important}
  .nav-dropdown.open .sub-menu{display:block!important}
}


/* VERSION 2.1.0 — PAGE R.O.I. */
.roi-page{
  background:#f4efe5;
  min-height:70vh;
}
.roi-hero{
  padding:155px 7vw 95px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(201,164,86,.25),transparent 32%),
    linear-gradient(125deg,#082d24,#16483a 58%,#766343);
}
.roi-hero-inner{
  max-width:1050px;
  margin:0 auto;
}
.roi-hero h1{
  color:#fff;
  font-size:clamp(3.8rem,7vw,6.8rem);
  margin:8px 0 18px;
}
.roi-hero p:not(.eyebrow){
  max-width:680px;
  color:rgba(255,255,255,.76);
  font-size:1rem;
}
.roi-content-section{
  padding:75px 7vw 105px;
}
.roi-content-card{
  max-width:1050px;
  margin:0 auto;
  padding:55px 65px;
  background:#fff;
  box-shadow:0 20px 60px rgba(11,56,45,.11);
  border-top:5px solid var(--gold);
}
.roi-document{
  color:#243c33;
  font-size:.98rem;
  line-height:1.8;
}
.roi-document h1,
.roi-document h2,
.roi-document h3,
.roi-document h4{
  color:var(--green2);
  margin-top:2em;
  margin-bottom:.65em;
}
.roi-document h2{
  font-size:2.2rem;
  padding-bottom:10px;
  border-bottom:1px solid #dfd7c7;
}
.roi-document h3{
  font-size:1.55rem;
}
.roi-document p,
.roi-document li{
  color:#4e5e57;
}
.roi-document ul,
.roi-document ol{
  padding-left:1.4rem;
}
.roi-document li{
  margin-bottom:.55rem;
}
.roi-document strong{
  color:var(--green2);
}
.roi-document blockquote{
  margin:30px 0;
  padding:20px 24px;
  border-left:4px solid var(--gold);
  background:#f8f4eb;
  color:#45564f;
}
.roi-document table{
  width:100%;
  border-collapse:collapse;
  margin:28px 0;
}
.roi-document th,
.roi-document td{
  padding:13px 15px;
  border:1px solid #ded7c8;
  text-align:left;
}
.roi-document th{
  background:var(--green);
  color:#fff;
}
.roi-document a{
  color:#8d6c2f;
  text-decoration:underline;
  text-underline-offset:3px;
}
.roi-footer-cta{
  padding:72px 7vw;
  background:var(--green2);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
}
.roi-footer-cta>div{
  max-width:760px;
}
.roi-footer-cta h2{
  color:#fff;
  font-size:clamp(2.4rem,4.5vw,4rem);
  margin:8px 0 12px;
}
.roi-footer-cta p:not(.eyebrow){
  color:rgba(255,255,255,.72);
}
@media(max-width:760px){
  .roi-hero{
    padding:125px 22px 72px;
  }
  .roi-content-section{
    padding:45px 18px 70px;
  }
  .roi-content-card{
    padding:30px 22px;
  }
  .roi-footer-cta{
    padding:55px 22px;
    flex-direction:column;
    align-items:flex-start;
  }
  .roi-footer-cta .btn{
    width:100%;
  }
}


/* VERSION 2.1.2 — CONTENU R.O.I. */
.roi-empty-notice{
  padding:45px 30px;
  text-align:center;
  background:#f8f4eb;
  border:1px dashed #c9a456;
}
.roi-empty-notice h2{
  margin-top:0;
  font-size:2rem;
}
.roi-empty-notice p{
  max-width:680px;
  margin:0 auto 18px;
}


/* VERSION 2.1.4 — SERVICE DE NETTOYAGE */
.cleaning-page{
  background:#f4efe5;
}
.cleaning-hero{
  padding:155px 7vw 95px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(201,164,86,.28),transparent 32%),
    linear-gradient(125deg,#082d24,#16483a 58%,#806b49);
}
.cleaning-hero-inner{
  max-width:1100px;
  margin:0 auto;
}
.cleaning-hero h1{
  color:#fff;
  font-size:clamp(3.7rem,7vw,6.6rem);
  margin:8px 0 18px;
}
.cleaning-hero p:not(.eyebrow){
  max-width:720px;
  color:rgba(255,255,255,.78);
}
.cleaning-intro{
  padding:85px 7vw;
}
.cleaning-intro-grid{
  max-width:1150px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:70px;
  align-items:center;
}
.cleaning-photo-placeholder{
  min-height:470px;
  display:grid;
  place-items:center;
  padding:30px;
  text-align:center;
  color:#fff;
  background:
    linear-gradient(rgba(9,48,38,.35),rgba(9,48,38,.35)),
    linear-gradient(145deg,#31594a,#b19262);
  box-shadow:0 20px 55px rgba(11,56,45,.12);
}
.cleaning-photo-placeholder span{
  padding:12px 16px;
  background:rgba(7,37,29,.78);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.cleaning-copy h2{
  font-size:clamp(2.8rem,5vw,4.5rem);
  margin:8px 0 24px;
}
.cleaning-copy p:not(.eyebrow){
  color:#5e6a65;
}
.cleaning-content-section{
  padding:0 7vw 100px;
}
.cleaning-content-card{
  max-width:1150px;
  margin:0 auto;
  padding:55px 62px;
  background:#fff;
  border-top:5px solid var(--gold);
  box-shadow:0 20px 60px rgba(11,56,45,.11);
}
.cleaning-document h2{
  font-size:2.4rem;
  margin:0 0 30px;
}
.cleaning-document .wp-block-columns{
  gap:18px;
}
.cleaning-document .wp-block-column{
  padding:25px;
  background:#f8f4eb;
  border:1px solid #e0d7c7;
}
.cleaning-document .wp-block-column h3{
  font-size:1.35rem;
  margin:0 0 12px;
}
.cleaning-document .wp-block-column p{
  font-size:1.6rem;
  color:var(--green2);
  margin:0;
}
.cleaning-document ul{
  padding-left:1.2rem;
  color:#56645d;
}
.cleaning-document li{
  margin-bottom:.65rem;
}
.cleaning-document blockquote{
  margin:30px 0 0;
  padding:22px 26px;
  border-left:4px solid var(--gold);
  background:#f7f1e4;
}
.cleaning-notice{
  padding:75px 7vw;
  background:var(--green2);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
}
.cleaning-notice>div{
  max-width:760px;
}
.cleaning-notice h2{
  color:#fff;
  font-size:clamp(2.6rem,5vw,4.4rem);
  margin:8px 0 15px;
}
.cleaning-notice p:not(.eyebrow){
  color:rgba(255,255,255,.73);
}
.cleaning-empty-notice{
  padding:45px 30px;
  text-align:center;
  border:1px dashed var(--gold);
  background:#f8f4eb;
}
@media(max-width:900px){
  .cleaning-intro-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .cleaning-hero{
    padding:125px 22px 72px;
  }
  .cleaning-intro{
    padding:55px 20px;
  }
  .cleaning-content-section{
    padding:0 18px 70px;
  }
  .cleaning-content-card{
    padding:30px 22px;
  }
  .cleaning-notice{
    padding:55px 22px;
    flex-direction:column;
    align-items:flex-start;
  }
  .cleaning-notice .btn{
    width:100%;
  }
}


/* VERSION 3.0.0 — ARCHITECTURE SÛRE ET CONTENU DE SECOURS */
.cleaning-default-content{
  display:block;
}
.cleaning-section-heading{
  max-width:760px;
  margin-bottom:35px;
}
.cleaning-section-heading h2{
  margin:6px 0 12px;
  font-size:clamp(2.5rem,4.5vw,4rem);
}
.cleaning-section-heading p:not(.eyebrow){
  color:var(--muted);
}
.cleaning-price-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-bottom:55px;
}
.cleaning-price-card{
  padding:28px 24px;
  background:#f8f4eb;
  border:1px solid #dfd5c2;
  border-top:4px solid var(--gold);
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.cleaning-price-icon{
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}
.cleaning-price-card h3{
  margin:18px 0;
  font-size:1.45rem;
}
.cleaning-price-card strong{
  color:var(--green2);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2.2rem;
}
.cleaning-guidelines{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:55px;
  align-items:start;
  padding:40px;
  background:var(--green2);
  color:#fff;
}
.cleaning-guidelines h2{
  color:#fff;
  font-size:clamp(2.2rem,4vw,3.6rem);
  margin:7px 0 0;
}
.cleaning-guidelines ul{
  margin:0;
  padding-left:1.25rem;
}
.cleaning-guidelines li{
  color:rgba(255,255,255,.8);
  margin-bottom:14px;
}
.cleaning-client-only{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:32px 0 0;
  padding:25px 28px;
  border-left:5px solid var(--gold);
  background:#f7f1e4;
}
.cleaning-client-only strong{
  color:var(--green2);
  font-size:1.2rem;
}
.cleaning-client-only span{
  color:#59665f;
}
@media(max-width:950px){
  .cleaning-price-grid{
    grid-template-columns:1fr 1fr;
  }
  .cleaning-guidelines{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .cleaning-price-grid{
    grid-template-columns:1fr;
  }
  .cleaning-guidelines{
    padding:28px 22px;
  }
}


/* VERSION 3.0.1 — PAGES DIVERS INDÉPENDANTES */
.divers-page{
  min-height:70vh;
  background:#f4efe5;
}
.divers-hero{
  padding:150px 7vw 90px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 16%,rgba(201,164,86,.25),transparent 30%),
    linear-gradient(125deg,#082d24,#16483a 60%,#806b49);
}
.divers-hero-inner{
  max-width:1080px;
  margin:0 auto;
}
.divers-hero h1{
  color:#fff;
  margin:8px 0 18px;
  font-size:clamp(3.5rem,7vw,6.4rem);
}
.divers-hero p:not(.eyebrow){
  max-width:720px;
  color:rgba(255,255,255,.76);
}
.divers-content-section{
  padding:70px 7vw 100px;
}
.divers-content-card{
  max-width:1080px;
  margin:0 auto;
  padding:52px 60px;
  background:#fff;
  border-top:5px solid var(--gold);
  box-shadow:0 20px 60px rgba(11,56,45,.11);
}
.divers-document{
  line-height:1.8;
  color:#4f5e57;
}
.divers-document h1,
.divers-document h2,
.divers-document h3{
  color:var(--green2);
}
.divers-document h2{
  margin-top:1.8em;
  padding-bottom:10px;
  border-bottom:1px solid #dfd7c7;
  font-size:2.25rem;
}
.divers-document h3{
  font-size:1.55rem;
}
.divers-document a{
  color:#8d6c2f;
  text-decoration:underline;
  text-underline-offset:3px;
}
.divers-document blockquote{
  margin:28px 0;
  padding:20px 24px;
  background:#f8f4eb;
  border-left:4px solid var(--gold);
}
.divers-document iframe,
.divers-document img{
  max-width:100%;
}
.divers-empty-notice{
  padding:52px 30px;
  text-align:center;
  background:#f8f4eb;
  border:1px dashed var(--gold);
}
.divers-empty-notice h2{
  margin-top:0;
  font-size:2.25rem;
}
.divers-footer-cta{
  padding:70px 7vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  color:#fff;
  background:var(--green2);
}
.divers-footer-cta>div{
  max-width:760px;
}
.divers-footer-cta h2{
  color:#fff;
  margin:8px 0 12px;
  font-size:clamp(2.5rem,4.5vw,4rem);
}
.divers-footer-cta p:not(.eyebrow){
  color:rgba(255,255,255,.72);
}
@media(max-width:700px){
  .divers-hero{
    padding:125px 22px 72px;
  }
  .divers-content-section{
    padding:45px 18px 70px;
  }
  .divers-content-card{
    padding:30px 22px;
  }
  .divers-footer-cta{
    padding:55px 22px;
    flex-direction:column;
    align-items:flex-start;
  }
  .divers-footer-cta .btn{
    width:100%;
  }
}


/* VERSION 3.1.0 — MODÈLES PREMIUM RÉUTILISABLES */
.cab-premium-page{background:#f4efe5;min-height:70vh}
.cab-page-hero{padding:155px 7vw 95px;color:#fff;background:radial-gradient(circle at 82% 16%,rgba(201,164,86,.26),transparent 31%),linear-gradient(125deg,#082d24,#16483a 60%,#806b49);background-size:cover;background-position:center}
.cab-page-hero-inner{max-width:1100px;margin:0 auto}
.cab-page-hero h1{color:#fff;font-size:clamp(3.6rem,7vw,6.7rem);margin:8px 0 18px}
.cab-page-hero p:not(.eyebrow){max-width:750px;color:rgba(255,255,255,.78);font-size:1rem}
.cab-page-body{padding:72px 7vw 100px}
.cab-page-card{max-width:1100px;margin:0 auto;padding:55px 65px;background:#fff;border-top:5px solid var(--gold);box-shadow:0 20px 60px rgba(11,56,45,.11)}
.cab-rich-content{color:#4f5e57;line-height:1.8}
.cab-rich-content h1,.cab-rich-content h2,.cab-rich-content h3,.cab-rich-content h4{color:var(--green2)}
.cab-rich-content h2{font-size:2.35rem;margin-top:1.8em;padding-bottom:10px;border-bottom:1px solid #dfd7c7}
.cab-rich-content h3{font-size:1.6rem}
.cab-rich-content a{color:#8d6c2f;text-decoration:underline;text-underline-offset:3px}
.cab-rich-content blockquote{margin:28px 0;padding:22px 25px;background:#f8f4eb;border-left:4px solid var(--gold)}
.cab-rich-content img,.cab-rich-content iframe{max-width:100%;height:auto}
.cab-rich-content table{width:100%;border-collapse:collapse;margin:25px 0}
.cab-rich-content th,.cab-rich-content td{padding:12px 14px;border:1px solid #ddd6c9;text-align:left}
.cab-rich-content th{background:var(--green);color:#fff}
.cab-empty-state{padding:55px 30px;text-align:center;background:#f8f4eb;border:1px dashed var(--gold)}
.cab-empty-state.compact{padding:28px 20px}
.cab-empty-state h2{margin-top:0;font-size:2.2rem}
.cab-page-cta{padding:72px 7vw;background:var(--green2);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}
.cab-page-cta>div{max-width:760px}
.cab-page-cta h2{color:#fff;font-size:clamp(2.5rem,4.6vw,4rem);margin:8px 0 12px}
.cab-page-cta p:not(.eyebrow){color:rgba(255,255,255,.72)}
.cab-document-card{max-width:980px}
.cab-document-content{font-size:.98rem}
.cab-contest-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;max-width:1200px;margin:0 auto;padding:72px 7vw 100px}
.cab-contest-info,.cab-form-panel{background:#fff;padding:45px;box-shadow:0 18px 50px rgba(11,56,45,.10)}
.cab-contest-info{border-top:5px solid var(--gold)}
.cab-form-panel{align-self:start;position:sticky;top:110px;background:var(--green2);color:#fff}
.cab-form-panel h2{color:#fff;font-size:2.4rem;margin:5px 0 22px}
.cab-form-panel .cab-empty-state{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.25);color:#fff}
.cab-form-embed iframe{width:100%!important;max-width:100%;border:0}
@media(max-width:900px){.cab-contest-layout{grid-template-columns:1fr}.cab-form-panel{position:static}}
@media(max-width:700px){
 .cab-page-hero{padding:125px 22px 72px}
 .cab-page-body{padding:45px 18px 70px}
 .cab-page-card,.cab-contest-info,.cab-form-panel{padding:30px 22px}
 .cab-contest-layout{padding:45px 18px 70px}
 .cab-page-cta{padding:55px 22px;flex-direction:column;align-items:flex-start}
 .cab-page-cta .btn{width:100%}
}


/* VERSION 3.1.1 — PHOTO DE PRÉSENTATION DES SERVICES */
.cleaning-photo-placeholder{
  position:relative;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  transition:transform .35s ease, box-shadow .35s ease;
}
.cleaning-photo-placeholder.has-image{
  background-color:#31594a;
}
.cleaning-photo-placeholder.has-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(5,35,27,.52),transparent 48%);
  pointer-events:none;
}
.cleaning-photo-placeholder.has-image:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 65px rgba(11,56,45,.18);
}
.cleaning-photo-placeholder .cleaning-photo-caption{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:2;
  padding:11px 16px;
  background:rgba(6,42,32,.88);
  border-left:3px solid var(--gold);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}


/* VERSION 4.0.0 — PARTENAIRE PREMIUM */
.cab-partner-hero{min-height:700px;display:flex;align-items:center}
.cab-partner-intro{padding:95px 7vw;background:#fbfaf7}
.cab-partner-intro-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;align-items:center}
.cab-partner-visual{min-height:530px;background:linear-gradient(145deg,#354f46,#b69a6d);background-size:cover;background-position:center;display:grid;place-items:center;box-shadow:0 24px 65px rgba(11,56,45,.14)}
.cab-partner-visual span,.cab-gallery-placeholder-grid span{padding:10px 14px;background:rgba(7,35,27,.82);color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.cab-partner-copy h2,.cab-page-section-heading h2,.cab-stock-section h2{font-size:clamp(2.8rem,5vw,4.7rem);margin:8px 0 24px}
.cab-partner-copy p:not(.eyebrow){color:var(--muted)}
.cab-partner-benefits{padding:95px 7vw;background:#f2ecdf}
.cab-page-section-heading{text-align:center;max-width:800px;margin:0 auto 45px}
.cab-feature-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cab-feature-grid article{background:#fff;padding:30px;border-top:4px solid var(--gold);box-shadow:0 12px 35px rgba(11,56,45,.08)}
.cab-feature-grid span{color:var(--gold);font-size:.72rem;letter-spacing:.12em;font-weight:700}
.cab-feature-grid h3{font-size:1.8rem;margin:10px 0}
.cab-feature-grid p{color:var(--muted);font-size:.84rem}
.cab-stock-section{padding:85px 7vw;background:var(--green2);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}
.cab-stock-section h2{color:#fff}
.cab-stock-section p:not(.eyebrow){color:rgba(255,255,255,.74)}
.cab-stock-section ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cab-stock-section li{padding:15px 18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.cab-stock-section li:before{content:"✓";color:var(--gold);margin-right:10px;font-weight:700}
.cab-partner-gallery{padding:95px 7vw;background:#fff}
.cab-gallery-placeholder-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:260px 260px;gap:14px}
.cab-gallery-placeholder-grid>div{display:grid;place-items:center;background:linear-gradient(145deg,#49685c,#bea373);background-size:cover;background-position:center}
.cab-gallery-placeholder-grid>div:first-child{grid-row:1/3}
.cab-gallery-placeholder-grid>div:nth-child(4){grid-column:2/4}
.cab-page-cta .actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:950px){
 .cab-partner-intro-grid,.cab-stock-section{grid-template-columns:1fr}
 .cab-feature-grid{grid-template-columns:1fr 1fr}
 .cab-gallery-placeholder-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 250px 250px}
 .cab-gallery-placeholder-grid>div:first-child{grid-column:1/3;grid-row:auto}
 .cab-gallery-placeholder-grid>div:nth-child(4){grid-column:1/3}
}
@media(max-width:620px){
 .cab-partner-intro,.cab-partner-benefits,.cab-partner-gallery,.cab-stock-section{padding-left:20px;padding-right:20px}
 .cab-feature-grid{grid-template-columns:1fr}
 .cab-partner-visual{min-height:420px}
 .cab-gallery-placeholder-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,280px)}
 .cab-gallery-placeholder-grid>div:first-child,.cab-gallery-placeholder-grid>div:nth-child(4){grid-column:auto}
}


/* VERSION 4.0.1 — PHOTOS OFFICIELLES CABBOX */
.cabbox-brand-logo{
  display:block;
  width:min(520px,85vw);
  height:auto;
  margin:14px 0 20px;
  padding:12px 16px;
  background:rgba(255,255,255,.92);
}
.cab-partner-hero{
  background-position:center 58%;
}
.cab-partner-visual{
  background-position:center;
}
.cab-gallery-placeholder-grid>div{
  transition:transform .35s ease, filter .35s ease;
}
.cab-gallery-placeholder-grid>div:hover{
  transform:scale(1.015);
  filter:brightness(1.04);
}


/* VERSION 4.1.0 — CABBOX VITRINE */
.cabbox-vitrine{background:#07110f;color:#fff}
.cabbox-vitrine-hero{
  min-height:720px;
  display:flex;
  align-items:center;
  padding:135px 6vw 70px;
  background-size:cover;
  background-position:center 55%;
}
.cabbox-vitrine-inner{max-width:660px}
.cabbox-wordmark{
  display:flex;
  align-items:center;
  gap:.02em;
  margin:16px 0 20px;
  color:var(--gold);
  font-family:Arial,sans-serif;
  font-size:clamp(3.6rem,7vw,6.5rem);
  font-weight:900;
  line-height:.9;
  letter-spacing:-.08em;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}
.cabbox-wordmark-horse{font-size:.68em;margin:0 .08em;color:var(--gold)}
.cabbox-vitrine-hero h1{
  color:#fff;
  font-size:clamp(3rem,5.6vw,5.8rem);
  line-height:1.02;
  margin:0 0 24px;
}
.cabbox-vitrine-hero h1 em{color:var(--gold);font-style:normal}
.cabbox-lead{max-width:620px;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.75}
.cabbox-vitrine-hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.cabbox-benefit-strip{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid rgba(201,164,86,.25);
  border-bottom:1px solid rgba(201,164,86,.25);
  background:#0a1714;
}
.cabbox-benefit-strip article{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:24px 20px;
  border-right:1px solid rgba(255,255,255,.09);
}
.cabbox-benefit-strip article:last-child{border-right:0}
.cabbox-benefit-strip article>span{color:var(--gold);font-size:1.4rem}
.cabbox-benefit-strip strong,.cabbox-benefit-strip small{display:block}
.cabbox-benefit-strip strong{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.cabbox-benefit-strip small{color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.55;margin-top:6px}
.cabbox-vitrine-content{
  display:grid;
  grid-template-columns:1.2fr .8fr 1fr;
  gap:0;
  border-bottom:1px solid rgba(201,164,86,.22);
}
.cabbox-about,.cabbox-stock-card,.cabbox-gallery-card{min-height:470px;padding:40px;border-right:1px solid rgba(255,255,255,.10)}
.cabbox-gallery-card{border-right:0}
.cabbox-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
.cabbox-about h2,.cabbox-stock-card h2{color:#fff;font-size:2rem;margin:10px 0 18px}
.cabbox-about p,.cabbox-stock-card li{color:rgba(255,255,255,.78)}
.cabbox-about-image{background-size:cover;background-position:center;min-height:340px}
.cabbox-stock-card ul{list-style:none;padding:0;margin:20px 0}
.cabbox-stock-card li{margin:12px 0}
.cabbox-stock-card li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#10211c;margin-right:10px;font-weight:800}
.cabbox-link-button{
  display:inline-block;
  margin-top:18px;
  padding:13px 18px;
  border:1px solid var(--gold);
  color:var(--gold);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.72rem;
  font-weight:700;
}
.cabbox-mini-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.cabbox-mini-gallery>div{aspect-ratio:1.2/1;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12)}
.cabbox-official-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:35px 6vw;
  background:linear-gradient(90deg,#0b1714,#13251f);
}
.cabbox-official-cta p:not(.eyebrow){margin:4px 0 0;color:rgba(255,255,255,.72)}
@media(max-width:1100px){
  .cabbox-benefit-strip{grid-template-columns:repeat(3,1fr)}
  .cabbox-vitrine-content{grid-template-columns:1fr}
  .cabbox-about,.cabbox-stock-card,.cabbox-gallery-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
}
@media(max-width:700px){
  .cabbox-vitrine-hero{min-height:680px;padding:125px 22px 60px;background-position:65% center}
  .cabbox-vitrine-inner{max-width:none}
  .cabbox-wordmark{font-size:3.5rem}
  .cabbox-benefit-strip{grid-template-columns:1fr 1fr}
  .cabbox-about{grid-template-columns:1fr}
  .cabbox-about,.cabbox-stock-card,.cabbox-gallery-card{padding:28px 22px}
  .cabbox-official-cta{padding:35px 22px;flex-direction:column;align-items:flex-start}
  .cabbox-official-cta .btn{width:100%}
}


/* VERSION 4.1.1 — LOGO CABBOX OFFICIEL */
.cabbox-official-logo{
  display:block;
  width:min(560px,86vw);
  height:auto;
  margin:10px 0 24px;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.48));
}
.cabbox-vitrine-hero h1{
  margin-top:6px;
}
@media(max-width:700px){
  .cabbox-official-logo{
    width:min(430px,92vw);
    margin-bottom:18px;
  }
}


/* VERSION 4.2.0 — SERVICE DE NETTOYAGE PREMIUM */
.cleaning-premium-v2{background:#07110f;color:#fff}
.cleaning-premium-hero{
  min-height:700px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:30px;
  padding:135px 6vw 65px;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 45%,rgba(201,164,86,.16),transparent 34%),
    linear-gradient(120deg,#06110e 0%,#0b1b16 55%,#17261f 100%);
}
.cleaning-premium-copy{position:relative;z-index:2;max-width:700px}
.cleaning-premium-copy h1{
  color:#fff;
  font-size:clamp(3.4rem,6vw,6rem);
  line-height:1.02;
  margin:12px 0 24px;
}
.cleaning-premium-copy h1 em{color:var(--gold);font-style:normal}
.cleaning-premium-lead{
  max-width:620px;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
  line-height:1.75;
}
.cleaning-premium-copy .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.cleaning-premium-machine{
  position:relative;
  min-height:530px;
  display:grid;
  place-items:center;
}
.cleaning-premium-machine img{
  position:relative;
  z-index:2;
  width:min(760px,100%);
  height:auto;
  filter:drop-shadow(0 25px 30px rgba(0,0,0,.55));
}
.cleaning-machine-glow{
  position:absolute;
  width:75%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,164,86,.22),rgba(201,164,86,0) 68%);
  filter:blur(8px);
}
.cleaning-premium-benefits{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  background:#0a1714;
  border-top:1px solid rgba(201,164,86,.25);
  border-bottom:1px solid rgba(201,164,86,.25);
}
.cleaning-premium-benefits article{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:24px 20px;
  border-right:1px solid rgba(255,255,255,.08);
}
.cleaning-premium-benefits article:last-child{border-right:0}
.cleaning-premium-benefits article>span{
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}
.cleaning-premium-benefits strong,
.cleaning-premium-benefits small{display:block}
.cleaning-premium-benefits strong{
  color:var(--gold);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cleaning-premium-benefits small{
  color:rgba(255,255,255,.7);
  font-size:.72rem;
  line-height:1.55;
  margin-top:6px;
}
.cleaning-premium-intro{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:55px;
  align-items:start;
  padding:85px 7vw;
  background:#f4efe5;
  color:var(--green2);
}
.cleaning-premium-intro-copy h2{
  font-size:clamp(2.8rem,5vw,4.5rem);
  margin:8px 0 22px;
}
.cleaning-premium-intro-copy p:not(.eyebrow){color:#5b6862}
.cleaning-premium-side-card{
  padding:34px;
  background:var(--green2);
  color:#fff;
  border-top:4px solid var(--gold);
  box-shadow:0 18px 48px rgba(11,56,45,.15);
}
.cleaning-premium-side-card ul{list-style:none;margin:18px 0 0;padding:0}
.cleaning-premium-side-card li{margin:13px 0;color:rgba(255,255,255,.78)}
.cleaning-premium-side-card li:before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-right:10px;
  border-radius:50%;
  background:var(--gold);
  color:var(--green2);
  font-weight:800;
}
.cleaning-premium-v2 .cleaning-content-section,
.cleaning-premium-v2 .cleaning-notice{
  color:initial;
}
@media(max-width:1100px){
  .cleaning-premium-benefits{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .cleaning-premium-hero{grid-template-columns:1fr;padding-top:125px}
  .cleaning-premium-machine{min-height:420px}
  .cleaning-premium-intro{grid-template-columns:1fr}
}
@media(max-width:650px){
  .cleaning-premium-hero{padding:120px 22px 50px}
  .cleaning-premium-machine{min-height:330px}
  .cleaning-premium-benefits{grid-template-columns:1fr 1fr}
  .cleaning-premium-intro{padding:55px 20px}
}

/* VERSION 4.3.0 — PAGE RESTAURATION & ARDOISE */
.restaurant-page{background:#f4efe5;min-height:70vh}.restaurant-hero{min-height:650px;display:flex;align-items:center;padding:145px 7vw 85px;color:#fff;background:radial-gradient(circle at 78% 28%,rgba(201,164,86,.22),transparent 30%),linear-gradient(125deg,#082d24,#16483a 58%,#806b49);background-size:cover;background-position:center}.restaurant-hero-inner{max-width:850px}.restaurant-hero h1{color:#fff;font-size:clamp(4rem,8vw,7rem);margin:8px 0 20px}.restaurant-hero p:not(.eyebrow){max-width:680px;color:rgba(255,255,255,.78);font-size:1.05rem}.restaurant-hero .btn{margin-top:25px}.restaurant-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;padding:85px 7vw;align-items:start}.restaurant-intro-copy h2{font-size:clamp(2.8rem,5vw,4.7rem);margin:8px 0 22px}.restaurant-intro-copy p:not(.eyebrow){color:#5c6862}.restaurant-info-card{padding:35px;background:var(--green2);color:#fff;border-top:4px solid var(--gold);box-shadow:0 18px 48px rgba(11,56,45,.14)}.restaurant-info-card ul{list-style:none;margin:18px 0 0;padding:0}.restaurant-info-card li{margin:13px 0;color:rgba(255,255,255,.78)}.restaurant-info-card li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;border-radius:50%;background:var(--gold);color:var(--green2);font-weight:800}.restaurant-board-section{padding:90px 7vw 105px;background:linear-gradient(145deg,#0a1714,#11251d)}.restaurant-board-wrap{max-width:1120px;margin:0 auto}.restaurant-board-header{text-align:center;margin-bottom:30px}.restaurant-board-header p{color:var(--gold);letter-spacing:.18em;font-size:.72rem;font-weight:700;margin:0 0 8px}.restaurant-board-header h2{color:#fff;font-size:clamp(3rem,6vw,5.5rem);margin:0 0 10px}.restaurant-board-header span{color:rgba(255,255,255,.62)}.restaurant-blackboard{position:relative;padding:55px 65px;border:14px solid #7a5831;border-radius:4px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.025),transparent 18%),#101412;box-shadow:inset 0 0 0 2px rgba(255,255,255,.04),0 28px 70px rgba(0,0,0,.35)}.chalk-line{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:20px 0;border-bottom:1px dashed rgba(255,255,255,.18)}.chalk-line:last-of-type{border-bottom:0}.chalk-line strong{color:#e7d8b4;font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem}.chalk-line span{color:rgba(255,255,255,.9);font-family:'Segoe Print','Comic Sans MS',cursive;font-size:1.1rem;line-height:1.65}.chalk-line.weekend strong{color:var(--gold)}.chalk-decoration{position:absolute;color:rgba(255,255,255,.24);font-size:2rem}.chalk-left{left:22px;top:20px}.chalk-right{right:22px;bottom:20px}.restaurant-content-section{padding:75px 7vw}.restaurant-content-card{max-width:1050px;margin:0 auto;padding:50px 60px;background:#fff;border-top:5px solid var(--gold);box-shadow:0 20px 60px rgba(11,56,45,.11)}.restaurant-cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:72px 7vw;background:var(--green2);color:#fff}.restaurant-cta>div{max-width:760px}.restaurant-cta h2{color:#fff;font-size:clamp(2.5rem,4.6vw,4rem);margin:8px 0 12px}.restaurant-cta p:not(.eyebrow){color:rgba(255,255,255,.72)}@media(max-width:850px){.restaurant-intro{grid-template-columns:1fr}.chalk-line{grid-template-columns:1fr;gap:5px}}@media(max-width:650px){.restaurant-hero{min-height:570px;padding:125px 22px 70px}.restaurant-intro{padding:55px 20px}.restaurant-board-section{padding:65px 18px 80px}.restaurant-blackboard{padding:38px 24px;border-width:9px}.restaurant-content-section{padding:55px 18px}.restaurant-content-card{padding:30px 22px}.restaurant-cta{padding:55px 22px;flex-direction:column;align-items:flex-start}.restaurant-cta .btn{width:100%}}


/* VERSION 4.4.0 — ARDOISE HEBDOMADAIRE UNIQUE */
.restaurant-blackboard-weekly{
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.weekly-menu-content{
  width:min(860px,100%);
  margin:0 auto;
  color:rgba(255,255,255,.94);
  font-family:"Segoe Print","Comic Sans MS",cursive;
  font-size:clamp(1.15rem,2vw,1.55rem);
  line-height:1.9;
  white-space:normal;
  text-align:left;
}
.weekly-menu-content::first-line{
  color:#e7d8b4;
  font-size:1.25em;
  font-weight:700;
}
@media(max-width:650px){
  .restaurant-blackboard-weekly{
    min-height:460px;
  }
  .weekly-menu-content{
    font-size:1rem;
    line-height:1.75;
  }
}


/* VERSION 4.4.1 — ARDOISE UNIQUE DÉFINITIVE */
.restaurant-blackboard .chalk-line{
  display:none!important;
}
.restaurant-blackboard-weekly{
  min-height:560px;
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.weekly-menu-content{
  display:block!important;
  width:min(860px,100%);
  margin:0 auto;
  color:rgba(255,255,255,.94);
  font-family:"Segoe Print","Comic Sans MS",cursive;
  font-size:clamp(1.15rem,2vw,1.55rem);
  line-height:1.9;
  text-align:left;
}

/* VERSION 4.5.0 — RESTAURATION AVEC PHOTOS RÉELLES */
.restaurant-v2{background:#eee8dc}.restaurant-v2-hero{min-height:720px;display:flex;align-items:center;padding:145px 7vw 90px;color:#fff;background-size:cover;background-position:center}.restaurant-v2-hero-inner{max-width:760px}.restaurant-v2-hero h1{color:#fff;font-size:clamp(4.5rem,8vw,7.5rem);margin:8px 0 20px}.restaurant-v2-hero p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.75}.restaurant-v2-hero .btn{margin-top:26px}.restaurant-v2-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start;padding:85px 5vw;background:#eee8dc}.restaurant-v2-copy h2{font-size:clamp(2.7rem,4.8vw,4.5rem);margin:8px 0 22px}.restaurant-v2-copy p:not(.eyebrow){color:#4f5d56}.restaurant-handwritten{margin-top:30px;color:#a57934!important;font-family:"Segoe Print","Comic Sans MS",cursive;font-size:1.3rem;transform:rotate(-1deg)}.restaurant-v2-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:300px 260px;gap:12px}.restaurant-v2-photo{margin:0;overflow:hidden;border:4px solid #c9a456;box-shadow:0 15px 38px rgba(35,24,15,.14)}.restaurant-v2-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.restaurant-v2-photo:hover img{transform:scale(1.04)}.restaurant-v2-photo-1{grid-row:1/3}.restaurant-v2-photo-4{grid-column:2/4}.restaurant-v2-board-section{padding:90px 5vw 105px;background:#101412}.restaurant-v2-board-header{text-align:center;margin-bottom:30px}.restaurant-v2-board-header h2{color:#fff;font-size:clamp(3.2rem,6vw,5.8rem);margin:8px 0 10px}.restaurant-v2-board-header span{color:rgba(255,255,255,.64)}.restaurant-v2-blackboard{position:relative;max-width:1180px;min-height:620px;margin:0 auto;padding:60px 75px;display:flex;align-items:center;justify-content:center;border:16px solid #6f4a27;background:#111513;box-shadow:inset 0 0 0 2px rgba(255,255,255,.04),0 30px 80px rgba(0,0,0,.45)}.restaurant-v2-weekly-menu{width:min(920px,100%);color:rgba(255,255,255,.94);font-family:"Segoe Print","Comic Sans MS",cursive;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.95;text-align:left}.restaurant-v2-chalk{position:absolute;color:rgba(255,255,255,.22);font-size:2rem}.restaurant-v2-chalk.left{left:25px;top:25px}.restaurant-v2-chalk.right{right:25px;bottom:25px}.restaurant-v2-extra{padding:75px 6vw;background:#eee8dc}.restaurant-v2-extra-card{max-width:1050px;margin:0 auto;padding:48px 58px;background:#fff;border-top:5px solid var(--gold);box-shadow:0 20px 55px rgba(11,56,45,.1)}.restaurant-v2-contact{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:72px 7vw;background:linear-gradient(90deg,rgba(20,14,9,.94),rgba(20,14,9,.82)),url('../images/restaurant/restaurant-gallery-4.jpg');background-size:cover;background-position:center;color:#fff}.restaurant-v2-contact>div{max-width:720px}.restaurant-v2-contact h2{color:#fff;font-size:clamp(2.6rem,4.6vw,4.2rem);margin:8px 0 12px}.restaurant-v2-contact p:not(.eyebrow){color:rgba(255,255,255,.75)}
@media(max-width:1050px){.restaurant-v2-intro{grid-template-columns:1fr}}@media(max-width:750px){.restaurant-v2-hero{min-height:620px;padding:125px 22px 70px}.restaurant-v2-intro{padding:55px 20px}.restaurant-v2-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.restaurant-v2-photo-1{grid-column:1/3;grid-row:auto}.restaurant-v2-photo-4{grid-column:1/3}.restaurant-v2-board-section{padding:65px 18px 80px}.restaurant-v2-blackboard{min-height:520px;padding:40px 25px;border-width:10px}.restaurant-v2-contact{padding:55px 22px;flex-direction:column;align-items:flex-start}.restaurant-v2-contact .btn{width:100%}}


/* VERSION 4.6.0 — FORMULAIRE WORDPRESS */
.contact-wordpress-form{
  display:block;
}
.contact-wordpress-form .wpforms-container,
.contact-wordpress-form .wpcf7{
  margin:0;
}
.contact-wordpress-form .wpforms-field,
.contact-wordpress-form .wpcf7-form p{
  margin-bottom:18px;
}
.contact-wordpress-form .wpforms-field-label,
.contact-wordpress-form .wpcf7-form label{
  display:block;
  color:var(--green2);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
}
.contact-wordpress-form input[type="text"],
.contact-wordpress-form input[type="email"],
.contact-wordpress-form input[type="tel"],
.contact-wordpress-form input[type="number"],
.contact-wordpress-form input[type="url"],
.contact-wordpress-form select,
.contact-wordpress-form textarea{
  width:100%!important;
  max-width:none!important;
  margin-top:7px;
  padding:14px 15px!important;
  border:1px solid #d8cfbf!important;
  border-radius:0!important;
  background:#fff!important;
  color:#24342d!important;
  font:inherit!important;
  box-shadow:none!important;
}
.contact-wordpress-form textarea{
  min-height:150px;
  resize:vertical;
}
.contact-wordpress-form input:focus,
.contact-wordpress-form select:focus,
.contact-wordpress-form textarea:focus{
  outline:none!important;
  border-color:var(--gold)!important;
  box-shadow:0 0 0 2px rgba(201,164,86,.14)!important;
}
.contact-wordpress-form button[type="submit"],
.contact-wordpress-form input[type="submit"],
.contact-wordpress-form .wpforms-submit{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 28px!important;
  border:1px solid var(--gold)!important;
  border-radius:0!important;
  background:var(--gold)!important;
  color:var(--green2)!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
  transition:transform .2s ease, filter .2s ease;
}
.contact-wordpress-form button[type="submit"]:hover,
.contact-wordpress-form input[type="submit"]:hover,
.contact-wordpress-form .wpforms-submit:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
}
.contact-wordpress-form .wpforms-error,
.contact-wordpress-form .wpcf7-not-valid-tip{
  color:#9d3027!important;
  font-size:.78rem!important;
}
.contact-wordpress-form .wpforms-confirmation-container-full,
.contact-wordpress-form .wpcf7-response-output{
  padding:16px 18px!important;
  border:1px solid var(--gold)!important;
  background:#f7f1e4!important;
  color:var(--green2)!important;
}
.contact-form-placeholder{
  padding:34px;
  border:1px dashed var(--gold);
  background:#f8f4eb;
}
.contact-form-placeholder h3{
  margin:8px 0 14px;
  color:var(--green2);
  font-size:2rem;
}
.contact-form-placeholder code{
  padding:4px 7px;
  background:#ece4d5;
}


/* VERSION 4.7.0 — FORMULAIRES COUR AU BOIS */
.contact-wordpress-form .wpforms-field-checkbox ul,
.contact-wordpress-form .wpforms-field-radio ul,
.cab-form-embed .wpforms-field-checkbox ul,
.cab-form-embed .wpforms-field-radio ul{
  list-style:none!important;
  margin:8px 0 0!important;
  padding:0!important;
}
.contact-wordpress-form .wpforms-field-checkbox li,
.contact-wordpress-form .wpforms-field-radio li,
.cab-form-embed .wpforms-field-checkbox li,
.cab-form-embed .wpforms-field-radio li{
  margin:8px 0!important;
}
.contact-wordpress-form input[type="checkbox"],
.contact-wordpress-form input[type="radio"],
.cab-form-embed input[type="checkbox"],
.cab-form-embed input[type="radio"]{
  accent-color:var(--gold);
  margin-right:8px;
}
.cab-form-embed .wpforms-container{
  margin:0!important;
}
.cab-form-embed .wpforms-field{
  margin-bottom:18px!important;
}
.cab-form-embed .wpforms-field-label{
  color:#fff!important;
  font-size:.78rem!important;
  letter-spacing:.04em;
}
.cab-form-embed input[type="text"],
.cab-form-embed input[type="email"],
.cab-form-embed input[type="tel"],
.cab-form-embed input[type="number"],
.cab-form-embed select,
.cab-form-embed textarea{
  width:100%!important;
  max-width:none!important;
  padding:13px 14px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#24342d!important;
}
.cab-form-embed button[type="submit"],
.cab-form-embed .wpforms-submit{
  padding:14px 26px!important;
  border:1px solid var(--gold)!important;
  border-radius:0!important;
  background:var(--gold)!important;
  color:var(--green2)!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}


/* VERSION 4.8.0 — CONFIRMATIONS WPFORMS */
.cab-form-confirmation{
  padding:24px 26px;
  border-left:5px solid var(--gold);
  background:#f8f4ec;
  color:var(--green2);
  font-size:1rem;
  line-height:1.7;
}
.cab-form-confirmation strong{
  display:block;
  margin-bottom:4px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2rem;
}
.wpforms-confirmation-container-full{
  border:0!important;
  background:transparent!important;
  padding:0!important;
}


/* VERSION 5.0.0 — FORMULAIRES AUTOMATIQUES ET LIENS ROBUSTES */
.cab-v5-auto-form{
  padding:85px 7vw;
  background:#f4efe5;
}
.cab-v5-auto-form-inner{
  max-width:950px;
  margin:0 auto;
  padding:48px 55px;
  background:var(--green2);
  color:#fff;
  border-top:5px solid var(--gold);
  box-shadow:0 20px 60px rgba(11,56,45,.16);
}
.cab-v5-auto-form h2{
  color:#fff;
  margin:8px 0 12px;
  font-size:clamp(2.6rem,4.8vw,4.2rem);
}
.cab-v5-auto-form-inner>p:not(.eyebrow){
  color:rgba(255,255,255,.74);
  margin-bottom:28px;
}
.cab-v5-auto-form .wpforms-container{
  margin-bottom:0!important;
}
@media(max-width:700px){
  .cab-v5-auto-form{padding:55px 18px}
  .cab-v5-auto-form-inner{padding:32px 22px}
}


/* VERSION 5.1.0 — BOUTONS VERS LE BON FORMULAIRE */
html{
  scroll-behavior:smooth;
}
#demande-en-ligne{
  scroll-margin-top:110px;
}
.cab-form-panel#demande-en-ligne{
  scroll-margin-top:130px;
}


/* VERSION 5.2.0 — HERO DRESSAGE & OBSTACLE */
.cab-concours-hero{
  min-height:690px;
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
}
.cab-concours-hero .cab-page-hero-inner{
  max-width:720px;
  margin-left:auto;
  margin-right:7vw;
  padding:70px 55px;
  background:rgba(7,31,26,.34);
  backdrop-filter:blur(2px);
  border-left:4px solid var(--gold);
}
.cab-concours-hero h1{
  color:#fff;
  text-shadow:0 5px 22px rgba(0,0,0,.45);
}
.cab-concours-hero p:not(.eyebrow){
  color:rgba(255,255,255,.86);
  text-shadow:0 2px 10px rgba(0,0,0,.36);
}
@media(max-width:900px){
  .cab-concours-hero{min-height:600px}
  .cab-concours-hero .cab-page-hero-inner{
    margin:0 22px;
    padding:42px 28px;
  }
}


/* VERSION 5.2.1 — CORRECTION BANDEAUX DRESSAGE ET OBSTACLE */
.cab-contest-page .cab-concours-photo-hero{
  min-height:690px!important;
  display:flex!important;
  align-items:center!important;
  padding:135px 7vw 80px!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  color:#fff!important;
}
.cab-contest-page .cab-concours-photo-hero .cab-page-hero-inner{
  width:min(680px,100%)!important;
  margin-left:auto!important;
  margin-right:0!important;
  padding:50px 48px!important;
  background:rgba(6,35,28,.58)!important;
  border-left:5px solid var(--gold)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(2px);
}
.cab-contest-page .cab-concours-photo-hero h1{
  margin:8px 0 18px!important;
  color:#fff!important;
  font-size:clamp(4rem,7vw,6.8rem)!important;
  text-shadow:0 5px 24px rgba(0,0,0,.55)!important;
}
.cab-contest-page .cab-concours-photo-hero p:not(.eyebrow){
  max-width:610px!important;
  color:rgba(255,255,255,.9)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.5)!important;
}
.cab-contest-page .cab-concours-photo-hero .btn{
  margin-top:24px;
}
@media(max-width:900px){
  .cab-contest-page .cab-concours-photo-hero{
    min-height:610px!important;
    padding:120px 22px 60px!important;
    background-position:center!important;
  }
  .cab-contest-page .cab-concours-photo-hero .cab-page-hero-inner{
    margin:0!important;
    padding:38px 28px!important;
  }
}
@media(max-width:620px){
  .cab-contest-page .cab-concours-photo-hero{
    min-height:540px!important;
  }
  .cab-contest-page .cab-concours-photo-hero h1{
    font-size:3.7rem!important;
  }
}


/* VERSION 7.0.0 — ÉVÉNEMENTS COUR AU BOIS */
.cab-v70-home-event{
  min-height:520px;
  display:flex;
  align-items:center;
  padding:85px 7vw;
  background:
    radial-gradient(circle at 78% 30%,rgba(201,164,86,.20),transparent 32%),
    linear-gradient(120deg,#082d24,#285946);
  background-size:cover;
  background-position:center;
  color:#fff;
}
.cab-v70-home-event>div{max-width:760px}
.cab-v70-home-event h2{
  margin:8px 0 14px;
  color:#fff;
  font-size:clamp(3.2rem,6vw,5.7rem);
}
.cab-v70-home-event p:not(.eyebrow){color:rgba(255,255,255,.82)}
.cab-v70-home-date{color:var(--gold)!important;font-weight:800;letter-spacing:.04em}
.cab-v70-home-event .btn{margin-top:22px}

.cab-v70-event-hero{
  min-height:700px;
  display:flex;
  align-items:center;
  padding:145px 7vw 85px;
  background:
    radial-gradient(circle at 75% 30%,rgba(201,164,86,.22),transparent 30%),
    linear-gradient(125deg,#082d24,#1b4d3b 60%,#8a7047);
  background-size:cover;
  background-position:center;
  color:#fff;
}
.cab-v70-event-hero>div{max-width:850px}
.cab-v70-event-hero h1{
  margin:8px 0 20px;
  color:#fff;
  font-size:clamp(4rem,8vw,7rem);
}
.cab-v70-event-hero p{color:rgba(255,255,255,.82)}
.cab-v70-event-date{color:var(--gold)!important;font-size:1.15rem;font-weight:800}

.cab-v70-event-content{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:55px;
  padding:85px 7vw;
  background:#f4efe5;
}
.cab-v70-event-main{
  padding:45px 50px;
  background:#fff;
  border-top:5px solid var(--gold);
  box-shadow:0 20px 55px rgba(11,56,45,.10);
}
.cab-v70-event-program{
  padding:42px;
  background:var(--green2);
  color:#fff;
  border-top:5px solid var(--gold);
}
.cab-v70-event-program h2{color:#fff;font-size:clamp(2.6rem,4vw,4rem);margin:8px 0 22px}
.cab-v70-event-program ul{list-style:none;margin:0;padding:0}
.cab-v70-event-program li{
  margin:13px 0;
  padding-left:30px;
  position:relative;
  color:rgba(255,255,255,.82);
}
.cab-v70-event-program li:before{
  content:"✦";
  position:absolute;
  left:0;
  color:var(--gold);
}
.cab-v70-practical{
  margin-top:28px;
  padding:20px;
  background:rgba(255,255,255,.08);
  border-left:4px solid var(--gold);
}
.cab-v70-practical p{color:rgba(255,255,255,.75)}

.cab-v70-archive-hero{
  padding:155px 7vw 85px;
  text-align:center;
  color:#fff;
  background:linear-gradient(120deg,#082d24,#2c5e49);
}
.cab-v70-archive-hero h1{
  margin:8px 0 15px;
  color:#fff;
  font-size:clamp(4rem,8vw,7rem);
}
.cab-v70-archive-hero p:not(.eyebrow){color:rgba(255,255,255,.75)}

.cab-v70-event-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
  padding:75px 6vw;
  background:#f4efe5;
}
.cab-v70-event-cards article{
  background:#fff;
  border-top:5px solid var(--gold);
  box-shadow:0 16px 42px rgba(11,56,45,.10);
}
.cab-v70-event-cards a{text-decoration:none;color:inherit}
.cab-v70-card-image{
  min-height:260px;
  background:linear-gradient(135deg,#163e31,#9c7e49);
  background-size:cover;
  background-position:center;
}
.cab-v70-card-copy{padding:28px}
.cab-v70-card-copy span{color:#9b7635;font-size:.75rem;font-weight:800;letter-spacing:.08em}
.cab-v70-card-copy h2{margin:8px 0 12px;color:var(--green2);font-size:2rem}
.cab-v70-card-copy p{color:#66736d}
.cab-v70-card-copy strong{color:#9b7635}

@media(max-width:900px){
  .cab-v70-event-content{grid-template-columns:1fr}
  .cab-v70-event-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .cab-v70-home-event{padding:65px 22px}
  .cab-v70-event-hero{min-height:590px;padding:125px 22px 65px}
  .cab-v70-event-content{padding:55px 18px}
  .cab-v70-event-main,.cab-v70-event-program{padding:30px 24px}
  .cab-v70-event-cards{grid-template-columns:1fr;padding:55px 18px}
}


/* VERSION 7.2.0 — ACCÈS PUBLIC AUX ÉVÉNEMENTS */
.cab-v72-event-alert{
  position:relative;
  z-index:1200;
  background:#c9a456;
  color:#082d24;
  text-align:center;
}
.cab-v72-event-alert a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 16px;
  padding:9px 18px;
  color:#082d24;
  text-decoration:none;
  font-size:.9rem;
}
.cab-v72-event-alert strong{font-weight:900}
.cab-v72-event-alert span{font-weight:700}
.cab-v72-event-alert em{font-style:normal;text-decoration:underline}

.cab-v72-countdown{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0;
}
.cab-v72-countdown>div{
  min-width:96px;
  padding:15px 18px;
  text-align:center;
  border:1px solid rgba(213,174,92,.65);
  background:rgba(4,30,23,.48);
  backdrop-filter:blur(3px);
}
.cab-v72-countdown strong,
.cab-v72-countdown span{display:block}
.cab-v72-countdown strong{
  color:#fff;
  font-size:1.8rem;
  line-height:1;
}
.cab-v72-countdown span{
  margin-top:7px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media(max-width:650px){
  .cab-v72-event-alert a{font-size:.78rem}
  .cab-v72-countdown>div{min-width:78px;padding:12px}
}


/* VERSION 7.3.0 — COMMUNICATION & RÉPUTATION */
.cab-v73-header-social{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:auto;
}
.cab-v73-header-social a{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(201,164,86,.48);
  border-radius:50%;
  color:var(--gold);
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.cab-v73-header-social a:hover{
  transform:translateY(-2px);
  background:var(--gold);
  color:var(--green2);
}
.cab-v73-header-social svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.cab-v73-social-section{
  padding:90px 7vw;
  background:#f4efe5;
  text-align:center;
}
.cab-v73-social-copy{
  max-width:820px;
  margin:0 auto 38px;
}
.cab-v73-social-copy h2{
  margin:8px 0 16px;
  color:var(--green2);
  font-size:clamp(3rem,5.5vw,5.2rem);
}
.cab-v73-social-copy p:not(.eyebrow){
  color:#627069;
}
.cab-v73-social-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:1100px;
  margin:0 auto;
}
.cab-v73-social-card{
  padding:34px 25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  background:#fff;
  border-top:5px solid var(--gold);
  text-decoration:none;
  box-shadow:0 15px 40px rgba(11,56,45,.09);
  transition:transform .25s ease,box-shadow .25s ease;
}
.cab-v73-social-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 50px rgba(11,56,45,.14);
}
.cab-v73-social-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green2);
  color:var(--gold);
}
.cab-v73-social-icon svg{
  width:29px;
  height:29px;
  fill:currentColor;
}
.cab-v73-social-card strong{
  margin-top:8px;
  color:var(--green2);
  font-size:1.35rem;
}
.cab-v73-social-card small{
  color:#6b756f;
}
.cab-v73-review-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

.cab-v73-event-social{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding:70px 7vw;
  color:#fff;
  background:linear-gradient(120deg,#082d24,#285946);
}
.cab-v73-event-social>div:first-child{
  max-width:760px;
}
.cab-v73-event-social h2{
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(2.8rem,4.8vw,4.5rem);
}
.cab-v73-event-social p:not(.eyebrow){
  color:rgba(255,255,255,.74);
}
.cab-v73-event-social-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.site-footer{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.2fr auto;
  gap:28px;
  align-items:start;
}
.site-footer .footer-links,
.cab-v73-footer-social{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cab-v73-footer-social strong{
  color:#fff;
}
.cab-v73-footer-social div{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.site-footer a{
  color:rgba(255,255,255,.72);
}
.site-footer a:hover{
  color:var(--gold);
}

@media(max-width:1100px){
  .cab-v73-header-social{display:none}
  .site-footer{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .cab-v73-social-cards{grid-template-columns:1fr}
  .cab-v73-event-social{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .cab-v73-social-section{padding:65px 20px}
  .cab-v73-event-social{padding:55px 22px}
  .site-footer{grid-template-columns:1fr}
}


/* VERSION 7.3.2 — TEXTES ENRICHIS RÉSEAUX SOCIAUX */
.cab-v73-social-card p{
  margin:10px 0 4px;
  max-width:300px;
  color:#68746e;
  font-size:.94rem;
  line-height:1.6;
}
.cab-v73-social-card em{
  margin-top:8px;
  color:#9b7635;
  font-style:normal;
  font-weight:800;
  font-size:.88rem;
}
.cab-v73-social-card small{
  max-width:280px;
  line-height:1.45;
}


/* VERSION 7.3.3 — CARROUSEL AVIS GOOGLE */
.cab-v733-reviews-section{
  margin:70px -7vw -90px;
  padding:80px 7vw 90px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#f7f2e8);
  border-top:1px solid rgba(11,56,45,.08);
}
.cab-v733-reviews-heading{
  max-width:850px;
  margin:0 auto 38px;
  text-align:center;
}
.cab-v733-reviews-heading h2{
  margin:8px 0 14px;
  color:var(--green2);
  font-size:clamp(3rem,5vw,5rem);
}
.cab-v733-reviews-heading p:not(.eyebrow){
  color:#66736d;
}
.cab-v733-carousel{
  position:relative;
  max-width:1320px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:16px;
}
.cab-v733-carousel-window{
  width:100%;
  overflow:hidden;
}
.cab-v733-carousel-track{
  display:flex;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.cab-v733-review-card{
  flex:0 0 calc((100% - 40px)/3);
  min-height:355px;
  margin-right:20px;
  padding:30px;
  display:flex;
  flex-direction:column;
  position:relative;
  text-align:left;
  background:#fff;
  border-radius:24px;
  border-top:5px solid var(--gold);
  box-shadow:0 16px 44px rgba(20,54,44,.12);
}
.cab-v733-google-mark{
  position:absolute;
  right:25px;
  top:22px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #4285f4;
  color:#4285f4;
  background:#fff;
  font-weight:900;
  font-family:Arial,sans-serif;
}
.cab-v733-stars{
  display:flex;
  gap:3px;
  margin-bottom:20px;
  font-size:1.35rem;
}
.cab-v733-stars .is-filled{color:#fbbc04}
.cab-v733-stars .is-empty{color:#d9dce1}
.cab-v733-review-card blockquote{
  flex:1;
  margin:0;
  color:#414a46;
  font-size:1.05rem;
  line-height:1.7;
  font-style:italic;
}
.cab-v733-review-card blockquote.cab-v733-no-comment{
  color:#7b847f;
}
.cab-v733-review-card footer{
  margin-top:28px;
  padding-top:20px;
  display:flex;
  align-items:center;
  gap:13px;
  border-top:1px solid #ebe5da;
}
.cab-v733-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#6c56b8,#e53935);
  font-size:1.25rem;
  font-weight:800;
}
.cab-v733-review-card footer strong,
.cab-v733-review-card footer span,
.cab-v733-review-card footer small{
  display:block;
}
.cab-v733-review-card footer strong{
  color:#23312b;
  font-size:1rem;
}
.cab-v733-review-card footer span{
  margin-top:3px;
  color:#858d89;
  font-size:.82rem;
}
.cab-v733-review-card footer small{
  margin-top:4px;
  color:#4f9f20;
  font-weight:800;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cab-v733-arrow{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border:0;
  border-radius:50%;
  background:var(--green2);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(11,56,45,.2);
}
.cab-v733-arrow:hover{
  background:var(--gold);
  color:var(--green2);
}
.cab-v733-dots{
  min-height:14px;
  margin:24px 0 0;
  display:flex;
  justify-content:center;
  gap:8px;
}
.cab-v733-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c9c2b5;
  cursor:pointer;
}
.cab-v733-dots button.is-active{
  width:25px;
  border-radius:10px;
  background:var(--gold);
}
.cab-v733-reviews-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

@media(max-width:980px){
  .cab-v733-review-card{
    flex-basis:calc((100% - 20px)/2);
  }
}
@media(max-width:650px){
  .cab-v733-reviews-section{
    margin:55px -20px -65px;
    padding:60px 20px 70px;
  }
  .cab-v733-carousel{gap:7px}
  .cab-v733-review-card{
    flex-basis:100%;
    min-height:370px;
    margin-right:14px;
    padding:26px 24px;
  }
  .cab-v733-arrow{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:1.6rem;
  }
}


/* Cour au Bois V8.0 — formulaire stages natif */
.cab-v8-stage-form-wrap{margin-top:18px}
.cab-v8-stage-message{padding:14px 16px;border-radius:10px;margin-bottom:16px}
.cab-v8-stage-message.success{background:#e8f6ee;color:#155b38;border:1px solid #b9dfc8}
.cab-v8-stage-message.error{background:#fff1ee;color:#8c3024;border:1px solid #efc1b9}
.cab-v8-stage-form{display:grid;gap:18px}
.cab-v8-stage-form fieldset{border:0;padding:0;margin:0}
.cab-v8-stage-form legend,.cab-v8-stage-form label{font-weight:700;color:#173d30}
.cab-v8-stage-form legend{margin-bottom:10px;font-size:16px}
.cab-v8-stage-form label span,.cab-v8-stage-form legend span{color:#b07d2f}
.cab-v8-stage-form input[type=text],.cab-v8-stage-form input[type=email],.cab-v8-stage-form input[type=tel],.cab-v8-stage-form input[type=date],.cab-v8-stage-form textarea{width:100%;margin-top:7px;border:1px solid #d5ded9;border-radius:9px;padding:11px 12px;background:#fff}
.cab-v8-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.cab-v8-form-grid .wide,.cab-v8-stage-form>.wide{grid-column:1/-1}
.cab-v8-week-grid{display:grid;gap:9px}
.cab-v8-week-grid label{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #dce5e0;border-radius:10px;background:#f7faf8;cursor:pointer}
.cab-v8-week-grid label:has(input:checked){border-color:#c9a456;background:#fff9eb}
.cab-v8-week-grid input{width:19px;height:19px}
.cab-v8-week-grid span{display:flex;flex-direction:column;color:#173d30!important}
.cab-v8-week-grid small{font-size:10px;letter-spacing:.08em;color:#9a7537;text-transform:uppercase}
.cab-v8-radio-row{display:flex;gap:12px;flex-wrap:wrap}
.cab-v8-radio-row label{padding:10px 15px;border:1px solid #dce5e0;border-radius:999px;background:#f7faf8}
.cab-v8-conditional{display:none}
.cab-v8-conditional.is-visible{display:block}
.cab-v8-submit{width:100%;border:0;cursor:pointer}
@media(max-width:680px){.cab-v8-form-grid{grid-template-columns:1fr}.cab-v8-form-grid .wide{grid-column:auto}}


/* Cour au Bois V8.0.2 — lisibilité et finition du formulaire Stages */
.cab-contest-page .cab-form-panel:has(.cab-v8-stage-form-wrap){
  background:linear-gradient(155deg,#0a3429 0%,#082b22 100%);
  border:1px solid rgba(201,164,86,.38);
  box-shadow:0 22px 55px rgba(4,28,22,.24);
}
.cab-contest-page .cab-form-panel:has(.cab-v8-stage-form-wrap)>.eyebrow{
  color:#d8b56b!important;
}
.cab-contest-page .cab-form-panel:has(.cab-v8-stage-form-wrap)>h2{
  color:#fff!important;
}
.cab-v8-stage-form-wrap,
.cab-v8-stage-form{
  color:#fff;
}
.cab-v8-stage-form label,
.cab-v8-stage-form legend,
.cab-v8-stage-form fieldset legend,
.cab-v8-stage-form .cab-v8-form-grid label,
.cab-v8-stage-form .cab-v8-conditional label{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.cab-v8-stage-form label>span,
.cab-v8-stage-form legend>span,
.cab-v8-stage-form fieldset legend>span{
  color:#d8ac52!important;
}
.cab-v8-stage-form input[type=text],
.cab-v8-stage-form input[type=email],
.cab-v8-stage-form input[type=tel],
.cab-v8-stage-form input[type=date],
.cab-v8-stage-form textarea{
  color:#153d31!important;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.82)!important;
  border-radius:11px!important;
  min-height:50px;
  box-shadow:0 5px 16px rgba(0,0,0,.08);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.cab-v8-stage-form textarea{
  min-height:118px;
}
.cab-v8-stage-form input::placeholder,
.cab-v8-stage-form textarea::placeholder{
  color:#7a8a84!important;
  opacity:1;
}
.cab-v8-stage-form input:focus,
.cab-v8-stage-form textarea:focus{
  border-color:#d8ac52!important;
  box-shadow:0 0 0 4px rgba(216,172,82,.2),0 8px 22px rgba(0,0,0,.12)!important;
  outline:none!important;
  transform:translateY(-1px);
}
.cab-v8-stage-form fieldset{
  padding:18px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:13px;
  background:rgba(255,255,255,.045);
}
.cab-v8-stage-form fieldset legend{
  padding:0 8px;
  font-size:17px!important;
}
.cab-v8-radio-row{
  gap:14px!important;
}
.cab-v8-radio-row label{
  min-width:138px;
  justify-content:center;
  display:flex!important;
  align-items:center;
  gap:11px;
  padding:13px 20px!important;
  background:#fff!important;
  color:#174a38!important;
  border:2px solid #dbe3df!important;
  border-radius:999px!important;
  font-size:17px;
  font-weight:800!important;
  cursor:pointer;
  transition:all .2s ease;
}
.cab-v8-radio-row label:hover{
  border-color:#d8ac52!important;
  transform:translateY(-1px);
}
.cab-v8-radio-row label:has(input:checked){
  background:#d8ac52!important;
  border-color:#d8ac52!important;
  color:#12382d!important;
  box-shadow:0 8px 20px rgba(216,172,82,.2);
}
.cab-v8-radio-row input[type=radio]{
  width:20px;
  height:20px;
  accent-color:#174a38;
}
.cab-v8-week-grid label{
  background:#fff!important;
  border:2px solid #dbe3df!important;
  color:#174a38!important;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.cab-v8-week-grid label:hover{
  border-color:#d8ac52!important;
}
.cab-v8-week-grid label:has(input:checked){
  background:#fff5dc!important;
  border-color:#d8ac52!important;
}
.cab-v8-week-grid label span,
.cab-v8-week-grid label strong{
  color:#174a38!important;
}
.cab-v8-week-grid label small{
  color:#9a6f25!important;
}
.cab-v8-conditional{
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.15);
}
.cab-v8-stage-form>.wide{
  display:block;
}
.cab-v8-submit{
  min-height:56px;
  padding:15px 24px!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:.02em;
  background:#d8ac52!important;
  color:#12382d!important;
  border-radius:11px!important;
  box-shadow:0 12px 28px rgba(216,172,82,.24);
}
.cab-v8-submit:hover{
  background:#e3bd6f!important;
  transform:translateY(-2px);
}
.cab-v8-stage-message{
  font-size:15px;
  line-height:1.55;
}
@media(max-width:680px){
  .cab-contest-page .cab-form-panel:has(.cab-v8-stage-form-wrap){
    padding:22px 17px;
  }
  .cab-v8-radio-row{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .cab-v8-radio-row label{
    min-width:0;
    width:100%;
    padding:12px 10px!important;
  }
  .cab-v8-stage-form fieldset{
    padding:15px!important;
  }
}

.cab-v8-section-title{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:5px;
}
.cab-v8-section-title>span{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#d8ac52;
  color:#12382d!important;
  font-weight:900;
}
.cab-v8-section-title>div{
  display:flex;
  flex-direction:column;
}
.cab-v8-section-title strong{
  color:#fff!important;
  font-size:17px;
}
.cab-v8-section-title small{
  color:rgba(255,255,255,.68)!important;
  margin-top:2px;
}


/* Cour au Bois V8.1.1 — identité du concours actif */
.cab-v811-public-competition{
  padding:16px 18px;
  border:1px solid rgba(216,172,82,.38);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  margin-bottom:18px;
}
.cab-v811-public-competition .eyebrow{
  color:#d8ac52!important;
  margin:0 0 5px;
}
.cab-v811-public-competition h3{
  color:#fff!important;
  margin:0 0 7px;
  font-size:22px;
}
.cab-v811-public-competition p{
  margin:4px 0;
}
.cab-v811-date{
  color:#fff!important;
  font-weight:800;
}
.cab-v811-price{
  color:#d8ac52!important;
  font-weight:800;
}

/* V8.2.2 — calendrier public des cours */
.cab-v822-calendar{max-width:1200px;margin:0 auto}
.cab-v822-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.cab-v822-calendar-head h2{margin:0;color:#173d30}
.cab-v822-calendar-head a{color:#8e6c32;font-weight:800}
.cab-v822-calendar-grid{display:grid;gap:12px}
.cab-v822-calendar-grid article{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;padding:18px;background:#fff;border-left:6px solid #c9a456;border-radius:12px;box-shadow:0 8px 22px rgba(20,55,43,.07)}
.cab-v822-calendar-grid article.is-full{border-left-color:#b4433b;opacity:.75}
.cab-v822-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#173d30;color:#fff;border-radius:10px;padding:12px}
.cab-v822-date strong{font-size:28px}
.cab-v822-date span{text-transform:uppercase;font-size:11px;color:#d9b568}
.cab-v822-course-info>span{font-size:12px;color:#8d6d34;font-weight:800}
.cab-v822-course-info h3{margin:4px 0;color:#173d30}
.cab-v822-course-info p,.cab-v822-course-info small{display:block;margin:3px 0;color:#66756f}
.cab-v822-full{padding:8px 12px;border-radius:999px;background:#f8ded9;color:#8f3027;font-weight:800}
.cab-v822-modal[hidden]{display:none}
.cab-v822-modal{position:fixed;inset:0;background:rgba(3,24,19,.72);z-index:99999;display:grid;place-items:center;padding:20px}
.cab-v822-modal-card{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:#0b3429;color:#fff;border-radius:16px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.cab-v822-modal-card h2{color:#fff}
.cab-v822-modal-card form{display:grid;gap:13px}
.cab-v822-modal-card label{font-weight:700}
.cab-v822-modal-card input,.cab-v822-modal-card textarea{display:block;width:100%;margin-top:6px;border-radius:9px;border:0;padding:11px}
.cab-v822-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.cab-v822-empty{padding:25px;background:#fff;border-radius:10px}
@media(max-width:700px){.cab-v822-calendar-grid article{grid-template-columns:70px 1fr}.cab-v822-course-action{grid-column:1/-1}.cab-v822-calendar-head{align-items:flex-start;flex-direction:column}}

/* V8.3 — tablette professeur et écran public */
.cab-v83-mount-choice{display:grid;gap:8px;border:1px solid rgba(255,255,255,.2);padding:14px;border-radius:10px}.cab-v83-mount-choice label{display:flex;gap:8px;align-items:center}.cab-v83-mount-choice input{width:auto!important;margin:0!important}.cab-v83-pension-field select{display:block;width:100%;margin-top:6px;padding:11px;border-radius:9px}.cab-v83-kiosk,.cab-v83-public-board{min-height:100vh;background:#092f25;color:#fff;padding:24px}.cab-v83-kiosk header,.cab-v83-public-board header{text-align:center;margin-bottom:24px}.cab-v83-kiosk header p,.cab-v83-public-board header p{color:#d8ac52;letter-spacing:.18em;font-weight:900}.cab-v83-kiosk header h1,.cab-v83-public-board header h1{color:#fff;font-size:42px;margin:5px}.cab-v83-kiosk-courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;max-width:1300px;margin:0 auto 22px}.cab-v83-kiosk-courses a{background:#fff;border-radius:14px;padding:20px;text-decoration:none;display:flex;flex-direction:column}.cab-v83-kiosk-courses strong{color:#173d30;font-size:31px}.cab-v83-kiosk-courses span{color:#173d30;font-size:18px;font-weight:900}.cab-v83-kiosk-courses small{color:#6d7974;margin-top:5px}.cab-v83-kiosk .cab-v83-card{max-width:1300px;margin:0 auto;color:#173d30}.cab-v83-public-board{padding:28px 4vw}.cab-v83-public-courses{display:grid;gap:22px;max-width:1500px;margin:auto}.cab-v83-public-courses section{background:#fff;color:#173d30;border-radius:18px;padding:24px}.cab-v83-public-course-title{display:flex;gap:20px;align-items:center;border-bottom:2px solid #d8ac52;padding-bottom:15px}.cab-v83-public-course-title>strong{font-size:44px;color:#d09f3e}.cab-v83-public-course-title h2{margin:0;color:#173d30;font-size:28px}.cab-v83-public-riders{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.cab-v83-public-riders div{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;background:#f4f7f5;border-radius:10px;font-size:19px}.cab-v83-public-riders span{color:#8b6b32;font-weight:900}@media(max-width:700px){.cab-v83-kiosk,.cab-v83-public-board{padding:15px}.cab-v83-kiosk header h1,.cab-v83-public-board header h1{font-size:32px}.cab-v83-public-course-title>strong{font-size:34px}.cab-v83-public-course-title h2{font-size:22px}}

/* V8.3.1 — routes directes tablette/bar */
.cab-v83-login{
  max-width:620px;
  margin:80px auto;
  padding:34px;
  text-align:center;
  background:#0b3429;
  color:#fff;
  border-radius:16px;
  box-shadow:0 22px 55px rgba(4,28,22,.24);
}
.cab-v83-login h2{color:#fff;margin-top:0}
.cab-v83-login p{color:rgba(255,255,255,.76)}

/* V8.3.2 — contraste tablette */
.cab-v83-kiosk .cab-v83-riders article{background:#fff!important;border:1px solid #d9e3de}
.cab-v83-kiosk .cab-v83-riders article>div strong{color:#102f27!important}
.cab-v83-kiosk .cab-v83-riders article>div span{color:#435f55!important}
.cab-v83-kiosk .cab-v83-riders select{color:#173d30!important;background:#fff!important}


/* Cour au Bois V8.3.4 — calendrier mensuel visuel */
.cab-v834-calendar{
  max-width:1180px;
  margin:0 auto;
}
.cab-v834-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.cab-v834-calendar-head h2{
  margin:0;
  color:#173d30;
  font-size:30px;
}
.cab-v834-calendar-head a{
  color:#89672e;
  font-weight:900;
  text-decoration:none;
}
.cab-v834-legend{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-bottom:18px;
  color:#54665f;
  font-weight:700;
}
.cab-v834-legend span{
  display:flex;
  align-items:center;
  gap:7px;
}
.cab-v834-legend i{
  width:15px;
  height:15px;
  border-radius:4px;
  display:inline-block;
}
.cab-v834-legend i.available{background:#4da96b}
.cab-v834-legend i.full{background:#c95b4b}
.cab-v834-legend i.empty{background:#e7ebe9}
.cab-v834-weekdays,
.cab-v834-month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
}
.cab-v834-weekdays{
  margin-bottom:8px;
}
.cab-v834-weekdays span{
  text-align:center;
  color:#63716c;
  font-weight:900;
  font-size:13px;
}
.cab-v834-day{
  min-height:96px;
  border-radius:12px;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-decoration:none;
  border:2px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cab-v834-day strong{
  font-size:24px;
}
.cab-v834-day small{
  font-size:11px;
  font-weight:900;
}
.cab-v834-day.is-available{
  background:#e7f6ec;
  color:#175d34;
  box-shadow:0 5px 14px rgba(44,120,72,.1);
}
.cab-v834-day.is-full{
  background:#fdeae7;
  color:#923c30;
}
.cab-v834-day.is-empty{
  background:#f0f3f1;
  color:#a5afaa;
}
.cab-v834-day.is-selected{
  border-color:#c89c42;
  box-shadow:0 0 0 4px rgba(200,156,66,.17);
}
.cab-v834-day.is-today strong::after{
  content:"Aujourd’hui";
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-top:3px;
}
a.cab-v834-day:hover{
  transform:translateY(-2px);
}
.cab-v834-day.is-blank{
  visibility:hidden;
}
.cab-v834-day-details{
  margin-top:30px;
}
.cab-v834-day-title{
  margin-bottom:15px;
}
.cab-v834-day-title p{
  color:#987437;
  letter-spacing:.13em;
  font-size:11px;
  font-weight:900;
  margin:0;
}
.cab-v834-day-title h2{
  color:#173d30;
  margin:5px 0 0;
}
.cab-v834-course-list{
  display:grid;
  gap:11px;
}
.cab-v834-course-list article{
  display:grid;
  grid-template-columns:105px 1fr 110px auto;
  gap:18px;
  align-items:center;
  background:#fff;
  border-left:6px solid #4da96b;
  border-radius:12px;
  padding:17px 19px;
  box-shadow:0 8px 22px rgba(20,55,43,.07);
}
.cab-v834-course-list article.is-full{
  border-left-color:#c95b4b;
  opacity:.8;
}
.cab-v834-course-time{
  color:#173d30;
  font-size:26px;
  font-weight:900;
}
.cab-v834-course-copy h3{
  color:#173d30;
  margin:0 0 4px;
}
.cab-v834-course-copy p,
.cab-v834-course-copy small{
  display:block;
  color:#66756f;
  margin:2px 0;
}
.cab-v834-course-places{
  text-align:center;
}
.cab-v834-course-places strong{
  display:block;
  color:#173d30;
  font-size:22px;
}
.cab-v834-course-places span{
  color:#6b7973;
  font-size:12px;
}
.cab-v834-course-list article.is-full .cab-v834-course-places strong{
  color:#9a4035;
  font-size:16px;
}
.cab-v834-empty{
  padding:26px;
  border-radius:11px;
  background:#f4f6f5;
  color:#61706a;
}
@media(max-width:760px){
  .cab-v834-calendar-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .cab-v834-calendar-head h2{
    font-size:25px;
  }
  .cab-v834-weekdays,
  .cab-v834-month-grid{
    gap:5px;
  }
  .cab-v834-day{
    min-height:68px;
    padding:8px;
    border-radius:9px;
  }
  .cab-v834-day strong{
    font-size:18px;
  }
  .cab-v834-day small{
    display:none;
  }
  .cab-v834-course-list article{
    grid-template-columns:75px 1fr;
  }
  .cab-v834-course-places,
  .cab-v834-course-action{
    grid-column:1/-1;
    text-align:left;
  }
}


/* Cour au Bois V8.3.6 — information membres du club */
.cab-v836-members-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:24px 0;
  padding:20px 22px;
  border:1px solid rgba(201,164,86,.5);
  border-left:6px solid #c9a456;
  border-radius:12px;
  background:#0c382d;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,54,43,.12);
}
.cab-v836-members-notice strong{
  display:block;
  color:#fff;
  font-size:18px;
}
.cab-v836-members-notice p{
  margin:6px 0 0;
  color:rgba(255,255,255,.78);
  line-height:1.55;
}
.cab-v836-members-notice .btn{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:720px){
  .cab-v836-members-notice{
    align-items:flex-start;
    flex-direction:column;
  }
  .cab-v836-members-notice .btn{
    width:100%;
    text-align:center;
  }
}

/* V8.3.8 — attribution sans doublon */
.cab-v83-kiosk .cab-v83-horse-select{min-height:48px;padding:10px 12px;font-size:17px;font-weight:800;border-radius:10px}
.cab-v83-kiosk .cab-v83-attendance-select{min-height:48px;border-radius:10px}
.cab-v83-kiosk .cab-v83-save-state{min-width:110px}

/* Cour au Bois Manager V8.4 */
.cab-v84-manager{max-width:1500px;margin:24px auto;padding:24px;background:#eef3f0;color:#173d30;border-radius:24px}
.cab-v84-manager-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#082d24,#194d3c 72%,#94713b);color:#fff}
.cab-v84-kicker{margin:0 0 6px;color:#e0bd6e;font-size:11px;font-weight:900;letter-spacing:.17em}
.cab-v84-manager-head h2{margin:0 0 8px;color:#fff;font-size:34px}
.cab-v84-manager-head span{display:block;color:rgba(255,255,255,.75);margin-top:4px}
.cab-v84-summary{display:flex;gap:12px}
.cab-v84-summary>div{min-width:115px;padding:17px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);border-radius:15px}
.cab-v84-summary strong{display:block;color:#fff;font-size:28px}.cab-v84-summary span{font-size:12px}
.cab-v84-capacity{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;padding:18px 20px;background:#fff;border-left:6px solid #c9a456;border-radius:14px;box-shadow:0 8px 20px rgba(17,54,42,.06)}
.cab-v84-capacity>div{display:flex;flex-direction:column}.cab-v84-capacity>div span{color:#67766f}.cab-v84-capacity form{display:flex;gap:8px;flex-wrap:wrap}
.cab-v84-cap-btn{border:1px solid #cad5d0;background:#fff;color:#173d30;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.cab-v84-cap-btn.is-primary{background:#173d30;color:#fff;border-color:#173d30}
.cab-v84-rider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}
.cab-v84-rider-card{padding:18px;background:#fff;border:1px solid #dfe7e3;border-radius:18px;box-shadow:0 10px 25px rgba(17,54,42,.06)}
.cab-v84-rider-head{display:flex;gap:13px;align-items:center;margin-bottom:17px}.cab-v84-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#173d30;color:#fff;font-size:20px;font-weight:900}
.cab-v84-rider-head h3{margin:0;color:#173d30;font-size:20px}.cab-v84-rider-head span{color:#6a7972}
.cab-v84-mount label{display:block;margin-bottom:7px;color:#6b7973;font-size:12px;font-weight:900;text-transform:uppercase}
.cab-v84-mount select{width:100%;min-height:50px;padding:10px 12px;border:1px solid #bdcbc5;border-radius:11px;background:#fff;color:#173d30;font-size:17px;font-weight:800}
.cab-v84-fixed-mount{display:block;padding:13px 14px;border-radius:11px;background:#fff4d8;color:#173d30}
.cab-v84-attendance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.cab-v84-status-btn{min-height:44px;border:1px solid #d5ded9;border-radius:10px;background:#f7f9f8;color:#52635c;font-weight:900;cursor:pointer}
.cab-v84-status-btn.is-expected.is-active{background:#fff1c7;color:#805c16;border-color:#e8c46f}
.cab-v84-status-btn.is-present.is-active{background:#dff3e6;color:#1c6a3d;border-color:#79be91}
.cab-v84-status-btn.is-absent.is-active{background:#f9ded9;color:#9b352b;border-color:#da8177}
.cab-v84-save-row{min-height:24px;margin-top:12px}.cab-v84-save-row .cab-v83-save-state{color:#347052;font-size:12px;font-weight:800}
.cab-v84-waitlist{margin-top:24px;padding:22px;background:#fff;border-radius:18px}.cab-v84-waitlist h3{margin:0 0 12px;color:#173d30}
.cab-v84-waitlist article{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-top:1px solid #e7ece9}
.cab-v84-wait-position{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff1c7;color:#805c16;font-weight:900}
.cab-v84-wait-copy{display:flex;flex-direction:column}.cab-v84-wait-copy span{color:#6b7973}
.cab-v84-accept-btn{padding:10px 14px;border-radius:10px;background:#173d30;color:#fff!important;text-decoration:none;font-weight:900}
@media(max-width:760px){.cab-v84-manager{padding:12px;border-radius:0}.cab-v84-manager-head{flex-direction:column;padding:20px}.cab-v84-manager-head h2{font-size:27px}.cab-v84-summary{width:100%}.cab-v84-summary>div{flex:1}.cab-v84-capacity{align-items:flex-start;flex-direction:column}.cab-v84-rider-grid{grid-template-columns:1fr}.cab-v84-attendance{grid-template-columns:1fr}.cab-v84-waitlist article{grid-template-columns:40px 1fr}.cab-v84-accept-btn{grid-column:1/-1;text-align:center}}


/* Cour au Bois Manager V8.4.1 — ergonomie compacte */
.cab-v84-manager{
  padding:18px;
}
.cab-v84-manager-head{
  padding:22px 24px;
}
.cab-v84-manager-head h2{
  font-size:30px;
}
.cab-v84-summary{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cab-v84-summary>div{
  min-width:92px;
  padding:12px 14px;
}
.cab-v84-summary>div.is-present{
  background:rgba(82,180,115,.16);
}
.cab-v84-summary>div.is-expected{
  background:rgba(224,189,110,.17);
}
.cab-v84-summary>div.is-absent{
  background:rgba(222,100,86,.16);
}
.cab-v84-summary strong{
  font-size:23px;
}
.cab-v84-capacity{
  margin:14px 0;
  padding:14px 17px;
}
.cab-v84-rider-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.cab-v84-rider-card{
  padding:14px;
  border-left:6px solid #d7e0dc;
  border-radius:15px;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.cab-v84-rider-card.status-expected{
  border-left-color:#d4aa50;
}
.cab-v84-rider-card.status-present{
  border-left-color:#53a873;
  background:#fbfefc;
}
.cab-v84-rider-card.status-absent{
  border-left-color:#d96558;
  background:#fffafa;
}
.cab-v84-rider-head{
  margin-bottom:12px;
}
.cab-v84-avatar{
  width:41px;
  height:41px;
  font-size:17px;
}
.cab-v84-rider-head h3{
  font-size:18px;
}
.cab-v841-horse-display{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:9px 11px;
  border-radius:11px;
  background:#f5f8f6;
}
.cab-v841-horse-icon{
  font-size:20px;
}
.cab-v841-horse-name{
  flex:1;
  color:#173d30;
  font-size:17px;
}
.cab-v841-change-horse{
  border:0;
  border-radius:8px;
  padding:7px 10px;
  background:#e8eee9;
  color:#173d30;
  font-weight:800;
  cursor:pointer;
}
.cab-v841-horse-select{
  width:100%;
  margin-top:8px;
  min-height:44px;
}
.cab-v84-attendance{
  margin-top:12px;
  gap:6px;
}
.cab-v84-status-btn{
  min-height:39px;
  font-size:13px;
}
.cab-v84-save-row{
  min-height:19px;
  margin-top:8px;
}
.cab-v84-waitlist{
  margin-top:18px;
  padding:17px 19px;
}
.cab-v84-waitlist h3{
  font-size:20px;
}
.cab-v84-waitlist article{
  grid-template-columns:38px 1fr auto;
  padding:10px 0;
}
.cab-v84-wait-position{
  width:32px;
  height:32px;
}
.cab-v84-accept-btn{
  padding:9px 13px;
}
@media(min-width:1100px){
  .cab-v84-rider-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .cab-v84-summary{
    justify-content:flex-start;
  }
  .cab-v84-summary>div{
    min-width:calc(50% - 6px);
  }
  .cab-v84-attendance{
    grid-template-columns:repeat(3,1fr);
  }
}

/* V8.4.2 — lignes compactes dans Cours du jour */
.wp-admin .cab-v842-admin-lines{max-width:none;margin:16px 0;padding:16px;border-radius:16px}
.wp-admin .cab-v842-admin-lines .cab-v84-manager-head{padding:17px 20px}
.wp-admin .cab-v842-admin-lines .cab-v84-manager-head h2{font-size:25px}
.wp-admin .cab-v842-admin-lines .cab-v84-summary>div{min-width:82px;padding:9px 11px}
.wp-admin .cab-v842-admin-lines .cab-v84-summary strong{font-size:19px}
.wp-admin .cab-v842-admin-lines .cab-v84-capacity{margin:10px 0;padding:10px 13px}
.wp-admin .cab-v842-admin-lines .cab-v84-rider-grid{display:grid;grid-template-columns:1fr;gap:5px}
.wp-admin .cab-v842-admin-lines .cab-v84-rider-card{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.2fr) minmax(300px,1.5fr) 125px;gap:12px;align-items:center;min-height:64px;padding:8px 11px;border-left-width:5px;border-radius:9px;box-shadow:none}
.wp-admin .cab-v842-admin-lines .cab-v84-rider-head{margin:0}
.wp-admin .cab-v842-admin-lines .cab-v84-avatar{width:35px;height:35px;font-size:14px}
.wp-admin .cab-v842-admin-lines .cab-v84-rider-head h3{font-size:15px}
.wp-admin .cab-v842-admin-lines .cab-v84-rider-head span{font-size:12px}
.wp-admin .cab-v842-admin-lines .cab-v841-horse-display{min-height:39px;padding:6px 9px}
.wp-admin .cab-v842-admin-lines .cab-v841-horse-name{font-size:14px}
.wp-admin .cab-v842-admin-lines .cab-v841-change-horse{padding:5px 8px;font-size:11px}
.wp-admin .cab-v842-admin-lines .cab-v841-horse-select{position:absolute;z-index:20;width:280px;margin-top:42px}
.wp-admin .cab-v842-admin-lines .cab-v84-attendance{margin:0;grid-template-columns:repeat(3,1fr)}
.wp-admin .cab-v842-admin-lines .cab-v84-status-btn{min-height:35px;padding:4px 6px;font-size:11px}
.wp-admin .cab-v842-admin-lines .cab-v84-save-row{min-height:0;margin:0;text-align:right}
.wp-admin .cab-v842-admin-lines .cab-v84-save-row .cab-v83-save-state{font-size:10px}
.wp-admin .cab-v842-admin-lines .cab-v84-waitlist{margin-top:12px;padding:13px 15px}
.wp-admin .cab-v842-admin-lines .cab-v84-waitlist article{padding:7px 0}
@media(max-width:1200px){
  .wp-admin .cab-v842-admin-lines .cab-v84-rider-card{grid-template-columns:1fr 1fr}
  .wp-admin .cab-v842-admin-lines .cab-v84-save-row{text-align:left}
}


/* V8.4.4 — synchronisation automatique de la liste d’attente */
.cab-v844-sync-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 13px;
  border:1px solid #c9a456;
  border-radius:10px;
  background:#fff8e7;
  color:#76571e!important;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.cab-v844-sync-btn:hover{
  background:#fff0c9;
}
@media(max-width:900px){
  .cab-v844-sync-btn{
    width:100%;
  }
}


/* V8.5.0 — écran professeur sans absents */
.cab-v850-absence-history{
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #ead5d1;
  border-radius:12px;
  background:#fffafa;
}
.cab-v850-absence-history summary{
  cursor:pointer;
  color:#8e3f36;
  font-weight:900;
}
.cab-v850-absence-list{
  margin-top:12px;
}
.cab-v850-absence-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-top:1px solid #f0deda;
}
.cab-v850-absence-list article>div{
  display:flex;
  flex-direction:column;
}
.cab-v850-absence-list span{
  color:#725f5b;
}
.cab-v850-absence-badge{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  background:#f7d9d4;
  color:#963c32!important;
  font-size:11px;
  font-weight:900;
}
.cab-v850-toast{
  position:fixed;
  z-index:999999;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  max-width:720px;
  padding:15px 20px;
  border-radius:12px;
  background:#173d30;
  color:#fff;
  box-shadow:0 15px 40px rgba(7,36,28,.3);
  font-weight:900;
  text-align:center;
}

/* V9.1 — écran du bar collectifs / particuliers */
.cab-v91-professor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cab-v91-professor-link{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border-radius:10px;background:#c9a456;color:#173d30!important;text-decoration:none;font-weight:900}
.cab-v91-bar-board{min-height:80vh;padding:24px;background:#eef3f0;color:#173d30}
.cab-v91-bar-board>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:22px 26px;border-radius:18px;background:linear-gradient(130deg,#082d24,#1f5140 70%,#98763e);color:#fff}
.cab-v91-bar-board>header p,.cab-v91-column-title p,.cab-v91-private-list article p{margin:0;color:#e2bd69;font-size:11px;font-weight:900;letter-spacing:.15em}
.cab-v91-bar-board>header h1{margin:5px 0;color:#fff}
.cab-v91-bar-board>header span{color:rgba(255,255,255,.8);font-size:18px;font-weight:800}
.cab-v91-bar-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cab-v91-bar-column{padding:20px;border-radius:18px;background:#fff}
.cab-v91-bar-column.collective{border-top:7px solid #173d30}
.cab-v91-bar-column.private{border-top:7px solid #c9a456}
.cab-v91-column-title h2{margin:4px 0 15px;color:#173d30}
.cab-v91-bar-list,.cab-v91-private-list{display:grid;gap:12px}
.cab-v91-bar-list>article{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:16px;border-radius:13px;background:#f5f8f6}
.cab-v91-bar-time{font-size:31px;font-weight:900;color:#173d30}
.cab-v91-bar-list h3,.cab-v91-private-list h3{margin:0;color:#173d30}
.cab-v91-bar-list article>div>span{display:block;margin:4px 0 10px;color:#68766f}
.cab-v91-bar-riders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cab-v91-bar-riders div{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:#fff}
.cab-v91-bar-riders span{color:#6a7871}
.cab-v91-private-list article{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:17px;border-radius:13px;background:#fff8e7;border:1px solid #ecd9aa}
.cab-v91-private-time strong,.cab-v91-private-time span{display:block}
.cab-v91-private-time strong{font-size:30px;color:#815f20}
.cab-v91-private-time span{color:#8b764e}
.cab-v91-private-list article>div>span,.cab-v91-private-list small,.cab-v91-private-horse{display:block;margin-top:5px}
.cab-v91-private-horse{color:#173d30}
.cab-v91-private-list small{color:#73684e}
.cab-v91-empty-board{padding:28px;border-radius:12px;background:#f5f7f6;color:#68766f;text-align:center}
@media(max-width:950px){.cab-v91-bar-columns{grid-template-columns:1fr}.cab-v91-bar-riders{grid-template-columns:1fr}.cab-v91-bar-board>header{align-items:flex-start;flex-direction:column}}


/* =========================================================
   V17.0.1 — Illustrations Activités, correctif d'intégration
   Le site public charge assets/css/site.css.
   Ces règles couvrent la nouvelle structure et l'ancienne structure.
   ========================================================= */
.activity-card-design {
  overflow: hidden;
  padding-bottom: 0 !important;
  background: #fff;
  border: 1px solid rgba(14, 55, 44, .10);
  border-radius: 3px;
  box-shadow: 0 12px 28px rgba(15, 55, 44, .08);
  transition: transform .28s ease, box-shadow .28s ease;
}
.activity-card-design:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(15, 55, 44, .14);
}
.activity-card-design .activity-design-image {
  width: 100%;
  height: auto !important;
  min-height: 250px;
  aspect-ratio: 3 / 2;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  border-radius: 0;
}
.activity-card-copy {
  padding: 25px 24px 28px;
  text-align: center;
}
.activity-card-copy h3,
.activity-card-copy p {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.activity-card-copy h3 {
  margin: 0;
}
.activity-gold-line {
  display: block;
  width: 48px;
  height: 2px;
  margin: 11px auto 15px;
  background: #c99a3d;
}
.activity-card-copy p {
  margin: 0 auto;
  max-width: 30rem;
}

/* Secours pour l'ancien HTML encore servi par un cache PHP/CDN. */
#activites .activity-card .photo-1 {
  background-image: url('../images/activities/poney-club.webp') !important;
}
#activites .activity-card .photo-2 {
  background-image: url('../images/activities/dressage.webp') !important;
}
#activites .activity-card .photo-3 {
  background-image: url('../images/activities/saut-obstacles.webp') !important;
}
#activites .activity-card .photo-4 {
  background-image: url('../images/activities/promenades.webp') !important;
}
#activites .activity-card .photo-5 {
  background-image: url('../images/activities/stages.webp') !important;
}
#activites .activity-card .photo-6 {
  background-image: url('../images/activities/pensions.webp') !important;
}
#activites .activity-card .photo-7 {
  background-image: url('../images/activities/concours.webp') !important;
}
#activites .activity-card .photo-8 {
  background-image: url('../images/activities/voltige.webp') !important;
}
#activites .activity-card .photo-1,
#activites .activity-card .photo-2,
#activites .activity-card .photo-3,
#activites .activity-card .photo-4,
#activites .activity-card .photo-5,
#activites .activity-card .photo-6,
#activites .activity-card .photo-7,
#activites .activity-card .photo-8 {
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
#activites .activity-card .photo-1::before,
#activites .activity-card .photo-2::before,
#activites .activity-card .photo-3::before,
#activites .activity-card .photo-4::before,
#activites .activity-card .photo-5::before,
#activites .activity-card .photo-6::before,
#activites .activity-card .photo-7::before,
#activites .activity-card .photo-8::before {
  display: none !important;
}

@media (max-width: 760px) {
  .activity-card-design .activity-design-image {
    min-height: 220px;
  }
}


/* =========================================================
   V22.1.3 — Logo officiel CAB : taille réduite
   Modification limitée au logo du site.
   ========================================================= */
.site-header .brand {
  flex: 0 0 120px;
  min-width: 120px;
  max-width: 120px;
}
.site-header .cab-original-site-logo {
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  max-height: 78px;
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 1370px) and (min-width: 1181px) {
  .site-header .brand {
    flex-basis: 112px;
    min-width: 112px;
    max-width: 112px;
  }
  .site-header .cab-original-site-logo {
    width: 112px;
    max-height: 73px;
  }
}
@media (max-width: 1180px) {
  .site-header .brand {
    flex: 0 0 105px;
    min-width: 105px;
    max-width: 105px;
  }
  .site-header .cab-original-site-logo {
    width: 105px;
    max-height: 68px;
  }
}
@media (max-width: 720px) {
  .site-header .brand {
    flex-basis: 92px;
    min-width: 92px;
    max-width: 92px;
  }
  .site-header .cab-original-site-logo {
    width: 92px;
    max-height: 60px;
  }
}

/* CAB V28.3.4 — ardoise structurée */
.restaurant-v2-weekly-menu{width:min(980px,100%)}
.restaurant-v2-menu-group{margin:0 0 28px}.restaurant-v2-menu-group:last-child{margin-bottom:0}
.restaurant-v2-menu-group h3{margin:0 0 13px;color:#d4a43f;font-family:inherit;font-size:.82em;letter-spacing:.12em;text-align:center}
.restaurant-v2-menu-item{display:grid;grid-template-columns:minmax(0,auto) minmax(24px,1fr) 115px;gap:12px;align-items:end;margin:0 0 17px}
.restaurant-v2-menu-copy{min-width:0}.restaurant-v2-menu-title{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.96)}
.restaurant-v2-menu-bullet{flex:0 0 auto}.restaurant-v2-menu-suggestion{margin:3px 0 0 34px;color:rgba(255,255,255,.66);font-size:.72em;font-style:italic;line-height:1.45}
.restaurant-v2-menu-dots{min-width:24px;border-bottom:2px dotted rgba(255,255,255,.58);transform:translateY(-.38em)}
.restaurant-v2-menu-price{color:#d8a43c;font-size:1em;line-height:1.25;text-align:right;white-space:nowrap;font-weight:800}
@media(max-width:700px){.restaurant-v2-menu-item{grid-template-columns:minmax(0,1fr) auto;gap:8px}.restaurant-v2-menu-dots{display:none}.restaurant-v2-menu-price{align-self:start}.restaurant-v2-menu-suggestion{margin-left:24px}}

/* V33.0.1 — masque les textes de remplacement lorsqu’une image ERP est active */
.media-card.custom-photo > span{display:none!important;}
