:root{--direction-multiplier:1}body.rtl,html[dir=rtl]{--direction-multiplier:-1}.elementor-hidden{display:none}.elementor-visibility-hidden{visibility:hidden}.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;top:-10000em;width:1px;clip:rect(0,0,0,0);border:0}.elementor-clearfix:after{clear:both;content:"";display:block;height:0;width:0}.e-logo-wrapper{display:inline-block;line-height:1}.e-logo-wrapper i{color:var(--e-a-color-circle-logo);font-size:2.5em}.elementor *,.elementor :after,.elementor :before{box-sizing:border-box}.elementor a{box-shadow:none;text-decoration:none}.elementor hr{background-color:transparent;margin:0}.elementor img{border:none;border-radius:0;box-shadow:none;height:auto;max-width:100%}.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}.elementor embed,.elementor iframe,.elementor object,.elementor video{border:none;line-height:1;margin:0;max-width:100%;width:100%}.elementor .elementor-background,.elementor .elementor-background-holder,.elementor .elementor-background-video-container{direction:ltr;inset:0;overflow:hidden;position:absolute;z-index:0}.elementor .elementor-background-video-container{pointer-events:none;transition:opacity 1s}.elementor .elementor-background-video-container.elementor-loading{opacity:0}.elementor .elementor-background-video,.elementor .elementor-background-video-embed{max-width:none}.elementor .elementor-background-video,.elementor .elementor-background-video-embed,.elementor .elementor-background-video-hosted{inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translate(-50%,-50%)}.elementor .elementor-background-video-hosted{-o-object-fit:cover;object-fit:cover}.elementor .elementor-background-overlay{inset:0;position:absolute}.elementor .elementor-background-slideshow{inset:0;position:absolute;z-index:0}.elementor .elementor-background-slideshow__slide__image{background-position:50%;background-size:cover;height:100%;width:100%}.e-con-inner>.elementor-element.elementor-absolute,.e-con>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}.e-con-inner>.elementor-element.elementor-fixed,.e-con>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}.elementor-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}@media (max-width:960px){.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}}@media (max-width:480px){.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}}.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;align-self:var(--align-self);flex-basis:var(--flex-basis);flex-grow:var(--flex-grow);flex-shrink:var(--flex-shrink);order:var(--order)}.elementor-element:where(.e-con-full,.elementor-widget){align-content:var(--align-content);align-items:var(--align-items);flex-direction:var(--flex-direction);flex-wrap:var(--flex-wrap);gap:var(--row-gap) var(--column-gap);justify-content:var(--justify-content)}.elementor-invisible{visibility:hidden}.elementor-custom-embed-play{inset-block-start:50%;inset-inline-start:50%;position:absolute;transform:translate(calc(-50% * var(--direction-multiplier)),-50%)}.elementor-custom-embed-play i{color:#fff;font-size:100px;text-shadow:1px 0 6px rgba(0,0,0,.3)}.elementor-custom-embed-play svg{fill:#fff;filter:drop-shadow(1px 0 6px rgba(0,0,0,.3));height:100px;width:100px}.elementor-custom-embed-play i,.elementor-custom-embed-play svg{opacity:.8;transition:all .5s}.elementor-custom-embed-play.elementor-playing i{font-family:eicons}.elementor-custom-embed-play.elementor-playing i:before{content:"\e8fb"}.elementor-custom-embed-play.elementor-playing i,.elementor-custom-embed-play.elementor-playing svg{animation:eicon-spin 2s linear infinite}.elementor-tag{display:inline-flex}.elementor-ken-burns{transition-duration:10s;transition-property:transform;transition-timing-function:linear}.elementor-ken-burns--out{transform:scale(1.3)}.elementor-ken-burns--active{transition-duration:20s}.elementor-ken-burns--active.elementor-ken-burns--out{transform:scale(1)}.elementor-ken-burns--active.elementor-ken-burns--in{transform:scale(1.3)}.elementor-align-center{text-align:center}.elementor-align-right{text-align:right}.elementor-align-left{text-align:left}.elementor-align-center .elementor-button,.elementor-align-left .elementor-button,.elementor-align-right .elementor-button{width:auto}.elementor-align-justify .elementor-button{width:100%}@media (min-width:-1){.elementor-widescreen-align-center{text-align:center}.elementor-widescreen-align-right{text-align:right}.elementor-widescreen-align-left{text-align:left}.elementor-widescreen-align-center .elementor-button,.elementor-widescreen-align-left .elementor-button,.elementor-widescreen-align-right .elementor-button{width:auto}.elementor-widescreen-align-justify .elementor-button{width:100%}}@media (max-width:-1){.elementor-laptop-align-center{text-align:center}.elementor-laptop-align-right{text-align:right}.elementor-laptop-align-left{text-align:left}.elementor-laptop-align-center .elementor-button,.elementor-laptop-align-left .elementor-button,.elementor-laptop-align-right .elementor-button{width:auto}.elementor-laptop-align-justify .elementor-button{width:100%}}@media (max-width:-1){.elementor-tablet_extra-align-center{text-align:center}.elementor-tablet_extra-align-right{text-align:right}.elementor-tablet_extra-align-left{text-align:left}.elementor-tablet_extra-align-center .elementor-button,.elementor-tablet_extra-align-left .elementor-button,.elementor-tablet_extra-align-right .elementor-button{width:auto}.elementor-tablet_extra-align-justify .elementor-button{width:100%}}@media (max-width:960px){.elementor-tablet-align-center{text-align:center}.elementor-tablet-align-right{text-align:right}.elementor-tablet-align-left{text-align:left}.elementor-tablet-align-center .elementor-button,.elementor-tablet-align-left .elementor-button,.elementor-tablet-align-right .elementor-button{width:auto}.elementor-tablet-align-justify .elementor-button{width:100%}}@media (max-width:-1){.elementor-mobile_extra-align-center{text-align:center}.elementor-mobile_extra-align-right{text-align:right}.elementor-mobile_extra-align-left{text-align:left}.elementor-mobile_extra-align-center .elementor-button,.elementor-mobile_extra-align-left .elementor-button,.elementor-mobile_extra-align-right .elementor-button{width:auto}.elementor-mobile_extra-align-justify .elementor-button{width:100%}}@media (max-width:480px){.elementor-mobile-align-center{text-align:center}.elementor-mobile-align-right{text-align:right}.elementor-mobile-align-left{text-align:left}.elementor-mobile-align-center .elementor-button,.elementor-mobile-align-left .elementor-button,.elementor-mobile-align-right .elementor-button{width:auto}.elementor-mobile-align-justify .elementor-button{width:100%}}:root{--page-title-display:block}.elementor-page-title,h1.entry-title{display:var(--page-title-display)}@keyframes eicon-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.eicon-animation-spin{animation:eicon-spin 2s linear infinite}.elementor-section{position:relative}.elementor-section .elementor-container{display:flex;margin-inline:auto;position:relative}@media (max-width:960px){.elementor-section .elementor-container{flex-wrap:wrap}}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-section.elementor-section-stretched{position:relative;width:100%}.elementor-section.elementor-section-items-top>.elementor-container{align-items:flex-start}.elementor-section.elementor-section-items-middle>.elementor-container{align-items:center}.elementor-section.elementor-section-items-bottom>.elementor-container{align-items:flex-end}@media (min-width:481px){.elementor-section.elementor-section-height-full{height:100vh}.elementor-section.elementor-section-height-full>.elementor-container{height:100%}}.elementor-bc-flex-widget .elementor-section-content-top>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:flex-start}.elementor-bc-flex-widget .elementor-section-content-middle>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:center}.elementor-bc-flex-widget .elementor-section-content-bottom>.elementor-container>.elementor-column>.elementor-widget-wrap{align-items:flex-end}.elementor-widget-wrap{align-content:flex-start;flex-wrap:wrap;position:relative;width:100%}.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap{display:flex}.elementor-widget-wrap>.elementor-element{width:100%}.elementor-widget-wrap.e-swiper-container{width:calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-block-end:var(--kit-widget-spacing,20px)}.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-block-end:0}.elementor-column{display:flex;min-height:1px;position:relative}.elementor-column-gap-narrow>.elementor-column>.elementor-element-populated{padding:5px}.elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:10px}.elementor-column-gap-extended>.elementor-column>.elementor-element-populated{padding:15px}.elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding:20px}.elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding:30px}.elementor-inner-section .elementor-column-gap-no .elementor-element-populated{padding:0}@media (min-width:481px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%}.elementor-column.elementor-col-11,.elementor-column[data-col="11"]{width:11.111%}.elementor-column.elementor-col-12,.elementor-column[data-col="12"]{width:12.5%}.elementor-column.elementor-col-14,.elementor-column[data-col="14"]{width:14.285%}.elementor-column.elementor-col-16,.elementor-column[data-col="16"]{width:16.666%}.elementor-column.elementor-col-20,.elementor-column[data-col="20"]{width:20%}.elementor-column.elementor-col-25,.elementor-column[data-col="25"]{width:25%}.elementor-column.elementor-col-30,.elementor-column[data-col="30"]{width:30%}.elementor-column.elementor-col-33,.elementor-column[data-col="33"]{width:33.333%}.elementor-column.elementor-col-40,.elementor-column[data-col="40"]{width:40%}.elementor-column.elementor-col-50,.elementor-column[data-col="50"]{width:50%}.elementor-column.elementor-col-60,.elementor-column[data-col="60"]{width:60%}.elementor-column.elementor-col-66,.elementor-column[data-col="66"]{width:66.666%}.elementor-column.elementor-col-70,.elementor-column[data-col="70"]{width:70%}.elementor-column.elementor-col-75,.elementor-column[data-col="75"]{width:75%}.elementor-column.elementor-col-80,.elementor-column[data-col="80"]{width:80%}.elementor-column.elementor-col-83,.elementor-column[data-col="83"]{width:83.333%}.elementor-column.elementor-col-90,.elementor-column[data-col="90"]{width:90%}.elementor-column.elementor-col-100,.elementor-column[data-col="100"]{width:100%}}@media (max-width:479px){.elementor-column.elementor-xs-10{width:10%}.elementor-column.elementor-xs-11{width:11.111%}.elementor-column.elementor-xs-12{width:12.5%}.elementor-column.elementor-xs-14{width:14.285%}.elementor-column.elementor-xs-16{width:16.666%}.elementor-column.elementor-xs-20{width:20%}.elementor-column.elementor-xs-25{width:25%}.elementor-column.elementor-xs-30{width:30%}.elementor-column.elementor-xs-33{width:33.333%}.elementor-column.elementor-xs-40{width:40%}.elementor-column.elementor-xs-50{width:50%}.elementor-column.elementor-xs-60{width:60%}.elementor-column.elementor-xs-66{width:66.666%}.elementor-column.elementor-xs-70{width:70%}.elementor-column.elementor-xs-75{width:75%}.elementor-column.elementor-xs-80{width:80%}.elementor-column.elementor-xs-83{width:83.333%}.elementor-column.elementor-xs-90{width:90%}.elementor-column.elementor-xs-100{width:100%}}@media (max-width:480px){.elementor-column.elementor-sm-10{width:10%}.elementor-column.elementor-sm-11{width:11.111%}.elementor-column.elementor-sm-12{width:12.5%}.elementor-column.elementor-sm-14{width:14.285%}.elementor-column.elementor-sm-16{width:16.666%}.elementor-column.elementor-sm-20{width:20%}.elementor-column.elementor-sm-25{width:25%}.elementor-column.elementor-sm-30{width:30%}.elementor-column.elementor-sm-33{width:33.333%}.elementor-column.elementor-sm-40{width:40%}.elementor-column.elementor-sm-50{width:50%}.elementor-column.elementor-sm-60{width:60%}.elementor-column.elementor-sm-66{width:66.666%}.elementor-column.elementor-sm-70{width:70%}.elementor-column.elementor-sm-75{width:75%}.elementor-column.elementor-sm-80{width:80%}.elementor-column.elementor-sm-83{width:83.333%}.elementor-column.elementor-sm-90{width:90%}.elementor-column.elementor-sm-100{width:100%}}@media (min-width:481px) and (max-width:960px){.elementor-column.elementor-md-10{width:10%}.elementor-column.elementor-md-11{width:11.111%}.elementor-column.elementor-md-12{width:12.5%}.elementor-column.elementor-md-14{width:14.285%}.elementor-column.elementor-md-16{width:16.666%}.elementor-column.elementor-md-20{width:20%}.elementor-column.elementor-md-25{width:25%}.elementor-column.elementor-md-30{width:30%}.elementor-column.elementor-md-33{width:33.333%}.elementor-column.elementor-md-40{width:40%}.elementor-column.elementor-md-50{width:50%}.elementor-column.elementor-md-60{width:60%}.elementor-column.elementor-md-66{width:66.666%}.elementor-column.elementor-md-70{width:70%}.elementor-column.elementor-md-75{width:75%}.elementor-column.elementor-md-80{width:80%}.elementor-column.elementor-md-83{width:83.333%}.elementor-column.elementor-md-90{width:90%}.elementor-column.elementor-md-100{width:100%}}@media (min-width:-1){.elementor-reverse-widescreen>.elementor-container>:first-child{order:10}.elementor-reverse-widescreen>.elementor-container>:nth-child(2){order:9}.elementor-reverse-widescreen>.elementor-container>:nth-child(3){order:8}.elementor-reverse-widescreen>.elementor-container>:nth-child(4){order:7}.elementor-reverse-widescreen>.elementor-container>:nth-child(5){order:6}.elementor-reverse-widescreen>.elementor-container>:nth-child(6){order:5}.elementor-reverse-widescreen>.elementor-container>:nth-child(7){order:4}.elementor-reverse-widescreen>.elementor-container>:nth-child(8){order:3}.elementor-reverse-widescreen>.elementor-container>:nth-child(9){order:2}.elementor-reverse-widescreen>.elementor-container>:nth-child(10){order:1}}@media (min-width:961px) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child{order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){order:1}}@media (min-width:-1) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child{order:10}.elementor-reverse-laptop>.elementor-container>:nth-child(2){order:9}.elementor-reverse-laptop>.elementor-container>:nth-child(3){order:8}.elementor-reverse-laptop>.elementor-container>:nth-child(4){order:7}.elementor-reverse-laptop>.elementor-container>:nth-child(5){order:6}.elementor-reverse-laptop>.elementor-container>:nth-child(6){order:5}.elementor-reverse-laptop>.elementor-container>:nth-child(7){order:4}.elementor-reverse-laptop>.elementor-container>:nth-child(8){order:3}.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:2}.elementor-reverse-laptop>.elementor-container>:nth-child(10){order:1}}@media (min-width:961px) and (max-width:-1){.elementor-reverse-laptop>.elementor-container>:first-child,.elementor-reverse-laptop>.elementor-container>:nth-child(10),.elementor-reverse-laptop>.elementor-container>:nth-child(2),.elementor-reverse-laptop>.elementor-container>:nth-child(3),.elementor-reverse-laptop>.elementor-container>:nth-child(4),.elementor-reverse-laptop>.elementor-container>:nth-child(5),.elementor-reverse-laptop>.elementor-container>:nth-child(6),.elementor-reverse-laptop>.elementor-container>:nth-child(7),.elementor-reverse-laptop>.elementor-container>:nth-child(8),.elementor-reverse-laptop>.elementor-container>:nth-child(9){order:0}.elementor-reverse-tablet_extra>.elementor-container>:first-child{order:10}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet_extra>.elementor-container>:nth-child(10){order:1}}@media (min-width:481px) and (max-width:960px){.elementor-reverse-tablet>.elementor-container>:first-child{order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){order:1}}@media (min-width:-1) and (max-width:960px){.elementor-reverse-tablet>.elementor-container>:first-child{order:10}.elementor-reverse-tablet>.elementor-container>:nth-child(2){order:9}.elementor-reverse-tablet>.elementor-container>:nth-child(3){order:8}.elementor-reverse-tablet>.elementor-container>:nth-child(4){order:7}.elementor-reverse-tablet>.elementor-container>:nth-child(5){order:6}.elementor-reverse-tablet>.elementor-container>:nth-child(6){order:5}.elementor-reverse-tablet>.elementor-container>:nth-child(7){order:4}.elementor-reverse-tablet>.elementor-container>:nth-child(8){order:3}.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:2}.elementor-reverse-tablet>.elementor-container>:nth-child(10){order:1}}@media (min-width:481px) and (max-width:-1){.elementor-reverse-tablet>.elementor-container>:first-child,.elementor-reverse-tablet>.elementor-container>:nth-child(10),.elementor-reverse-tablet>.elementor-container>:nth-child(2),.elementor-reverse-tablet>.elementor-container>:nth-child(3),.elementor-reverse-tablet>.elementor-container>:nth-child(4),.elementor-reverse-tablet>.elementor-container>:nth-child(5),.elementor-reverse-tablet>.elementor-container>:nth-child(6),.elementor-reverse-tablet>.elementor-container>:nth-child(7),.elementor-reverse-tablet>.elementor-container>:nth-child(8),.elementor-reverse-tablet>.elementor-container>:nth-child(9){order:0}.elementor-reverse-mobile_extra>.elementor-container>:first-child{order:10}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(2){order:9}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(3){order:8}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(4){order:7}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(5){order:6}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(6){order:5}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(7){order:4}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(8){order:3}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(9){order:2}.elementor-reverse-mobile_extra>.elementor-container>:nth-child(10){order:1}}@media (max-width:480px){.elementor-reverse-mobile>.elementor-container>:first-child{order:10}.elementor-reverse-mobile>.elementor-container>:nth-child(2){order:9}.elementor-reverse-mobile>.elementor-container>:nth-child(3){order:8}.elementor-reverse-mobile>.elementor-container>:nth-child(4){order:7}.elementor-reverse-mobile>.elementor-container>:nth-child(5){order:6}.elementor-reverse-mobile>.elementor-container>:nth-child(6){order:5}.elementor-reverse-mobile>.elementor-container>:nth-child(7){order:4}.elementor-reverse-mobile>.elementor-container>:nth-child(8){order:3}.elementor-reverse-mobile>.elementor-container>:nth-child(9){order:2}.elementor-reverse-mobile>.elementor-container>:nth-child(10){order:1}.elementor-column{width:100%}}.elementor-grid{display:grid;grid-column-gap:var(--grid-column-gap);grid-row-gap:var(--grid-row-gap)}.elementor-grid .elementor-grid-item{min-width:0}.elementor-grid-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}@media (min-width:-1){.elementor-grid-widescreen-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-widescreen-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-widescreen-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-widescreen-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-widescreen-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-widescreen-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-widescreen-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-widescreen-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-widescreen-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-widescreen-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-widescreen-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-widescreen-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-widescreen-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-widescreen-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1){.elementor-grid-laptop-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-laptop-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-laptop-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-laptop-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-laptop-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-laptop-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-laptop-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-laptop-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-laptop-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-laptop-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-laptop-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-laptop-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-laptop-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-laptop-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1){.elementor-grid-tablet_extra-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-tablet_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:960px){.elementor-grid-tablet-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-tablet-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-tablet-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-tablet-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-tablet-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-tablet-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-tablet-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-tablet-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-tablet-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-tablet-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-tablet-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-tablet-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-tablet-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-tablet-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:-1){.elementor-grid-mobile_extra-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-mobile_extra-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile_extra-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile_extra-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile_extra-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile_extra-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile_extra-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile_extra-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile_extra-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile_extra-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile_extra-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile_extra-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile_extra-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile_extra-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (max-width:480px){.elementor-grid-mobile-0 .elementor-grid{display:inline-block;margin-block-end:calc(-1 * var(--grid-row-gap));width:100%;word-spacing:var(--grid-column-gap)}.elementor-grid-mobile-0 .elementor-grid .elementor-grid-item{display:inline-block;margin-block-end:var(--grid-row-gap);word-break:break-word}.elementor-grid-mobile-1 .elementor-grid{grid-template-columns:repeat(1,1fr)}.elementor-grid-mobile-2 .elementor-grid{grid-template-columns:repeat(2,1fr)}.elementor-grid-mobile-3 .elementor-grid{grid-template-columns:repeat(3,1fr)}.elementor-grid-mobile-4 .elementor-grid{grid-template-columns:repeat(4,1fr)}.elementor-grid-mobile-5 .elementor-grid{grid-template-columns:repeat(5,1fr)}.elementor-grid-mobile-6 .elementor-grid{grid-template-columns:repeat(6,1fr)}.elementor-grid-mobile-7 .elementor-grid{grid-template-columns:repeat(7,1fr)}.elementor-grid-mobile-8 .elementor-grid{grid-template-columns:repeat(8,1fr)}.elementor-grid-mobile-9 .elementor-grid{grid-template-columns:repeat(9,1fr)}.elementor-grid-mobile-10 .elementor-grid{grid-template-columns:repeat(10,1fr)}.elementor-grid-mobile-11 .elementor-grid{grid-template-columns:repeat(11,1fr)}.elementor-grid-mobile-12 .elementor-grid{grid-template-columns:repeat(12,1fr)}}@media (min-width:961px){#elementor-device-mode:after{content:"desktop"}}@media (min-width:-1){#elementor-device-mode:after{content:"widescreen"}}@media (max-width:-1){#elementor-device-mode:after{content:"laptop"}}@media (max-width:-1){#elementor-device-mode:after{content:"tablet_extra"}}@media (max-width:960px){#elementor-device-mode:after{content:"tablet"}}@media (max-width:-1){#elementor-device-mode:after{content:"mobile_extra"}}@media (max-width:480px){#elementor-device-mode:after{content:"mobile"}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.e-con{--border-radius:0;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--border-style:initial;--border-color:initial;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--content-width:min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;--padding-top:var(--container-default-padding-top,10px);--padding-right:var(--container-default-padding-right,10px);--padding-bottom:var(--container-default-padding-bottom,10px);--padding-left:var(--container-default-padding-left,10px);--position:relative;--z-index:revert;--overflow:visible;--gap:var(--widgets-spacing,20px);--row-gap:var(--widgets-spacing-row,20px);--column-gap:var(--widgets-spacing-column,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0.3s;--e-con-grid-template-columns:repeat(3,1fr);--e-con-grid-template-rows:repeat(2,1fr);border-radius:var(--border-radius);height:var(--height);min-height:var(--min-height);min-width:0;overflow:var(--overflow);position:var(--position);width:var(--width);z-index:var(--z-index);--flex-wrap-mobile:wrap}.e-con:where(:not(.e-div-block-base)){transition:background var(--background-transition,.3s),border var(--border-transition,.3s),box-shadow var(--border-transition,.3s),transform var(--e-con-transform-transition-duration,.4s)}.e-con{--margin-block-start:var(--margin-top);--margin-block-end:var(--margin-bottom);--margin-inline-start:var(--margin-left);--margin-inline-end:var(--margin-right);--padding-inline-start:var(--padding-left);--padding-inline-end:var(--padding-right);--padding-block-start:var(--padding-top);--padding-block-end:var(--padding-bottom);--border-block-start-width:var(--border-top-width);--border-block-end-width:var(--border-bottom-width);--border-inline-start-width:var(--border-left-width);--border-inline-end-width:var(--border-right-width)}body.rtl .e-con{--padding-inline-start:var(--padding-right);--padding-inline-end:var(--padding-left);--margin-inline-start:var(--margin-right);--margin-inline-end:var(--margin-left);--border-inline-start-width:var(--border-right-width);--border-inline-end-width:var(--border-left-width)}.e-con{margin-block-end:var(--margin-block-end);margin-block-start:var(--margin-block-start);margin-inline-end:var(--margin-inline-end);margin-inline-start:var(--margin-inline-start);padding-inline-end:var(--padding-inline-end);padding-inline-start:var(--padding-inline-start)}.e-con.e-flex{--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis)}.e-con-full,.e-con>.e-con-inner{padding-block-end:var(--padding-block-end);padding-block-start:var(--padding-block-start);text-align:var(--text-align)}.e-con-full.e-flex,.e-con.e-flex>.e-con-inner{flex-direction:var(--flex-direction)}.e-con,.e-con>.e-con-inner{display:var(--display)}.e-con.e-grid{--grid-justify-content:start;--grid-align-content:start;--grid-auto-flow:row}.e-con.e-grid,.e-con.e-grid>.e-con-inner{align-content:var(--grid-align-content);align-items:var(--align-items);grid-auto-flow:var(--grid-auto-flow);grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:var(--e-con-grid-template-rows);justify-content:var(--grid-justify-content);justify-items:var(--justify-items)}.e-con-boxed.e-flex{align-content:normal;align-items:normal;flex-direction:column;flex-wrap:nowrap;justify-content:normal}.e-con-boxed.e-grid{grid-template-columns:1fr;grid-template-rows:1fr;justify-items:legacy}.e-con-boxed{gap:initial;text-align:initial}.e-con.e-flex>.e-con-inner{align-content:var(--align-content);align-items:var(--align-items);align-self:auto;flex-basis:auto;flex-grow:1;flex-shrink:1;flex-wrap:var(--flex-wrap);justify-content:var(--justify-content)}.e-con.e-grid>.e-con-inner{align-items:var(--align-items);justify-items:var(--justify-items)}.e-con>.e-con-inner{gap:var(--row-gap) var(--column-gap);height:100%;margin:0 auto;max-width:var(--content-width);padding-inline-end:0;padding-inline-start:0;width:100%}:is(.elementor-section-wrap,[data-elementor-id])>.e-con{--margin-left:auto;--margin-right:auto;max-width:min(100%,var(--width))}:is([data-widget_type="e-component.default"],[data-widget_type="e-component.default"]>.elementor-section-wrap)>.e-con{--margin-right:0px;--margin-left:0px}.e-con .elementor-widget.elementor-widget{margin-block-end:0}.e-con:before,.e-con>.elementor-background-slideshow:before,.e-con>.elementor-motion-effects-container>.elementor-motion-effects-layer:before,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);content:var(--background-overlay);display:block;height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);position:absolute;top:calc(0px - var(--border-top-width));transition:var(--overlay-transition,.3s);width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}.e-con:before{transition:background var(--overlay-transition,.3s),border-radius var(--border-transition,.3s),opacity var(--overlay-transition,.3s)}.e-con>.elementor-background-slideshow,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));top:calc(0px - var(--border-top-width));width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}@media (max-width:480px){:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container.elementor-hidden-mobile{display:none}}:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{z-index:1}:is(.e-con,.e-con>.e-con-inner)>.elementor-background-slideshow:before{z-index:2}.e-con .elementor-widget{min-width:0}.e-con .elementor-widget-empty,.e-con .elementor-widget-google_maps,.e-con .elementor-widget-video,.e-con .elementor-widget.e-widget-swiper{width:100%}.e-con>.e-con-inner>.elementor-widget>.elementor-widget-container,.e-con>.elementor-widget>.elementor-widget-container{height:100%}.e-con.e-con>.e-con-inner>.elementor-widget,.elementor.elementor .e-con>.elementor-widget{max-width:100%}.e-con .elementor-widget:not(:last-child){--kit-widget-spacing:0px}@media (max-width:767px){.e-con.e-flex{--width:100%;--flex-wrap:var(--flex-wrap-mobile)}.e-con.e-flex .elementor-widget-archive-posts{width:100%}}.elementor-form-fields-wrapper{display:flex;flex-wrap:wrap}.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group .elementor-field-subgroup,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>.elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>input,.elementor-form-fields-wrapper.elementor-labels-above .elementor-field-group>textarea{flex-basis:100%;max-width:100%}.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group .elementor-select-wrapper,.elementor-form-fields-wrapper.elementor-labels-inline>.elementor-field-group>input{flex-grow:1}.elementor-field-group{align-items:center;flex-wrap:wrap}.elementor-field-group.elementor-field-type-submit{align-items:flex-end}.elementor-field-group .elementor-field-textual{background-color:transparent;border:1px solid #69727d;color:#1f2124;flex-grow:1;max-width:100%;vertical-align:middle;width:100%}.elementor-field-group .elementor-field-textual:focus{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}.elementor-field-group .elementor-field-textual::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-field-textual::placeholder{color:inherit;font-family:inherit;opacity:.6}.elementor-field-group .elementor-select-wrapper{display:flex;position:relative;width:100%}.elementor-field-group .elementor-select-wrapper select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;flex-basis:100%;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding-inline-end:20px;text-transform:inherit}.elementor-field-group .elementor-select-wrapper:before{content:"\e92a";font-family:eicons;font-size:15px;inset-block-start:50%;inset-inline-end:10px;pointer-events:none;position:absolute;text-shadow:0 0 3px rgba(0,0,0,.3);transform:translateY(-50%)}.elementor-field-group.elementor-field-type-select-multiple .elementor-select-wrapper:before{content:""}.elementor-field-subgroup{display:flex;flex-wrap:wrap}.elementor-field-subgroup .elementor-field-option label{display:inline-block}.elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{padding-inline-end:10px}.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{flex-basis:100%}.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input,.elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label{display:inline}.elementor-field-label{cursor:pointer}.elementor-mark-required .elementor-field-label:after{color:red;content:"*";padding-inline-start:.2em}.elementor-field-textual{border-radius:3px;font-size:15px;line-height:1.4;min-height:40px;padding:5px 14px}.elementor-field-textual.elementor-size-xs{border-radius:2px;font-size:13px;min-height:33px;padding:4px 12px}.elementor-field-textual.elementor-size-md{border-radius:4px;font-size:16px;min-height:47px;padding:6px 16px}.elementor-field-textual.elementor-size-lg{border-radius:5px;font-size:18px;min-height:59px;padding:7px 20px}.elementor-field-textual.elementor-size-xl{border-radius:6px;font-size:20px;min-height:72px;padding:8px 24px}.elementor-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-button-align-center .e-form__buttons,.elementor-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-button-align-start .e-form__buttons,.elementor-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-button-align-end .e-form__buttons,.elementor-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-button-align-start .e-form__buttons,[dir=rtl] .elementor-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-button-align-end .e-form__buttons,[dir=rtl] .elementor-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-button-align-center .e-form__buttons__wrapper,.elementor-button-align-center .e-form__buttons__wrapper__button,.elementor-button-align-end .e-form__buttons__wrapper,.elementor-button-align-end .e-form__buttons__wrapper__button,.elementor-button-align-start .e-form__buttons__wrapper,.elementor-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}@media screen and (max-width:960px){.elementor-tablet-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-tablet-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-tablet-button-align-center .e-form__buttons,.elementor-tablet-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-tablet-button-align-start .e-form__buttons,.elementor-tablet-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-tablet-button-align-end .e-form__buttons,.elementor-tablet-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-tablet-button-align-start .e-form__buttons,[dir=rtl] .elementor-tablet-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-tablet-button-align-end .e-form__buttons,[dir=rtl] .elementor-tablet-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-tablet-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-tablet-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-tablet-button-align-center .e-form__buttons__wrapper,.elementor-tablet-button-align-center .e-form__buttons__wrapper__button,.elementor-tablet-button-align-end .e-form__buttons__wrapper,.elementor-tablet-button-align-end .e-form__buttons__wrapper__button,.elementor-tablet-button-align-start .e-form__buttons__wrapper,.elementor-tablet-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}}@media screen and (max-width:480px){.elementor-mobile-button-align-stretch .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:100%}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper{flex-basis:50%;flex-grow:1}.elementor-mobile-button-align-stretch .e-form__buttons__wrapper__button{flex-basis:100%}.elementor-mobile-button-align-center .e-form__buttons,.elementor-mobile-button-align-center .elementor-field-type-submit{justify-content:center}.elementor-mobile-button-align-start .e-form__buttons,.elementor-mobile-button-align-start .elementor-field-type-submit{justify-content:flex-start}.elementor-mobile-button-align-end .e-form__buttons,.elementor-mobile-button-align-end .elementor-field-type-submit,[dir=rtl] .elementor-mobile-button-align-start .e-form__buttons,[dir=rtl] .elementor-mobile-button-align-start .elementor-field-type-submit{justify-content:flex-end}[dir=rtl] .elementor-mobile-button-align-end .e-form__buttons,[dir=rtl] .elementor-mobile-button-align-end .elementor-field-type-submit{justify-content:flex-start}.elementor-mobile-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-end .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button,.elementor-mobile-button-align-start .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button{flex-basis:auto}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper{flex-grow:0}.elementor-mobile-button-align-center .e-form__buttons__wrapper,.elementor-mobile-button-align-center .e-form__buttons__wrapper__button,.elementor-mobile-button-align-end .e-form__buttons__wrapper,.elementor-mobile-button-align-end .e-form__buttons__wrapper__button,.elementor-mobile-button-align-start .e-form__buttons__wrapper,.elementor-mobile-button-align-start .e-form__buttons__wrapper__button{flex-basis:auto}}.elementor-error .elementor-field{border-color:#d9534f}.elementor-error .help-inline{color:#d9534f;font-size:.9em}.elementor-message{font-size:1em;line-height:1;margin:10px 0}.elementor-message:before{content:"\e90e";display:inline-block;font-family:eicons;font-style:normal;font-weight:400;margin-inline-end:5px;vertical-align:middle}.elementor-message.elementor-message-danger{color:#d9534f}.elementor-message.elementor-message-danger:before{content:"\e87f"}.elementor-message.form-message-success{color:#5cb85c}.elementor-form .elementor-button{border:none;padding-block-end:0;padding-block-start:0}.elementor-form .elementor-button-content-wrapper,.elementor-form .elementor-button>span{display:flex;flex-direction:row;gap:5px;justify-content:center}.elementor-form .elementor-button.elementor-size-xs{min-height:33px}.elementor-form .elementor-button.elementor-size-sm{min-height:40px}.elementor-form .elementor-button.elementor-size-md{min-height:47px}.elementor-form .elementor-button.elementor-size-lg{min-height:59px}.elementor-form .elementor-button.elementor-size-xl{min-height:72px}.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)){transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s)}.elementor-heading-title{line-height:1;margin:0;padding:0}.elementor-button{background-color:#69727d;border-radius:3px;color:#fff;display:inline-block;fill:#fff;font-size:15px;line-height:1;padding:12px 24px;text-align:center;transition:all .3s}.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{color:#fff}.elementor-button-content-wrapper{display:flex;flex-direction:row;gap:5px;justify-content:center}.elementor-button-icon{align-items:center;display:flex}.elementor-button-icon svg{height:auto;width:1em}.elementor-button-icon .e-font-icon-svg{height:1em}.elementor-button-text{display:inline-block}.elementor-button.elementor-size-xs{border-radius:2px;font-size:13px;padding:10px 20px}.elementor-button.elementor-size-md{border-radius:4px;font-size:16px;padding:15px 30px}.elementor-button.elementor-size-lg{border-radius:5px;font-size:18px;padding:20px 40px}.elementor-button.elementor-size-xl{border-radius:6px;font-size:20px;padding:25px 50px}.elementor-button span{text-decoration:inherit}.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}.elementor-widget-button .elementor-button .elementor-button-info{background-color:#5bc0de}.elementor-widget-button .elementor-button .elementor-button-success{background-color:#5cb85c}.elementor-widget-button .elementor-button .elementor-button-warning{background-color:#f0ad4e}.elementor-widget-button .elementor-button .elementor-button-danger{background-color:#d9534f}.elementor-view-stacked .elementor-icon{background-color:#69727d;color:#fff;fill:#fff;padding:.5em}.elementor-view-framed .elementor-icon{background-color:transparent;border:3px solid #69727d;color:#69727d;padding:.5em}.elementor-icon{color:#69727d;display:inline-block;font-size:50px;line-height:1;text-align:center;transition:all .3s}.elementor-icon:hover{color:#69727d}.elementor-icon i,.elementor-icon svg{display:block;height:1em;position:relative;width:1em}.elementor-icon i:before,.elementor-icon svg:before{left:50%;position:absolute;transform:translateX(-50%)}.elementor-icon i.fad{width:auto}.elementor-shape-square .elementor-icon{border-radius:0}.elementor-shape-rounded .elementor-icon{border-radius:10%}.elementor-shape-circle .elementor-icon{border-radius:50%}.e-transform .elementor-widget-container,.e-transform:not(:has(.elementor-widget-container)){transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x)}.e-con.e-transform{transform:perspective(var(--e-con-transform-perspective,0)) rotate(var(--e-con-transform-rotateZ,0)) rotateX(var(--e-con-transform-rotateX,0)) rotateY(var(--e-con-transform-rotateY,0)) translate(var(--e-con-transform-translate,0)) translateX(var(--e-con-transform-translateX,0)) translateY(var(--e-con-transform-translateY,0)) scaleX(calc(var(--e-con-transform-flipX, 1) * var(--e-con-transform-scaleX, var(--e-con-transform-scale, 1)))) scaleY(calc(var(--e-con-transform-flipY, 1) * var(--e-con-transform-scaleY, var(--e-con-transform-scale, 1)))) skewX(var(--e-con-transform-skewX,0)) skewY(var(--e-con-transform-skewY,0));transform-origin:var(--e-con-transform-origin-y) var(--e-con-transform-origin-x)}.animated{animation-duration:1.25s}.animated.animated-slow{animation-duration:2s}.animated.animated-fast{animation-duration:.75s}.animated.infinite{animation-iteration-count:infinite}.animated.reverse{animation-direction:reverse;animation-fill-mode:forwards}@media (prefers-reduced-motion:reduce){.animated{animation:none!important}html *{transition-delay:0s!important;transition-duration:0s!important}}@media (max-width:480px){.elementor .elementor-hidden-mobile,.elementor .elementor-hidden-phone{display:none}}@media (min-width:-1) and (max-width:-1){.elementor .elementor-hidden-mobile_extra{display:none}}@media (min-width:481px) and (max-width:960px){.elementor .elementor-hidden-tablet{display:none}}@media (min-width:-1) and (max-width:-1){.elementor .elementor-hidden-tablet_extra{display:none}}@media (min-width:-1) and (max-width:-1){.elementor .elementor-hidden-laptop{display:none}}@media (min-width:961px) and (max-width:99999px){.elementor .elementor-hidden-desktop{display:none}}@media (min-width:-1){.elementor .elementor-hidden-widescreen{display:none}}

.elementor-kit-140{--e-global-color-primary:#1C1F23;--e-global-color-secondary:#2B2F35;--e-global-color-text:#5E646C;--e-global-color-accent:#F5A623;--e-global-color-ctfond:#F2F0EB;--e-global-color-ctblanc:#FFFFFF;--e-global-color-ctgris:#A8ADB3;--e-global-typography-primary-font-family:"Switzer";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Switzer";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:960px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:480px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }.elementor :where(.e-svg-base) { width: var(--e-svg-width, 65px); height: var(--e-svg-height, 65px); }form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"]{ display: block; }.elementor-edit-mode [data-element_type="e-form-success-message"]:is(.elementor-element-editable, :has(.elementor-element-editable), :has(> .elementor-empty-view)),.elementor-edit-mode [data-element_type="e-form-error-message"]:is(.elementor-element-editable, :has(.elementor-element-editable), :has(> .elementor-empty-view)){ display: block; }.e-background-video { position: relative; overflow: hidden; }.e-background-video__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; z-index: 0; }.e-background-video__content { position: relative; z-index: 1; flex: 1 1 auto; }.elementor-edit-mode .e-background-video__content.e-atomic-element:has(> .elementor-empty-view) { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }.elementor-edit-mode .e-background-video__content.e-atomic-element:has(> .elementor-empty-view) > .elementor-empty-view.elementor-empty-view { position: relative; flex: 1 1 auto; min-height: 120px; height: auto; width: 100%; }.elementor-edit-mode .e-background-video__content.e-atomic-element:has(> .elementor-empty-view) > .elementor-empty-view > .elementor-first-add { position: absolute; inset: 0; width: 100%; height: 100%; }.e-background-video__controls { z-index: 2; }.e-background-video__play, .e-background-video__pause { appearance: none; -webkit-appearance: none; }.e-background-video.e-background-video--playing .e-background-video__play { display: none; }.e-background-video.e-background-video--paused .e-background-video__pause { display: none; }.e-background-video:not(.e-background-video--playing):not(.e-background-video--paused) .e-background-video__controls,.e-background-video:not(.e-background-video--playing):not(.e-background-video--paused) .e-background-video__play,.e-background-video:not(.e-background-video--playing):not(.e-background-video--paused) .e-background-video__pause { display: none; }.e-accordion-item-header-base { list-style: none; }.e-accordion-item-header-base::-webkit-details-marker { display: none; }.e-accordion-item-base { interpolate-size: allow-keywords; }.e-accordion-item-base::details-content {block-size: 0; overflow: hidden;transition: block-size .3s ease, content-visibility .3s ease allow-discrete;}.e-accordion-item-base[open]::details-content { block-size: auto; }.e-accordion-item-icon-base, .e-accordion-item-icon-open-base { --e-svg-width: auto; --e-svg-height: 100%; }:where(.e-accordion-item-icon-base, .e-accordion-item-icon-open-base) .e-svg-base { max-width: 100%; }.e-accordion-item-icon-base.e-accordion-item-icon-base .e-svg-base svg, .e-accordion-item-icon-open-base.e-accordion-item-icon-open-base .e-svg-base svg { width: auto !important; }.e-accordion-item-icon-base svg, .e-accordion-item-icon-open-base svg { transition: transform .3s ease; }.e-accordion-item-base:not([open]) > summary :is(.e-accordion-item-icon-base, .e-accordion-item-icon-open-base) svg { transform: rotate(var(--e-accordion-icon-rotation-closed)); }.e-accordion-item-base[open] > summary :is(.e-accordion-item-icon-base, .e-accordion-item-icon-open-base) svg { transform: rotate(var(--e-accordion-icon-rotation, 180deg)); }.e-accordion-item-header-base.e-accordion-item-header-base:has(> .e-accordion-item-icon-open-base) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }.e-accordion-item-header-base:has(> .e-accordion-item-icon-open-base) > .e-accordion-item-title-base { grid-column: 1; grid-row: 1; }.e-accordion-item-header-base:has(> .e-accordion-item-icon-open-base) > :is(.e-accordion-item-icon-base, .e-accordion-item-icon-open-base) { grid-column: 2; grid-row: 1; }.e-accordion-item-base .e-accordion-item-icon-open-base.e-accordion-item-icon-open-base { visibility: hidden; }.e-accordion-item-base[open] > summary .e-accordion-item-icon-open-base { visibility: visible; }.e-accordion-item-base[open] > summary:has(.e-accordion-item-icon-open-base) .e-accordion-item-icon-base { visibility: hidden; }.e-list-item-marker-base { --e-svg-width: 0.6em; --e-svg-height: 0.6em; }:where(.e-list-item-marker-base) .e-svg-base { flex-shrink: 0; }.e-list-item-marker-base .e-svg-base svg { display: block; }
/*# sourceURL=elementor-frontend-inline-css */

/*
Theme Name: Chantier Timelapse
Theme URI: https://www.chantier-timelapse.fr
Author: Chantier Timelapse
Description: Thème bloc sur mesure pour Chantier Timelapse : timelapse et suivi de chantier par drone à Grenoble et en Isère. Tout le contenu est composé de blocs natifs, modifiables dans l'éditeur.
Version: 1.0.46
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: chantier-timelapse
Tags: block-theme, full-site-editing, business
*/

/* ── Palette client ─────────────────────────────────────────────── */
:root {
  --anthracite: #1C1F23;
  --beton: #2B2F35;
  --blanc-casse: #F2F0EB;
  --gris-clair: #A8ADB3;
  --jaune: #F5A623;

  /* jetons de page : fond clair, texte anthracite */
  --fond: var(--blanc-casse);
  --surface: #FFFFFF;
  --texte: var(--anthracite);
  --texte-doux: #5E646C;
  --texte-inactif: #8C9299;
  --accent: var(--jaune);
  --encre: var(--anthracite);
  --ligne: rgba(28, 31, 35, .13);
  --contour: rgba(28, 31, 35, .55);
  --lien-souligne: var(--jaune);
  --verre: rgba(242, 240, 235, .16);
  --verre-bord: rgba(242, 240, 235, .38);

  --marge: 48px;
  --rayon: 16px;
  --rayon-s: 12px;

  --t-hero: 80px;
  --t-bloc: 52px;
  --t-contact: 64px;
  --t-corps: 15px;
  --t-petit: 13px;

  --police: var(--wp--preset--font-family--manrope, 'Manrope', system-ui, sans-serif);
  --police-titre: var(--wp--preset--font-family--switzer, 'Switzer', 'Manrope', system-ui, sans-serif);

  /* flèche des boutons ronds (anthracite, et jaune sur fond anthracite) */
  --fleche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231C1F23' stroke-width='1.6'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5'/%3E%3C/svg%3E");
  --fleche-jaune: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23F5A623' stroke-width='1.6'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5'/%3E%3C/svg%3E");
  --plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231C1F23' stroke-width='1.6'%3E%3Cpath d='M8 3v10M3 8h10'/%3E%3C/svg%3E");
  --plus-clair: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23F2F0EB' stroke-width='1.6'%3E%3Cpath d='M8 3v10M3 8h10'/%3E%3C/svg%3E");
  --coche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231C1F23' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E");
}

/* Zones sombres : photos plein cadre, panneaux, en-tête posé sur la photo */
.hero, .entete, .panneau, .formulaire, .process, .plan, .bento-carte, .formule-phare, .exemple-budget {
  --fond: var(--anthracite);
  --surface: var(--beton);
  --texte: var(--blanc-casse);
  --texte-doux: var(--gris-clair);
  --texte-inactif: #7C8289;
  --ligne: rgba(242, 240, 235, .14);
  --contour: rgba(242, 240, 235, .7);
  --lien-souligne: transparent;
  color: var(--texte);
}

/* ── Bases ──────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; position: relative;
  background: var(--fond); color: var(--texte);
  font-family: var(--police); font-size: var(--t-corps); line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, p, ul, ol, figure, dl { margin: 0; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-weight: 300; hyphens: none; text-wrap: balance; }
strong { font-weight: 700; color: var(--texte); }
::selection { background: var(--accent); color: var(--encre); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

/* Espacement automatique de Gutenberg : coupé dans theme.json (blockGap 0),
   et ici seulement à spécificité nulle pour ne jamais écraser les marges des composants. */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks { overflow-x: clip; }   /* le ruban incliné déborde volontairement des bords */
figure.wp-block-image, figure.wp-block-video, figure.wp-block-table { margin: 0; }
ul.wp-block-list { padding: 0; list-style: none; }

/* ── Boutons : pilule + rond fléché, séparés par un petit espace ─── */
.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
/* le rond sort du lien : la place lui est réservée par le bloc bouton (le lien est à 100 % de largeur) */
.wp-block-buttons > .wp-block-button { padding-right: 58px; }
.wp-block-button .wp-block-button__link {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 30px;
  border: 1px solid transparent; border-radius: 999px;
  font-family: var(--police); font-size: 14px; font-weight: 600; line-height: 1;
  letter-spacing: .01em; text-transform: uppercase; white-space: nowrap;
  transition: background .25s, color .25s, border-color .25s;
}
.wp-block-button .wp-block-button__link::after {
  content: ''; position: absolute; top: -1px; right: -59px;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--accent) var(--fleche) center / 16px no-repeat;
  transition: transform .25s;
}
.wp-block-button .wp-block-button__link:hover::after { transform: rotate(45deg); }
.wp-block-button.b-plein .wp-block-button__link { background: var(--accent); color: var(--encre); }
.wp-block-button.b-contour .wp-block-button__link { background: none; border-color: var(--contour); color: var(--texte); }
.wp-block-button.b-contour .wp-block-button__link:hover { background: var(--accent); border-color: var(--accent); color: var(--encre); }
.wp-block-button.b-sombre .wp-block-button__link { background: var(--encre); color: var(--accent); }
.wp-block-button.b-sombre .wp-block-button__link::after { background-color: var(--encre); background-image: var(--fleche-jaune); }

/* ── En-tête posé sur la photo du bandeau ───────────────────────── */
.zone-entete { position: absolute; z-index: 20; top: var(--marge); left: var(--marge); right: var(--marge); }
.entete { position: relative; display: flex; align-items: center; justify-content: space-between; }
.entete .logo img { width: 240px; height: auto; }

.zone-entete .entete .menu { position: absolute; left: 50%; transform: translateX(-50%); }
.zone-entete .entete .menu .wp-block-navigation__container {
  display: flex; align-items: center; gap: 0; flex-wrap: nowrap;
  height: 46px; padding: 0 8px;
  border-radius: 999px;
  background: var(--verre);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.zone-entete .entete .menu .wp-block-navigation__container > .wp-block-navigation-item { position: relative; height: 46px; display: flex; align-items: center; }
/* WordPress donne aux liens « background-color: inherit » : le voile de la pilule se doublerait sous chaque lien */
.zone-entete .entete .menu .wp-block-navigation-item { background-color: transparent; }
.zone-entete .entete .menu .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before {
  content: ''; position: absolute; left: 0; top: 50%;
  width: 1px; height: 22px; transform: translateY(-50%);
  background: rgba(242, 240, 235, .35);
}
.zone-entete .entete .menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex; align-items: center; height: 46px; padding: 0 26px;
  font-size: 14px; color: var(--texte); opacity: .9; white-space: nowrap;
}
.zone-entete .entete .menu .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: 6px; }
.zone-entete .entete .menu .wp-block-navigation__submenu-icon { margin: 0 20px 0 0; padding: 0; width: 12px; height: 12px; color: var(--texte); }
.zone-entete .entete .menu .wp-block-navigation__submenu-icon svg { width: 12px; height: 12px; stroke: currentColor; transition: transform .25s; }
.zone-entete .entete .menu .has-child:hover .wp-block-navigation__submenu-icon svg,
.zone-entete .entete .menu .has-child:focus-within .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
.zone-entete .entete .menu .wp-block-navigation-item__content:hover { opacity: 1; color: var(--accent); }
.zone-entete .entete .menu .current-menu-item > .wp-block-navigation-item__content,
.zone-entete .entete .menu .current-menu-ancestor > .wp-block-navigation-item__content { opacity: 1; font-weight: 600; }

/* sous-menu Prestations */
.zone-entete .entete .menu .has-child .wp-block-navigation__submenu-container {
  top: calc(100% + 12px); left: 50%;
  min-width: 210px; padding: 8px;
  border: 1px solid var(--ligne); border-radius: var(--rayon-s);
  background: rgba(28, 31, 35, .92); color: var(--texte);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  transform: translate(-50%, 6px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.zone-entete .entete .menu .has-child .wp-block-navigation__submenu-container::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.zone-entete .entete .menu .has-child:hover > .wp-block-navigation__submenu-container,
.zone-entete .entete .menu .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translate(-50%, 0); }
.zone-entete .entete .menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block; padding: 12px 16px; border-radius: 8px;
  font-size: 14px; color: var(--texte); white-space: nowrap;
}
.zone-entete .entete .menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(242, 240, 235, .07); }

.entete .entete-cta > .wp-block-button { padding-right: 52px; }
.entete .entete-cta .wp-block-button__link { height: 46px; padding: 0 24px; font-size: 12px; }
.entete .entete-cta .wp-block-button__link::after { width: 46px; height: 46px; right: -53px; }

/* La pilule tient entre le logo et le bouton devis à partir de 1 200 px, sans « Accueil » (le logo y ramène).
   En dessous : bouton rond, placé après le bouton devis, et panneau plein écran (où « Accueil » reste). */
@media (min-width: 1200px) {
  .zone-entete .entete .menu .wp-block-navigation__container > .menu-accueil { display: none; }
  .zone-entete .entete .menu .wp-block-navigation__container > .menu-accueil + .wp-block-navigation-item::before { display: none; }
}
@media (min-width: 1200px) and (max-width: 1360px) {
  .zone-entete .entete .menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 0 16px; }
  .zone-entete .entete .menu .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: 6px; }
  .zone-entete .entete .menu .wp-block-navigation__submenu-icon { margin-right: 12px; }
}
@media (max-width: 1199px) {
  .zone-entete .entete .menu { position: static; transform: none; order: 3; margin-left: 12px; }
  .zone-entete .menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .zone-entete .menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .entete .entete-cta { margin-left: auto; }
}

/* bouton du menu mobile et panneau ouvert */
.zone-entete .menu .wp-block-navigation__responsive-container-open {
  width: 46px; height: 46px; border-radius: 50%;
  align-items: center; justify-content: center;
  background: var(--accent); color: var(--encre);
}
.zone-entete .menu .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
/* ── Menu mobile : panneau plein écran ──────────────────────────────
   Logo + fermeture ronde en haut, liens numérotés en grand, prestations en pastilles,
   devis / appel / e-mail en bas (bloc Boutons « menu-mobile-pied » du menu, masqué ailleurs). */
.zone-entete .menu .menu-mobile-pied { display: none; }
/* menu ouvert : l'animation d'arrivée de l'en-tête laisse une transformation qui enfermerait le
   panneau « fixe » dans l'en-tête, et l'en-tête doit passer devant tout le reste de la page */
.has-modal-open .zone-entete,
.zone-entete:has(.is-menu-open) { z-index: 100000; animation: none !important; transform: none !important; }

.wp-block-navigation.menu .wp-block-navigation__responsive-container.is-menu-open {
  padding: 24px;
  color: var(--blanc-casse) !important;
  background-color: var(--anthracite) !important;
  background-image:
    linear-gradient(rgba(242, 240, 235, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .045) 1px, transparent 1px);
  background-size: 40px 40px;
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; min-height: 100%; }
/* logo : celui du site (variable --ct-logo posée par functions.php) */
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__responsive-dialog::before {
  content: ''; flex: none; width: 190px; height: 46px;
  background: var(--ct-logo) left center / contain no-repeat;
}
.wp-block-navigation.menu .wp-block-navigation__responsive-container-close {
  top: 0; right: 0; width: 46px; height: 46px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--accent); color: var(--encre);
}
.wp-block-navigation.menu .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; fill: currentColor; }
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__responsive-container-content {
  flex: 1; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-top: 36px;
}
/* la liste porte aussi la classe « menu » : on annule l'ordre et la marge prévus pour le bouton rond */
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container {
  order: 0; margin-left: 0;
  width: 100%; height: auto; padding: 0; gap: 0; counter-reset: menu-mobile;
  flex-direction: column; align-items: stretch;
  background: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
  display: block; height: auto; counter-increment: menu-mobile;
  border-bottom: 1px solid rgba(242, 240, 235, .12);
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item::before { display: none; }
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex; align-items: center; gap: 16px; width: 100%; height: auto; padding: 15px 0;
  font-family: var(--police-titre); font-size: 30px; font-weight: 600; line-height: 1.1; letter-spacing: -.02em;
  color: var(--blanc-casse); opacity: 1;
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::before {
  content: counter(menu-mobile, decimal-leading-zero); min-width: 22px;
  font-family: var(--police); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--accent);
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ''; flex: none; width: 18px; height: 18px; margin-left: auto;
  background: var(--fleche-jaune) center / contain no-repeat; opacity: .55; transition: opacity .2s, transform .2s;
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after { opacity: 1; transform: rotate(45deg); }
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--accent); }
/* prestations en pastilles sous leur lien */
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__submenu-container {
  position: static !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px;
  width: auto !important; min-width: 0 !important; height: auto !important; overflow: visible !important;
  opacity: 1 !important; visibility: visible !important;
  padding: 0 0 18px 38px !important; background: none !important; border: 0 !important; box-shadow: none !important; transform: none !important;
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: auto; }
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: inline-flex; align-items: center; height: 38px; padding: 0 16px;
  border: 1px solid rgba(242, 240, 235, .3); border-radius: 999px;
  font-family: var(--police); font-size: 15px; font-weight: 500; color: var(--blanc-casse);
}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { border-color: var(--accent); background: var(--accent); color: var(--encre); }
/* bas du panneau : devis en grand, appel et e-mail côte à côte */
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin-top: auto; padding-top: 32px;
}
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied > .wp-block-button { padding-right: 0; }
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied > .b-plein { grid-column: 1 / -1; padding-right: 58px; }
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .wp-block-button__link { width: 100%; height: 52px; }
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .b-contour .wp-block-button__link {
  gap: 10px; padding: 0 16px; border-color: rgba(242, 240, 235, .35); color: var(--blanc-casse); font-size: 13px;
}
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .b-contour .wp-block-button__link::after { display: none; }
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .b-contour .wp-block-button__link::before {
  content: ''; flex: none; width: 16px; height: 16px; background: center / contain no-repeat;
}
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .menu-appel .wp-block-button__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A623' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}
.wp-block-navigation.menu .is-menu-open .menu-mobile-pied .menu-mail .wp-block-button__link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A623' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}
/* entrée en cascade des liens à l'ouverture */
@media (prefers-reduced-motion: no-preference) {
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item,
  .wp-block-navigation.menu .is-menu-open .menu-mobile-pied { animation: menu-entree .5s cubic-bezier(.2, .6, .2, 1) both; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .04s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .08s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .12s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .16s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { animation-delay: .2s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(7) { animation-delay: .24s; }
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(n+8) { animation-delay: .28s; }
  .wp-block-navigation.menu .is-menu-open .menu-mobile-pied { animation-delay: .32s; }
}
@keyframes menu-entree { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-height: 700px) {
  .wp-block-navigation.menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 11px 0; font-size: 25px; }
}

/* ── Bandeau d'entrée (hero) ────────────────────────────────────── */
.hero {
  position: relative;
  margin: 0;
  height: 800px;
  border-radius: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--anthracite);
}
/* WordPress 7 annule la marge haute du premier bloc (« :root :where(…) > :first-child ») :
   il faut deux classes pour la rétablir */
.wp-block-group.hero { margin-top: 0; }
/* accueil : bandeau en plein écran (bord à bord, sans coins arrondis, toute la hauteur de la fenêtre) ;
   la hauteur plancher garde la place du titre, des pastilles et des cartes qui défilent */
.home .hero:not(.hero-page) {
  margin: 0; border-radius: 0;
  height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
  min-height: 640px;
}
.home .zone-entete { top: var(--marge); left: var(--marge); right: var(--marge); }
@media (max-width: 960px) { .home .hero:not(.hero-page) { min-height: 760px; } }
@media (max-width: 480px) { .home .hero:not(.hero-page) { min-height: 740px; } }
/* bandeaux sans photo (404, pages légales) : fond de plan quadrillé */
.hero:is(.hero-404, .hero-court) {
  background-image:
    linear-gradient(rgba(242, 240, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .05) 1px, transparent 1px);
  background-size: 48px 48px;
}
.hero.hero-court { height: 480px; }
.hero-404 { margin-bottom: var(--marge); }
.hero .hero-photo { position: absolute; inset: 0; z-index: -2; }
.hero .hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
/* vidéo de fond (accueil) : posée sur la photo, qui sert d'affiche tant que la lecture n'a pas démarré */
.hero .hero-video { position: absolute; inset: 0; z-index: -2; pointer-events: none; opacity: 0; transition: opacity 1.2s ease; }
.hero .hero-video video { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero .hero-video.lecture { opacity: 1; }
.hero::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(28, 31, 35, .68) 0%, rgba(28, 31, 35, .32) 50%, rgba(28, 31, 35, .05) 100%),
    linear-gradient(180deg, rgba(28, 31, 35, .4) 0%, rgba(28, 31, 35, 0) 40%, rgba(28, 31, 35, .4) 100%);
}

.hero-texte { position: absolute; top: 206px; left: var(--marge); max-width: 900px; }
.hero .hero-titre {
  font-family: var(--police-titre); font-size: var(--t-hero); font-weight: 600;
  line-height: 1.06; letter-spacing: -.025em; color: var(--texte);
}
.hero-accroche { margin-top: 22px; max-width: 560px; font-size: 20px; line-height: 1.5; text-wrap: pretty; }

.hero .hero-tags { position: absolute; left: var(--marge); bottom: var(--marge); display: flex; flex-wrap: wrap; gap: 10px; max-width: 400px; }
.hero-tags li, .tag {
  display: inline-flex; align-items: center; height: 40px; padding: 0 20px;
  border-radius: 999px;
  background: var(--verre); border: 1px solid var(--verre-bord);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  font-size: 14px; white-space: nowrap;
}

/* cartes des chantiers en cours, qui défilent (accueil) */
.hero-defile { position: absolute; left: 55%; right: 0; bottom: 40px; padding-top: 36px; overflow: hidden; }
.hero-defile::before, .hero-defile::after { position: absolute; top: 0; font-size: var(--t-petit); line-height: 18px; }
.hero-defile::before { content: attr(data-num); left: 0; }
.hero-defile::after {
  content: attr(data-total); left: 34px; width: 366px; text-align: right;
  background: linear-gradient(90deg, var(--accent) var(--progression, 33%), rgba(242, 240, 235, .3) var(--progression, 33%)) left center / calc(100% - 34px) 2px no-repeat;
  transition: background-size .6s;
}
.defile-piste { display: flex; gap: 16px; transition: transform .7s cubic-bezier(.6, 0, .2, 1); }
.carte-verre {
  flex: none; width: 380px;
  display: flex; gap: 16px; padding: 12px;
  border-radius: var(--rayon-s);
  background: var(--verre); border: 1px solid var(--verre-bord);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.carte-verre .wp-block-image img { width: 128px; height: 128px; object-fit: cover; border-radius: 8px; }
.carte-verre .carte-texte { display: flex; flex-direction: column; justify-content: space-between; padding: 4px 0; }
.carte-verre h3 { font-size: 22px; font-weight: 500; line-height: 1.3; }
.carte-verre p { font-size: var(--t-petit); opacity: .85; }

/* bandeau des pages intérieures */
.hero.hero-page { height: 720px; }
.hero .fil { position: absolute; top: 176px; left: var(--marge); font-size: 14px; opacity: .85; }
.hero .fil a:hover { color: var(--accent); }
.hero-page .hero-texte { top: 214px; max-width: 1000px; }
.hero-encart {
  position: absolute; right: var(--marge); bottom: var(--marge);
  width: 420px; padding: 24px;
  border-radius: var(--rayon-s);
  background: var(--verre); border: 1px solid var(--verre-bord);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.hero-encart p { font-size: var(--t-corps); line-height: 1.6; }
.hero-encart .wp-block-buttons { margin-top: 18px; }
.hero-encart .wp-block-buttons > .wp-block-button { padding-right: 52px; }
.hero-encart .wp-block-button__link { height: 46px; padding: 0 24px; font-size: 12px; }
.hero-encart .wp-block-button__link::after { width: 46px; height: 46px; right: -53px; }
.hero-404 .hero-404-boutons { margin-top: 32px; }

/* ── Éléments communs des sections ──────────────────────────────── */
/* repère : numéro dans un carré jaune, intitulé en capitales (signalétique de chantier) */
.repere { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.repere strong { display: inline-grid; place-items: center; width: 30px; height: 30px; background: var(--accent); color: var(--encre); font-size: 12px; letter-spacing: 0; }

.titre-bloc {
  margin-top: 20px; max-width: 760px;
  font-family: var(--police-titre); font-size: var(--t-bloc); font-weight: 600;
  line-height: 1.04; letter-spacing: -.028em; text-wrap: balance;
}
/* mot-clé surligné au marqueur jaune (un <em> natif, donc modifiable) */
.titre-bloc em { font-style: normal; padding: 0 .06em; background: linear-gradient(transparent 58%, var(--accent) 58%, var(--accent) 92%, transparent 92%); }
.process .titre-bloc em { background: none; color: var(--accent); }

.bloc-tete { display: grid; grid-template-columns: 1fr 380px; column-gap: 64px; align-items: end; }
.bloc-intro { font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.intro-texte p a, .faq-item p a, .zone-home-texte p a, .coord-valeur a {
  text-decoration: underline; text-decoration-color: var(--lien-souligne);
  text-decoration-thickness: 2px; text-underline-offset: 3px;
}

/* ── Ruban de chantier ──────────────────────────────────────────── */
.ruban {
  position: relative; z-index: 6;
  margin: -26px -24px 0;
  overflow: hidden;
  background: var(--accent); color: var(--encre);
  border-block: 6px solid transparent;
  border-image: repeating-linear-gradient(-45deg, var(--encre) 0 12px, var(--accent) 12px 24px) 6;
  transform: rotate(-1.2deg);
  box-shadow: 0 12px 30px rgba(28, 31, 35, .18);
}
.ruban .ruban-piste { display: flex; width: max-content; animation: defiler 45s linear infinite; }
.ruban-piste li {
  display: flex; align-items: center; gap: 28px;
  padding: 14px 0 14px 28px;
  font-family: var(--police-titre); font-size: 20px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .01em; white-space: nowrap;
}
.ruban-piste li::after { content: ''; width: 10px; height: 10px; background: var(--encre); transform: rotate(45deg); }
@keyframes defiler { to { transform: translateX(-50%); } }

/* ── (01) Intro et chiffres ─────────────────────────────────────── */
.intro { padding: 104px var(--marge) 0; }
.intro-grille { display: grid; grid-template-columns: 1fr 400px; column-gap: 64px; align-items: end; }
.intro-texte p { font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.intro-texte .wp-block-buttons { margin-top: 24px; }
.chiffres { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 64px; border-top: 1px solid var(--ligne); }
.chiffres > .wp-block-group { padding: 0 24px; border-right: 1px solid var(--ligne); }
.chiffres > .wp-block-group:first-child { padding-left: 0; }
.chiffres > .wp-block-group:last-child { border-right: 0; }
.chiffres > .wp-block-group::before { content: ''; display: block; width: 28px; height: 4px; margin-bottom: 22px; background: var(--accent); }
.chiffre-valeur { font-family: var(--police-titre); font-size: 64px; font-weight: 600; line-height: 1; letter-spacing: -.03em; }
.chiffre-libelle { margin-top: 10px; max-width: 210px; font-size: var(--t-petit); line-height: 1.5; color: var(--texte-doux); }

/* ── (02) Liste typographique + photo au survol ─────────────────── */
.services { padding: 110px var(--marge) 0; }
.services-corps { display: grid; grid-template-columns: 1fr 42%; column-gap: 48px; margin-top: 48px; }
.services-liste { border-top: 1px solid var(--ligne); }
.services-item {
  position: relative;
  display: grid; grid-template-columns: 52px 250px 1fr 44px; align-items: center; column-gap: 20px;
  min-height: 118px; padding-right: 8px;
  border-bottom: 1px solid var(--ligne);
  transition: padding .35s cubic-bezier(.2, .6, .2, 1);
}
.services-item::before { content: ''; position: absolute; left: 0; top: -1px; bottom: -1px; width: 0; background: var(--accent); transition: width .35s cubic-bezier(.2, .6, .2, 1); }
.services-liste:not(.services-texte) .services-item::after {
  content: ''; position: absolute; right: 8px; top: 50%; margin-top: -22px;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--contour);
  background: transparent var(--fleche) center / 14px no-repeat;
  transition: background-color .3s, border-color .3s;
}
.services-num { font-size: 13px; font-weight: 700; color: var(--texte-doux); }
.services-item .services-nom { font-family: var(--police-titre); font-size: 34px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: var(--texte-inactif); transition: color .3s; }
.services-nom a::after { content: ''; position: absolute; inset: 0; }   /* toute la ligne est cliquable */
.services-desc { font-size: 14px; line-height: 1.55; color: var(--texte-doux); }
.services-item.actif { padding-left: 22px; }
.services-item.actif::before { width: 6px; }
.services-item.actif .services-nom { color: var(--texte); }
.services-liste:not(.services-texte) .services-item.actif::after { background-color: var(--accent); border-color: var(--accent); }
.services-texte .services-item { grid-template-columns: 52px 300px 1fr; }
.services-texte .services-item .services-nom { font-size: 26px; }
.services-visuel { position: relative; overflow: hidden; border-radius: var(--rayon-s); min-height: 474px; }
.services-visuel .wp-block-image { position: absolute; inset: 0; opacity: 0; transform: scale(1.05); transition: opacity .6s ease, transform 1.2s cubic-bezier(.2, .6, .2, 1); }
.services-visuel .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.services-visuel .wp-block-image.actif { opacity: 1; transform: none; }

/* ── (03) Réalisations en mosaïque ──────────────────────────────── */
.realisations-bento { padding: 110px var(--marge) 0; }
.bento { display: grid; grid-template-columns: 1.6fr 1fr 1fr; grid-template-rows: 300px 250px; gap: 16px; margin-top: 48px; }
.bento-carte {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; align-items: flex-end; padding: 24px;
  border-radius: var(--rayon-s);
}
.bento-carte .wp-block-image { position: absolute; inset: 0; z-index: -2; }
.bento-carte .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, 0, .2, 1); }
.bento-carte::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28, 31, 35, 0) 40%, rgba(28, 31, 35, .78) 100%); }
.bento-carte:hover .wp-block-image img { transform: scale(1.05); }
.bento-carte h3 a::after { content: ''; position: absolute; inset: 0; }   /* toute la carte est cliquable */
.bento-grande { grid-row: 1 / span 2; }
.lieu { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lieu::before { content: ''; width: 8px; height: 8px; background: var(--accent); }
.bento-legende h3 { margin-top: 8px; font-family: var(--police-titre); font-size: 24px; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; }
.bento-grande .bento-legende h3 { font-size: 34px; }
.bento-legende p:not(.lieu) { margin-top: 8px; max-width: 460px; font-size: 14px; line-height: 1.55; opacity: .85; }
.bento-cta {
  grid-column: 2 / span 2; grid-row: 2;
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 28px 32px;
  border-radius: var(--rayon-s);
  background: var(--accent); color: var(--encre);
}
.bento-cta::after {
  content: ''; position: absolute; right: 0; top: 0; width: 150px; height: 150px;
  background: repeating-linear-gradient(-45deg, var(--encre) 0 12px, transparent 12px 24px);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.bento-cta-haut { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.bento-cta-texte { max-width: 480px; font-family: var(--police-titre); font-size: 32px; font-weight: 600; line-height: 1.08; letter-spacing: -.02em; }

/* ── (04) Frise sur fond de plan quadrillé ──────────────────────── */
.process, .plan {
  margin-top: 110px; padding: 100px var(--marge) 110px;
  background-color: var(--anthracite);
  background-image:
    linear-gradient(rgba(242, 240, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .05) 1px, transparent 1px);
  background-size: 48px 48px;
}
.frise { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 32px; margin-top: 64px; padding-top: 48px; }
.frise::before, .frise::after { content: ''; position: absolute; left: 0; right: 0; top: 14px; height: 2px; }
.frise::before { background: rgba(242, 240, 235, .16); }
.frise::after { background: var(--accent); transform-origin: left; transition: transform 1.8s cubic-bezier(.2, .6, .2, 1) .2s; }
.frise-etape { position: relative; }
.frise-etape::before { content: ''; position: absolute; top: -45px; left: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--anthracite); border: 3px solid var(--accent); }
.frise-num { font-family: var(--police-titre); font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 1.5px var(--blanc-casse); }
.frise-etape h3 { margin-top: 18px; font-family: var(--police-titre); font-size: 24px; font-weight: 600; }
.frise-etape p:not(.frise-num) { margin-top: 10px; max-width: 280px; font-size: 14px; line-height: 1.65; color: var(--texte-doux); }

/* ── (05) Zone d'intervention ───────────────────────────────────── */
.zone-home { display: grid; grid-template-columns: 1fr 44%; column-gap: 64px; padding: 110px var(--marge) 0; }
.coordonnees-gps { margin-top: 18px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--texte-doux); }
.zone-home-texte > p:not(.repere):not(.coordonnees-gps) { margin-top: 18px; max-width: 640px; font-size: var(--t-corps); line-height: 1.75; color: var(--texte-doux); }
.zone-home-texte strong { font-weight: 600; }
.communes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.communes li {
  display: inline-flex; align-items: center; height: 38px; padding: 0 18px;
  border-radius: 999px; border: 1px solid var(--contour);
  font-size: 14px; font-weight: 500;
}
.communes li:first-child { background: var(--texte); border-color: var(--texte); color: var(--fond); }
.zone-home .zone-home-photo { position: relative; min-height: 460px; overflow: hidden; border-radius: var(--rayon-s); }
.zone-home .zone-home-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zone-home .zone-home-photo figcaption {
  position: absolute; left: 20px; bottom: 20px; margin: 0; padding: 8px 14px;
  background: var(--accent); color: var(--encre);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left;
}

/* ── Bandeau d'une page au titre long (Zone d'intervention, 1.0.41) ─ */
/* titre plus petit (classe ajoutée au widget Titre) pour garder l'accroche au-dessus de l'encart ;
   pastilles sur une seule ligne (elementor.css les limite à 400 px) */
.hero-titre.hero-titre-long { font-size: clamp(34px, 4.6vw, 68px); }
.elementor .e-con.hero > .elementor-widget.hero-tags { max-width: min(640px, calc(100% - 420px - 4 * var(--marge))); }
@media (max-width: 960px) { .elementor .e-con.hero > .elementor-widget.hero-tags { max-width: none; } }

/* ── Carte de France de la zone d'intervention (1.0.40) ─────────── */
/* texte (widget Éditeur de texte .carte-zone-texte) à gauche, carte SVG (widget HTML .carte-zone-carte) à droite.
   Survoler un département de la liste l'éclaire sur la carte (:has, sans script). */
.carte-zone { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); column-gap: 64px; align-items: center; padding: 110px var(--marge) 0; }
.carte-zone-texte > p:not(.repere) { margin-top: 18px; max-width: 560px; font-size: var(--t-corps); line-height: 1.75; color: var(--texte-doux); }
.carte-deps { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ligne); }
.carte-deps li {
  display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; align-items: center;
  padding: 12px 10px; border-bottom: 1px solid var(--ligne); transition: background .2s;
}
.carte-deps li:hover { background: var(--surface); }
.carte-deps .dep-num {
  grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px;
  background: var(--accent); color: var(--encre); font-size: 14px; font-weight: 800; letter-spacing: .02em;
}
.carte-deps .dep-nom { font-family: var(--police-titre); font-size: 19px; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; }
.carte-deps .dep-villes { font-size: var(--t-petit); line-height: 1.5; color: var(--texte-doux); }

.carte-cadre {
  position: relative; padding: 28px 28px 20px; border-radius: var(--rayon);
  background-color: var(--anthracite);
  background-image: linear-gradient(rgba(242, 240, 235, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(242, 240, 235, .04) 1px, transparent 1px);
  background-size: 24px 24px; background-position: -1px -1px;
}
.carte-france { display: block; width: 100%; height: auto; }
.carte-france .fond { fill: var(--beton); stroke: rgba(242, 240, 235, .16); stroke-width: .7; stroke-linejoin: round; }
.carte-france .dep { fill: var(--accent); stroke: var(--anthracite); stroke-width: 1.1; stroke-linejoin: round; transition: fill .2s; cursor: default; }
.carte-france .dep:hover,
.carte-zone:has(.d38:hover) .dep-38, .carte-zone:has(.d73:hover) .dep-73, .carte-zone:has(.d74:hover) .dep-74,
.carte-zone:has(.d26:hover) .dep-26, .carte-zone:has(.d05:hover) .dep-05 { fill: var(--blanc-casse); }
.carte-france .numeros text { fill: var(--encre); font-family: var(--police); font-size: 10px; font-weight: 800; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.carte-france .base-point { fill: var(--blanc-casse); stroke: var(--anthracite); stroke-width: 2; }
.carte-france .base-onde { fill: none; stroke: var(--blanc-casse); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: carte-onde 2.4s ease-out infinite; }
@keyframes carte-onde { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(4); } }
@media (prefers-reduced-motion: reduce) { .carte-france .base-onde { animation: none; opacity: 0; } }
.carte-legende {
  display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(242, 240, 235, .14);
  font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gris-clair);
}
.carte-legende span { display: inline-flex; align-items: center; gap: 8px; }
.carte-legende .leg-zone::before { content: ''; width: 10px; height: 10px; background: var(--accent); }
.carte-legende .leg-base::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--blanc-casse); }

/* ── Questions fréquentes (blocs « Détails » natifs) ────────────── */
.faq { display: grid; grid-template-columns: 48% 1fr; padding: 110px var(--marge); }
.faq .titre-bloc { font-size: 40px; }
.faq-intro > p:last-child { margin-top: 22px; max-width: 380px; font-size: var(--t-petit); line-height: 1.7; color: var(--texte-doux); }
.faq-intro > p:last-child a { color: var(--texte); text-decoration: underline; text-decoration-color: var(--lien-souligne); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.faq-liste { counter-reset: question; }
.faq-liste .faq-item { border-bottom: 1px solid var(--ligne); transition: background .35s; }
.faq-liste .faq-item summary {
  position: relative; display: block; list-style: none; cursor: pointer;
  padding: 24px 96px 24px 28px;
  font-size: 20px; font-weight: 500; line-height: 1.35;
}
.faq-liste .faq-item summary::-webkit-details-marker { display: none; }
.faq-liste .faq-item summary::before {
  counter-increment: question; content: "Q." counter(question, decimal-leading-zero);
  display: block; margin-bottom: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--texte-doux);
}
.faq-liste .faq-item summary::after {
  content: ''; position: absolute; right: 28px; top: 50%; margin-top: -22px;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--contour);
  background: transparent var(--plus) center / 14px no-repeat;
  transition: transform .3s, background-color .3s, border-color .3s;
}
.faq-liste .faq-item summary:hover::after { border-color: var(--accent); }
.faq-liste .faq-item > p { padding: 0 100px 28px 28px; font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.faq-liste .faq-item[open] { background: var(--surface); border-radius: var(--rayon-s); border-bottom-color: transparent; }
.faq-liste .faq-item[open] summary::after { transform: rotate(45deg); background-color: var(--accent); border-color: var(--accent); }

/* ── Tarifs : section du calculateur (styles du calculateur : assets/calculateur.css) ── */
.tarifs { padding: 110px var(--marge) 0; }
.tarifs > .ctc { margin-top: 48px; }

/* ── Pages intérieures : atouts sur fond clair ──────────────────── */
.section-atouts { padding: 110px var(--marge) 0; }
.atouts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; }
.atout .wp-block-image img { width: 100%; height: 320px; object-fit: cover; border-radius: var(--rayon-s); }
.atout .wp-block-image.produit img { object-fit: contain; padding: 40px 28px; background: var(--surface); }
.atout-num { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-top: 20px; background: var(--accent); color: var(--encre); font-size: 12px; font-weight: 700; }
.atout h3 { margin-top: 6px; font-size: 20px; font-weight: 500; line-height: 1.3; }
.atout p:not(.atout-num) { margin-top: 10px; font-size: var(--t-petit); line-height: 1.65; color: var(--texte-doux); }

/* ── Matériel : fiche caméra, drones, tableau ───────────────────── */
.fiche { display: grid; grid-template-columns: 48% 1fr; align-items: start; }
.fiche-texte > p:not(.repere) { margin-top: 20px; max-width: 520px; font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.fiche .fiche-visuel {
  margin-top: 40px; margin-right: 64px; height: 380px; padding: 40px;
  border-radius: var(--rayon-s);
  background: radial-gradient(ellipse at 50% 60%, rgba(242, 240, 235, .1), rgba(242, 240, 235, .02) 70%);
}
.fiche .fiche-visuel img { width: 100%; height: 100%; object-fit: contain; }
.specs { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 40px; padding-top: 6px; }
.specs h3 { font-family: var(--police-titre); font-size: 18px; font-weight: 600; }
.specs ul { margin-top: 12px; }
.specs li { padding: 12px 0; border-bottom: 1px solid var(--ligne); font-size: var(--t-corps); line-height: 1.45; color: var(--texte-doux); }

.drones { padding: 110px var(--marge) 0; }
.appareils { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.appareil { padding: 28px; border-radius: var(--rayon); background: var(--surface); }
.appareil .appareil-visuel { height: 220px; padding: 24px; }
.appareil .appareil-visuel img { width: 100%; height: 100%; object-fit: contain; }
.appareil-usage { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; margin-top: 8px; border-radius: 999px; border: 1px solid var(--contour); font-size: 12px; font-weight: 500; }
.appareil h3 { margin-top: 16px; font-size: 22px; font-weight: 600; line-height: 1.3; }
.appareil > p:not(.appareil-usage) { margin-top: 8px; font-size: var(--t-petit); line-height: 1.65; color: var(--texte-doux); }
.appareil .appareil-specs { margin-top: 20px; }
.appareil .appareil-specs table { width: 100%; border-collapse: collapse; }
.appareil .appareil-specs :is(td, th) { padding: 11px 0; border: 0; border-top: 1px solid var(--ligne); font-size: var(--t-petit); vertical-align: top; }
.appareil .appareil-specs td:first-child { color: var(--texte-doux); }
.appareil .appareil-specs td:last-child { text-align: right; font-weight: 500; }

.usages { display: grid; grid-template-columns: 48% 1fr; padding: 110px var(--marge); }
.usages .titre-bloc { max-width: 520px; }
.usages .tableau table { width: 100%; border-collapse: collapse; font-size: var(--t-corps); }
.usages .tableau thead { border: 0; }
.usages .tableau :is(th, td) { border: 0; border-bottom: 1px solid var(--ligne); text-align: left; }
.usages .tableau th { padding: 0 16px 14px 0; font-size: var(--t-petit); font-weight: 500; color: var(--texte-doux); }
.usages .tableau td { padding: 22px 16px 22px 0; vertical-align: top; line-height: 1.5; }
.usages .tableau td:first-child { font-size: 18px; font-weight: 500; width: 34%; }
.usages .tableau td:nth-child(2) { font-weight: 600; width: 30%; }
.usages .tableau td:last-child { color: var(--texte-doux); }

/* ── Page contact et formulaire (Contact Form 7) ────────────────── */
.contact-page { display: grid; grid-template-columns: 48% 1fr; align-items: start; padding: 104px var(--marge) 110px; }
.contact-infos { padding-right: 64px; }
.contact-infos .titre-bloc { max-width: 560px; }
.coord-liste { margin-top: 56px; display: grid; gap: 30px; }
.coord-label { font-size: var(--t-petit); color: var(--texte-doux); }
.coord-valeur { margin-top: 4px; font-size: 24px; font-weight: 500; line-height: 1.35; }

.formulaire { padding: var(--marge); border-radius: var(--rayon); background: var(--surface); }
.formulaire h2 { font-size: 28px; font-weight: 400; line-height: 1.3; }
.formulaire > p { margin-top: 8px; font-size: var(--t-petit); color: var(--texte-doux); }
.formulaire .wpcf7 { margin-top: 36px; }
.formulaire .champs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.formulaire .champ.large { grid-column: 1 / -1; }
.formulaire .champ label { display: block; margin-bottom: 8px; font-size: var(--t-petit); color: var(--texte-doux); }
.formulaire .wpcf7-form-control-wrap { display: block; }
.formulaire .champ :is(input, select, textarea) {
  display: block; width: 100%; height: 52px; padding: 0 18px;
  border-radius: var(--rayon-s); border: 1px solid var(--ligne);
  background: var(--fond); color: var(--texte);
  font: inherit; font-size: var(--t-corps);
  outline: none; transition: border-color .2s;
}
.formulaire .champ textarea { height: 150px; padding: 14px 18px; resize: vertical; }
.formulaire .champ select {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23A8ADB3' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center; background-size: 14px;
}
.formulaire .champ :is(input, select, textarea):focus { border-color: var(--accent); }
.formulaire .champ ::placeholder { color: var(--texte-inactif); }
.formulaire .consentement { margin-top: 24px; font-size: var(--t-petit); line-height: 1.6; color: var(--texte-doux); }
.formulaire .consentement .wpcf7-list-item { margin: 0; }
.formulaire .consentement label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.formulaire .consentement input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--accent); flex: none; }
.formulaire .envoyer { position: relative; display: inline-flex; margin-top: 28px; margin-right: 58px; }
.formulaire .envoyer::after {
  content: ''; position: absolute; top: 0; right: -58px; width: 52px; height: 52px; border-radius: 50%;
  background: var(--accent) var(--fleche) center / 16px no-repeat; pointer-events: none; transition: transform .25s;
}
.formulaire .envoyer:hover::after { transform: rotate(45deg); }
.formulaire .wpcf7-submit {
  height: 52px; padding: 0 30px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--accent); color: var(--encre);
  font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .01em; text-transform: uppercase;
}
.formulaire .wpcf7-spinner { position: absolute; right: -110px; top: 14px; margin: 0; }
.formulaire .wpcf7-not-valid-tip { margin-top: 6px; font-size: 12px; color: var(--accent); }
.formulaire .wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 14px 18px; border: 1px solid var(--accent); border-radius: var(--rayon-s); color: var(--texte); font-size: var(--t-corps); }

/* ── Bloc contact et pied de page ───────────────────────────────── */
.panneau { position: relative; margin: 0 var(--marge); padding: var(--marge); border-radius: var(--rayon); background: var(--surface); overflow: hidden; }
.panneau.contact { margin-bottom: var(--marge); padding-bottom: 36px; }
.etiquette-sur { font-size: 14px; line-height: 1.55; color: var(--texte-doux); }
.etiquette { font-size: 14px; line-height: 1.55; }
.contact-corps {
  display: grid; grid-template-columns: 1fr auto; align-items: end;
  margin-top: 40px; padding-bottom: 72px;
  border-bottom: 1px solid var(--ligne);
}
/* titre, bouton et fin de phrase s'enchaînent sur la même ligne */
.contact-titre { font-size: var(--t-contact); line-height: 1.4; letter-spacing: -.015em; color: var(--texte-doux); }
.contact-titre > * { display: inline; }
.contact-titre .contact-titre-texte { font-size: inherit; font-weight: 300; line-height: inherit; letter-spacing: inherit; color: inherit; }
.contact-titre .wp-block-buttons { display: inline-flex; vertical-align: middle; margin: 0 14px; transform: translateY(-6px); }
.contact-titre .wp-block-button__link { font-size: 13px; letter-spacing: .02em; }
.contact-titre-fin { font-weight: 300; }
.coordonnees { text-align: right; font-size: var(--t-petit); line-height: 1.75; }
.coordonnees strong { font-family: var(--police-titre); font-size: 18px; font-weight: 600; letter-spacing: -.01em; }   /* nom de l'entreprise */
.coordonnees a { color: var(--accent); }
.coordonnees a:hover { text-decoration: underline; }

/* Pied de page « bandeau jaune » (1.0.39) : appel au devis sur fond jaune à gauche, bord rayé de chantier ;
   logo, coordonnées, liens et mention sur fond béton à droite. Même pied sur toutes les pages. */
.pied {
  --fond: var(--anthracite); --surface: var(--beton); --texte: var(--blanc-casse); --texte-doux: var(--gris-clair);
  --ligne: rgba(242, 240, 235, .14); --contour: rgba(242, 240, 235, .7); --lien-souligne: transparent;
  --ico-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
  --ico-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
  display: grid; grid-template-columns: minmax(300px, .9fr) 2fr;
  margin: 0; border-radius: 0; overflow: hidden;
  background: var(--surface); color: var(--texte); font-size: var(--t-petit);
}
/* pied en pleine largeur : le contenu s'aligne sur les marges de la page */
@media (min-width: 961px) { .pied .pied-appel { padding-left: var(--marge); } .pied .pied-infos { padding-right: var(--marge); } }
.pied a:hover { color: var(--accent); }
/* les groupes sont en disposition « flow » : WordPress ajoute une marge haute entre enfants */
.pied > *, .pied :is(.pied-appel, .pied-appel-haut, .pied-appel-bas, .pied-infos, .pied-haut) > * { margin-block: 0; }

.pied-appel {
  position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 22px;
  padding: 30px 56px 30px 32px; background: var(--accent); color: var(--encre);
}
.pied-appel::after {   /* bord rayé jaune/anthracite */
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 22px;
  background: repeating-linear-gradient(-45deg, var(--anthracite) 0 9px, transparent 9px 18px);
}
.pied-repere { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(28, 31, 35, .72); }
.pied-repere::before { content: ''; width: 8px; height: 8px; flex-shrink: 0; background: var(--anthracite); }
.pied .pied-appel-titre { margin-top: 8px; font-family: var(--police-titre); font-size: 30px; font-weight: 600; line-height: 1.1; letter-spacing: -.02em; color: var(--encre); }
.pied-appel-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.pied-appel .wp-block-buttons > .wp-block-button { padding-right: 52px; }
.pied-appel .wp-block-button__link { height: 46px; padding: 0 24px; font-size: 13px; }
.pied-appel .wp-block-button__link::after { width: 46px; height: 46px; right: -53px; background-size: 15px; }
.pied-appel .wp-block-button.b-sombre .wp-block-button__link { color: var(--blanc-casse); }
.pied .pied-tel a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--encre); }
.pied .pied-tel a:hover { color: var(--encre); text-decoration: underline; }
.pied-tel a::before, .pied-mail::before {
  content: ''; width: 15px; height: 15px; flex-shrink: 0; background: currentColor;
  -webkit-mask: var(--ico-tel) center / contain no-repeat; mask: var(--ico-tel) center / contain no-repeat;
}

.pied-infos { display: flex; flex-direction: column; gap: 22px; padding: 30px 36px 20px; }
.pied-haut { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 18px 30px; }
.pied .logo-pied img { width: 150px; height: auto; }
.pied-coord { text-align: right; line-height: 1.7; color: var(--texte-doux); }
.pied-coord .pied-mail { display: inline-flex; align-items: center; gap: 8px; color: var(--texte); }
.pied-mail::before { background: var(--accent); -webkit-mask-image: var(--ico-mail); mask-image: var(--ico-mail); }
.pied .pied-menu .wp-block-navigation__container { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 6px 30px; }
.pied .pied-menu .wp-block-navigation-item__content { font-size: var(--t-petit); color: var(--texte); }
.pied .pied-menu .wp-block-navigation-item__content:hover { color: var(--accent); }
.pied-mention {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 24px;
  margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ligne); font-size: 12px; color: var(--texte-doux);
}
.pied-legal { display: flex; flex-wrap: wrap; gap: 4px 18px; white-space: nowrap; }
.pied-legal a { color: var(--texte); }

/* une dernière section sans marge basse, juste avant le bloc contact */
.wp-block-post-content > :is(.services, .section-atouts, .realisations-bento, .zone-home, .drones, .tarifs, .video-chantier):last-child { padding-bottom: 110px; }

/* ── Vidéo d'exemple (accueil) ──────────────────────────────────── */
.video-chantier { padding: 110px var(--marge) 0; }
.video-chantier .video-cadre { margin-top: 48px; border-radius: var(--rayon); overflow: hidden; background: var(--anthracite); }
.video-chantier .video-cadre video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--anthracite); }
.video-chantier .video-cadre figcaption { margin: 0; padding: 14px 22px; text-align: left; font-size: var(--t-petit); color: var(--gris-clair); }

/* ── Coordonnées : conseils pour un devis rapide ─────────────────── */
.contact-infos > p:not(.repere) { margin-top: 40px; max-width: 480px; font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.contact-infos > p:not(.repere) strong { font-weight: 600; }

/* ── Guide : article long avec sommaire collant ──────────────────── */
.guide { display: grid; grid-template-columns: 290px minmax(0, 780px); column-gap: 80px; padding: 104px var(--marge) 110px; }
.guide-sommaire { position: sticky; top: 32px; align-self: start; }
.guide-sommaire ol.wp-block-list { margin-top: 20px; padding: 0; list-style: none; counter-reset: sommaire; }
.guide-sommaire li { counter-increment: sommaire; border-bottom: 1px solid var(--ligne); }
.guide-sommaire li a { display: flex; gap: 12px; padding: 11px 0; font-size: 14px; line-height: 1.4; color: var(--texte-doux); transition: color .2s; }
.guide-sommaire li a::before { content: counter(sommaire, decimal-leading-zero); flex: none; font-size: 11px; font-weight: 700; line-height: 20px; color: var(--texte-inactif); }
.guide-sommaire li a:hover { color: var(--texte); }
.guide-texte > h2 { margin-top: 76px; scroll-margin-top: 28px; font-family: var(--police-titre); font-size: 34px; font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.guide-texte > h3 { margin-top: 34px; scroll-margin-top: 28px; font-size: 20px; font-weight: 600; line-height: 1.3; }
.guide-texte > p, .guide-texte li { font-size: 16px; line-height: 1.75; color: var(--texte-doux); }
.guide-texte > p { margin-top: 16px; }
.guide-texte > p:first-child { font-size: 19px; line-height: 1.6; color: var(--texte); }
.guide-texte ul.wp-block-list, .guide-texte ol.wp-block-list { margin-top: 14px; padding-left: 22px; list-style: disc; }
.guide-texte ol.wp-block-list { list-style: decimal; }
.guide-texte li + li { margin-top: 6px; }
.guide-texte li::marker { color: var(--accent); }
.guide-texte strong { font-weight: 600; }
.guide-texte a:not(.wp-block-button__link) { color: var(--texte); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.guide-texte > .wp-block-image { margin-top: 32px; }
.guide-texte > .wp-block-image img { width: 100%; border-radius: var(--rayon-s); }
.guide-texte > .wp-block-image figcaption { margin-top: 10px; text-align: left; font-size: var(--t-petit); color: var(--texte-doux); }
.guide-texte > .encadre { margin-top: 28px; padding: 22px 26px; border-left: 4px solid var(--accent); border-radius: 0 var(--rayon-s) var(--rayon-s) 0; background: var(--surface); }
.guide-texte > .encadre p { font-size: 15px; line-height: 1.7; color: var(--texte-doux); }
.guide-texte > .encadre p + p { margin-top: 8px; }
.guide-texte > .encadre .encadre-titre { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--texte); }
.guide-texte > .wp-block-table { margin-top: 24px; overflow-x: auto; }
.guide-texte > .wp-block-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.guide-texte > .wp-block-table :is(th, td) { padding: 12px 14px 12px 0; border: 0; border-bottom: 1px solid var(--ligne); text-align: left; vertical-align: top; line-height: 1.5; }
.guide-texte > .wp-block-table thead { border: 0; }
.guide-texte > .wp-block-table th { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--texte); }
.guide-texte > .wp-block-table td { color: var(--texte-doux); }
.guide-texte > .wp-block-table td:first-child { font-weight: 600; color: var(--texte); }
.guide-texte > .wp-block-buttons { margin-top: 32px; }

/* ── Pages simples (mentions légales…) ──────────────────────────── */
.texte-legal { max-width: 860px; padding: 104px var(--marge) 110px; }
.texte-legal h2 { margin-top: 40px; font-family: var(--police-titre); font-size: 26px; font-weight: 600; }
.texte-legal p, .texte-legal li { margin-top: 12px; font-size: var(--t-corps); line-height: 1.75; color: var(--texte-doux); }
.texte-legal a { text-decoration: underline; text-decoration-color: var(--lien-souligne); text-underline-offset: 3px; }
.texte-legal ul.wp-block-list { padding-left: 22px; list-style: disc; }
.texte-legal h2:first-child { margin-top: 0; }

/* ── Page Tarifs ────────────────────────────────────────────────── */
/* Prix lus dans le calculateur : codes courts [tarif formule=…], [tarif_duree], [tarif_grille], [tarif_zones] (inc/formules.php). */
.formules, .degressif, .options-tarifs { padding: 110px var(--marge) 0; }

/* choix de la durée : une barre anthracite, un bouton par palier */
.ct-durees {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px;
  margin-top: 48px; padding: 10px 10px 10px 28px;
  border-radius: 999px; background: var(--anthracite); color: var(--blanc-casse);
}
.ct-durees-titre { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ct-durees-titre::before { content: ''; flex: none; width: 10px; height: 10px; background: var(--accent); }
.ct-durees-liste { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.ct-duree-choix { position: relative; cursor: pointer; }
.ct-duree-choix input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ct-duree-choix span {
  display: inline-flex; align-items: center; height: 44px; padding: 0 20px;
  border: 1px solid rgba(242, 240, 235, .22); border-radius: 999px;
  font-size: 14px; font-weight: 600; white-space: nowrap;
  transition: background-color .2s, border-color .2s, color .2s;
}
.ct-duree-choix:hover span { border-color: var(--accent); color: var(--accent); }
.ct-duree-choix input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--encre); }
.ct-duree-choix input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 3px; }

/* cartes des formules, toutes coiffées d'un ruban de chantier sur Tarifs (2026-10-13) ; .formule-phare (film Premium) est sombre */
.formules-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.formule {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  padding: 44px 36px 36px;
  border: 1px solid var(--ligne); border-radius: var(--rayon);
  background: var(--surface);
}
.formule-phare {
  border-color: transparent;
  background-color: var(--anthracite);
  background-image:
    linear-gradient(rgba(242, 240, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .05) 1px, transparent 1px);
  background-size: 48px 48px;
  box-shadow: 0 24px 50px rgba(28, 31, 35, .22);
}
.formule-phare::before, .formules-grille:not(.duo) > .formule::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 8px; background: repeating-linear-gradient(-45deg, var(--encre) 0 12px, var(--accent) 12px 24px); }
.formule .formule-badge { position: absolute; top: 32px; right: 32px; padding: 6px 12px; background: var(--accent); color: var(--encre); font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; }
.formule .formule-nom { font-family: var(--police-titre); font-size: 34px; font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }
.formule-accroche { margin-top: 6px; font-size: 14px; color: var(--texte-doux); }
.formule-prix { margin-top: 30px; font-family: var(--police-titre); font-size: 64px; font-weight: 600; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.formule-unite { margin-top: 10px; font-size: 13px; color: var(--texte-doux); }
.formule-desc { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ligne); font-size: 14px; line-height: 1.65; color: var(--texte-doux); }
.formule-inclut { margin-top: 22px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.formule-liste { display: grid; gap: 10px; margin-top: 14px; }
.formule-liste li, .formules-inclus li { position: relative; padding-left: 32px; font-size: 14px; line-height: 1.5; }
.formule-liste li::before, .formules-inclus li::before { content: ''; position: absolute; left: 0; top: 0; width: 21px; height: 21px; background: var(--accent) var(--coche) center / 13px no-repeat; }
.formule > .wp-block-buttons { margin-top: auto; padding-top: 32px; }
/* pages Film (Classique / Premium) : deux cartes côte à côte */
.formules-grille.duo { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1040px; }
@media (max-width: 960px) { .formules-grille.duo { grid-template-columns: 1fr; max-width: 560px; } }
/* page Tarifs, 4 formules (Essentiel basique ajoutée par le client) : toutes sur une ligne dès 1 280 px,
   en 2 × 2 en dessous ; cartes resserrées, et badge « Recommandée » accroché sous le ruban pour libérer le nom */
@media (min-width: 1280px) {
  .formules-grille:not(.duo) { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 20px; }
  .formules-grille:not(.duo) > .formule { padding: 46px 24px 28px; }
  .formules-grille:not(.duo) .formule .formule-nom { font-size: clamp(24px, 1.9vw, 30px); }
  .formules-grille:not(.duo) .formule-prix { margin-top: 26px; font-size: clamp(48px, 3.9vw, 60px); }
  .formules-grille:not(.duo) .formule-desc { margin-top: 22px; padding-top: 22px; }
  .formules-grille:not(.duo) .formule .formule-badge { top: 8px; right: 0; padding: 6px 14px; border-radius: 0 0 0 var(--rayon-s); }
  .formules-grille:not(.duo) .formule-phare .formule-nom { padding-right: 0; }
  /* boutons au format « petit » (46 px) : « Choisir Essentiel basique » tient sur deux lignes au plus */
  .elementor .formules-grille:not(.duo) .formule .elementor-widget-button.ct-bouton { padding-right: 52px; }
  .elementor .formules-grille:not(.duo) .formule .ct-bouton .elementor-button { min-height: 46px; padding: 8px 16px; font-size: 12px; }
  .elementor .formules-grille:not(.duo) .formule .ct-bouton .elementor-button::after { width: 46px; height: 46px; right: -53px; margin-top: -23px; }
}
@media (min-width: 961px) and (max-width: 1279px) {
  .formules-grille:not(.duo) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ce que toutes les formules comprennent */
.formules-inclus { display: grid; grid-template-columns: 300px minmax(0, 1fr); column-gap: 48px; row-gap: 22px; margin-top: 24px; padding: 32px 36px; border-radius: var(--rayon); background: var(--surface); }
.formules-inclus h3 { font-family: var(--police-titre); font-size: 24px; font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
.formules-inclus h3 + p { margin-top: 10px; font-size: var(--t-petit); line-height: 1.6; color: var(--texte-doux); }
.formules-inclus ul.wp-block-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; align-content: center; }

/* tarif dégressif : tableau et exemple chiffré */
.degressif-corps { display: grid; grid-template-columns: minmax(0, 1fr) 400px; column-gap: 48px; align-items: start; margin-top: 48px; }
.ct-grille { overflow-x: auto; }
.ct-grille table { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.ct-grille caption { caption-side: bottom; padding-top: 16px; text-align: left; font-size: var(--t-petit); color: var(--texte-doux); }
.ct-grille :is(th, td) { padding: 20px 18px; border-bottom: 1px solid var(--ligne); text-align: right; white-space: nowrap; }
.ct-grille :is(th, td):first-child { padding-left: 22px; text-align: left; }
.ct-grille thead th { padding-top: 0; padding-bottom: 16px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--texte-doux); }
.ct-grille thead th.ct-phare { color: var(--texte); }
.ct-grille tbody th { font-size: 16px; font-weight: 500; }
.ct-grille tbody td { font-family: var(--police-titre); font-size: 26px; font-weight: 600; letter-spacing: -.015em; }
.ct-grille tbody td.ct-phare { background: rgba(245, 166, 35, .1); }
.ct-grille tbody tr { transition: background-color .25s; }
.ct-grille tbody tr.actif :is(th, td) { background: var(--anthracite); color: var(--blanc-casse); border-bottom-color: transparent; }
.ct-grille tbody tr.actif th { position: relative; border-radius: var(--rayon-s) 0 0 var(--rayon-s); }
.ct-grille tbody tr.actif th::before { content: ''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 4px; background: var(--accent); }
.ct-grille tbody tr.actif td:last-child { border-radius: 0 var(--rayon-s) var(--rayon-s) 0; }
.ct-grille tbody tr.actif td.ct-phare { color: var(--accent); }
/* formule sans prix (CT_FORMULES « sur_demande ») : même hauteur que les prix voisins, texte plus petit */
.formule-prix .ct-sur-demande { display: block; font-size: .5em; line-height: 2; letter-spacing: -.02em; }
.ct-grille tbody td.ct-sur-demande { font-family: var(--police); font-size: 14px; font-weight: 600; letter-spacing: 0; color: var(--texte-doux); }
.ct-grille tbody tr.actif td.ct-sur-demande { color: var(--gris-clair); }
.ct-grille thead th { white-space: normal; }   /* noms de formule en deux mots : retour à la ligne permis */
/* noms de formule en deux mots : le badge « Recommandée » garde sa place à droite du nom,
   et le bouton de la carte passe sur deux lignes plutôt que de déborder quand la carte est étroite */
.formule-phare .formule-nom { padding-right: 136px; }
.elementor .formule .elementor-widget-button.ct-bouton { width: 100%; max-width: none; }
.elementor .formule .ct-bouton .elementor-button { width: 100%; height: auto; min-height: 52px; padding: 10px 22px; white-space: normal; text-align: center; line-height: 1.25; }
.elementor .formule .ct-bouton .elementor-button::after { top: 50%; margin-top: -26px; }

.exemple-budget {
  padding: 32px;
  border-radius: var(--rayon);
  background-color: var(--anthracite);
  background-image:
    linear-gradient(rgba(242, 240, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .05) 1px, transparent 1px);
  background-size: 48px 48px;
}
.exemple-haut { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.exemple-haut::before { content: ''; flex: none; width: 10px; height: 10px; background: var(--accent); }
.exemple-budget h3 { margin-top: 16px; font-family: var(--police-titre); font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; }
.exemple-budget .exemple-table { margin-top: 22px; }
.exemple-budget .exemple-table table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.exemple-budget .exemple-table :is(td, th) { padding: 12px 0; border: 0; border-bottom: 1px solid var(--ligne); font-size: 14px; line-height: 1.4; vertical-align: top; }
.exemple-budget .exemple-table td:first-child { padding-right: 16px; color: var(--texte-doux); }
.exemple-budget .exemple-table td:last-child { text-align: right; white-space: nowrap; font-weight: 600; }
.exemple-budget .exemple-table tfoot { border: 0; }
.exemple-budget .exemple-table tfoot td { padding-top: 18px; border-bottom: 0; font-size: 15px; font-weight: 700; color: var(--texte); }
.exemple-budget .exemple-table tfoot td:last-child { font-family: var(--police-titre); font-size: 34px; line-height: 1; letter-spacing: -.02em; color: var(--accent); }
.exemple-budget .exemple-note { margin-top: 14px; font-size: 12px; line-height: 1.6; color: var(--texte-doux); }

/* options à la carte */
.options-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.option-carte { display: flex; flex-direction: column; padding: 30px 28px; border-radius: var(--rayon); background: var(--surface); }
.option-carte .option-type { align-self: flex-start; padding: 5px 12px; border: 1px solid var(--contour); border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.option-carte h3 { margin-top: 20px; font-size: 20px; font-weight: 600; line-height: 1.3; }
.option-prix { margin-top: 18px; font-family: var(--police-titre); font-size: 44px; font-weight: 600; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.option-unite { margin-top: 8px; font-size: 13px; color: var(--texte-doux); }
.option-desc { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--ligne); font-size: 14px; line-height: 1.6; color: var(--texte-doux); }
.option-desc a { color: var(--texte); text-decoration: underline; text-decoration-color: var(--lien-souligne); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* déplacement : une ligne par zone, barre proportionnelle à la distance */
.deplacement { display: grid; grid-template-columns: minmax(0, 1fr) 52%; column-gap: 64px; align-items: start; padding: 110px var(--marge) 0; }
.deplacement-texte > p:not(.repere) { margin-top: 20px; max-width: 520px; font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.deplacement-texte .wp-block-buttons { margin-top: 28px; }
.ct-zones { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ligne); }
.ct-zone { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0 34px; border-bottom: 1px solid var(--ligne); }
.ct-zone::before, .ct-zone::after { content: ''; position: absolute; left: 0; bottom: 14px; height: 6px; border-radius: 3px; }
.ct-zone::before { right: 0; background: var(--ligne); }
.ct-zone::after { width: calc(var(--ct-part, 1) * 100%); background: var(--anthracite); }
.ct-zone-inclus::after { background: var(--accent); }
.ct-zone-devis::after { background: repeating-linear-gradient(-45deg, var(--anthracite) 0 6px, transparent 6px 12px); }
.ct-zone-nom { display: block; font-size: 20px; font-weight: 600; line-height: 1.3; }
.ct-zone-detail { display: block; margin-top: 2px; font-size: var(--t-petit); color: var(--texte-doux); }
.ct-zone-prix { flex: none; font-family: var(--police-titre); font-size: 22px; font-weight: 600; white-space: nowrap; }
.ct-zone-inclus .ct-zone-prix { padding: 6px 14px; background: var(--accent); color: var(--encre); font-family: var(--police); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ct-zones-note { margin-top: 16px; font-size: var(--t-petit); color: var(--texte-doux); }

/* ── Animations sobres ──────────────────────────────────────────── */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .45s; }

@media (prefers-reduced-motion: no-preference) {
  .js-anim .hero .hero-photo { top: -80px; height: calc(100% + 80px); animation: poser 2.2s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .zone-entete { animation: monter .9s .1s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .hero .fil { animation: monter .9s .2s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .hero .hero-titre { animation: monter 1.1s .3s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .hero .hero-accroche { animation: monter 1s .45s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .hero .hero-tags { animation: monter .9s .55s cubic-bezier(.2, .6, .2, 1) both; }
  .js-anim .hero :is(.hero-defile, .hero-encart) { animation: monter .9s .7s cubic-bezier(.2, .6, .2, 1) both; }

  .js-anim .revele {
    opacity: 0; transform: translateY(32px);
    transition: opacity .9s cubic-bezier(.2, .6, .2, 1), transform .9s cubic-bezier(.2, .6, .2, 1);
    transition-delay: var(--delai, 0s);
  }
  .js-anim .revele.visible { opacity: 1; transform: none; }
  .js-anim .atout.revele .wp-block-image img { clip-path: inset(7% 7% 7% 7% round var(--rayon-s)); transition: clip-path 1.3s cubic-bezier(.2, .6, .2, 1) var(--delai, 0s); }
  .js-anim .atout.revele.visible .wp-block-image img { clip-path: inset(0 round var(--rayon-s)); }
  .js-anim .frise.revele { opacity: 1; transform: none; }
  .js-anim .frise.revele:not(.visible)::after { transform: scaleX(0); }
}
@media print { .js-anim .revele { opacity: 1 !important; transform: none !important; } }
@media (prefers-reduced-motion: reduce) { .ruban .ruban-piste { animation: none; } }
@keyframes poser { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes monter { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 1280px) {
  :root { --t-hero: 68px; --t-contact: 52px; }
  .atouts { grid-template-columns: repeat(2, 1fr); }
  .atout .wp-block-image img { height: 280px; }
  .appareils { grid-template-columns: 1fr 1fr; }
  .fiche .fiche-visuel { margin-right: 32px; }
}

@media (max-width: 960px) {
  :root { --marge: 24px; --t-hero: 52px; --t-bloc: 36px; --t-contact: 40px; }

  .entete .entete-cta { display: none; }

  .hero { height: 760px; }
  .hero::before { background: linear-gradient(180deg, rgba(28, 31, 35, .55) 0%, rgba(28, 31, 35, .42) 45%, rgba(28, 31, 35, .62) 100%); }
  .hero-texte { top: 150px; right: var(--marge); }
  .hero-accroche { font-size: 17px; margin-top: 16px; }
  .hero .hero-tags { bottom: 210px; max-width: none; right: var(--marge); }
  .hero-defile { left: var(--marge); bottom: 24px; }
  .hero-defile::after { width: calc(100% - 2 * var(--marge) - 34px); }
  .carte-verre { width: 300px; }
  .carte-verre .wp-block-image img { width: 96px; height: 96px; }
  .carte-verre h3 { font-size: 18px; }
  .hero.hero-page { height: 700px; }
  .hero.hero-court { height: 440px; }
  .hero .fil { top: 124px; }
  .hero-page .hero-texte { top: 156px; }
  .hero-page .hero-tags { display: none; }
  .hero-encart { left: var(--marge); width: auto; bottom: var(--marge); }

  .ruban { margin-top: -18px; }
  .ruban-piste li { gap: 20px; padding: 11px 0 11px 20px; font-size: 16px; }
  .intro { padding-top: 76px; }
  .intro-grille, .bloc-tete { grid-template-columns: 1fr; row-gap: 22px; }
  .chiffres { grid-template-columns: 1fr 1fr; row-gap: 32px; margin-top: 44px; }
  .chiffres > .wp-block-group:nth-child(2) { border-right: 0; }
  .chiffres > .wp-block-group:nth-child(3) { padding-left: 0; }
  .chiffre-valeur { font-size: 46px; }
  .services, .realisations-bento, .zone-home, .section-atouts, .drones, .tarifs { padding-top: 80px; }
  .tarifs > .ctc { margin-top: 32px; }
  .services-corps { grid-template-columns: 1fr; margin-top: 32px; }
  .services-visuel { display: none; }
  .services-item { grid-template-columns: 36px 1fr 40px; row-gap: 6px; min-height: 0; padding: 20px 0; }
  .services-item.actif { padding-left: 16px; }
  .services-item .services-nom { grid-column: 2; font-size: 26px; }
  .services-desc { grid-column: 2; grid-row: 2; }
  .services-liste:not(.services-texte) .services-item::after { width: 40px; height: 40px; margin-top: -20px; right: 0; }
  .services-texte .services-item { grid-template-columns: 36px 1fr; }
  .services-texte .services-item .services-nom { font-size: 22px; }
  .bento { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 300px; margin-top: 32px; }
  .bento-grande, .bento-cta { grid-row: auto; grid-column: auto; }
  .bento-cta { gap: 20px; }
  .process, .plan { margin-top: 80px; padding: 76px var(--marge) 84px; }
  .frise { grid-template-columns: 1fr; row-gap: 36px; margin-top: 44px; padding: 0 0 0 44px; }
  .frise::before, .frise::after { left: 8px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform-origin: top; }
  .js-anim .frise.revele:not(.visible)::after { transform: scaleY(0); }
  .frise-etape::before { top: 6px; left: -44px; }
  .frise-num { font-size: 44px; }
  .zone-home { grid-template-columns: 1fr; row-gap: 36px; }
  .carte-zone { grid-template-columns: 1fr; row-gap: 36px; padding-top: 80px; }
  .carte-cadre { padding: 18px 16px 16px; }
  .zone-home .zone-home-photo { min-height: 300px; }
  .faq { grid-template-columns: 1fr; gap: 40px; padding: 80px var(--marge); }
  .faq .titre-bloc { font-size: var(--t-bloc); }
  .faq-liste .faq-item summary { padding: 20px 72px 20px 16px; font-size: 17px; }
  .faq-liste .faq-item summary::after { right: 16px; }
  .faq-liste .faq-item > p { padding: 0 16px 24px; }
  .atouts { margin-top: 44px; }
  .fiche { grid-template-columns: 1fr; gap: 40px; }
  .fiche .fiche-visuel { margin-right: 0; height: 280px; }
  .appareils { grid-template-columns: 1fr; margin-top: 40px; }
  .usages { grid-template-columns: 1fr; gap: 40px; padding: 80px var(--marge); }
  .usages .tableau thead { display: none; }
  .usages .tableau :is(table, tbody, tr, td) { display: block; width: auto !important; }
  .usages .tableau tr { padding: 18px 0; border-bottom: 1px solid var(--ligne); }
  .usages .tableau td { padding: 2px 0; border: 0; }
  .contact-page { grid-template-columns: 1fr; gap: 56px; padding: 80px var(--marge) 90px; }
  .contact-infos { padding-right: 0; }

  .contact-corps { grid-template-columns: 1fr; gap: 32px; }
  .coordonnees { text-align: left; }
  .contact-titre .wp-block-buttons { margin: 0 8px; transform: translateY(-4px); }
  .contact-titre .wp-block-buttons > .wp-block-button { padding-right: 48px; }
  .contact-titre .wp-block-button__link { height: 42px; padding: 0 18px; font-size: 12px; }
  .contact-titre .wp-block-button__link::after { width: 42px; height: 42px; right: -49px; }
  .pied { grid-template-columns: 1fr; }
  .pied-coord { text-align: left; }
  .pied .pied-menu .wp-block-navigation__container { grid-template-columns: repeat(2, auto); gap: 8px 30px; }
  .wp-block-post-content > :is(.services, .section-atouts, .realisations-bento, .zone-home, .drones, .tarifs):last-child { padding-bottom: 80px; }
}

@media (max-width: 480px) {
  :root { --marge: 16px; --t-hero: 40px; --t-bloc: 30px; --t-contact: 34px; }
  .entete .logo img { width: 190px; }
  .hero { height: 740px; }
  .hero-texte { top: 130px; }
  .hero-accroche { font-size: 16px; }
  .hero .hero-tags { bottom: 236px; gap: 8px; }
  .hero-tags li { height: 36px; padding: 0 16px; font-size: 13px; }
  .carte-verre { width: 270px; }
  .hero.hero-page { height: 680px; }
  .hero.hero-court { height: 420px; }
  .hero-page .hero-texte { top: 150px; }
  .wp-block-button .wp-block-button__link { padding: 0 22px; }
  .atouts { grid-template-columns: 1fr; }
  .atout .wp-block-image img { height: 240px; }
  .formulaire .champs { grid-template-columns: 1fr; }
  .specs { grid-template-columns: 1fr; gap: 28px; }
  .formulaire { padding: 24px; }
  .coord-valeur { font-size: 20px; }
  .chiffre-valeur { font-size: 40px; }
  .services-item .services-nom { font-size: 22px; }
  .bento-cta-texte { font-size: 26px; }
  .pied-appel { padding: 26px 46px 26px 22px; }
  .pied .pied-appel-titre { font-size: 26px; }
  .pied-infos { padding: 26px 22px 18px; }
  .carte-france .numeros { display: none; }   /* illisibles à cette taille : la liste les donne */
}

/* ── Vidéo d'exemple et guide : petits écrans ───────────────────── */
@media (max-width: 1100px) {
  .guide { grid-template-columns: 230px minmax(0, 1fr); column-gap: 48px; }
}
@media (max-width: 960px) {
  .video-chantier { padding-top: 80px; }
  .video-chantier .video-cadre { margin-top: 32px; }
  .wp-block-post-content > .video-chantier:last-child { padding-bottom: 80px; }
  .guide { grid-template-columns: 1fr; row-gap: 40px; padding: 76px var(--marge) 80px; }
  .guide-sommaire { position: static; }
  .guide-texte > h2 { margin-top: 56px; font-size: 28px; }
  .guide-texte > p:first-child { font-size: 17px; }
  .contact-infos > p:not(.repere) { margin-top: 32px; }
}

/* ── Page Tarifs : écrans moyens et petits ──────────────────────── */
@media (max-width: 1280px) {
  .formule { padding: 40px 28px 30px; }
  .formule-prix { font-size: 56px; }
  .formules-inclus { grid-template-columns: 1fr; }
  .formules-inclus ul.wp-block-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .degressif-corps { grid-template-columns: 1fr; row-gap: 32px; }
  .exemple-budget { max-width: 560px; }
  .options-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .formules, .degressif, .options-tarifs { padding-top: 80px; }
  .ct-durees { margin-top: 32px; padding: 20px; border-radius: var(--rayon); }
  .ct-durees-liste { margin-left: 0; }
  .formules-grille { grid-template-columns: 1fr; max-width: 560px; }
  .formules-inclus { padding: 28px 24px; }
  .degressif-corps, .options-grille { margin-top: 32px; }
  .ct-grille :is(th, td) { padding: 16px 10px; }
  .ct-grille :is(th, td):first-child { padding-left: 14px; }
  .ct-grille tbody th { white-space: normal; font-size: 14px; }
  .ct-grille tbody td { font-size: 20px; }
  .deplacement { grid-template-columns: 1fr; row-gap: 36px; padding-top: 80px; }
}
@media (max-width: 480px) {
  .ct-duree-choix span { height: 40px; padding: 0 14px; font-size: 13px; }
  .formule { padding: 40px 22px 26px; }
  .formule .formule-badge { top: 24px; right: 22px; }
  .formule-prix { font-size: 52px; }
  .formules-inclus ul.wp-block-list, .options-grille { grid-template-columns: 1fr; }
  /* 5 colonnes (dont « Sans abonnement ») : tout doit tenir dès 360 px, sans faire glisser le tableau */
  .ct-grille thead th { font-size: 9.5px; letter-spacing: .02em; }
  .ct-grille :is(th, td) { padding: 12px 4px; }
  .ct-grille :is(th, td):first-child { padding-left: 10px; }
  .ct-grille tbody th { font-size: 13px; }
  .ct-grille tbody td { font-size: 15px; letter-spacing: -.02em; }
  .ct-grille tbody td.ct-sur-demande { font-size: 11px; line-height: 1.25; white-space: normal; }
  .exemple-budget { padding: 26px 22px; }
  .ct-zone-nom { font-size: 17px; }
  .ct-zone-prix { font-size: 18px; }
}

/* bandeau court des pages de texte (mentions légales, CGV) : plus spécifique que .hero.hero-page */
.hero.hero-page.hero-court { height: 480px; }
@media (max-width: 960px) { .hero.hero-page.hero-court { height: 440px; } }
@media (max-width: 480px) { .hero.hero-page.hero-court { height: 420px; } }

/* page Plan du site : une carte par rubrique, liens fléchés */
.plan-du-site { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; padding: 104px var(--marge) 110px; }
.plan-groupe { background: var(--surface); border-radius: 16px; padding: 28px 30px 18px; }
.plan-groupe h2 { font-family: var(--police-titre); font-size: 22px; font-weight: 600; }
.plan-groupe ul.wp-block-list { margin-top: 14px; padding: 0; list-style: none; }
.plan-groupe li { border-top: 1px solid var(--ligne); }
.plan-groupe li a { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; font-size: var(--t-corps); color: var(--texte); }
.plan-groupe li a::after { content: "→"; color: var(--texte-doux); transition: transform .2s ease, color .2s ease; }
.plan-groupe li a:hover { color: var(--accent); }
.plan-groupe li a:hover::after { color: var(--accent); transform: translateX(3px); }
@media (max-width: 960px) { .plan-du-site { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 72px; padding-bottom: 80px; } }
@media (max-width: 480px) { .plan-du-site { grid-template-columns: minmax(0, 1fr); padding-top: 48px; padding-bottom: 64px; } .plan-groupe { padding: 24px 22px 14px; } }

/* pastilles des cartes d'options : à la taille du texte (Elementor étire les widgets sur toute la carte) */
.option-carte .option-type { width: fit-content; }
/* exemple de budget : les montants prenaient la couleur sombre du texte d'Elementor, invisible sur l'anthracite */
.exemple-budget .exemple-table td:last-child { color: var(--texte); }

/* lien vers la page de détail de chaque formule (cartes de la page Tarifs) */
.formule-detail { margin-top: 20px; font-size: 14px; font-weight: 600; }
.formule-detail a { color: var(--texte); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.formule-detail a::after { content: ' →'; }

/* pages de détail des formules (/tarifs/<formule>/) */
.degressif-corps + .formules-inclus { margin-top: 56px; }
.formules-inclus li a { color: var(--texte); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.exemple-budget .formule-liste { margin-top: 22px; }
.exemple-budget .wp-block-buttons { margin-top: 26px; }


:root{--ct-logo:url("https://www.chantier-timelapse.fr/wp-content/uploads/2026/09/logo-chantier-timelapse-768x149.png")}
/*# sourceURL=chantier-timelapse-inline-css */

/* Calculateur de tarif (code court [calculateur_tarifs], réglages : menu « Tarifs timelapse »).
   Chargé seulement sur les pages qui l'affichent. */
.ctc {
  --ctc-jaune: #F5A623;
  --ctc-jaune-clair: #FFB84A;
  --ctc-anthracite: #1C1F23;
  --ctc-papier: #F2F0EB;
  --ctc-gris: #A8ADB3;
  --ctc-gris-fonce: #5E646C;
  --ctc-trait: rgba(242, 240, 235, .14);
  --ctc-trait-fort: rgba(242, 240, 235, .28);
  --ctc-rayon: 16px;
  --ctc-haut: 24px;               /* écart entre le haut de l'écran et le bon d'estimation qui suit le défilement */
  --ctc-police: var(--police, "Manrope", system-ui, sans-serif);
  --ctc-police-titre: var(--police-titre, "Switzer", "Manrope", system-ui, sans-serif);
  --ctc-fleche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231C1F23' stroke-width='1.6'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5'/%3E%3C/svg%3E");
  font-family: var(--ctc-police);
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.ctc *, .ctc *::before, .ctc *::after { box-sizing: border-box; }
.ctc [hidden] { display: none !important; }
.ctc .ctc-cq { container-type: inline-size; }

/* Bandeau réservé aux administrateurs tant que le calculateur n'est pas publié */
.ctc .ctc-avis { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 16px; padding: 12px 18px; border: 1px dashed var(--ctc-jaune); border-radius: 10px; background: #FFF6E3; color: var(--ctc-anthracite); font-size: 14px; line-height: 1.5; }
.ctc .ctc-avis strong { color: var(--ctc-anthracite); }
.ctc .ctc-avis a { text-decoration: underline; text-decoration-color: var(--ctc-jaune); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Bloc anthracite sur fond de plan quadrillé */
.ctc .ctc-bloc {
  position: relative; padding: 36px 40px 40px; border-radius: var(--ctc-rayon);
  background-color: var(--ctc-anthracite);
  background-image:
    linear-gradient(rgba(242, 240, 235, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .045) 1px, transparent 1px);
  background-size: 48px 48px;
  color: var(--ctc-papier);
}
.ctc .ctc-bandeau { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-bottom: 22px; border-bottom: 1px solid var(--ctc-trait); }
.ctc .ctc-marque, .ctc .ctc-marque-droite { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; }
.ctc .ctc-marque::before { content: ''; flex: none; width: 10px; height: 10px; background: var(--ctc-jaune); }
.ctc .ctc-marque-droite { color: var(--ctc-gris); }

.ctc .ctc-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0 48px; align-items: start; }

/* Étapes numérotées */
.ctc .ctc-etape { padding: 30px 0; border-bottom: 1px solid var(--ctc-trait); }
.ctc .ctc-etape:last-child { padding-bottom: 0; border-bottom: 0; }
.ctc .ctc-etape-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 22px; }
.ctc .ctc-repere { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; color: var(--ctc-papier); }
.ctc .ctc-repere-num { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; background: var(--ctc-jaune); color: var(--ctc-anthracite); font-size: 12px; letter-spacing: 0; }
.ctc .ctc-aide { margin: 0; font-size: 13px; line-height: 1.4; color: var(--ctc-gris); }

/* 01 · Durée */
.ctc .ctc-duree-ligne { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.ctc .ctc-duree { display: flex; align-items: baseline; gap: 12px; margin: 0; }
.ctc .ctc-duree-valeur { font-family: var(--ctc-police-titre); font-size: 80px; font-weight: 600; line-height: .85; letter-spacing: -.04em; font-variant-numeric: tabular-nums; color: var(--ctc-papier); }
.ctc .ctc-duree-unite { font-size: 18px; font-weight: 600; color: var(--ctc-gris); }
.ctc .ctc-pas-groupe { display: flex; gap: 8px; }
.ctc .ctc-bloc button.ctc-pas {
  display: grid; place-items: center; flex: none; width: 46px; height: 46px; min-height: 0; margin: 0; padding: 0;
  border: 1px solid var(--ctc-trait-fort); border-radius: 50%; background: transparent; box-shadow: none;
  color: var(--ctc-papier); font: inherit; line-height: 1; text-transform: none; letter-spacing: 0; cursor: pointer;
  transition: border-color .2s, color .2s, background-color .2s;
}
.ctc .ctc-bloc button.ctc-pas svg { width: 16px; height: 16px; }
.ctc .ctc-bloc button.ctc-pas:hover { border-color: var(--ctc-jaune); background: transparent; color: var(--ctc-jaune); }
.ctc .ctc-bloc button.ctc-pas:disabled { opacity: .3; cursor: default; border-color: var(--ctc-trait-fort); color: var(--ctc-papier); }
.ctc .ctc-bloc button.ctc-pas:focus-visible { outline: 3px solid var(--ctc-jaune); outline-offset: 3px; }

/* Curseur façon mètre ruban : un trait par mois, plus long en fin de palier, poignée jaune */
.ctc .ctc-piste { position: relative; height: 40px; margin-top: 26px; --ctc-p: 0; --ctc-poignee: 16px; }
@media (pointer: coarse) { .ctc .ctc-piste { --ctc-poignee: 24px; } }   /* poignée plus large au doigt */
.ctc .ctc-graduations { position: absolute; left: calc(var(--ctc-poignee) / 2); right: calc(var(--ctc-poignee) / 2); top: 27px; display: flex; justify-content: space-between; align-items: flex-start; pointer-events: none; }
.ctc .ctc-graduations span { flex: none; width: 1px; height: 6px; background: rgba(242, 240, 235, .25); }
.ctc .ctc-graduations span.ctc-majeure { height: 11px; background: rgba(242, 240, 235, .6); }
.ctc .ctc-piste input.ctc-curseur[type="range"] {
  -webkit-appearance: none; appearance: none; position: relative; z-index: 1; display: block;
  width: 100%; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer;
}
.ctc .ctc-piste input.ctc-curseur[type="range"]:focus { outline: none; }
.ctc .ctc-piste input.ctc-curseur[type="range"]::-webkit-slider-runnable-track {
  height: 4px; border-radius: 2px;
  background: linear-gradient(to right, var(--ctc-jaune) 0 calc(var(--ctc-p) * (100% - var(--ctc-poignee)) + var(--ctc-poignee) / 2), rgba(242, 240, 235, .16) 0);
}
/* poignée jaune et ses deux traits de préhension, centrés quelle que soit sa largeur */
.ctc .ctc-piste input.ctc-curseur[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: var(--ctc-poignee); height: 34px; margin-top: -15px; border: 0; border-radius: 3px;
  background: var(--ctc-jaune) linear-gradient(90deg, rgba(28, 31, 35, .5) 0 1px, transparent 1px 5px, rgba(28, 31, 35, .5) 5px 6px) center / 6px 12px no-repeat;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .45);
}
.ctc .ctc-piste input.ctc-curseur[type="range"]::-moz-range-track { height: 4px; border: 0; border-radius: 2px; background: rgba(242, 240, 235, .16); }
.ctc .ctc-piste input.ctc-curseur[type="range"]::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--ctc-jaune); }
.ctc .ctc-piste input.ctc-curseur[type="range"]::-moz-range-thumb {
  width: var(--ctc-poignee); height: 34px; border: 0; border-radius: 3px;
  background: var(--ctc-jaune) linear-gradient(90deg, rgba(28, 31, 35, .5) 0 1px, transparent 1px 5px, rgba(28, 31, 35, .5) 5px 6px) center / 6px 12px no-repeat;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .45);
}
.ctc .ctc-piste input.ctc-curseur[type="range"]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(245, 166, 35, .45), 0 6px 16px rgba(0, 0, 0, .45); }
.ctc .ctc-piste input.ctc-curseur[type="range"]:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(245, 166, 35, .45), 0 6px 16px rgba(0, 0, 0, .45); }
.ctc .ctc-bornes { display: flex; justify-content: space-between; margin: 6px 0 0; font-size: 12px; font-weight: 600; color: var(--ctc-gris); }

/* Paliers dégressifs en escalier */
.ctc .ctc-paliers-tete { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin: 30px 0 14px; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; color: var(--ctc-gris); }
.ctc .ctc-paliers-tete span { margin: 0; }
.ctc .ctc-paliers { display: grid; grid-template-columns: repeat(var(--ctc-nb, 5), minmax(0, 1fr)); gap: 8px; align-items: end; }
.ctc .ctc-bloc button.ctc-palier {
  display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 100%; min-height: 0; margin: 0; padding: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  color: var(--ctc-gris); font: inherit; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer;
  transition: color .2s;
}
.ctc .ctc-palier-prix { font-size: 13px; font-weight: 700; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ctc .ctc-palier-barre { display: block; border-radius: 3px 3px 0 0; background: rgba(242, 240, 235, .12); transition: background-color .25s; }
.ctc .ctc-palier-duree { padding-top: 8px; border-top: 1px solid var(--ctc-trait-fort); font-size: 12px; font-weight: 600; line-height: 1; white-space: nowrap; }
.ctc .ctc-bloc button.ctc-palier:hover { background: none; color: var(--ctc-papier); }
.ctc .ctc-bloc button.ctc-palier:hover .ctc-palier-barre { background: rgba(242, 240, 235, .22); }
.ctc .ctc-bloc button.ctc-palier.actif { color: var(--ctc-papier); }
.ctc .ctc-bloc button.ctc-palier.actif .ctc-palier-barre { background: var(--ctc-jaune); }
.ctc .ctc-bloc button.ctc-palier.actif .ctc-palier-duree { border-top-color: var(--ctc-jaune); }
.ctc .ctc-bloc button.ctc-palier:focus-visible { outline: 3px solid var(--ctc-jaune); outline-offset: 4px; border-radius: 4px; }

/* 02 · Localisation : une ligne, titre à gauche, menu déroulant à droite */
.ctc .ctc-etape-ligne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 14px 24px; align-items: center; }
.ctc .ctc-aide-sous { margin-top: 8px; padding-left: 42px; }
.ctc .ctc-bloc select.ctc-zone-choix {
  -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 54px; min-height: 0; margin: 0; padding: 0 48px 0 18px;
  border: 1px solid var(--ctc-trait-fort); border-radius: 10px; box-shadow: none;
  background: rgba(242, 240, 235, .04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23F5A623' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 18px center / 16px;
  color: var(--ctc-papier); font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; text-overflow: ellipsis; cursor: pointer;
  transition: border-color .2s, background-color .2s;
}
.ctc .ctc-bloc select.ctc-zone-choix:hover { border-color: rgba(242, 240, 235, .55); }
.ctc .ctc-bloc select.ctc-zone-choix:focus { outline: none; border-color: var(--ctc-jaune); }
.ctc .ctc-bloc select.ctc-zone-choix:focus-visible { outline: 3px solid var(--ctc-jaune); outline-offset: 3px; }
.ctc .ctc-bloc select.ctc-zone-choix option { background: var(--ctc-anthracite); color: var(--ctc-papier); }

/* 03 · Options (même geste que les listes de prestations : barre jaune à gauche) */
.ctc .ctc-options { border-top: 1px solid var(--ctc-trait); }
.ctc .ctc-option {
  position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 0 16px; align-items: center;
  margin: 0; padding: 18px 0; border-bottom: 1px solid var(--ctc-trait); cursor: pointer;
  transition: padding .35s cubic-bezier(.2, .6, .2, 1);
}
.ctc .ctc-option::before { content: ''; position: absolute; left: 0; top: -1px; bottom: -1px; width: 0; background: var(--ctc-jaune); transition: width .35s cubic-bezier(.2, .6, .2, 1); }
.ctc .ctc-option:has(.ctc-case:checked), .ctc .ctc-option.actif { padding-left: 18px; }
.ctc .ctc-option:has(.ctc-case:checked)::before, .ctc .ctc-option.actif::before { width: 4px; }

/* Option à l'unité : la quantité s'affiche dans le carré (jaune dès qu'elle dépasse 0), − / + à droite */
.ctc .ctc-option-quantite { grid-template-columns: 22px minmax(0, 1fr) auto auto; cursor: default; }
.ctc .ctc-quantite { display: grid; place-items: center; width: 22px; height: 22px; border: 1.5px solid var(--ctc-trait-fort); border-radius: 4px; font-size: 12px; font-weight: 700; line-height: 1; color: var(--ctc-gris); font-variant-numeric: tabular-nums; transition: background-color .2s, border-color .2s, color .2s; }
.ctc .ctc-option-quantite.actif .ctc-quantite { border-color: var(--ctc-jaune); background: var(--ctc-jaune); color: var(--ctc-anthracite); }
.ctc .ctc-mini-compteur { display: flex; gap: 6px; }
.ctc .ctc-bloc button.ctc-pas.ctc-pas-mini { width: 38px; height: 38px; }
.ctc .ctc-bloc button.ctc-pas.ctc-pas-mini svg { width: 13px; height: 13px; }
.ctc .ctc-options input.ctc-case[type="checkbox"] {
  -webkit-appearance: none; appearance: none; display: block; width: 22px; height: 22px; min-height: 0; margin: 0; padding: 0;
  border: 1.5px solid var(--ctc-trait-fort); border-radius: 4px; background: transparent no-repeat center / 14px 14px; box-shadow: none; cursor: pointer;
  transition: background-color .2s, border-color .2s;
}
.ctc .ctc-option:hover input.ctc-case[type="checkbox"] { border-color: rgba(242, 240, 235, .6); }
.ctc .ctc-options input.ctc-case[type="checkbox"]:checked {
  border-color: var(--ctc-jaune); background-color: var(--ctc-jaune);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-7' fill='none' stroke='%231C1F23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ctc .ctc-options input.ctc-case[type="checkbox"]:focus-visible { outline: 3px solid var(--ctc-jaune); outline-offset: 3px; }
.ctc .ctc-option-texte { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ctc .ctc-option-nom { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--ctc-papier); }
.ctc .ctc-option-detail { font-size: 13px; line-height: 1.45; color: var(--ctc-gris); }
.ctc .ctc-option-prix { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.ctc .ctc-option-montant { font-family: var(--ctc-police-titre); font-size: 20px; font-weight: 600; line-height: 1.1; letter-spacing: -.01em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ctc .ctc-option-unite { font-size: 11px; font-weight: 700; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; color: var(--ctc-gris); white-space: nowrap; }

/* Bon d'estimation : papier, bande de balisage */
.ctc .ctc-bon { position: sticky; top: var(--ctc-haut); margin-top: 30px; scroll-margin-top: 16px; overflow: hidden; border-radius: 12px; background: var(--ctc-papier); color: var(--ctc-anthracite); box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .7); }
.ctc .ctc-bon::before { content: ''; display: block; height: 10px; background: repeating-linear-gradient(-45deg, var(--ctc-anthracite) 0 10px, var(--ctc-jaune) 10px 20px); }
.ctc .ctc-bon-corps { padding: 26px 28px 28px; }
.ctc .ctc-bon-titre { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; color: var(--ctc-anthracite); }
.ctc .ctc-bon-titre::before { content: ''; flex: none; width: 10px; height: 10px; background: var(--ctc-jaune); }
.ctc .ctc-attente { margin: 22px 0 0; font-size: 16px; line-height: 1.5; color: var(--ctc-anthracite); }
.ctc .ctc-chiffre { margin-top: 18px; }
.ctc .ctc-montant { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; margin: 0; }
.ctc .ctc-montant-valeur { font-family: var(--ctc-police-titre); font-size: 64px; font-weight: 600; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; color: var(--ctc-anthracite); }
.ctc .ctc-montant-unite { font-size: 15px; font-weight: 600; color: var(--ctc-gris-fonce); }
.ctc .ctc-periode { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: var(--ctc-gris-fonce); }
.ctc .ctc-lignes, .ctc .ctc-bilan { margin: 0; padding: 0; list-style: none; }
.ctc .ctc-lignes { margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(28, 31, 35, .14); }
.ctc .ctc-bilan { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(28, 31, 35, .14); }
.ctc .ctc-poste { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 4px 0; font-size: 13.5px; line-height: 1.4; }
.ctc .ctc-poste-nom { min-width: 0; color: var(--ctc-gris-fonce); }
.ctc .ctc-poste-points { flex: 1 1 16px; min-width: 16px; border-bottom: 1.5px dotted rgba(28, 31, 35, .3); transform: translateY(-4px); }
.ctc .ctc-poste-prix { flex: none; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ctc-anthracite); }
.ctc .ctc-total { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 14px 0 0; padding-top: 16px; border-top: 2px solid var(--ctc-anthracite); }
.ctc .ctc-total-libelle { font-size: 12px; font-weight: 700; line-height: 1.35; letter-spacing: .14em; text-transform: uppercase; }
.ctc .ctc-total-valeur { font-family: var(--ctc-police-titre); font-size: 28px; font-weight: 600; line-height: 1; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ctc .ctc-total-ht { font-family: var(--ctc-police); font-size: 13px; font-weight: 700; letter-spacing: 0; color: var(--ctc-gris-fonce); }

/* Bouton : pilule + rond fléché, comme sur le reste du site */
.ctc .ctc-bon a.ctc-cta { display: flex; gap: 6px; margin-top: 26px; color: var(--ctc-anthracite); text-decoration: none; }
.ctc .ctc-cta-texte {
  display: flex; flex: 1; align-items: center; justify-content: center; min-width: 0; height: 54px; padding: 0 22px;
  border-radius: 999px; background: var(--ctc-jaune);
  font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap;
  transition: background-color .25s;
}
.ctc .ctc-cta-rond { flex: none; width: 54px; height: 54px; border-radius: 50%; background: var(--ctc-jaune) var(--ctc-fleche) center / 16px no-repeat; transition: transform .25s, background-color .25s; }
.ctc .ctc-bon a.ctc-cta:hover .ctc-cta-texte, .ctc .ctc-bon a.ctc-cta:hover .ctc-cta-rond { background-color: var(--ctc-jaune-clair); }
.ctc .ctc-bon a.ctc-cta:hover .ctc-cta-rond { transform: rotate(45deg); }
.ctc .ctc-bon a.ctc-cta:focus-visible { outline: 3px solid var(--ctc-anthracite); outline-offset: 4px; border-radius: 999px; }
.ctc .ctc-rassure { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: var(--ctc-anthracite); }
.ctc .ctc-rassure::before { content: ''; flex: none; width: 8px; height: 8px; background: var(--ctc-jaune); }
.ctc .ctc-mention { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(28, 31, 35, .14); font-size: 12.5px; line-height: 1.55; color: var(--ctc-gris-fonce); }

/* Rappel du prix en bas de l'écran, sur mobile, tant que le bon n'est pas visible.
   Hors de .ctc-cq : un conteneur de requêtes enfermerait la position fixe. */
.ctc button.ctc-barre {
  position: fixed; z-index: 50; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: 480px; margin: 0 auto;
  display: flex; align-items: center; gap: 12px; min-height: 0; padding: 7px 7px 7px 22px;
  border: 0; border-radius: 999px; background: var(--ctc-papier); box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
  color: var(--ctc-anthracite); font: inherit; text-align: left; text-transform: none; letter-spacing: 0; cursor: pointer;
  visibility: hidden; transform: translateY(150%); transition: transform .35s cubic-bezier(.2, .6, .2, 1), visibility 0s .35s;
}
.ctc button.ctc-barre.ctc-barre-visible { visibility: visible; transform: none; transition: transform .35s cubic-bezier(.2, .6, .2, 1); }
.ctc button.ctc-barre:hover { background: var(--ctc-papier); color: var(--ctc-anthracite); }
.ctc button.ctc-barre:focus-visible { outline: 3px solid var(--ctc-jaune); outline-offset: 3px; }
.ctc .ctc-barre-texte { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.2; }
.ctc .ctc-barre-libelle { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ctc-gris-fonce); }
.ctc .ctc-barre-prix { font-family: var(--ctc-police-titre); font-size: 20px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.ctc .ctc-barre-lien { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ctc .ctc-barre-rond { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ctc-jaune) var(--ctc-fleche) center / 14px no-repeat; transform: rotate(90deg); }
.ctc .ctc-lecteur { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Colonne étroite : la mise en page suit la largeur du bloc, pas celle de l'écran */
@container (max-width: 900px) {
  .ctc .ctc-grille { grid-template-columns: minmax(0, 1fr); }
  .ctc .ctc-bon { position: static; margin-top: 32px; }
}
@container (max-width: 560px) {
  .ctc .ctc-bloc { padding: 24px 18px 18px; border-radius: 12px; }
  .ctc .ctc-etape { padding: 26px 0; }
  .ctc .ctc-duree-valeur { font-size: 64px; }
  .ctc .ctc-bloc button.ctc-pas { width: 42px; height: 42px; }
  .ctc .ctc-paliers { gap: 5px; }
  .ctc .ctc-palier-prix { font-size: 11.5px; }
  .ctc .ctc-palier-duree { font-size: 11px; }
  .ctc .ctc-etape-ligne { grid-template-columns: minmax(0, 1fr); }
  /* case et quantité alignées sur la première ligne du titre, même quand il fait plusieurs lignes */
  .ctc .ctc-option { grid-template-columns: 22px minmax(0, 1fr); row-gap: 8px; align-items: start; }
  .ctc .ctc-options input.ctc-case[type="checkbox"], .ctc .ctc-quantite { margin-top: 0; }
  .ctc .ctc-bloc button.ctc-pas.ctc-pas-mini { width: 42px; height: 42px; }
  .ctc .ctc-option-quantite .ctc-mini-compteur { align-self: center; }
  .ctc .ctc-option-prix { grid-column: 2; flex-direction: row; align-items: baseline; gap: 8px; }
  .ctc .ctc-option-quantite { grid-template-columns: 22px minmax(0, 1fr) auto; }
  .ctc .ctc-option-quantite .ctc-quantite { grid-column: 1; grid-row: 1; }
  .ctc .ctc-option-quantite .ctc-option-texte { grid-column: 2 / 4; grid-row: 1; }
  .ctc .ctc-option-quantite .ctc-option-prix { grid-column: 2; grid-row: 2; align-self: center; flex-wrap: wrap; row-gap: 2px; min-width: 0; }
  .ctc .ctc-option-quantite .ctc-mini-compteur { grid-column: 3; grid-row: 2; }
  .ctc .ctc-bon { margin-top: 26px; }
  .ctc .ctc-bon-corps { padding: 22px 20px 22px; }
  .ctc .ctc-montant-valeur { font-size: 54px; }
  .ctc .ctc-cta-texte { padding: 0 16px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .ctc *, .ctc *::before { transition: none !important; }
}


.wp-block-post-content{display:flow-root}
/*# sourceURL=https://www.chantier-timelapse.fr/wp-includes/blocks/post-content/style.min.css */


.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
/*# sourceURL=https://www.chantier-timelapse.fr/wp-includes/blocks/paragraph/style.min.css */


h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
/*# sourceURL=https://www.chantier-timelapse.fr/wp-includes/blocks/heading/style.min.css */

.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}
.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{display:inline-block;vertical-align:middle}

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */


/*! This file is auto-generated */
.skip-link.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal!important}.skip-link.screen-reader-text:focus{background-color:#eee;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */

:root {
	--cookieadmin-primary-color: #001d39;
	--cookieadmin-primary-hover-color: #985e23;
	
	--cookieadmin-secondary-color: #0046b2;
	--cookieadmin-secondary-hover-color: #0065ff;
	
	--cookieadmin-txcolor: #0f172a;
	
	--cookieadmin-green-txtcolor: #3a8356;
	--cookieadmin-warning-txtcolor: #9c7930;
	--cookieadmin-red-txtcolor: #b55355;
	
	--cookieadmin-green-color: #15a448;
	--cookieadmin-warning-color: #e9b306;
	--cookieadmin-red-color: #dd2727;
}

/* Typography baseline for the banner, modal and reconsent button. Everything inside
   inherits from these roots instead of the theme's body (font, fluid size, line-height,
   color, letter-spacing). Any explicit value here beats inheritance, whatever the theme's specificity. */
.cookieadmin_law_container,
.cookieadmin_cookie_modal,
.cookieadmin_reconsent_wrap{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	letter-spacing: normal;
	word-spacing: normal;
	text-transform: none;
	text-align: left;
	color: #1f2937;
}

/*  Consent page css */

.cookieadmin_cookie_modal label, .cookieadmin_cookie_modal input {
	padding: 5px;
	margin-right: 5px;
	font-size: 15px;
}

.cookieadmin_cookie_modal label{
	font-weight: 501;
}

.cookieadmin_bottom{
	bottom:20px;
}

.cookieadmin_top{
	top: 20px;
}

.cookieadmin_right{
	right: 15px;
}

.cookieadmin_left{
	left:15px;
}


 
/* Modal animations  */
@keyframes cookieadmin_slideUp {
	from {
		transform: translateY(100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes cookieadmin_slideSide {
	from {
		transform: translateX(-100%);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Modal animations Ends */


/* Consent page css End*/


/* Website consent box  */

.cookieadmin_law_container{
	position: fixed;
	width: 25%;
	box-sizing: border-box;
	z-index: 99999;
	display: none;
}

.cookieadmin_law_container:focus{
	outline: none;
}

.cookieadmin_consent_btns{
	align-content: center;
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	gap: 8px;
}

/* Percentage widths below stay; the cap stops the box growing on very wide screens */
.cookieadmin_box{
	/*position: fixed;*/
	width: 25%;
	max-width: 440px;
	box-sizing: border-box;
	display: none;
}

.cookieadmin_notice_group{
	display: flex;
	flex-direction: column;
	gap: 10px; /* spacing between content and buttons */
	align-items: flex-start;
}


.cookieadmin_consent_inside{
	color: #1f2937;
	background-color: #ffffff;
	border: 1px solid #ffffff;
	padding:15px;
	border-radius: 4px;
	box-shadow:1px 3px 10px rgba(0, 0, 0, 0.2);
}

/* Title and notice are <p>s: scoped by ID so theme paragraph sizes/margins don't apply.
   No side padding, so text lines up with the buttons and links. */
.cookieadmin_law_container p#cookieadmin_notice_title{
	margin: 0 0 6px;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.cookieadmin_law_container p#cookieadmin_notice{
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 22px;
}

.cookieadmin_notice_con{
	padding: 0;
	flex: 1;
}

/* Box layout: space between the notice and the buttons (footer layout uses the group's gap) */
.cookieadmin_consent_inside > .cookieadmin_consent_btns{
	margin-top: 12px;
}

.cookieadmin_cookie_modal{
	display: none;
	flex-direction: column;
	position: fixed;
	max-height: 80vh;
	background-color: #FFFFFF;
	border: 1px solid #F4F4F4;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	z-index: 999999;
}

.cookieadmin_center{
	top: 10%;
	left: 22%;
	max-width: 60vw;
}

.cookieadmin_side{
	flex-direction: column;
	position: fixed;
	width: 35vw;
	bottom: 0px;
	animation: 0.5s ease-out forwards cookieadmin_slideSide;
	max-height: 100vh;
	left: 0px;
	top: 0px;
	border-radius: 0px;
}

.cookieadmin_down{
	position: fixed;
	max-width: 100%;
	max-height: 55vh;
	bottom: 0px;
	animation: 0.5s ease-out forwards cookieadmin_slideUp;
}

.cookieadmin_cookie_modal:focus{
	outline: none;
}

.cookieadmin_modal_overlay{
	display: none; 
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4); 
	z-index: 1000;
}

/* Centered, not baseline: the CSS-drawn close button has no text baseline */
.cookieadmin_mod_head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-bottom: 1px solid #CCCCCC;
}

/* Close icon drawn in CSS, font-size 0 hides any glyph left in filtered templates.
   "all: unset" + (0,3,1) selector keeps theme button/hover styles out, same as the category buttons. */
.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref{
	all: unset;
	display: inline-block;
	position: relative;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 4px;
	color: #6b7280;
	font-size: 0;
	cursor: pointer;
	transition: color .15s, background-color .15s;
}

.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::before,
.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	background-color: currentColor;
	border-radius: 1px;
	transform: translate(-50%, -50%) rotate(45deg);
}

.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}

.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref:hover{
	color: #111827;
	background-color: rgba(0, 0, 0, 0.06);
}

.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref:focus-visible{
	outline: 2px solid var(--cookieadmin-secondary-color);
	outline-offset: 2px;
}

.cookieadmin_preference_title{
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

/* 5px + the wrapper's 15px lines the intro up with the title's 20px */
.cookieadmin_preference_details{
	padding: 0px 5px;
}

/* break-word (not overflow:auto) so long URLs wrap instead of adding an inner scrollbar */
.cookieadmin_preference{
	padding: 10px 0px;
	font-size: 14px;
	line-height: 28px;
	overflow-wrap: break-word;
}

/* Admin-entered HTML: keep theme paragraph margins and link colors out */
.cookieadmin_cookie_modal .cookieadmin_preference p{
	margin: 0 0 8px;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

.cookieadmin_cookie_modal .cookieadmin_preference p:last-child{
	margin-bottom: 0;
}

.cookieadmin_cookie_modal .cookieadmin_preference a{
	color: inherit;
	text-decoration: underline;
}

.cookieadmin_details_wrapper{
	padding: 0px 15px;
	height: calc(100% - 6%);
	overflow: auto;
	scrollbar-width: thin;
}

.cookieadmin_types{
	padding: 10px 10px;
	border-top: 1px solid #CCCCCC;
}

.cookieadmin_header{
	display: flex;
	justify-content: space-between;
}


/* Clickable header text, e.g. Pro's "Override GPC" label */
.cookieadmin_header label[for]{
	cursor: pointer;
}

/* Header labels get explicit displays scoped to .cookieadmin_header so theme rules
   like "label { display: block }" can't push them onto their own line */
.cookieadmin_header label.stitle{
	display: inline;
}

.cookieadmin_header .cookieadmin_remark{
	display:none;
	justify-self:right;
}

.cookieadmin_header .cookieadmin_act{
	display: inline;
	color: #1863dc;
}

/* Lines up with .cookieadmin_desc; the old 4rem right margin squeezed cards on phones */
.cookieadmin-modal-cookies-list{
	display:none;
	margin: 8px 20px 4px;
	font-size: 14px;
	text-align: left;
}

.cookieadmin-modal-cookies-list .cookieadmin-nocookie-cat{
	display: block;
	padding: 4px 0;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	opacity: 0.7;
}

.cookieadmin_desc{
	padding:5px 20px;
	font-size: 15px;
	padding-right: 4rem;
}

.cookieadmin_footer{
	left: 0px;
	padding: 15px;
	flex-wrap: wrap;
	width: 100%;
}

/* Padding matches the header */
.cookieadmin_modal_footer{
	display: flex;
	padding: 14px 20px;
	flex-wrap: wrap;
	gap: 8px;
	border-top: 1px solid #CCCCCC;
}

/* GPC block and links take their own row above/below the buttons */
.cookieadmin_modal_footer > :not(.cookieadmin_btn){
	flex-basis: 100%;
}

/* Side panel is narrow: stack everything. nowrap matters, a wrapping column
   overflows into extra columns beside the panel when height is limited. */
.cookieadmin_side .cookieadmin_modal_footer{
	flex-direction: column;
	flex-wrap: nowrap;
}

.cookieadmin_cookie_modal.cookieadmin_side .cookieadmin_modal_footer > *{
	flex: none;
}

/* Scoped to the containers so common theme rules (e.g. ".elementor-kit-N button") don't win.
   Colors stay admin-controlled via the inline styles set in consent.js. */
.cookieadmin_law_container button.cookieadmin_btn,
.cookieadmin_cookie_modal button.cookieadmin_btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: 40px;
	margin: 0;
	padding: 8px 16px;
	background-color: transparent;
	background-image: none;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 4px;
	box-shadow: none;
	color: #1863dc;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: normal;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	text-wrap: auto;
	cursor: pointer;
	transition: filter .15s;
}

/* Footer buttons size to their labels so "Save My Preferences" doesn't wrap;
   they still fill the row. The banner keeps equal widths. */
.cookieadmin_modal_footer button.cookieadmin_btn{
	flex: 1 1 auto;
}

/* Banner box is narrow (25% of the screen at 1366px = ~338px): size buttons to their labels
   with tighter padding so "Accept All" stays on one line; they still fill the row. */
.cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn{
	flex: 1 1 auto;
	padding-left: 12px;
	padding-right: 12px;
}

.cookieadmin_law_container button.cookieadmin_btn:hover,
.cookieadmin_cookie_modal button.cookieadmin_btn:hover{
	filter: brightness(0.92);
}

.cookieadmin_law_container button.cookieadmin_btn:focus-visible,
.cookieadmin_cookie_modal button.cookieadmin_btn:focus-visible{
	outline: 2px solid var(--cookieadmin-secondary-color);
	outline-offset: 2px;
}

/* Category name + chevron in one accordion button. "all: unset" drops theme button styles;
   the selector (0,3,1) outranks state rules like ".elementor-kit-N button:hover".
   Scoped to .cookieadmin_header: Pro reuses this class for a shortcode button. */
.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies{
	all: unset;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 0;
	color: inherit;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies::before{
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform .2s;
}

.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies.dwn::before{
	transform: rotate(45deg);
}

/* all: unset removes the outline, so the focus ring is added back */
.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies:focus-visible{
	outline: 2px solid var(--cookieadmin-secondary-color);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Reconsent: all:unset drops theme button styles (min-height, hover/focus rules); the
   wrapper selector (0,2,2) outranks ".elementor-kit-N button:hover". Plain selector kept
   for templates filtered without the wrapper class. JS toggles display inline (none/block). */
button.cookieadmin_re_consent,
body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent{
	all: unset;
	display: none;
	position: fixed;
	bottom: 15px;
	left: 15px;
	z-index: 99999;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	padding: 5px;
	border-radius: 50%;
	background-color: #374FD4;
	box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4);
	cursor: pointer;
	transition: filter .15s;
}

button.cookieadmin_re_consent:hover,
body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent:hover{
	filter: brightness(0.92);
}

button.cookieadmin_re_consent:focus-visible,
body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent:focus-visible{
	outline: 2px solid var(--cookieadmin-secondary-color);
	outline-offset: 3px;
}

/* Block + the button's 5px padding centres the 40px icon; theme img rules kept out */
.cookieadmin_re_consent img.cookieadmin_reconsent_img{
	display: block;
	width: 40px;
	height: 40px;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Flat card: theme font, 4px corners like the buttons. Muted text uses opacity so it
   works on any admin-chosen modal background. */
.cookieadmin-cookie-card {
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid rgb(187 187 187 / 12%);
	border-radius: 4px;
	text-align: left;
}

.cookieadmin-cookie-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2px 12px;
	font-size: 14px;
}

.cookieadmin-cookie-name {
	font-weight: 600;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.cookieadmin-cookie-duration {
	font-size: 13px;
	opacity: 0.75;
}

.cookieadmin-cookie-duration > b {
	font-weight: 600;
}

/* Scoped so theme paragraph margins/sizes don't apply */
.cookieadmin-cookie-card p.cookieadmin-cookie-description {
	margin: 6px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
}

.cookieadmin-cookie-tags {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

.cookieadmin-tag {
	background: rgba(0, 0, 0, 0.06);
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
}

/* Pro DPDP contact box. Keyed on the ID (not a new class) so it also restyles
   older Pro versions that still output the shared .cookieadmin-cookie-card class. */
#cookieadmin_dpdp_contact {
	margin: 4px 0 12px;
	padding: 12px 14px;
	background: rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
	box-shadow: none;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

#cookieadmin_dpdp_contact a {
	color: inherit;
	text-decoration: underline;
}

/* "Exercise your rights" link, the card's main action */
#cookieadmin_dpdp_contact > a {
	display: inline-block;
	margin-top: 6px;
	font-weight: 600;
}

/* Website consent box End*/





/* Checkbox switch Start */

/* Box matches the 34x21 slider; the modal's generic label/input padding is cancelled
   so the switch no longer overflows its box */
.cookieadmin_toggle,
.cookieadmin_cookie_modal .cookieadmin_toggle {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	width: 34px;
	height: 21px;
	margin: 0;
	padding: 0;
}

/* Hide the checkbox input */
.cookieadmin_toggle input,
.cookieadmin_cookie_modal .cookieadmin_toggle input{
	/* display: none; */
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
}

/* Text for screen readers / a11y checkers only, so toggle labels aren't empty */
.cookieadmin_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;
}

/* Keyboard accessibility: When the checkbox is focused, add a visible outline to indicate focus. */
.cookieadmin_show_pref_cookies:focus-visible{
	outline: 1px solid #000;
}
.cookieadmin_toggle input:focus + .cookieadmin_slider {
    outline: 1px solid #000;
}
/* end keyboard accessibility */

/* Describe slider's look and position. */
.cookieadmin_slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 21px;
	width: 34px;
	background-color: gray;
	transition: .4s;
	border-radius: 34px;
}

/* Describe the white ball's location 
  and appearance in the slider. */
.cookieadmin_slider:before {
	position: absolute;
	content: "";
	height: 15px;
	width: 15px;
	left: 3.2px;
	bottom: 3.2px;
	background-color: white;
	transition: .2s;
	border-radius: 50%;
}

/* Modify the slider's background color to 
  green once the checkbox has been selected. */
input:checked+.cookieadmin_slider {
	background-color: #3582c4;
}

/* When the checkbox is checked, shift the 
  white ball towards the right within the slider. */
input:checked+.cookieadmin_slider:before {
	transform: translateX(13px);
}

/* Checkbox switch End */

.cookieadmin_law_container .cookieadmin-poweredby{
margin-top: 10px;
}

.cookieadmin_modal_footer_links .cookieadmin-poweredby{
margin-left: auto;
}

.cookieadmin-poweredby a img{
height: 15px;
}

.cookieadmin-poweredby a{
color : unset;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
font-size: 11px;
gap: 2px;
text-decoration: none;
}

.cookieadmin_modal_footer .cookieadmin-poweredby a{
justify-content: end;
}

#cookieadmin-gpc-toast{
display:flex;
visibility: hidden;
position: fixed;
bottom: 24px;
right: 24px;
color: #ffffff;
padding: 10px 14px;
border-radius: 6px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
align-items: center;
justify-content: space-between;
gap: 10px;
font-size: 14px;
z-index: 99999;
opacity: 0;
transform: translateY(20px);
transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
line-height:1.5;
}

#cookieadmin_gpc_override{
padding-bottom:10px;
}

/* Policy Links */
.cookieadmin_policy_link_box{
	display: flex;
	justify-content: space-around;
	gap: 4px 16px;
	margin-top: 8px;
	font-size: 13px;
	flex-wrap: wrap;
}

/* Same treatment as the modal links, so theme link colors don't apply */
.cookieadmin_law_container .cookieadmin_policy_link_box a{
	color: inherit;
	text-decoration: underline;
}

.cookieadmin_modal_policy_link_box{
	display: flex;
	gap: 4px 16px;
	font-size: 13px;
	flex-wrap: wrap;
}

/* Same treatment as the intro and DPDP links, so theme link colors don't apply */
.cookieadmin_cookie_modal .cookieadmin_modal_policy_link_box a{
	color: inherit;
	text-decoration: underline;
}

/* Footer gap handles spacing; the old 9px side margins pushed links out of line with the buttons */
.cookieadmin_modal_footer_links{
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content:space-between;
	gap: 8px 16px;
	margin-top: 4px;
}

/* Hidden when there are no policy links and "Powered by" is off (Pro) */
.cookieadmin_modal_footer_links:not(:has(*)){
	display: none;
}

/* CSS for phones only */
@media (max-width: 767px) {

	.cookieadmin_center{
		top: 10%;
		left: 5%;
		max-width: 90vw;
	}

	.cookieadmin_show_pref_cookies{
		font-size: 14px;
	}

	/* Even 16px on both sides; the footer bar keeps its 100% width */
	.cookieadmin_box{
		left: 16px;
		right: 16px;
		width: auto;
		max-width: none;
	}
	
	.cookieadmin_side{
		width: 100%;
	}
}

/* CSS for tablet */
@media (min-width: 768px) and (max-width: 991px) {

	.cookieadmin_box{
		width: 45%;
	}
}

/* CSS for small laptop */
@media (min-width: 992px) and (max-width: 1199px) {

	.cookieadmin_box{
		width: 35%;
	}
	
}
/* CSS for HD TV screens */
@media (min-width: 1200px) and (max-width: 1360px) {

	.cookieadmin_box{
		width: 30%;
	}
}

/* Desktop Layout */
@media (min-width: 768px) {
	.cookieadmin_notice_group {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.cookieadmin_notice_con {
		flex: 1; /* take remaining space */
	}

	.cookieadmin_consent_btns {
		flex-shrink: 0;
	}
	
	/* Footer layout: the button group sizes to its content, so equal-width (flex-basis 0)
	   buttons would shrink and wrap their labels. Size them to their labels instead. */
	.cookieadmin_footer .cookieadmin_consent_btns button.cookieadmin_btn{
		flex: 0 0 auto;
	}
}

@media (max-width:480px){
	.cookieadmin_preference_title{
		font-size: 18px;
	}
	
	/* 28px leaves no room for the categories on phones */
	.cookieadmin_preference{
		line-height: 22px;
	}
	
	.cookieadmin_law_container button.cookieadmin_btn,
	.cookieadmin_cookie_modal button.cookieadmin_btn,
	.cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn{
		flex-basis: 100%;
	}
	
	.cookieadmin_modal_footer{
		padding: 12px 16px;
	}
}

@media (prefers-reduced-motion: reduce){
	.cookieadmin_law_container *, .cookieadmin_cookie_modal *{
		transition: none !important;
	}
}


.cookieadmin_remark, .cookieadmin_showmore { color: #1863dc !important; }input:checked+.cookieadmin_slider, input:disabled+.cookieadmin_slider { background-color: #3582C4 !important; }.cookieadmin_slider{ background-color: #808080 !important; }
/*# sourceURL=cookieadmin-style-inline-css */

/* Pages construites avec Elementor : raccord avec style.css (chargé après Elementor).
   Les conteneurs portent les classes du thème (hero, intro-grille, atouts…), qui font la mise en page ;
   ici, seulement ce que le balisage des widgets change. Rien ne s'applique hors .elementor. */

/* Secours si la feuille propre à la page (post-XX.css) arrive en retard : conteneurs en flex, sans marge */
.elementor .e-con { --display: flex; --flex-direction: column; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; }

/* Titres : la balise h1/h2/h3 prend le style posé sur le widget (classe hero-titre, titre-bloc…) */
.elementor :is(.hero-titre, .titre-bloc, .services-nom) .elementor-heading-title { font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; text-wrap: balance; }


/* Largeurs du thème qu'Elementor ramène à 100 % sur ses widgets et conteneurs */
.elementor .e-con > .elementor-widget.hero-accroche { max-width: 560px; }
.elementor .e-con > .elementor-widget.titre-bloc { max-width: 760px; }
.elementor .e-con.hero { width: auto; }
.elementor .e-con.hero-texte { width: auto; max-width: 1000px; }
.elementor .e-con > .elementor-widget.hero-tags { max-width: 400px; }
@media (max-width: 960px) {
  .elementor .e-con.hero-texte { max-width: none; }
  .elementor .e-con > .elementor-widget.hero-tags { max-width: none; }
}
.elementor .specs ul { padding: 0; list-style: none; }
/* « Pour qui », mobile : le thème place le paragraphe, ici c'est son widget qui est dans la grille */
@media (max-width: 960px) {
  .elementor .services-item > .elementor-widget:has(.services-desc) { grid-column: 2; grid-row: 2; }
}
.elementor .e-con.hero-encart { width: 420px; max-width: calc(100% - 2 * var(--marge)); }
@media (max-width: 960px) { .elementor .e-con.hero-encart { width: auto; } }

/* Barre jaune au-dessus des chiffres (Elementor réserve ::before aux calques de fond) */
.elementor .chiffres > .e-con::before {
  content: ''; display: block; position: static; inset: auto;
  width: 28px; height: 4px; margin-bottom: 22px; background: var(--accent); opacity: 1;
}

/* Titres des cartes « atout » : le thème vise la balise h3 elle-même */
.elementor .atout .elementor-widget-heading { margin-top: 6px; }
.elementor .atout .elementor-heading-title { font-size: 20px; font-weight: 500; line-height: 1.3; }

/* Images remplissant leur cadre (photo du bandeau, visuels au survol) */
.elementor :is(.hero-photo, .services-visuel .wp-block-image, .fiche-visuel, .appareil-visuel) .elementor-widget-container { height: 100%; }

/* Matériel : paragraphes que le thème vise comme enfants directs de leur bloc */
.elementor .fiche-texte > .elementor-widget.fiche-para { margin-top: 20px; max-width: 520px; }
.elementor .fiche-texte .fiche-para p { font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.elementor .appareil .appareil-desc { margin-top: 8px; }
.elementor .appareil .appareil-desc p { font-size: var(--t-petit); line-height: 1.65; color: var(--texte-doux); }
.elementor .appareil h3 a:hover { color: var(--accent); }
.elementor .elementor-widget-image img { display: block; }

/* Pastilles du bandeau : une liste dans un widget Texte */
.elementor .hero-tags ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 480px) { .elementor .hero-tags ul { gap: 8px; } }

/* Boutons : pilule + rond fléché, comme le bloc Boutons (classes b-plein, b-contour, b-sombre sur le widget) */
.elementor .elementor-widget-button.ct-bouton { width: auto; max-width: max-content; padding-right: 58px; }
.elementor .ct-bouton .elementor-button {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 30px;
  border: 1px solid transparent; border-radius: 999px;
  background: var(--accent); color: var(--encre);
  font-family: var(--police); font-size: 14px; font-weight: 600; line-height: 1;
  letter-spacing: .01em; text-transform: uppercase; white-space: nowrap;
  transition: background .25s, color .25s, border-color .25s;
}
.elementor .ct-bouton .elementor-button::after {
  content: ''; position: absolute; top: -1px; right: -59px;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--accent) var(--fleche) center / 16px no-repeat;
  transition: transform .25s;
}
.elementor .ct-bouton .elementor-button:hover::after { transform: rotate(45deg); }
.elementor .ct-bouton.b-contour .elementor-button { background: none; border-color: var(--contour); color: var(--texte); }
.elementor .ct-bouton.b-contour .elementor-button:hover { background: var(--accent); border-color: var(--accent); color: var(--encre); }
.elementor .ct-bouton.b-sombre .elementor-button { background: var(--encre); color: var(--accent); }
.elementor .ct-bouton.b-sombre .elementor-button::after { background-color: var(--encre); background-image: var(--fleche-jaune); }

/* Bouton réduit dans l'encart du bandeau, espacé du texte au-dessus */
.elementor .intro-texte .ct-bouton { margin-top: 24px; }
.elementor .hero-encart .ct-bouton { margin-top: 18px; padding-right: 52px; }
.elementor .hero-encart .ct-bouton .elementor-button { height: 46px; padding: 0 24px; font-size: 12px; }
.elementor .hero-encart .ct-bouton .elementor-button::after { width: 46px; height: 46px; right: -53px; }
@media (max-width: 480px) { .elementor .ct-bouton .elementor-button { padding: 0 22px; } }

/* Boutons groupés dans un conteneur « wp-block-buttons » : le thème espace le groupe, pas chaque bouton */
.elementor .e-con.wp-block-buttons { flex-direction: row; }
/* Autres « flex » du thème pensés en ligne (Elementor met ses conteneurs en colonne par défaut) */
.elementor .e-con:is(.defile-piste, .carte-verre, .bento-carte) { flex-direction: row; flex-wrap: nowrap; }
/* Cartes du bandeau d'accueil : largeur fixe du thème (Elementor les met à 100 % sur mobile) */
.elementor .e-con.carte-verre { width: 380px; flex: none; }
.elementor .e-con.carte-texte { width: auto; flex: 1; }
.elementor .carte-verre > .elementor-widget-image { flex: none; width: auto; }
@media (max-width: 960px) { .elementor .e-con.carte-verre { width: 300px; } }
@media (max-width: 480px) { .elementor .e-con.carte-verre { width: 270px; } }
.elementor .wp-block-buttons > .ct-bouton { margin-top: 0; }

/* Pages de texte (guide, mentions légales, CGV) : largeur de lecture du thème */
.elementor .e-con > .elementor-widget.texte-legal { max-width: 860px; }

/* Contact : paragraphes que le thème vise comme enfants directs de leur bloc */
.elementor .contact-infos > .elementor-widget.titre-bloc { max-width: 560px; }
.elementor .contact-infos > .elementor-widget-text-editor:has(> p:not(.repere)) { margin-top: 40px; max-width: 480px; }
.elementor .contact-infos > .elementor-widget-text-editor > p:not(.repere) { font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
.elementor .contact-infos > .elementor-widget-text-editor > p:not(.repere) strong { font-weight: 600; }
.elementor .formulaire > .elementor-widget-text-editor:has(> p) { margin-top: 8px; }
.elementor .formulaire > .elementor-widget-text-editor > p { font-size: var(--t-petit); color: var(--texte-doux); }
@media (max-width: 960px) { .elementor .contact-infos > .elementor-widget-text-editor:has(> p:not(.repere)) { margin-top: 32px; } }

/* Contact : fiche de coordonnées. Une ligne par moyen de contact (conteneur coord-ligne + coord-tel, coord-mail
   ou coord-adresse, un widget Texte : libellé, valeur en lien, précision) ; la pastille d'icône et le rond fléché
   sont dessinés ici et la ligne entière est cliquable. Pied coord-pied : un widget Texte par information. */
.elementor .e-con.coord-fiche {
  margin-top: 44px; border-radius: var(--rayon); background: var(--surface); overflow: hidden;
  box-shadow: 0 0 0 1px var(--ligne), 0 24px 48px -36px rgba(28, 31, 35, .45);
}
.elementor .e-con.coord-ligne { position: relative; padding: 22px 24px; transition: background-color .25s; }
.elementor .e-con.coord-ligne + .coord-ligne { border-top: 1px solid var(--ligne); }
.elementor .coord-ligne > .elementor-widget-text-editor {
  position: static; display: grid; grid-template-columns: 46px minmax(0, 1fr) 40px; column-gap: 18px; align-items: center;
}
.elementor .coord-ligne > .elementor-widget-text-editor::before {
  content: ''; grid-column: 1; grid-row: 1 / span 3; width: 46px; height: 46px; border-radius: var(--rayon-s);
  background: var(--anthracite) var(--icone) center / 20px no-repeat;
}
.elementor .coord-ligne > .elementor-widget-text-editor::after {
  content: ''; grid-column: 3; grid-row: 1 / span 3; width: 40px; height: 40px; border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--ligne); background: var(--fleche) center / 14px no-repeat;
  transition: transform .25s, background-color .25s, box-shadow .25s;
}
.elementor .coord-ligne > .elementor-widget-text-editor > p { grid-column: 2; }
.elementor .coord-ligne:hover { background-color: rgba(28, 31, 35, .025); }
.elementor .coord-ligne:hover > .elementor-widget-text-editor::after { background-color: var(--accent); box-shadow: none; transform: rotate(45deg); }
.elementor .coord-tel { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A623' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.elementor .coord-mail { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A623' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.elementor .coord-adresse { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5A623' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.54 10.19-7.4 11.8a1 1 0 0 1-1.2 0C9.54 20.19 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }

.elementor .coord-fiche .coord-label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--texte-doux); }
.elementor .coord-fiche .coord-valeur {
  margin-top: 5px; font-family: var(--police-titre); font-size: clamp(16px, 1.6vw, 21px); font-weight: 600;
  line-height: 1.25; letter-spacing: -.01em; font-variant-numeric: tabular-nums;
}
.elementor .coord-fiche .coord-valeur a { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: 4px; transition: text-decoration-color .25s; }
.elementor .coord-ligne:hover .coord-valeur a { text-decoration-color: var(--accent); }
.elementor .coord-ligne .coord-valeur a::after { content: ''; position: absolute; inset: 0; }
.elementor .coord-ligne .coord-valeur a:focus-visible { outline: none; }
.elementor .coord-ligne:has(.coord-valeur a:focus-visible) { outline: 3px solid var(--accent); outline-offset: -3px; }
.elementor .coord-fiche .coord-note { margin-top: 4px; font-size: var(--t-petit); line-height: 1.5; color: var(--texte-doux); }

.elementor .e-con.coord-pied {
  display: grid; grid-template-columns: 1.4fr 1fr; padding: 18px 24px 20px;
  border-top: 1px solid var(--ligne); background: rgba(28, 31, 35, .035);
}
.elementor .coord-pied > .elementor-widget + .elementor-widget { padding-left: 22px; margin-left: 22px; border-left: 1px solid var(--ligne); }
.elementor .coord-fiche .coord-info { margin-top: 4px; font-size: 14px; font-weight: 600; line-height: 1.45; font-variant-numeric: tabular-nums; }
.elementor .coord-fiche .coord-info a { text-decoration: underline; text-decoration-color: var(--lien-souligne); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Colonne étroite (deux colonnes sous 1200 px) : la flèche s'efface (la ligne reste cliquable), le pied passe sur une colonne */
@media (max-width: 1200px) and (min-width: 961px) {
  .elementor .coord-ligne > .elementor-widget-text-editor { grid-template-columns: 46px minmax(0, 1fr); }
  .elementor .coord-ligne > .elementor-widget-text-editor::after { display: none; }
  .elementor .e-con.coord-pied { grid-template-columns: 1fr; row-gap: 14px; }
  .elementor .coord-pied > .elementor-widget + .elementor-widget { padding: 14px 0 0; margin: 0; border-left: 0; border-top: 1px solid var(--ligne); }
}
@media (max-width: 960px) { .elementor .e-con.coord-fiche { margin-top: 32px; } .elementor .coord-fiche .coord-valeur { font-size: 20px; } }
@media (max-width: 480px) {
  .elementor .e-con.coord-ligne { padding: 18px 16px; }
  .elementor .coord-ligne > .elementor-widget-text-editor { grid-template-columns: 42px minmax(0, 1fr); column-gap: 14px; }
  .elementor .coord-ligne > .elementor-widget-text-editor::before { width: 42px; height: 42px; background-size: 18px; }
  .elementor .coord-ligne > .elementor-widget-text-editor::after { display: none; }
  .elementor .coord-fiche .coord-valeur { font-size: 17px; }
  .elementor .e-con.coord-pied { grid-template-columns: 1fr; padding: 16px; row-gap: 14px; }
  .elementor .coord-pied > .elementor-widget + .elementor-widget { padding: 14px 0 0; margin: 0; border-left: 0; border-top: 1px solid var(--ligne); }
}

/* Tarifs : l'étiquette « Recommandée » se place dans le coin de la carte, pas de son widget */
.elementor .formule > .elementor-widget:has(.formule-badge) { position: static; }

/* Tarifs : « h3 + p » du bloc « Dans toutes les formules », devenus deux widgets */
.elementor .formules-inclus .elementor-widget:has(> h3) + .elementor-widget > p { margin-top: 10px; font-size: var(--t-petit); line-height: 1.6; color: var(--texte-doux); }

/* Tarifs : calculateur et paragraphe du bloc déplacement */
.elementor .tarifs > .elementor-widget-shortcode { margin-top: 48px; }
.elementor .deplacement-texte > .elementor-widget-text-editor:has(> p:not(.repere)) { margin-top: 20px; max-width: 520px; }
.elementor .deplacement-texte > .elementor-widget-text-editor > p:not(.repere) { font-size: var(--t-corps); line-height: 1.7; color: var(--texte-doux); }
@media (max-width: 960px) { .elementor .tarifs > .elementor-widget-shortcode { margin-top: 32px; } }

/* Photos en cadre (mosaïque, cartes du bandeau, zone) : le widget prend la hauteur du cadre */
.elementor :is(.bento-carte, .carte-verre, .zone-home-photo) .elementor-widget-container { height: 100%; }

/* Fin de page : même respiration que les pages en blocs */
.elementor > .e-con:last-child:is(.services, .section-atouts, .drones) { padding-bottom: 110px; }
@media (max-width: 960px) { .elementor > .e-con:last-child:is(.services, .section-atouts, .drones) { padding-bottom: 80px; } }


/* FAQ : photo dans la colonne de gauche, sous l'introduction */
.elementor .e-con.faq-gauche { width: auto; max-width: 100%; padding-right: 56px; }
.elementor .e-con > .elementor-widget.faq-photo { align-self: flex-start; width: 100%; max-width: 420px; margin-top: 48px; position: sticky; top: 110px; }
.elementor .faq-photo .elementor-widget-container { height: 100%; }
.elementor .faq-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--rayon); }
@media (max-width: 960px) {
  .elementor .e-con.faq-gauche { padding-right: 0; }
  .elementor .e-con > .elementor-widget.faq-photo { max-width: none; margin-top: 32px; position: static; }
  .elementor .faq-photo img { aspect-ratio: 4 / 3; }
}

/* Effets maison des pages Elementor, ceux qu'Elementor gratuit ne sait pas régler.
   Mise en page, marges, polices, tailles et couleurs sont réglées dans Elementor (onglets Style et Avancé) :
   ces classes n'ajoutent QUE l'effet, à poser dans Avancé > Classes CSS. */

/* Zone sombre (bandeau photo, panneau quadrillé) : liens, gras et boutons passent en clair */
.fx-sombre {
  --fond: var(--anthracite); --surface: var(--beton);
  --texte: var(--blanc-casse); --texte-doux: var(--gris-clair); --texte-inactif: #7C8289;
  --ligne: rgba(242, 240, 235, .14); --contour: rgba(242, 240, 235, .7); --lien-souligne: transparent;
  color: var(--texte);
}

/* Plan quadrillé en fond (panneaux sombres, bandeaux courts) */
.fx-quadrille {
  background-image:
    linear-gradient(rgba(242, 240, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 240, 235, .05) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Repère : numéro dans un carré jaune (mettre le numéro en gras) */
.fx-repere p { display: flex; align-items: center; gap: 12px; }
.fx-repere strong { display: inline-grid; place-items: center; width: 30px; height: 30px; background: var(--accent); color: var(--encre); font-size: 12px; letter-spacing: 0; }

/* Mot surligné au marqueur jaune : mettre le mot en italique dans le titre */
.fx-surligne em { font-style: normal; padding: 0 .06em; background: linear-gradient(transparent 58%, var(--accent) 58%, var(--accent) 92%, transparent 92%); }
.fx-surligne-jaune em { font-style: normal; color: var(--accent); }

/* Verre dépoli (encart et pastilles posés sur une photo) */
.fx-verre { background: var(--verre); border: 1px solid var(--verre-bord); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* Pastilles : chaque élément de la liste devient une pastille en verre */
.fx-pastilles ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fx-pastilles li {
  display: inline-flex; align-items: center; height: 40px; padding: 0 20px; border-radius: 999px;
  background: var(--verre); border: 1px solid var(--verre-bord);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-size: 14px; white-space: nowrap;
}
@media (max-width: 480px) { .fx-pastilles ul { gap: 8px; } .fx-pastilles li { height: 36px; padding: 0 16px; font-size: 13px; } }

/* Petite barre jaune au-dessus d'un bloc (chiffres) */
.fx-barre::before { content: ''; display: block; position: static; width: 28px; height: 4px; margin-bottom: 22px; background: var(--accent); opacity: 1; }

/* Liens soulignés en jaune dans un texte */
.fx-liens a { text-decoration: underline; text-decoration-color: var(--lien-souligne); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Bouton réduit (encart du bandeau) */
.elementor .ct-bouton.ct-bouton-petit { padding-right: 52px; }
.elementor .ct-bouton.ct-bouton-petit .elementor-button { height: 46px; padding: 0 24px; font-size: 12px; }
.elementor .ct-bouton.ct-bouton-petit .elementor-button::after { width: 46px; height: 46px; right: -53px; }

/* Titres d'Elementor : équilibrés sur leurs lignes, comme le reste du site */
.elementor .elementor-heading-title { text-wrap: balance; }

.elementor .e-div-block-base{min-width:30px;padding:10px;display:block;}.elementor .e-flexbox-base{padding:10px;display:flex;flex-direction:row;}.elementor .e-grid-base{column-gap:20px;padding:10px;display:grid;row-gap:20px;grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(2, 1fr);}.elementor .e-tabs-base{padding-block-start:0px;display:flex;flex-direction:column;gap:30px;}.elementor .e-tabs-menu-base{display:flex;justify-content:center;}.elementor .e-tab-base{width:160px;color:#0C0D0E;cursor:pointer;padding:8px;border-width:2px;border-color:#E0E0E0;border-style:solid;background-color:#FFFFFF;display:block;}.elementor .e-tab-base.e--selected{border-color:#0C0D0E;outline-width:0px;}.elementor .e-tab-base:focus{border-color:#0C0D0E;outline-width:0px;}.elementor .e-tab-base:hover,.elementor .e-tab-base:focus-visible{background-color:#E0E0E0;}.elementor .e-tabs-content-area-base{display:block;}.elementor .e-tab-content-base{min-width:30px;padding:10px;display:block;}.elementor .e-list-base{padding:0px;display:flex;flex-direction:column;}.elementor .e-list-item-base{display:flex;flex-direction:row;gap:8px;}.elementor .e-list-item-marker-base{width:auto;height:1lh;display:flex;align-items:center;}.elementor .e-list-item-content-base{flex:1 1 auto;}.elementor .e-accordion-base{padding:0px;display:flex;flex-direction:column;}.elementor .e-accordion-item-base{padding:0px;display:block;}.elementor .e-accordion-item-header-base{cursor:pointer;padding:10px;display:flex;gap:8px;justify-content:space-between;align-items:center;}.elementor .e-accordion-item-title-base{padding:0px;}.elementor .e-accordion-item-icon-base{width:200px;height:20px;padding:0px;display:inline-flex;flex:0 0 auto;justify-content:flex-end;align-items:center;}.elementor .e-accordion-item-icon-open-base{width:200px;height:20px;padding:0px;display:inline-flex;flex:0 0 auto;justify-content:flex-end;align-items:center;}.elementor .e-accordion-item-content-base{min-width:30px;padding:10px;display:block;}.elementor .e-background-video-base{width:100%;overflow:hidden;position:relative;padding:10px;display:flex;flex-direction:column;}.elementor .e-background-video-content-base{width:100%;position:relative;z-index:1;padding:0px;display:flex;flex-direction:column;flex:1 1 auto;}.elementor .e-background-video-controls-base{width:auto;position:absolute;inset-inline-end:20px;inset-block-end:20px;z-index:2;display:flex;gap:8px;}.elementor .e-background-video-play-base{cursor:pointer;padding:8px;border-style:none;background-color:transparent;display:inline-flex;justify-content:center;align-items:center;}.elementor .e-background-video-pause-base{cursor:pointer;padding:8px;border-style:none;background-color:transparent;display:inline-flex;justify-content:center;align-items:center;}.elementor .e-form-base{display:block;}.elementor .e-collection-loop-base{display:block;}.elementor .e-carousel-base{display:block;}.elementor .e-heading-base{margin:0px;}.elementor .e-heading-link-base{all:unset;cursor:pointer;}.elementor .e-image-link-base{width:fit-content;all:unset;cursor:pointer;display:inherit;}.elementor .e-image-base{display:block;}.elementor .e-paragraph-base{margin:0px;}.elementor .e-paragraph-link-base{all:unset;cursor:pointer;}.elementor .e-svg-base{display:inline-block;}.elementor .e-button-base{text-align:center;padding-block-start:12px;padding-block-end:12px;padding-inline-start:24px;padding-inline-end:24px;border-radius:2px;border-width:0px;background-color:#375EFB;display:inline-block;}.elementor .e-youtube-base{overflow:hidden;aspect-ratio:16/9;}.elementor .e-divider-base{width:100%;height:1px;border-width:0px;border-color:transparent;border-style:none;background-color:#000;}.elementor .e-self-hosted-video-base{max-width:100vw;aspect-ratio:16/9;display:inline-block;}.elementor .e-google-maps-base{width:100%;border-style:none;display:block;}
@media (max-width:480px){
@media(max-width:480px){.elementor .e-grid-base{grid-template-columns:repeat(1, 1fr);}}
}
