/* CSE : une seule signature visuelle, sans modifier les réglages enregistrés. */
:root{--cpp-cta-gold:#C5A579;--cpp-cta-ink:#0D0C0B;}
:is(.wp-site-blocks,.cpp-gutenberg-page,.editor-styles-wrapper) :is(h1,h2,.h1,.h2){font-family:var(--font-display,"Barlow Black",sans-serif)!important;}
:is(.wp-site-blocks,.cpp-gutenberg-page,.editor-styles-wrapper) :is(h3,h4,h5,h6){font-family:var(--font-h3,"Barlow",sans-serif)!important;}
:is(main,.cpp-shared-prefooter,.editor-styles-wrapper) :is(h1,h2)::after{content:"";display:block;position:static;width:64px;height:3px;background:var(--cpp-cta-gold);margin:28px 0 0;transform:none;}
/* Une séparation Gutenberg déjà présente reste l’unique trait. */
:is(main,.cpp-shared-prefooter,.editor-styles-wrapper) :is(h1,h2):has(+hr)::after{display:none;}
:is(main,.cpp-shared-prefooter) :is(h1,h2):has(+hr)+hr{width:64px!important;margin-left:0!important;height:3px;border:0;background:var(--cpp-cta-gold);}
.cpp-odyssee-page :is(h1,h2)::after,.cpp-site-section h2::after{content:"";display:block;width:64px;height:3px;background:var(--cpp-cta-gold);margin-top:28px;}
.cpp-mega :is(a,summary),.cpp-mega :is(a,summary):is(:hover,:focus),.cpp-odyssee-subnav a,.cpp-odyssee-service-tabs button{text-decoration:none!important;}
.cpp-mega :is(a,summary){border-bottom-color:transparent!important;}
.cpp-mega-list>li>a::after,.cpp-mega-list>li>details>summary::before{display:none!important;}
.cpp-mega a:hover .cpp-mega-show__action,.cpp-mega-links>a:hover{color:#85684A!important;}
.cpp-mega a::after{border:0!important;text-decoration:none!important;}
.cpp-odyssee-subnav a{border-bottom-color:transparent!important;}
.cpp-odyssee-subnav a[aria-current=location]{color:#85684A;background:#F4F0E9;}

/* Boutons d’action : mêmes coins, graisse et balayage que le devis du header. */
body :is(.wp-block-button__link,.wp-element-button,.btn,.cpp-mega-cta,.cpp-odyssee-subnav__cta,.cpp-affiche-form [data-cpp-download],.cpp-pack-submit){
 border-radius:0!important;border:1px solid var(--cpp-cta-gold)!important;
 background-color:var(--cpp-cta-gold)!important;background-image:linear-gradient(90deg,var(--cpp-cta-ink) 0 50%,var(--cpp-cta-gold) 50% 100%)!important;
 background-size:200% 100%!important;background-position:100% 0!important;color:var(--cpp-cta-ink)!important;
 font-family:var(--font-body,"Barlow Semi Condensed",sans-serif)!important;font-size:16px!important;font-weight:500!important;line-height:1.25!important;letter-spacing:.02em!important;text-transform:uppercase!important;
 padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;box-sizing:border-box;text-decoration:none!important;white-space:normal;
 transition:background-position .36s ease,color .24s ease!important;
}
body :is(.wp-block-button__link,.wp-element-button,.btn,.cpp-mega-cta,.cpp-odyssee-subnav__cta):is(:hover,:focus-visible){background-position:0 0!important;color:var(--cpp-cta-gold)!important;}
body :is(.wp-block-button__link,.wp-element-button,.btn,.cpp-mega-cta)::after{display:none!important;}
body :is(.wp-block-button__link,.wp-element-button,.btn,.cpp-mega-cta):focus-visible{outline:2px solid #85684A!important;outline-offset:4px;}
body :is(button:disabled,[aria-disabled=true]){opacity:.55;cursor:not-allowed;}

/* L’affiche entière reste visible, dans un cadre de taille identique. */
.cpp-site-cards .cpp-site-poster{height:420px!important;width:100%;display:flex;align-items:center;justify-content:center;background:#F4F0E9;overflow:hidden;}
.cpp-site-cards .cpp-site-poster img{height:100%!important;width:100%!important;object-fit:contain!important;object-position:center;outline:0!important;transform:none!important;}
.cpp-site-cards .cpp-site-poster::after{display:none!important;}
.cpp-site-cards .cpp-site-card{align-items:stretch;}

/* Les bordures restent immobiles pendant le léger zoom des photographies. */
:is(.cpp-site-photo:not(.cpp-site-poster),.cpp-photo-frame,.cpp-prefooter-brochure .wp-block-image,.cpp-brochure-editor .wp-block-image,.cpp-trade-shows-editor .wp-block-image,.cpp-odyssee-gallery .wp-block-image,.cpp-campaign-strength-card .wp-block-image){position:relative;overflow:hidden;isolation:isolate;}
:is(.cpp-site-photo:not(.cpp-site-poster),.cpp-photo-frame,.cpp-prefooter-brochure .wp-block-image,.cpp-brochure-editor .wp-block-image,.cpp-trade-shows-editor .wp-block-image,.cpp-odyssee-gallery .wp-block-image,.cpp-campaign-strength-card .wp-block-image)::after{content:"";position:absolute;inset:12px;border:1px solid #ffffffb8;z-index:3;pointer-events:none;box-shadow:0 0 0 1px #0002;}
:is(.cpp-site-photo:not(.cpp-site-poster),.cpp-photo-frame,.cpp-prefooter-brochure .wp-block-image,.cpp-brochure-editor .wp-block-image,.cpp-trade-shows-editor .wp-block-image,.cpp-odyssee-gallery .wp-block-image,.cpp-campaign-strength-card .wp-block-image) img{outline:0!important;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1);}
.cpp-odyssee-gallery.wp-block-gallery{display:block!important;column-count:3;column-gap:20px;}
.cpp-odyssee-gallery.wp-block-gallery figure.wp-block-image{display:block!important;break-inside:avoid;width:100%!important;height:auto!important;margin:0 0 20px!important;}
.cpp-odyssee-gallery.wp-block-gallery figure.wp-block-image>a{display:block!important;height:auto!important;}
.cpp-odyssee-gallery.wp-block-gallery figure.wp-block-image img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;flex:none!important;}
@media(hover:hover) and (pointer:fine){
 :is(.cpp-site-photo:not(.cpp-site-poster),.cpp-photo-frame,.cpp-prefooter-brochure .wp-block-image,.cpp-brochure-editor .wp-block-image,.cpp-trade-shows-editor .wp-block-image,.cpp-odyssee-gallery .wp-block-image,.cpp-campaign-strength-card .wp-block-image):hover img{transform:scale(1.035);}
}
.cpp-commitment-link{display:grid;grid-template-columns:1fr;gap:24px;margin-top:32px;}
.cpp-commitment-link figure{margin:0;max-width:640px;aspect-ratio:3/2;}
.cpp-commitment-link img{width:100%;height:100%;object-fit:cover;}
.cpp-commitment-link>a{justify-self:start;}
.cpp-contact-card{display:flex;align-items:center;gap:24px;margin:28px 0;}
.cpp-contact-card img{width:130px;height:150px;object-fit:cover;object-position:top;}
.cpp-contact-card p{margin:0 0 10px;}
.cpp-contact-card figure{margin:0;flex:none;}
.cpp-salon-meet__image,.cpp-security-media{position:relative;overflow:hidden;isolation:isolate;}
.cpp-salon-meet__image::after,.cpp-security-media::after{content:"";position:absolute;inset:12px;border:1px solid #ffffffb8;pointer-events:none;z-index:3;}
.cpp-salon-meet__image img,.cpp-security-media img{transition:transform .65s ease;outline:0!important;}
@media(hover:hover) and (pointer:fine){.cpp-salon-meet__image:hover img,.cpp-security-media:hover img{transform:scale(1.035);}}
[data-contact-person][hidden],.cpp-cse-devis-simple__choice[hidden]{display:none!important;}
.cpp-offres-static{opacity:1!important;transform:none!important;}
/* Les cartes ne dépendent plus de l’identifiant de la seule page d’accueil. */
body .cpp-offres.cpp-offres-static{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;width:100%;max-width:100%;margin-inline:auto;}
body .cpp-offres.cpp-offres-static>.cpp-offre{display:flex;flex-direction:column;min-width:0;padding:32px!important;margin:0;border:1px solid #ded6ca;background:#fff;border-radius:0;transform:none;}
body .cpp-offres.cpp-offres-static .cpp-offre>*{max-width:none;margin-block-start:0;}
body .cpp-offres.cpp-offres-static .cpp-offre-media{position:relative;isolation:isolate;flex:none;overflow:hidden;aspect-ratio:16/9;width:calc(100% + 64px)!important;max-width:none;margin:-32px -32px 28px!important;}
body .cpp-offres.cpp-offres-static .cpp-offre-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease;outline:none;}
body .cpp-offres.cpp-offres-static .cpp-offre-media::after{content:"";position:absolute;inset:8px;border:1px solid #ffffffb8;z-index:3;pointer-events:none;}
body .cpp-offres.cpp-offres-static h3{font-size:30px!important;text-transform:none;line-height:1.1;margin-bottom:24px;}
body .cpp-offres.cpp-offres-static .cpp-offre-for{font-size:14px;line-height:1.35;color:#85684A;min-height:2.7em;margin-bottom:20px;}
body .cpp-offres.cpp-offres-static .cpp-offre-body{font-size:18px;line-height:1.5;margin-bottom:28px;}
body .cpp-offres.cpp-offres-static .cpp-offre-foot{margin-top:auto;}
body .cpp-offres.cpp-offres-static .cpp-offre-foot .wp-block-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;}
body .cpp-offres.cpp-offres-static .cpp-offre-foot .wp-block-button{margin:0!important;}
body .cpp-offres.cpp-offres-static .wp-block-button__link{padding:16px 20px;white-space:normal;}
@media(hover:hover) and (pointer:fine){body .cpp-offres.cpp-offres-static .cpp-offre-media:hover img{transform:scale(1.035);}}
@media(max-width:782px){
 body .cpp-offres.cpp-offres-static{display:flex!important;flex-wrap:nowrap;gap:16px!important;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scroll-padding-inline:0;padding:0 0 12px!important;}
 body .cpp-offres.cpp-offres-static>.cpp-offre,body #offres .cpp-offres.cpp-offres-static>.cpp-offre{flex:0 0 calc(80% - 12.8px)!important;width:auto!important;max-width:none!important;scroll-snap-align:start;padding:24px!important;}
 body .cpp-offres.cpp-offres-static .cpp-offre-media{width:calc(100% + 48px)!important;margin:-24px -24px 24px!important;}
 body .cpp-offres.cpp-offres-static h3{font-size:26px!important;}
}
.cpp-contact-card strong{font-family:var(--font-h3,"Barlow",sans-serif);font-size:24px;}

.cpp-mobile-quote{display:none;}
.cpp-footer-portrait{width:88px;height:100px;margin:20px 0;}
.cpp-footer-portrait img{width:100%;height:100%;object-fit:cover;object-position:top;}
.cpp-footer-portrait::after{inset:5px;}
.cpp-block-nav .wp-block-navigation-item__content::after{display:none!important;}
.cpp-block-nav .wp-block-navigation-item__content,.cpp-footer-nav a{text-decoration:none!important;}
[data-cpp-slideshow] :is(.cpp-show-panel__media,.cpp-odyssee-hero__image){overflow:hidden;}
[data-cpp-slideshow] .cpp-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 900ms ease;}
[data-cpp-slideshow] .cpp-slide.is-current{opacity:1;}
[data-cpp-slideshow] .cpp-hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .5s;}
[data-cpp-slideshow].is-video-playing .cpp-hover-video{opacity:1;}
.cpp-show-trailer{position:absolute;bottom:32px;z-index:5;}
.cpp-show-trailer--right{right:max(36px,calc((100vw - 1240px)/2));}
.cpp-show-trailer--left{left:max(36px,calc((100vw - 1240px)/2));}
.cpp-show-panel__inner{padding-bottom:120px!important;}
.cpp-motion-toggle{position:absolute;z-index:6;right:18px;top:18px;width:44px;height:44px;border:1px solid #ffffffa0;background:#0d0c0ba8;color:white;font:20px/1 sans-serif;cursor:pointer;}
.cpp-motion-toggle:focus-visible{outline:2px solid #C5A579;outline-offset:3px;}
.cpp-show-panel__season--primary{position:relative;overflow:hidden;display:inline-flex;padding:18px 24px!important;background:#0d0c0bad;border:1px solid #C5A579;box-shadow:0 0 32px #C5A57933;}
.cpp-show-panel__season--primary::after{content:"";pointer-events:none;position:absolute;inset:-100% -50%;width:auto;opacity:1;background:linear-gradient(110deg,transparent 40%,#fff6 50%,transparent 60%);transform:translateX(-100%);animation:cpp-new-season 4s ease-in-out 1;}
.cpp-show-panel__year{color:#dfbf8b;}
@keyframes cpp-new-season{0%,30%{transform:translateX(-100%);}65%,100%{transform:translateX(100%);}}
/* Poussière dorée purement décorative : deux calques CSS, aucune bibliothèque. */
.cpp-stardust{position:relative;isolation:isolate;overflow:hidden;}
.cpp-stardust::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.32;background-image:radial-gradient(circle,#C5A579 1px,transparent 2px),radial-gradient(circle,#ead5b0 1px,transparent 2px),radial-gradient(circle,#C5A579 1.5px,transparent 2.5px);background-size:39px 43px,67px 71px,101px 89px;background-position:0 0,13px 22px,41px 6px;mask-image:linear-gradient(135deg,#000,transparent 62%);}
#securite .cpp-security-slideshow.is-ready .cpp-security-slide{animation-duration:7s;}
.cpp-faq-fallback details{border-bottom:1px solid #d9cdbb;padding:20px 0;}
.cpp-faq-fallback summary{cursor:pointer;font:600 22px var(--font-h3,"Barlow",sans-serif);}
.cpp-faq-fallback details>div{padding-top:20px;line-height:1.6;}
.cpp-pack-choices{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.cpp-pack-choice{background:#F4F0E9;padding:36px;border-top:3px solid #C5A579;}
.cpp-pack-choice h3{font-size:30px;}
.cpp-pack-choice strong{font-size:48px;display:block;color:#85684A;font-family:var(--font-display,"Barlow Black",sans-serif);}
.cpp-journey{display:grid;gap:40px;counter-reset:steps;}
.cpp-journey>div{position:relative;padding-left:68px;counter-increment:steps;}
.cpp-journey>div::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;color:#85684A;font:700 28px var(--font-h3,"Barlow",sans-serif);}
.cpp-journey>div:not(:last-child)::after{content:"↓";position:absolute;left:14px;bottom:-34px;font:28px/1 sans-serif;color:#85684A;}
.cpp-site-section #affiche{background:transparent!important;color:#171411!important;padding:0!important;margin:0!important;}
.cpp-site-section #affiche>.container{width:100%!important;max-width:none;padding:0;}
.cpp-site-section #affiche>.container>.cpp-head{display:none;}
.cpp-site-section #affiche :is(label,.cpp-legend,.cpp-drop-s,.cpp-affiche-hint){color:#4a443c!important;}
.cpp-site-section #affiche :is(input,select){background:white!important;color:#171411!important;border:1px solid #b7a78f!important;}
.cpp-affiche-picker{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 24px;}
.cpp-affiche-pick{background:#fff;border:1px solid #d6c6af;padding:12px;cursor:pointer;color:#171411;font:600 18px var(--font-body,"Barlow Semi Condensed",sans-serif);}
.cpp-affiche-pick[aria-pressed=true]{border:2px solid #85684A;background:#F4F0E9;}
.cpp-affiche-pick img{display:block;object-fit:contain;width:100%;height:170px;margin-bottom:10px;}
@media(max-width:1100px){
 .cpp-block-nav:has(.cpp-mega){grid-template-columns:minmax(0,1fr) 44px 48px!important;grid-template-areas:"brand quote menu"!important;gap:4px!important;}
 .cpp-block-nav:has(.cpp-mega)>.cpp-mobile-quote{grid-area:quote;display:flex;align-items:center;justify-content:center;width:44px;height:48px;color:#C5A579;text-decoration:none;}
 .cpp-mobile-quote svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;}
 .cpp-mobile-quote:focus-visible{outline:2px solid #C5A579;outline-offset:2px;}
}
@media(max-width:781px){
 .cpp-site-cards .cpp-site-poster{height:340px!important;}
 :is(main,.cpp-shared-prefooter,.editor-styles-wrapper) :is(h1,h2)::after{width:48px;margin-top:22px;}
 .cpp-show-trailer{position:relative;bottom:auto;right:auto;left:auto;margin:0 18px 26px;}
 .cpp-show-panel__inner{padding-bottom:32px!important;}
 .cpp-pack-choices{grid-template-columns:1fr;gap:20px;}
 .cpp-pack-choice{padding:24px;}
 .cpp-odyssee-gallery.wp-block-gallery{column-count:2;column-gap:12px;}
 .cpp-odyssee-gallery.wp-block-gallery figure.wp-block-image{margin-bottom:12px!important;}
 :is(.cpp-site-photo,.cpp-photo-frame,.cpp-odyssee-gallery .wp-block-image)::after{inset:8px;}
 .cpp-contact-card{gap:18px;align-items:flex-start;}
 .cpp-contact-card img{width:90px;height:110px;}
 .cpp-motion-toggle{display:none;}
}
@media(prefers-reduced-motion:reduce){
 .cpp-show-panel__season--primary::after{animation:none;display:none;}
 :is(.cpp-site-photo,.cpp-photo-frame,.wp-block-image) img{transform:none!important;transition:none!important;}
 [data-cpp-slideshow] .cpp-slide{transition:none;}
 .cpp-motion-toggle{display:none;}
 body :is(.wp-block-button__link,.wp-element-button,.btn){transition:none!important;}
}
