/*
Theme Name: Conservatoire de Marolles
Theme URI: https://conservatoire-marolles.crescendoweb.fr
Author: Crescendo Web
Description: Theme sur mesure inspire de l'approche visuelle Stauffer.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
Text Domain: conservatoire-marolles
*/
:root{--cm-ink:#070707;--cm-paper:#fff;--cm-mist:#f4f2ed;--cm-line:rgba(255,255,255,.5);--cm-blue:#0f3b74;--cm-muted:#6f767f;--cm-max:1320px;--cm-sans:Inter,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font-family:var(--cm-sans);font-size:16px;line-height:1.5;opacity:0;transition:opacity .45s ease}body.cm-ready{opacity:1}body.cm-leaving{opacity:0}a{color:inherit}img{display:block;max-width:100%;height:auto}.cm-container{width:min(calc(100% - 40px),var(--cm-max));margin-inline:auto}.cm-site-header{position:fixed;top:0;left:0;right:0;z-index:80;background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,0));color:#fff}.cm-header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:42px;align-items:start;min-height:112px;padding-top:24px}.cm-brand{display:inline-flex;align-items:flex-start;gap:16px;text-decoration:none;color:#fff}.cm-brand img{width:76px;max-height:92px;object-fit:contain;filter:brightness(0) invert(1)}.cm-brand-mark{width:74px;height:74px;display:grid;place-items:center;border:2px solid #fff;color:#fff;border-radius:50%;font-size:28px;font-weight:800}.cm-brand-name{display:grid;line-height:.95}.cm-brand-name strong{max-width:230px;color:#fff;font-size:1.62rem;font-weight:500;letter-spacing:-.04em;text-transform:none}.cm-brand-name span{color:rgba(255,255,255,.92);font-size:1.1rem;font-style:italic}.cm-nav{justify-self:end;padding-top:12px}.cm-nav ul{display:flex;gap:34px;align-items:center;padding:0;margin:0;list-style:none}.cm-nav a{color:#fff;font-size:1.05rem;font-weight:500;text-decoration:none;text-shadow:0 1px 12px rgba(0,0,0,.24)}.cm-nav a:hover{opacity:.72}.cm-nav li:last-child a{display:inline-flex;padding:14px 22px;background:#050505;color:#fff;text-shadow:none}.cm-menu-toggle{display:none;width:48px;height:48px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.18);color:#fff}.cm-menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:currentColor}.cm-hero{position:relative;min-height:100vh;overflow:hidden;background:#101820;color:#fff}.cm-hero-media{position:absolute;inset:0}.cm-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.05) 45%,rgba(0,0,0,.28)),linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,.08) 60%,rgba(0,0,0,.44))}.cm-hero-media img,.cm-hero-media .cm-hero-fallback{width:100%;height:100%;object-fit:cover}.cm-hero-inner{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:150px 0 92px}.cm-hero-copy{text-align:left;transform:translateX(18vw);max-width:520px}.cm-kicker{margin:0 0 16px;color:#0f3b74;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cm-hero .cm-kicker{display:none}.cm-hero h1{margin:0;color:#fff;font-size:clamp(3.2rem,5.4vw,6.8rem);font-weight:400;letter-spacing:-.045em;line-height:.98;text-shadow:0 4px 26px rgba(0,0,0,.2)}.cm-hero-copy p{margin:16px 0 0;color:rgba(255,255,255,.92);font-size:clamp(1.45rem,2.3vw,3rem);font-weight:300;letter-spacing:-.035em}.cm-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.cm-button,.cm-button-outline,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0;border:0;background:transparent;color:inherit;font-size:1.22rem;font-weight:400;text-decoration:none}.cm-button::before,.cm-button-outline::before{content:"↗";margin-right:12px;font-size:1.2em}.cm-hero-card{display:none}.cm-hero-bottom{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:22px 22px;border-top:1px solid rgba(255,255,255,.45);color:#fff;font-size:1.05rem}.cm-hero-bottom a{text-decoration:none}.cm-side-badge{position:absolute;right:0;top:53%;z-index:4;display:grid;place-items:center;width:62px;height:190px;background:#050505;color:#fff;font-weight:800}.cm-side-badge span{writing-mode:vertical-rl;transform:rotate(180deg)}.cm-section{padding:clamp(70px,9vw,126px) 0;background:#fff}.cm-section.is-mist{background:#f4f2ed}.cm-section-head{display:grid;grid-template-columns:.35fr 1fr;gap:40px;margin-bottom:48px}.cm-section-title,.cm-page-title{margin:0;font-size:clamp(3.1rem,7vw,7rem);font-weight:400;letter-spacing:-.06em;line-height:.92}.cm-section-text{max-width:780px;margin:0;color:#1f252c;font-size:clamp(1.45rem,2.4vw,2.8rem);font-weight:300;letter-spacing:-.045em;line-height:1.08}.cm-program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d7d7d7;border-left:1px solid #d7d7d7}.cm-program-item{min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #d7d7d7;border-bottom:1px solid #d7d7d7;background:#fff;text-decoration:none;transition:background .25s ease,transform .25s ease}.cm-program-item:hover{background:#f6f6f6;transform:translateY(-4px)}.cm-program-item h3{margin:0;font-size:clamp(2rem,3.2vw,3.4rem);font-weight:400;letter-spacing:-.06em;line-height:.94}.cm-program-item p{margin:0;color:#666}.cm-events-list{border-top:1px solid #cfcfcf}.cm-event-row{display:grid;grid-template-columns:130px 1fr .9fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid #cfcfcf;text-decoration:none}.cm-event-date{font-weight:700}.cm-event-row h3{margin:0;font-size:clamp(1.25rem,2vw,1.9rem);font-weight:500;letter-spacing:-.035em}.cm-event-row p{margin:0;color:#666}.cm-event-arrow{font-size:1.4rem}.cm-news-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.cm-feature-panel{min-height:440px;padding:38px;display:grid;align-content:end;background:#111;color:#fff}.cm-feature-panel h3{max-width:720px;margin:0;font-size:clamp(2.8rem,5vw,5.7rem);font-weight:400;letter-spacing:-.06em;line-height:.92}.cm-feature-panel p{max-width:610px;color:rgba(255,255,255,.76)}.cm-mini-stack{display:grid;gap:16px}.cm-mini-card{padding:28px;border:1px solid #d7d7d7;background:#fff}.cm-mini-card strong{display:block;margin-bottom:14px;color:#0f3b74;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.cm-mini-card h3{margin:0;font-size:1.8rem;font-weight:400;letter-spacing:-.04em;line-height:1.04}.cm-page{padding:clamp(58px,8vw,110px) 0}.cm-page-hero{padding:160px 0 52px;background:#f4f2ed}.cm-content{max-width:920px;margin-top:34px}.cm-content input,.cm-content textarea,.cm-content select{width:100%;min-height:50px;padding:12px 14px;border:1px solid #d7d7d7;background:#fff;color:#111;font:inherit}.cm-site-footer{padding:70px 0;background:#050505;color:#fff}.cm-footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.cm-footer-brand{margin:0 0 12px;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;letter-spacing:-.06em;line-height:.9}.cm-footer-text{max-width:620px;margin:0;color:rgba(255,255,255,.66)}.cm-footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.cm-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.cm-reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:980px){.cm-header-inner{grid-template-columns:1fr auto;align-items:start}.cm-menu-toggle{display:inline-grid;place-items:center;margin-top:10px}.cm-nav{display:none;grid-column:1/-1;justify-self:stretch;padding:18px 0;background:rgba(0,0,0,.72)}.cm-nav.is-open{display:block}.cm-nav ul{display:grid;gap:16px;padding:0 20px}.cm-hero-copy{transform:none;text-align:center}.cm-hero-bottom{grid-template-columns:1fr;justify-items:center}.cm-side-badge{display:none}.cm-section-head,.cm-news-grid,.cm-footer-grid{grid-template-columns:1fr}.cm-program-grid{grid-template-columns:repeat(2,1fr)}.cm-event-row{grid-template-columns:90px 1fr}.cm-event-row p,.cm-event-arrow{display:none}}@media(max-width:560px){.cm-container{width:min(calc(100% - 28px),var(--cm-max))}.cm-brand img{width:56px}.cm-brand-name strong{font-size:1.15rem}.cm-hero h1{font-size:3.4rem}.cm-hero-copy p{font-size:1.6rem}.cm-program-grid{grid-template-columns:1fr}.cm-event-row{grid-template-columns:1fr}}
