/* Ouest Peinture Ravalement — design autonome, léger, sans polices ni scripts distants */
:root{--opr-primary:#1b716e;--opr-primary-dark:#145b5a;--opr-green:#d5a966;--opr-dark:#18303b;--opr-dark-2:#11242e;--opr-cream:#f5f4ee;--opr-surface:#fff;--opr-text:#18303b;--opr-muted:#65717a;--opr-border:#e0e6e3;--opr-shadow:0 22px 70px rgba(14,39,46,.095)}
body.opr-site-active{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--opr-text);background:#fff;-webkit-font-smoothing:antialiased}
body.opr-site-active :where(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.042em;line-height:1.1;color:var(--opr-dark);font-weight:760}
body.opr-site-active :where(p,li){line-height:1.78}
body.opr-site-active :where(a){text-decoration:none}
body.opr-site-active .entry-content{margin:0!important;max-width:100%!important}
body.opr-site-active :where(.ct-container,.ct-container-full,.site-main,.site-content,.content-area,.ct-content){max-width:none;}
body.opr-site-active .entry-content>.alignfull,body.opr-site-active .entry-content>.wp-block-html{margin-left:0!important;margin-right:0!important;max-width:none!important}
body.opr-site-active .entry-content>.wp-block-html>*{max-width:none}
body.opr-site-active .entry-content>.wp-block-html{margin-block:0!important}
body.opr-site-active .ct-page-title{display:none!important}
body.opr-site-active .site-main>article{margin-bottom:0}
body.opr-site-active .entry-content section{position:relative}
.opr-wrap{width:min(100% - 64px,1240px);margin-inline:auto}
.opr-eyebrow{font-size:11px;line-height:1.3!important;font-weight:800!important;letter-spacing:.18em;color:var(--opr-primary);text-transform:uppercase;margin:0 0 19px!important}
.opr-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.opr-btn{min-height:51px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;font-size:13px;font-weight:750;border:1px solid transparent;transition:background .2s,transform .2s,color .2s,border .2s;cursor:pointer;line-height:1.3}
.opr-btn:hover{transform:translateY(-2px)}
.opr-btn--primary{background:var(--opr-primary);color:#fff!important}
.opr-btn--primary:hover{background:var(--opr-primary-dark);color:#fff}
.opr-btn--outline{background:transparent;color:var(--opr-dark);border-color:#b4c5c2}
.opr-btn--outline:hover{background:var(--opr-dark);border-color:var(--opr-dark);color:#fff}
.opr-text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;font-weight:750;color:var(--opr-primary)!important;transition:gap .2s}
.opr-text-link:hover{gap:15px}
/* Menu */
.opr-site-header{background:#fff;color:var(--opr-text);position:sticky;z-index:998;top:0;border-bottom:1px solid #e9eeeb;box-shadow:0 4px 26px rgba(25,53,57,.04)}
body.admin-bar .opr-site-header{top:32px}
.opr-site-header__inner{max-width:1312px;margin:0 auto;padding:13px 36px;display:flex;align-items:center;gap:24px;min-height:90px}
.opr-brand{display:flex;align-items:center;flex:none;width:164px;max-width:100%}
.opr-brand img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.opr-main-nav{display:flex;align-items:center;justify-content:center;flex:1}
.opr-main-menu,.opr-main-menu ul{padding:0;margin:0;list-style:none}
.opr-main-menu{display:flex;align-items:center;flex-wrap:wrap;gap:4px 17px}
.opr-main-menu li{position:relative;margin:0}
.opr-main-menu li a{display:block;color:#293e44;font-size:12.5px;font-weight:680;line-height:1.4;padding:10px 2px;white-space:nowrap}
.opr-main-menu li a:hover,.opr-main-menu .current-menu-item>a{color:var(--opr-primary)}
.opr-main-menu .sub-menu{display:none;position:absolute;top:100%;left:-20px;width:255px;max-height:75vh;overflow:auto;background:#fff;border:1px solid var(--opr-border);box-shadow:0 18px 46px rgba(11,35,43,.14);border-radius:7px;padding:12px;z-index:20}
.opr-main-menu li:hover>.sub-menu,.opr-main-menu li:focus-within>.sub-menu{display:block}
.opr-main-menu .sub-menu li a{padding:8px 10px;white-space:normal;font-weight:570}
.opr-header-actions{display:flex;align-items:center;gap:16px}
.opr-header-phone{white-space:nowrap;color:var(--opr-dark);font-weight:800;font-size:13px}
.opr-header-cta{white-space:nowrap;padding:14px 19px;background:var(--opr-dark);color:#fff!important;font-size:12px;font-weight:770;border-radius:4px}
.opr-header-cta:hover{background:var(--opr-primary)}
.opr-mobile-menu{display:none;position:relative}
/* Hero */
.opr-hero{overflow:hidden;background:linear-gradient(120deg,#f7f8f3 0%,#f1f4ef 100%);padding:60px 0 70px}
.opr-hero__grid{display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch;gap:6.3%;min-height:570px}
.opr-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:44px 0 35px;min-width:0}
.opr-hero h1{font-size:clamp(43px,4.4vw,72px);line-height:1.03!important;letter-spacing:-.06em;max-width:680px;margin:0 0 25px!important;hyphens:auto}
.opr-hero .opr-lead{font-size:17px;line-height:1.8!important;color:#52656d;max-width:570px;margin:0!important}
.opr-hero__foot{font-size:10px;font-weight:780;letter-spacing:.16em;color:#5d6d6f;margin:44px 0 0!important}
.opr-hero__foot span{color:var(--opr-primary);font-size:12px}
.opr-hero__visual{position:relative;min-width:0;min-height:570px;background:linear-gradient(130deg,#cbdad4,#466f73);border-radius:8px 8px 62px 8px;overflow:hidden}
.opr-hero__image{height:100%;position:absolute;inset:0}
.opr-hero__image .opr-img{width:100%;height:100%;object-fit:cover;display:block}
.opr-hero__note{position:absolute;bottom:24px;left:24px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-radius:4px;padding:18px 22px;max-width:230px;box-shadow:0 10px 36px rgba(12,31,36,.12)}
.opr-hero__note span{display:block;color:var(--opr-primary);letter-spacing:.11em;font-size:10px;font-weight:800;margin-bottom:8px}
.opr-hero__note strong{font-size:16px;line-height:1.28;letter-spacing:-.02em;color:var(--opr-dark)}
/* Sections & grids */
.opr-section{padding:96px 0;background:#fff}
.opr-section--soft{background:var(--opr-cream)}
.opr-section h2,.opr-cta h2{font-size:clamp(31px,3.1vw,48px);max-width:850px;margin:0 0 28px!important}
.opr-prose{max-width:870px;font-size:16px;color:#4c5d65}
.opr-prose p{margin:0 0 20px!important}
.opr-prose strong{color:var(--opr-dark)}
.opr-intro{font-size:16px;color:var(--opr-muted);max-width:770px}
.opr-section-heading{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.opr-section-heading h2{margin-bottom:0!important}
.opr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.opr-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3eae6;border-radius:8px;overflow:hidden;transition:box-shadow .2s,transform .2s;min-width:0}
.opr-card:hover{transform:translateY(-4px);box-shadow:var(--opr-shadow)}
.opr-card__media{height:222px;flex:none;background:linear-gradient(125deg,#c9d6d0,#8ea99f)}
.opr-card__media .opr-img{height:100%;width:100%;display:block;object-fit:cover}
.opr-card__body{padding:26px 27px 30px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.opr-card__kicker{color:var(--opr-primary)!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.13em;margin:0 0 12px!important}
.opr-card h3{font-size:22px;line-height:1.2;margin:0 0 12px!important;letter-spacing:-.03em}
.opr-card p:not(.opr-card__kicker){font-size:13px;color:#627078;line-height:1.75;margin:0 0 21px!important}
.opr-card__body .opr-text-link{margin-top:auto;font-size:12px}
.opr-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:38px 0}
.opr-areas a{display:flex;align-items:center;justify-content:space-between;padding:20px 21px;background:#fff;border:1px solid #e0e7e1;border-radius:5px;color:var(--opr-dark);font-weight:750;font-size:14px;gap:16px}
.opr-areas a span{color:var(--opr-primary)}
.opr-areas a:hover{border-color:var(--opr-primary)}
.opr-stats{margin-top:45px;display:flex;gap:0;max-width:760px;border-top:1px solid var(--opr-border)}
.opr-stats>div{padding:25px 32px 0 0;min-width:160px;display:flex;flex-direction:column}
.opr-stats strong{font-size:48px;line-height:1;font-weight:750;color:var(--opr-primary);letter-spacing:-.05em}
.opr-stats span{color:var(--opr-muted);font-size:12px;letter-spacing:.02em;margin-top:9px}
.opr-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 23px;list-style:none!important;padding:0!important;max-width:850px;margin:30px 0 0!important}
.opr-checklist li{padding:14px 0 14px 30px;position:relative;color:#30434a;border-bottom:1px solid var(--opr-border);font-size:14px}
.opr-checklist li:before{content:'✓';position:absolute;left:0;top:14px;color:var(--opr-primary);font-weight:800}
.opr-process{background:var(--opr-dark)!important;color:#fff}
.opr-process :where(h2,h3){color:#fff!important}
.opr-process .opr-eyebrow{color:#a9d0c8}
.opr-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin-top:40px}
.opr-steps article{padding:30px 22px 18px;border-top:1px solid rgba(255,255,255,.25)}
.opr-steps article>span{font-weight:800;color:#c5a16a;font-size:13px}
.opr-steps h3{font-size:20px;margin:45px 0 10px!important}
.opr-steps p{font-size:13px;color:#cedadc;line-height:1.72}
.opr-cta{background:var(--opr-dark-2);padding:72px 0;color:#d8e0df}
.opr-cta h2{color:#fff!important;margin:0 0 17px!important;max-width:680px}
.opr-cta .opr-eyebrow{color:#cda464}
.opr-cta p:not(.opr-eyebrow){font-size:15px;max-width:700px;margin:0!important;color:#c6d4d5}
.opr-cta__grid{display:flex;align-items:center;justify-content:space-between;gap:50px}
.opr-cta .opr-actions{margin:0;flex:0 0 auto}
.opr-cta .opr-btn--outline{border-color:#6d8285;color:#fff}
.opr-cta .opr-btn--outline:hover{background:#fff;color:var(--opr-dark)}
.opr-nearby{background:#ecf2ee;padding:44px 0}
.opr-nearby .opr-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.opr-nearby h2{font-size:25px;margin:0!important}
.opr-nearby__links{display:flex;gap:10px;flex-wrap:wrap}
.opr-nearby a{padding:10px 14px;background:#fff;color:var(--opr-primary);font-weight:650;font-size:12px;border-radius:4px}
/* Images */
.opr-gallery{background:#fff}
.opr-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:35px 0 0}
.opr-photo-grid__item{margin:0!important;position:relative;overflow:hidden;border-radius:5px;background:#e6e9e5}
.opr-photo-grid__img{height:280px;overflow:hidden}
.opr-photo-grid__img img{display:block;object-fit:cover;width:100%;height:100%;transition:transform .5s}
.opr-photo-grid__item:hover img{transform:scale(1.045)}
.opr-photo-grid__item figcaption{font-size:12px;color:#475c62;font-weight:650;padding:13px 7px;background:#fff}
/* FAQ */
.opr-faq{background:#f8f9f6}
.opr-faq__list{max-width:930px;margin-top:36px;border-top:1px solid #d9e3dd}
.opr-faq details{border-bottom:1px solid #d9e3dd;padding:0 0;margin:0}
.opr-faq summary{list-style:none;cursor:pointer;padding:23px 32px 23px 0;color:var(--opr-dark);font-weight:730;font-size:16px;position:relative}
.opr-faq summary::-webkit-details-marker{display:none}
.opr-faq summary:after{content:'+';position:absolute;right:8px;font-size:24px;line-height:1;top:20px;color:var(--opr-primary);font-weight:400}
.opr-faq details[open] summary:after{content:'−'}
.opr-faq details p{margin:0 0 24px;max-width:790px;color:#56686f;font-size:14px;line-height:1.8}
/* Form */
.opr-form-section{background:#f4f6f3}
.opr-contact-form{display:grid;grid-template-columns:.78fr 1fr;gap:70px;align-items:start}
.opr-contact-form h2{font-size:44px}
.opr-contact-form>div:first-child>p:not(.opr-eyebrow){font-size:15px;color:#586e73}
.opr-form-phone{display:block;color:var(--opr-primary)!important;font-size:26px;font-weight:800;margin-top:24px}
.opr-form{background:#fff;border:1px solid var(--opr-border);padding:34px;border-radius:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;box-shadow:var(--opr-shadow)}
.opr-form>label{display:flex;flex-direction:column;font-size:12px;font-weight:750;color:#32454b;gap:8px}
.opr-form label>span{color:var(--opr-primary)}
.opr-form>label:has(textarea),.opr-form>label.opr-consent{grid-column:1/-1}
.opr-form :where(input:not([type="checkbox"]),textarea,select){width:100%;border:1px solid #d5e0db;background:#fafbf9;color:#243a42;font-size:14px;padding:12px 13px;border-radius:4px;outline:none;font-family:inherit;min-height:49px}
.opr-form :where(input,textarea,select):focus{border-color:var(--opr-primary);box-shadow:0 0 0 3px rgba(27,113,110,.12)}
.opr-form .opr-consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:550;line-height:1.5;font-size:11px}
.opr-form .opr-consent input{flex:none;margin:1px 3px 0 0}
.opr-form button{grid-column:1/-1;width:100%;font-size:14px}
.opr-form-note{grid-column:1/-1;color:#748387;font-size:11px;text-align:center;margin:0!important}
.opr-form .opr-honey{position:absolute;left:-9999px;height:1px;overflow:hidden}
.opr-form-error{border-left:4px solid #b94f49;padding:12px 15px;color:#8b332e;background:#fff4f2}
/* Articles imported and legacy */
.opr-articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin:30px auto;max-width:1240px}
.opr-article-card{background:#fff;border:1px solid var(--opr-border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.opr-article-card__media{height:190px;display:block;background:#dde9e3}
.opr-article-card__media img{width:100%;height:100%;object-fit:cover}
.opr-article-card__body{padding:26px;flex:1;display:flex;flex-direction:column}
.opr-article-card__date{font-size:11px;color:var(--opr-muted);margin:0 0 12px!important}
.opr-article-card h2{font-size:21px;margin:0 0 13px!important}
.opr-article-card h2 a{color:var(--opr-dark)}
.opr-article-card__body>p{font-size:13px;color:var(--opr-muted)}
.opr-article-card .opr-text-link{margin-top:auto}
.opr-pagination{max-width:1240px;margin:20px auto 60px}
.opr-pagination ul{display:flex;gap:8px;list-style:none;padding:0}
.opr-pagination a,.opr-pagination span{padding:10px 14px;border:1px solid var(--opr-border)}
/* Footer */
.opr-site-footer{background:#142832;color:#d3dfe0;padding:65px 0 0}
.opr-site-footer__inner{max-width:1240px;width:min(100% - 64px,1240px);margin:auto;display:grid;grid-template-columns:1.55fr 1fr .9fr 1fr;gap:37px;padding-bottom:60px}
.opr-site-footer h2{color:#fff!important;font-size:15px!important;letter-spacing:0;margin:6px 0 24px!important}
.opr-site-footer ul{margin:0;padding:0;list-style:none}
.opr-site-footer li{font-size:12px;margin:0 0 13px;line-height:1.6}
.opr-site-footer a{color:#cddbdd}
.opr-site-footer a:hover{color:#fff}
.opr-footer-brand .opr-brand{width:190px;max-width:100%;background:#fff;border-radius:5px;padding:8px;margin-bottom:23px}
.opr-footer-brand>p{font-size:13px;color:#adbfbe;max-width:360px;line-height:1.75}
.opr-footer-meta{margin-top:21px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#a4b9bb}
.opr-site-footer__bottom{border-top:1px solid rgba(255,255,255,.13);padding:24px max(32px,calc((100% - 1240px)/2));display:flex;gap:18px;justify-content:space-between;font-size:11px;color:#adc3c4}
.opr-site-footer__bottom a{color:#bed0d0}
.opr-mobile-bar{display:none}
@media(max-width:1180px){.opr-main-nav{display:none}.opr-site-header__inner{justify-content:space-between}.opr-header-actions{margin-left:auto}.opr-mobile-menu{display:block}.opr-mobile-menu summary{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:12px;list-style:none}.opr-mobile-menu summary::-webkit-details-marker{display:none}.opr-mobile-menu summary span{display:block;width:23px;height:2px;background:var(--opr-dark)}.opr-mobile-menu__panel{position:absolute;right:-15px;top:100%;width:min(88vw,360px);max-height:78vh;overflow-y:auto;background:#fff;padding:24px;border-radius:6px;box-shadow:0 15px 70px rgba(12,35,43,.18);border:1px solid var(--opr-border)}.opr-mobile-brand img{height:55px;width:auto;object-fit:contain;margin-bottom:15px}.opr-mobile-menu-list,.opr-mobile-menu-list ul{padding:0;margin:0;list-style:none}.opr-mobile-menu-list li a{display:block;padding:10px 3px;color:var(--opr-dark);font-size:14px;border-bottom:1px solid #e4ebe5}.opr-mobile-menu-list .sub-menu li a{padding-left:20px;font-size:12px}.opr-mobile-menu__panel>.opr-header-cta{display:block;text-align:center;margin-top:20px}}
@media(max-width:1000px){.opr-hero__grid{grid-template-columns:1fr 1fr;gap:35px;min-height:450px}.opr-hero__visual{min-height:470px}.opr-hero h1{font-size:clamp(34px,4vw,53px)}.opr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.opr-site-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.opr-article-card h2{font-size:19px}.opr-contact-form{gap:28px}.opr-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body.admin-bar .opr-site-header{top:46px}.opr-wrap{width:min(100% - 36px,640px)}.opr-site-header__inner{padding:10px 18px;min-height:72px}.opr-brand{width:138px}.opr-brand img{max-height:52px}.opr-header-phone{display:none}.opr-header-actions .opr-header-cta{display:none}.opr-hero{padding:23px 0 50px}.opr-hero__grid{grid-template-columns:1fr;gap:30px;min-height:0}.opr-hero__copy{padding:27px 0 0}.opr-hero h1{font-size:clamp(37px,8.9vw,56px);margin-bottom:17px!important}.opr-hero .opr-lead{font-size:15px;line-height:1.7!important}.opr-hero__visual{min-height:315px;border-radius:5px 5px 40px 5px}.opr-hero__foot{margin-top:25px!important}.opr-hero__note{padding:12px 14px;left:14px;bottom:14px;max-width:170px}.opr-hero__note strong{font-size:12px}.opr-section{padding:65px 0}.opr-section h2,.opr-cta h2{font-size:clamp(30px,7vw,40px)}.opr-section-heading{display:block}.opr-section-heading .opr-text-link{margin-top:14px}.opr-grid{grid-template-columns:1fr;gap:15px;margin-top:25px}.opr-card__media{height:205px}.opr-card__body{padding:22px}.opr-areas{grid-template-columns:1fr 1fr;gap:9px}.opr-areas a{padding:15px 13px;font-size:12px}.opr-checklist{grid-template-columns:1fr}.opr-steps{grid-template-columns:1fr;gap:6px}.opr-steps article{padding:16px 10px}.opr-steps h3{margin:12px 0 6px!important}.opr-cta{padding:60px 0 82px}.opr-cta__grid{display:block}.opr-cta .opr-actions{margin-top:28px}.opr-photo-grid{grid-template-columns:1fr 1fr;gap:10px}.opr-photo-grid__img{height:180px}.opr-photo-grid__item figcaption{font-size:11px}.opr-contact-form{grid-template-columns:1fr;gap:24px}.opr-contact-form h2{font-size:35px}.opr-form{grid-template-columns:1fr;padding:22px 18px}.opr-form>label:has(textarea),.opr-form>label.opr-consent{grid-column:auto}.opr-articles-grid{grid-template-columns:1fr;width:min(100% - 36px,640px)}.opr-site-footer{padding-top:52px}.opr-site-footer__inner{width:min(100% - 36px,640px);grid-template-columns:1fr 1fr;gap:22px}.opr-footer-brand{grid-column:1/-1}.opr-site-footer__bottom{padding:20px 18px 80px;display:block}.opr-site-footer__bottom span{display:block;margin-bottom:8px}.opr-mobile-bar{position:fixed;z-index:997;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 30px rgba(13,37,43,.12)}.opr-mobile-bar a{text-align:center;padding:12px 14px;background:var(--opr-dark);color:#fff;font-weight:750;border-radius:4px;font-size:13px}.opr-mobile-bar a:last-child{background:var(--opr-primary)}.opr-nearby .opr-wrap{display:block}.opr-nearby__links{margin-top:18px}}
@media(max-width:390px){.opr-areas{grid-template-columns:1fr}.opr-photo-grid{grid-template-columns:1fr}.opr-site-footer__inner{grid-template-columns:1fr 1fr}.opr-actions .opr-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.opr-btn,.opr-card,.opr-img,.opr-text-link{transition:none!important}}
