/*
Theme Name: CODE Racing 2027
Author: CODE Racing Development
Description: Thème léger dédié à CODE Racing Development, éditable avec les blocs WordPress.
Version: 1.2.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: code-racing
*/
:root{--green:#06564c;--deep:#092f2c;--lime:#bdff19;--paper:#f5faf5;--ink:#073e36;--line:rgba(255,255,255,.19)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(40px,5vw,76px);margin-bottom:36px;font-weight:750}h3{font-size:28px}h4{font-size:19px;letter-spacing:-.02em}p{margin-bottom:22px}strong{font-weight:700}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--lime);outline-offset:5px}.skip-link{position:absolute;top:-100px;left:20px;z-index:99;padding:12px;background:var(--lime);color:var(--deep)}.skip-link:focus{top:8px}
.site-header{position:sticky;top:0;z-index:40;background:var(--deep);color:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1600px;margin:auto;display:flex;align-items:center;gap:32px;padding:24px 4vw}.site-logo img{width:245px;max-height:76px;object-fit:contain}.site-nav{display:flex;flex:1;justify-content:flex-end;gap:22px;align-items:center}.site-nav a{font-size:12px;font-weight:700;white-space:nowrap}.site-nav a:last-child{background:var(--lime);color:var(--deep);padding:12px 18px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:white;padding:8px 14px}.hero{position:relative;min-height:calc(100svh - 110px);isolation:isolate;overflow:hidden;background:var(--deep);color:white;display:flex;align-items:center}.hero-image{position:absolute;inset:0;z-index:-2;margin:0!important}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,35,31,.88),rgba(3,35,31,.42) 52%,rgba(3,35,31,.08)),linear-gradient(0deg,rgba(3,35,31,.8),transparent 40%)}.hero-content{padding:100px 7vw 120px;max-width:1000px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;margin-bottom:28px}.hero .eyebrow{color:var(--lime)}.hero h1{font-size:clamp(56px,7.7vw,124px);line-height:.94;letter-spacing:-.06em;margin-bottom:30px;font-weight:800}.hero-subtitle{font-size:clamp(18px,1.7vw,24px);max-width:560px}.hero-bottom{position:absolute;bottom:25px;left:7vw;font-size:10px;letter-spacing:.23em;color:#cee3dc}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:15px}.wp-block-button__link{display:inline-block;background:var(--lime);color:var(--deep);border-radius:0;padding:17px 27px;font-size:12px;font-weight:700;letter-spacing:.06em}.wp-block-button__link:hover{background:white;text-decoration:none}.section{padding:96px 7vw;scroll-margin-top:0}.section>*{max-width:1400px;margin-left:auto;margin-right:auto}.section-light{background:var(--paper);color:var(--ink)}.section-dark{background:var(--deep);color:var(--paper)}.section-green{background:var(--green);color:white}.section-dark h2,.section-green h2{color:var(--lime)}.section-dark .eyebrow,.section-green .eyebrow{color:#bdd6ce}.wp-block-columns{display:flex;gap:64px;margin-bottom:0;align-items:flex-start}.wp-block-column{flex:1;min-width:0}.about-grid>.wp-block-column:first-child{flex:0 0 43%}.about-photo img{width:100%;aspect-ratio:1.45;object-fit:cover}.about-grid>.wp-block-column:nth-child(2){padding-top:7px}.about-grid strong{color:var(--green)}.results-grid{gap:65px}.results-grid h3{color:var(--lime);border-bottom:1px solid var(--line);padding-bottom:23px}.result{padding:17px 0;border-bottom:1px solid var(--line);display:flex;gap:28px;align-items:baseline}.result h4{flex:1;margin:0}.result p{flex:1;font-size:11px;line-height:1.5;color:#bad4cd;letter-spacing:.02em;margin:0}.service-grid{align-items:center;gap:65px}.service-copy{max-width:650px}.service-copy h2{font-size:clamp(38px,4.3vw,66px)}.service-copy p{font-size:16px}.photo-strip{display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--green) transparent;padding-bottom:14px}.photo-strip .wp-block-image{flex:0 0 93%;scroll-snap-align:start}.photo-strip img{width:100%;aspect-ratio:.94;object-fit:cover}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.partner-grid figure{background:white;padding:28px;display:grid;place-items:center}.partner-grid img{width:100%;height:95px;object-fit:contain}.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.press-card img{aspect-ratio:1.3;object-fit:cover;width:100%;margin-bottom:24px}.press-card .eyebrow{margin-bottom:14px;font-size:10px}.press-card h3{font-size:23px;line-height:1.2;min-height:83px;letter-spacing:-.025em}.press-card .wp-block-button__link{padding:0;background:none;color:var(--lime);font-size:10px}.contact-detail{margin-bottom:27px;border-top:1px solid var(--line);padding-top:20px}.contact-detail h3{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px;color:#bdd6ce}.contact-detail p{font-size:18px;margin:0;overflow-wrap:anywhere}.contact-grid{gap:100px}.wpcf7 label{display:block;font-size:12px;font-weight:600}.wpcf7 input:not([type=submit]),.wpcf7 textarea{display:block;width:100%;background:rgba(0,0,0,.08);border:1px solid #75a39b;color:white;padding:13px 16px;border-radius:0;margin-top:9px}.wpcf7 textarea{height:150px;resize:vertical}.wpcf7 input[type=submit]{background:var(--lime);color:var(--deep);border:0;padding:14px 32px;cursor:pointer;font-weight:bold}.wpcf7-response-output{background:white;color:var(--deep)}.instagram-section{padding:30px 4vw;background:var(--paper)}.site-footer{background:var(--deep);color:white;padding:48px 7vw}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:38px}.footer-top img{width:280px}.social-links{display:flex;gap:25px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;font-size:11px;color:#bdd6ce}.footer-bottom p{margin:0}.wp-block-image img{border-radius:0}.entry-content>p{max-width:900px;margin:40px auto}.single-content{padding:80px 7vw}.admin-bar .site-header{top:32px}
@media(min-width:1600px){.section{padding-left:max(7vw,calc((100vw - 1400px)/2));padding-right:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1250px){.site-logo img{width:190px}.site-nav{gap:13px}.site-nav a{font-size:11px}.header-inner{gap:20px}.result{display:block}.result h4{margin-bottom:8px}.press-grid{grid-template-columns:repeat(2,1fr)}.press-card h3{min-height:0}}
@media(max-width:1000px){html{scroll-padding-top:90px}.header-inner{padding:18px 5vw;justify-content:space-between}.site-logo img{width:205px;max-height:55px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 5vw;background:var(--deep);max-height:calc(100svh - 90px);overflow:auto;box-shadow:0 20px 25px #0003}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav a{font-size:15px;padding:12px 0;border-bottom:1px solid var(--line)}.site-nav a:last-child{margin-top:15px;text-align:center}.wp-block-columns{gap:36px}.section{padding:70px 6vw}.hero-content{padding:90px 6vw 110px}.hero{min-height:650px}.service-grid{display:block}.service-copy{max-width:none;margin-bottom:35px}.photo-strip .wp-block-image{flex-basis:65%}.photo-strip img{aspect-ratio:1.45}.service-grid.reversed{display:flex;flex-direction:column-reverse}.service-grid.reversed>.wp-block-column{width:100%}.service-grid.reversed .service-copy{margin-bottom:0}.contact-grid{gap:40px}.partner-grid figure{padding:18px}}
@media(max-width:650px){body{font-size:16px}.hero{min-height:calc(100svh - 92px)}.hero-content{padding:85px 6vw 115px}.hero h1{font-size:clamp(47px,10.9vw,69px)}.hero:after{background:linear-gradient(90deg,rgba(3,35,31,.87),rgba(3,35,31,.48)),linear-gradient(0deg,rgba(3,35,31,.65),transparent)}.hero-image img{object-position:61% center}.hero-bottom{font-size:8px;left:6vw;letter-spacing:.17em}.eyebrow{font-size:10px;letter-spacing:.12em}.section{padding:58px 6vw}.wp-block-columns{display:block}.about-grid>.wp-block-column:first-child{margin-bottom:35px}.results-grid>.wp-block-column+ .wp-block-column{margin-top:45px}.result{display:flex;gap:20px}.result h4{font-size:16px}.result p{font-size:10px}.photo-strip .wp-block-image{flex-basis:92%}.partner-grid{grid-template-columns:repeat(2,1fr);gap:12px}.partner-grid img{height:64px}.press-grid{grid-template-columns:1fr;gap:40px}.press-card img{aspect-ratio:1.6}.contact-grid>.wp-block-column+ .wp-block-column{margin-top:45px}.footer-top,.footer-bottom{display:block}.social-links{margin-top:25px;gap:20px}.footer-bottom p+p{margin-top:12px}.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.section-calendar{background:#e8f0e8;color:var(--ink)}.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 50px}.event-card{background:var(--paper);border-top:3px solid var(--green);padding:22px}.event-category{font-size:10px;font-weight:bold;letter-spacing:.1em;color:var(--green);margin-bottom:15px}.event-date{font-size:20px;margin-bottom:18px;letter-spacing:-.025em}.event-venue{font-size:15px;margin-bottom:8px;letter-spacing:0}.event-country{font-size:11px;margin:0;line-height:1.5;opacity:.75}.classic-title{margin-top:65px}.calendar-subtitle{font-size:14px}.section-calendar h3{font-size:24px}@media(max-width:1000px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:450px){.calendar-grid{gap:10px}.event-card{padding:17px 13px}.event-date{font-size:17px}.event-venue{font-size:13px}}
/* Keep grid cards aligned independently of WordPress flow spacing. */
.calendar-grid>.wp-block-group,.press-grid>.wp-block-group,.partner-grid>.wp-block-image,.photo-strip>.wp-block-image{margin-block-start:0!important;margin-block-end:0!important}
@media(max-width:1200px){.header-inner{padding:18px 5vw;justify-content:space-between}.site-logo img{width:205px;max-height:55px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 5vw;background:var(--deep);max-height:calc(100svh - 90px);overflow:auto;box-shadow:0 20px 25px #0003}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav a{font-size:15px;padding:12px 0;border-bottom:1px solid var(--line)}.site-nav a:last-child{margin-top:15px;text-align:center}}
.gallery-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.gallery-controls button{width:48px;height:40px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;line-height:1}.gallery-controls button:hover{background:var(--lime);color:var(--deep);border-color:var(--lime)}
