/*
Theme Name: happywookie
Description: Le collectif créatif — thème sur mesure, avec l’extension Happywookie Contenus.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: happywookie
*/
@font-face{font-family:Alegreya;src:url('assets/alegreya.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
:root{--orange:#f65b23;--ink:#202020;--paper:#eeece9;--dark:#2c373c;--white:#fff;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;border-top:8px solid var(--orange);background:#fff;color:var(--ink);font-family:Alegreya,Georgia,serif;font-size:19px;line-height:1.5}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13}h1{font-size:clamp(30px,3.1vw,46px)}h2{font-size:clamp(30px,3vw,42px);margin-bottom:38px}h3{font-size:25px}p{margin-bottom:22px}.wrap{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.narrow{max-width:800px;margin-inline:auto}.center{text-align:center}.section{padding-block:76px}.paper{background:var(--paper)}.skip-link{position:absolute;left:20px;top:-100px;padding:12px 20px;background:var(--ink);color:#fff;z-index:9}.skip-link:focus{top:15px}.site-header{padding:32px 0 25px;text-align:center}.brand{display:inline-block}.brand img{width:285px;height:auto}.site-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px}.site-nav a{font-size:16px;padding:8px 17px;border-radius:24px;background:var(--paper);text-decoration:none;transition:background .18s,color .18s}.site-nav a:hover,.site-nav a[aria-current]{background:var(--orange);color:#fff}.hero{position:relative}.hero:before{content:'';position:absolute;left:-17px;top:42%;width:25px;height:95px;background:var(--orange);border-radius:25px;z-index:-1}.hero img{width:100%;border-radius:28px}.intro{padding:44px 20px 62px}.intro h1{max-width:780px;margin:0 auto 28px}.accent{color:#d84611}.intro p{max-width:670px;margin-inline:auto}.intro p:last-child{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin:0;padding:0;list-style:none}.step-title{background:var(--orange);border-radius:0 45px 45px 45px;padding:21px 24px;min-height:112px;position:relative;display:grid;place-items:center;margin-bottom:25px}.step-title span{position:absolute;left:12px;top:7px;color:#fff;font-size:25px;font-weight:700}.step-title h3{font-size:24px;margin:0;max-width:210px}.steps p{font-size:18px}.steps strong{display:block;font-size:18px}.included{padding-top:70px}.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 65px;max-width:900px;margin:auto}.included-grid h3{font-size:21px;margin:0 0 5px}.included-grid p{font-size:17px;margin:0}.plans{background:var(--orange)}.plans h2{color:#fff}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;max-width:1030px;margin:0 auto 34px}.plan{overflow:hidden;border-radius:12px;background:var(--paper)}.plan h3{margin:0;background:var(--ink);color:#fff;padding:19px;font-size:34px}.plan ul{list-style:none;margin:0;padding:23px 22px;background:#e0dedb}.plan li{padding:10px 0;font-size:21px}.plan li+li:before{content:'–';display:block;font-size:14px;margin-bottom:10px}.plan-price{font-size:40px;color:#d84611;font-weight:800;margin:0;padding:20px}.button{display:inline-block;border:0;border-radius:18px;background:var(--ink);color:#fff;padding:12px 25px;text-decoration:none;font-size:18px;transition:transform .18s,background .18s}.button:hover{background:#384247;transform:translateY(-2px)}.clients{padding-block:64px}.client-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:35px 42px}.client-logo{width:150px;min-height:55px;display:flex;align-items:center;justify-content:center}.client-logo img{max-height:65px;width:auto;max-width:150px;object-fit:contain}.collective .narrow{max-width:760px}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:45px;text-align:left}.team-card img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:18px;background:#fff}.team-card h3{font-size:22px;margin:15px 0 3px}.team-card p{font-size:16px;line-height:1.3;margin:0}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{text-decoration:none}.project-card img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:18px;transition:transform .2s}.project-card:hover img{transform:translateY(-4px)}.project-card h3{margin:15px 0 6px}.project-card p{font-size:17px}.portfolio-empty{border-radius:18px;padding:42px;background:var(--paper);max-width:800px;margin:auto}.portfolio-empty p{margin:0}.contact-form{max-width:790px;margin:auto;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.field label{display:block;font-size:17px;margin:0 0 5px 12px}.field input,.field textarea{width:100%;border:1px solid transparent;background:#fff;border-radius:22px;padding:12px 17px;font-size:18px;line-height:1.35}.field textarea{border-radius:18px;resize:vertical;min-height:155px}.field-wide{grid-column:1/-1}.contact-note{font-size:15px;color:#58524e;line-height:1.5;margin:18px 0 24px}.contact-note a{font-weight:700}.contact-form .center{margin-top:24px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{background:#fff;border-left:4px solid var(--orange);padding:18px 22px;max-width:790px;margin:0 auto 25px;text-align:left}.site-footer{padding:52px 24px 24px;background:var(--ink);color:#fff;text-align:center}.site-footer .brand img{width:250px}.footer-email{display:block;font-size:22px;margin:25px 0}.addresses{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:680px;margin:0 auto 38px;font-size:16px}.addresses strong{color:#ff8e5c}.addresses p{margin:4px 0}.copyright{font-size:14px;color:#ff8e5c;margin:0}.footer-legal{font-size:14px;margin-top:14px}.entry{max-width:900px;margin:40px auto 80px}.entry img{border-radius:20px}.entry-content{margin-top:32px}.entry-content img{height:auto}.entry h1{margin-top:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.plan{display:flex;flex-direction:column}.plan ul{flex:1}.plan li{min-height:70px}.hero{container-type:inline-size}.hero-caption{position:absolute;left:2.4%;top:61%;width:38.7%;height:33.8%;margin:0;background:#eeece9;border-radius:0 0 16px 16px;padding:1.3% 1.9%;display:flex;flex-direction:column;justify-content:center;text-align:left;font-size:4cqw;font-weight:800;line-height:1.06;overflow:hidden}.hero-caption span{display:block}.hero-caption span:last-child{color:#f65b23}
@media(min-width:1600px){.wrap{max-width:1320px}}
@media(max-width:900px){.wrap{width:calc(100% - 44px)}.steps{gap:25px}.step-title{padding:25px 18px;min-height:130px}.step-title h3{font-size:21px}.plan-grid{gap:20px}.plan h3{font-size:28px}.plan li{font-size:18px}.team-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:18px;border-top-width:5px}.wrap{width:calc(100% - 32px)}.site-header{padding:24px 12px 20px}.brand img{width:225px}.site-nav{gap:6px;margin-top:18px}.site-nav a{font-size:14px;padding:7px 12px}.hero img{border-radius:16px}.hero:before{width:15px;left:-8px;height:50px}.intro{padding:32px 0 42px}.intro h1{font-size:31px}.intro p{font-size:18px}.section{padding-block:48px}h2{font-size:30px;margin-bottom:28px}.steps{grid-template-columns:1fr;gap:34px;max-width:390px;margin:auto}.step-title{min-height:90px;max-width:280px;margin:0 auto 18px}.step-title h3{font-size:25px}.steps p{margin-bottom:13px}.included{padding-top:48px}.included-grid{grid-template-columns:1fr;gap:26px}.plan-grid{grid-template-columns:1fr;max-width:340px;gap:25px}.plan ul{padding:15px 25px}.plan li{font-size:20px;padding-block:6px}.plan li+li:before{margin-bottom:6px}.plan-price{padding:13px}.client-grid{gap:26px 22px}.client-logo{width:calc(50% - 18px)}.client-logo img{max-width:125px;max-height:52px}.team-grid{grid-template-columns:1fr 1fr;gap:26px 15px;margin-top:32px}.team-card:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}.team-card h3{font-size:21px}.portfolio-grid,.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.addresses{grid-template-columns:1fr;gap:23px}.site-footer{padding-top:40px}.contact-note{font-size:14px}.portfolio-empty{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Services — pictogrammes bicolores et textes éditables. */
.services-shell{padding-block:54px}
.services-panel{position:relative;isolation:isolate;border-radius:28px;background:var(--dark);color:var(--paper);padding:58px 46px 40px}

.services-panel h2{max-width:750px;margin:0 auto 20px}
.services-intro{max-width:650px;margin:0 auto 42px;color:#e0dedb}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;list-style:none;padding:0;margin:0}
.service-icon{display:grid;place-items:center;width:104px;height:100px;background:var(--paper);border-radius:28px 36px 26px 8px;margin:0 auto 19px;box-shadow:5px 5px 0 var(--orange)}
.service-item:nth-child(even) .service-icon{border-radius:36px 8px 28px 26px}
.service-item h3{font-size:23px;line-height:1.2;margin:0 auto 12px;max-width:245px;color:#fff}
.service-item p{font-size:17px;line-height:1.5;color:#e0dedb;margin:0}
.services-note{border-top:1px solid #ffffff25;padding-top:26px;margin:34px 0 0;font-size:21px;color:#ff9a6b;font-weight:700}
.services-note a{text-decoration:none}.services-note a:hover{text-decoration:underline}
@media(max-width:1000px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}.services-panel{padding-inline:32px}}
@media(max-width:600px){.services-shell{padding-block:35px}.services-panel{padding:38px 22px 30px;border-radius:20px}.services-intro{font-size:17px;margin-bottom:32px}.services-grid{gap:30px 18px}.service-icon{width:84px;height:82px}.service-icon img{width:62px;height:62px}.service-item h3{font-size:21px}.service-item p{font-size:16px}.services-note{font-size:19px}}
@media(max-width:380px){.services-grid{grid-template-columns:1fr}.service-item p{max-width:260px;margin:auto}}
.intro-highlight{color:var(--orange);font-weight:800}

.entry-content > h2{margin-top:52px;margin-bottom:24px}.entry-content > h3{margin-top:30px;margin-bottom:14px}.entry-content .plan-grid{text-align:center;gap:20px;margin-top:30px}.entry-content .plan > p:not(.plan-price){font-size:16px;padding:0 16px 16px}.entry-content .plan h3{margin:0}

/* FAQ : blocs WordPress natifs, fermés par défaut et accessibles au clavier. */
.hw-faq{background:var(--paper);border-radius:24px;padding:clamp(24px,5vw,48px);margin-block:52px}
.hw-faq h2{margin:0 0 26px}
.hw-faq .wp-block-details{border-top:1px solid #20202025;margin:0;padding:0}
.hw-faq .wp-block-details:last-child{border-bottom:1px solid #20202025}
.hw-faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 38px 22px 0;font-weight:700;font-size:22px;line-height:1.3}
.hw-faq summary::-webkit-details-marker{display:none}
.hw-faq summary::after{content:'+';position:absolute;right:0;top:20px;color:#d84611;font-size:28px;line-height:1}
.hw-faq details[open]>summary::after{content:'−'}
.hw-faq summary:hover,.hw-faq details[open]>summary{color:#d84611}
.hw-faq .wp-block-details>p{padding:0 28px 24px 0;margin:0;font-size:18px;line-height:1.6}
@media(max-width:600px){.hw-faq{border-radius:18px;padding:24px 20px}.hw-faq summary{font-size:20px}.hw-faq .wp-block-details>p{padding-right:0}}

.hw-sub-flow{margin:52px 0;text-align:center}.hw-sub-flow h2{margin-bottom:32px}
.hw-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hw-flow-card{background:var(--paper);border-radius:0 30px 30px 30px;padding:0 22px 24px;overflow:hidden}
.hw-flow-card>p:first-child{margin:0 -22px 22px;padding:14px;background:var(--orange);font-size:36px;font-weight:800;line-height:1;color:var(--ink)}
.hw-flow-card h3{font-size:25px;margin:0 0 18px}.hw-flow-card>p:last-child{font-size:18px;margin:0}
.hw-sub-benefits{background:var(--dark);color:#fff;border-radius:28px;padding:44px 32px;margin:52px 0;text-align:center}
.hw-sub-benefits>h2{margin:0 0 20px}.hw-sub-benefits>p{max-width:650px;margin:0 auto 36px;color:#e7e4df}
.hw-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}
.hw-benefit:before{content:'';display:block;width:86px;height:86px;margin:0 auto 22px;background-color:var(--paper);background-position:center;background-size:62px;background-repeat:no-repeat;border-radius:22px;box-shadow:6px 6px 0 var(--orange)}
.hw-benefit h3{font-size:24px;margin:0 0 12px}.hw-benefit p{font-size:18px;color:#e7e4df;margin:0;line-height:1.5}
.hw-icon-strategy:before{background-image:url('assets/services/strategy.svg')}.hw-icon-design:before{background-image:url('assets/services/design.svg')}.hw-icon-social:before{background-image:url('assets/services/social.svg')}.hw-icon-branding:before{background-image:url('assets/services/branding.svg')}.hw-icon-motion:before{background-image:url('assets/services/motion.svg')}.hw-icon-web:before{background-image:url('assets/services/web.svg')}
@media(max-width:750px){.hw-flow-grid{grid-template-columns:1fr}.hw-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hw-sub-benefits{padding:36px 24px}.hw-flow-card{padding-bottom:28px}}
@media(max-width:450px){.hw-benefit-grid{grid-template-columns:1fr;gap:32px}.hw-sub-benefits{border-radius:20px}.hw-benefit p{max-width:290px;margin:auto}}
.hw-flow-grid>.wp-block-group__inner-container,.hw-benefit-grid>.wp-block-group__inner-container{display:contents}
.hw-flow-card>.wp-block-group__inner-container>p:first-child{margin:0 -22px 22px;padding:14px;background:var(--orange);font-size:36px;font-weight:800;line-height:1;color:var(--ink)}
.hw-flow-card>.wp-block-group__inner-container>p:last-child{font-size:18px;margin:0}
.hw-sub-benefits>.wp-block-group__inner-container>h2{margin:0 0 20px}.hw-sub-benefits>.wp-block-group__inner-container>p{max-width:650px;margin:0 auto 36px;color:#e7e4df}

/* Quatre forfaits, comparables sur ordinateur et empilés sur mobile. */
.plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1200px;gap:22px;align-items:stretch}
.plan{display:flex;flex-direction:column}.plan ul{flex:1}.plan-price{font-size:clamp(28px,3vw,40px)}
@media(max-width:1000px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.plan-grid{grid-template-columns:1fr}}

.hw-slide{position:relative;aspect-ratio:1376/674}.hw-slide[hidden],.hw-slider-controls[hidden]{display:none}.hw-slide>img{width:100%;height:100%;object-fit:contain}
.hw-slider-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:18px}.hw-slider-choices{display:flex;gap:8px}
.hw-slider-controls button{border:0;border-radius:24px;background:var(--paper);color:var(--ink);padding:9px 17px;font-size:17px;min-height:44px}
.hw-slider-controls button:hover,.hw-slider-choices button[aria-pressed="true"]{background:var(--orange);color:var(--ink)}
.hw-slider-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.hw-slider-controls{gap:5px}.hw-slider-choices{gap:4px}.hw-slider-controls button{font-size:14px;padding:8px 10px}.hw-slide>img{border-radius:18px}}
.hw-slider-viewport{display:grid;overflow:hidden;border-radius:28px;isolation:isolate}
.hw-slider-viewport>.hw-slide{grid-area:1/1;min-width:0;width:100%}
@media(max-width:600px){.hw-slider-viewport{border-radius:18px}}
.hw-sub-intro{text-align:center;max-width:800px;margin-inline:auto}
.hw-sub-intro strong{font-weight:800;color:var(--orange)}

/* Apparitions au scroll : une seule fois, sans modifier la mise en page. */
.hw-reveal{opacity:0;translate:var(--reveal-x,0) 22px;transition:opacity .6s ease var(--reveal-delay,0ms),translate .6s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}
.hw-reveal.hw-revealed{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.hw-reveal{opacity:1;translate:none;transition:none}}
@media print{.hw-reveal{opacity:1;translate:none;transition:none}}
.hw-contact-cta .wp-block-button__link{background:var(--ink);color:#fff;border-radius:18px;padding:12px 25px;font-size:18px;text-decoration:none}
.hw-contact-cta .wp-block-button__link:hover{background:#384247}
.hw-contact-buttons{display:flex;justify-content:center}

/* Titres du contenu centrés ; cartouches des visuels conservés. */
#main :is(h1,h2,h3,h4,h5,h6):not(.hero-caption){text-align:center}
.footer-legal{display:flex;gap:14px 24px;flex-wrap:wrap;justify-content:center}.footer-company{font-size:16px}.footer-legal button{border:0;background:none;color:inherit;text-decoration:underline;padding:0;font-size:inherit}.print-enable{margin-top:16px;border:0;border-radius:24px;background:var(--paper);padding:10px 20px;color:var(--ink)}
#hw-privacy{color:var(--ink);background:var(--paper);border:0;border-radius:24px;padding:32px;max-width:620px;width:calc(100% - 32px);text-align:left;max-height:85vh;overflow:auto}#hw-privacy::backdrop{background:#0008}#hw-privacy h2{font-size:30px}.privacy-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.privacy-actions button{background:var(--ink);color:#fff;border:0;border-radius:16px;padding:12px 18px;font-size:17px}

/* Navigation sur une seule ligne, y compris sur les petits écrans. */
.site-nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:6px;scrollbar-width:thin}
.site-nav>:first-child{margin-left:auto}.site-nav>:last-child{margin-right:auto}
.site-nav>a,.site-nav>.print-enable{flex-shrink:0;white-space:nowrap}
.site-nav>.print-enable{margin-top:0;font-size:16px;padding:8px 17px;line-height:inherit;transition:background .18s,color .18s}
.site-nav>.print-enable:hover{background:var(--orange);color:#fff}
@media(max-width:600px){.site-nav>.print-enable{font-size:14px;padding:7px 12px}}

/* Le collectif s’agrandit sur une rangée défilante. */
.team-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;padding:8px 4px 20px;text-align:center;scrollbar-width:thin;scrollbar-color:var(--orange) transparent}
.team-grid .team-card,.team-grid .team-card:last-child{flex:0 0 calc((100% - 80px)/5);width:auto;min-width:0;grid-column:auto;scroll-snap-align:start;text-align:center}
.team-card p{text-align:center}
.team-controls{display:flex;justify-content:center;gap:16px;margin-top:12px}.team-controls[hidden]{display:none}
.team-controls button{border:0;border-radius:50%;width:44px;height:44px;background:var(--ink);color:#fff}.team-controls button:disabled{opacity:.3;cursor:default}.team-controls button:not(:disabled):hover{background:var(--orange)}
@media(max-width:900px){.team-grid .team-card,.team-grid .team-card:last-child{flex-basis:calc((100% - 40px)/3)}}
@media(max-width:600px){.team-grid{gap:15px}.team-grid .team-card,.team-grid .team-card:last-child{flex-basis:calc((100% - 15px)/2)}}

.portfolio-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 20px;scrollbar-width:thin;scrollbar-color:var(--orange) transparent}
.portfolio-grid>.project-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
@media(max-width:900px){.portfolio-grid>.project-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.portfolio-grid>.project-card{flex-basis:85%}}
.project-video{margin:32px 0}.project-video video{display:block;width:100%;max-height:80vh;background:var(--ink);border-radius:20px}
.language-switch{display:flex;justify-content:center;gap:6px;margin:10px 0 0}.language-switch a{padding:4px 12px;border-radius:20px;font-size:15px;text-decoration:none}.language-switch a[aria-current]{background:var(--ink);color:#fff}
html[lang="en-GB"] .hero-caption{font-size:3.65cqw}
