/* Framework */

:host,
:root {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("./font-awesome/webfonts/fa-brands-400.woff2") format("woff2"),
    url("./font-awesome/webfonts/fa-brands-400.woff") format("woff");
}



@font-face {
  font-family: "Brittany Signature";
  src: url("../fonts/BrittanySignature.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


.fa-brands,
.fab {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}
.fa-facebook-f a:before {
  content: "\f39e";
  left: -20px;
  position: relative;
  text-indent: 0;
  z-index: 1;
  color: white;
}
.fa-youtube-f a:before {
  content: "\f167";
  left: -24px;
  position: relative;
  text-indent: 0;
  z-index: 1;
  color: white;
}
#footer .fa-youtube-f a:before {
  content: "\f167";
  left: -22px;
}
.fa-instagram-f a:before {
  content: "\f16d";
  left: -22px;
  position: relative;
  text-indent: 0;
  z-index: 1;
  color: white;
}

.fa-tiktok-f a:before {
  content: "\e07b";
  left: -22px;
  position: relative;
  text-indent: 0;
  z-index: 1;
  color: white;
}

.fa-linkedin-f a:before {
  content: "\f0e1";
  left: -22px;
  position: relative;
  text-indent: 0;
  z-index: 1;
  color: white;
}

@font-face {
  font-family: "FontAwesome";
  src: url("./fontawesome-webfont.eot?v=4.7.0");
  src:
    url("./fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),
    url("./fontawesome-webfont.woff2?v=4.7.0") format("woff2"),
    url("./fontawesome-webfont.woff?v=4.7.0") format("woff"),
    url("./fontawesome-webfont.ttf?v=4.7.0") format("truetype"),
    url("./fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: normal;
}

* {
  outline: 0 !important;
}
.mt1 {
  margin-top: 1px !important;
}
.pt1 {
  padding-top: 1px !important;
}
.mr1 {
  margin-right: 1px !important;
}
.pr1 {
  padding-right: 1px !important;
}
.mb1 {
  margin-bottom: 1px !important;
}
.pb1 {
  padding-bottom: 1px !important;
}
.ml1 {
  margin-left: 1px !important;
}
.pl1 {
  padding-left: 1px !important;
}
.mt2 {
  margin-top: 2px !important;
}
.pt2 {
  padding-top: 2px !important;
}
.mr2 {
  margin-right: 2px !important;
}
.pr2 {
  padding-right: 2px !important;
}
.mb2 {
  margin-bottom: 2px !important;
}
.pb2 {
  padding-bottom: 2px !important;
}
.ml2 {
  margin-left: 2px !important;
}
.pl2 {
  padding-left: 2px !important;
}
.mt3 {
  margin-top: 3px !important;
}
.pt3 {
  padding-top: 3px !important;
}
.mr3 {
  margin-right: 3px !important;
}
.pr3 {
  padding-right: 3px !important;
}
.mb3 {
  margin-bottom: 3px !important;
}
.pb3 {
  padding-bottom: 3px !important;
}
.ml3 {
  margin-left: 3px !important;
}
.pl3 {
  padding-left: 3px !important;
}
.mt4 {
  margin-top: 4px !important;
}
.pt4 {
  padding-top: 4px !important;
}
.mr4 {
  margin-right: 4px !important;
}
.pr4 {
  padding-right: 4px !important;
}
.mb4 {
  margin-bottom: 4px !important;
}
.pb4 {
  padding-bottom: 4px !important;
}
.ml4 {
  margin-left: 4px !important;
}
.pl4 {
  padding-left: 4px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.pr5 {
  padding-right: 5px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.pl5 {
  padding-left: 5px !important;
}
.mt6 {
  margin-top: 6px !important;
}
.pt6 {
  padding-top: 6px !important;
}
.mr6 {
  margin-right: 6px !important;
}
.pr6 {
  padding-right: 6px !important;
}
.mb6 {
  margin-bottom: 6px !important;
}
.pb6 {
  padding-bottom: 6px !important;
}
.ml6 {
  margin-left: 6px !important;
}
.pl6 {
  padding-left: 6px !important;
}
.mt7 {
  margin-top: 7px !important;
}
.pt7 {
  padding-top: 7px !important;
}
.mr7 {
  margin-right: 7px !important;
}
.pr7 {
  padding-right: 7px !important;
}
.mb7 {
  margin-bottom: 7px !important;
}
.pb7 {
  padding-bottom: 7px !important;
}
.ml7 {
  margin-left: 7px !important;
}
.pl7 {
  padding-left: 7px !important;
}
.mt8 {
  margin-top: 8px !important;
}
.pt8 {
  padding-top: 8px !important;
}
.mr8 {
  margin-right: 8px !important;
}
.pr8 {
  padding-right: 8px !important;
}
.mb8 {
  margin-bottom: 8px !important;
}
.pb8 {
  padding-bottom: 8px !important;
}
.ml8 {
  margin-left: 8px !important;
}
.pl8 {
  padding-left: 8px !important;
}
.mt9 {
  margin-top: 9px !important;
}
.pt9 {
  padding-top: 9px !important;
}
.mr9 {
  margin-right: 9px !important;
}
.pr9 {
  padding-right: 9px !important;
}
.mb9 {
  margin-bottom: 9px !important;
}
.pb9 {
  padding-bottom: 9px !important;
}
.ml9 {
  margin-left: 9px !important;
}
.pl9 {
  padding-left: 9px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.mt11 {
  margin-top: 11px !important;
}
.pt11 {
  padding-top: 11px !important;
}
.mr11 {
  margin-right: 11px !important;
}
.pr11 {
  padding-right: 11px !important;
}
.mb11 {
  margin-bottom: 11px !important;
}
.pb11 {
  padding-bottom: 11px !important;
}
.ml11 {
  margin-left: 11px !important;
}
.pl11 {
  padding-left: 11px !important;
}
.mt12 {
  margin-top: 12px !important;
}
.pt12 {
  padding-top: 12px !important;
}
.mr12 {
  margin-right: 12px !important;
}
.pr12 {
  padding-right: 12px !important;
}
.mb12 {
  margin-bottom: 12px !important;
}
.pb12 {
  padding-bottom: 12px !important;
}
.ml12 {
  margin-left: 12px !important;
}
.pl12 {
  padding-left: 12px !important;
}
.mt13 {
  margin-top: 13px !important;
}
.pt13 {
  padding-top: 13px !important;
}
.mr13 {
  margin-right: 13px !important;
}
.pr13 {
  padding-right: 13px !important;
}
.mb13 {
  margin-bottom: 13px !important;
}
.pb13 {
  padding-bottom: 13px !important;
}
.ml13 {
  margin-left: 13px !important;
}
.pl13 {
  padding-left: 13px !important;
}
.mt14 {
  margin-top: 14px !important;
}
.pt14 {
  padding-top: 14px !important;
}
.mr14 {
  margin-right: 14px !important;
}
.pr14 {
  padding-right: 14px !important;
}
.mb14 {
  margin-bottom: 14px !important;
}
.pb14 {
  padding-bottom: 14px !important;
}
.ml14 {
  margin-left: 14px !important;
}
.pl14 {
  padding-left: 14px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.mt16 {
  margin-top: 16px !important;
}
.pt16 {
  padding-top: 16px !important;
}
.mr16 {
  margin-right: 16px !important;
}
.pr16 {
  padding-right: 16px !important;
}
.mb16 {
  margin-bottom: 16px !important;
}
.pb16 {
  padding-bottom: 16px !important;
}
.ml16 {
  margin-left: 16px !important;
}
.pl16 {
  padding-left: 16px !important;
}
.mt17 {
  margin-top: 17px !important;
}
.pt17 {
  padding-top: 17px !important;
}
.mr17 {
  margin-right: 17px !important;
}
.pr17 {
  padding-right: 17px !important;
}
.mb17 {
  margin-bottom: 17px !important;
}
.pb17 {
  padding-bottom: 17px !important;
}
.ml17 {
  margin-left: 17px !important;
}
.pl17 {
  padding-left: 17px !important;
}
.mt18 {
  margin-top: 18px !important;
}
.pt18 {
  padding-top: 18px !important;
}
.mr18 {
  margin-right: 18px !important;
}
.pr18 {
  padding-right: 18px !important;
}
.mb18 {
  margin-bottom: 18px !important;
}
.pb18 {
  padding-bottom: 18px !important;
}
.ml18 {
  margin-left: 18px !important;
}
.pl18 {
  padding-left: 18px !important;
}
.mt19 {
  margin-top: 19px !important;
}
.pt19 {
  padding-top: 19px !important;
}
.mr19 {
  margin-right: 19px !important;
}
.pr19 {
  padding-right: 19px !important;
}
.mb19 {
  margin-bottom: 19px !important;
}
.pb19 {
  padding-bottom: 19px !important;
}
.ml19 {
  margin-left: 19px !important;
}
.pl19 {
  padding-left: 19px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.mt21 {
  margin-top: 21px !important;
}
.pt21 {
  padding-top: 21px !important;
}
.mr21 {
  margin-right: 21px !important;
}
.pr21 {
  padding-right: 21px !important;
}
.mb21 {
  margin-bottom: 21px !important;
}
.pb21 {
  padding-bottom: 21px !important;
}
.ml21 {
  margin-left: 21px !important;
}
.pl21 {
  padding-left: 21px !important;
}
.mt22 {
  margin-top: 22px !important;
}
.pt22 {
  padding-top: 22px !important;
}
.mr22 {
  margin-right: 22px !important;
}
.pr22 {
  padding-right: 22px !important;
}
.mb22 {
  margin-bottom: 22px !important;
}
.pb22 {
  padding-bottom: 22px !important;
}
.ml22 {
  margin-left: 22px !important;
}
.pl22 {
  padding-left: 22px !important;
}
.mt23 {
  margin-top: 23px !important;
}
.pt23 {
  padding-top: 23px !important;
}
.mr23 {
  margin-right: 23px !important;
}
.pr23 {
  padding-right: 23px !important;
}
.mb23 {
  margin-bottom: 23px !important;
}
.pb23 {
  padding-bottom: 23px !important;
}
.ml23 {
  margin-left: 23px !important;
}
.pl23 {
  padding-left: 23px !important;
}
.mt24 {
  margin-top: 24px !important;
}
.pt24 {
  padding-top: 24px !important;
}
.mr24 {
  margin-right: 24px !important;
}
.pr24 {
  padding-right: 24px !important;
}
.mb24 {
  margin-bottom: 24px !important;
}
.pb24 {
  padding-bottom: 24px !important;
}
.ml24 {
  margin-left: 24px !important;
}
.pl24 {
  padding-left: 24px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.mt26 {
  margin-top: 26px !important;
}
.pt26 {
  padding-top: 26px !important;
}
.mr26 {
  margin-right: 26px !important;
}
.pr26 {
  padding-right: 26px !important;
}
.mb26 {
  margin-bottom: 26px !important;
}
.pb26 {
  padding-bottom: 26px !important;
}
.ml26 {
  margin-left: 26px !important;
}
.pl26 {
  padding-left: 26px !important;
}
.mt27 {
  margin-top: 27px !important;
}
.pt27 {
  padding-top: 27px !important;
}
.mr27 {
  margin-right: 27px !important;
}
.pr27 {
  padding-right: 27px !important;
}
.mb27 {
  margin-bottom: 27px !important;
}
.pb27 {
  padding-bottom: 27px !important;
}
.ml27 {
  margin-left: 27px !important;
}
.pl27 {
  padding-left: 27px !important;
}
.mt28 {
  margin-top: 28px !important;
}
.pt28 {
  padding-top: 28px !important;
}
.mr28 {
  margin-right: 28px !important;
}
.pr28 {
  padding-right: 28px !important;
}
.mb28 {
  margin-bottom: 28px !important;
}
.pb28 {
  padding-bottom: 28px !important;
}
.ml28 {
  margin-left: 28px !important;
}
.pl28 {
  padding-left: 28px !important;
}
.mt29 {
  margin-top: 29px !important;
}
.pt29 {
  padding-top: 29px !important;
}
.mr29 {
  margin-right: 29px !important;
}
.pr29 {
  padding-right: 29px !important;
}
.mb29 {
  margin-bottom: 29px !important;
}
.pb29 {
  padding-bottom: 29px !important;
}
.ml29 {
  margin-left: 29px !important;
}
.pl29 {
  padding-left: 29px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.mt31 {
  margin-top: 31px !important;
}
.pt31 {
  padding-top: 31px !important;
}
.mr31 {
  margin-right: 31px !important;
}
.pr31 {
  padding-right: 31px !important;
}
.mb31 {
  margin-bottom: 31px !important;
}
.pb31 {
  padding-bottom: 31px !important;
}
.ml31 {
  margin-left: 31px !important;
}
.pl31 {
  padding-left: 31px !important;
}
.mt32 {
  margin-top: 32px !important;
}
.pt32 {
  padding-top: 32px !important;
}
.mr32 {
  margin-right: 32px !important;
}
.pr32 {
  padding-right: 32px !important;
}
.mb32 {
  margin-bottom: 32px !important;
}
.pb32 {
  padding-bottom: 32px !important;
}
.ml32 {
  margin-left: 32px !important;
}
.pl32 {
  padding-left: 32px !important;
}
.mt33 {
  margin-top: 33px !important;
}
.pt33 {
  padding-top: 33px !important;
}
.mr33 {
  margin-right: 33px !important;
}
.pr33 {
  padding-right: 33px !important;
}
.mb33 {
  margin-bottom: 33px !important;
}
.pb33 {
  padding-bottom: 33px !important;
}
.ml33 {
  margin-left: 33px !important;
}
.pl33 {
  padding-left: 33px !important;
}
.mt34 {
  margin-top: 34px !important;
}
.pt34 {
  padding-top: 34px !important;
}
.mr34 {
  margin-right: 34px !important;
}
.pr34 {
  padding-right: 34px !important;
}
.mb34 {
  margin-bottom: 34px !important;
}
.pb34 {
  padding-bottom: 34px !important;
}
.ml34 {
  margin-left: 34px !important;
}
.pl34 {
  padding-left: 34px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.mt36 {
  margin-top: 36px !important;
}
.pt36 {
  padding-top: 36px !important;
}
.mr36 {
  margin-right: 36px !important;
}
.pr36 {
  padding-right: 36px !important;
}
.mb36 {
  margin-bottom: 36px !important;
}
.pb36 {
  padding-bottom: 36px !important;
}
.ml36 {
  margin-left: 36px !important;
}
.pl36 {
  padding-left: 36px !important;
}
.mt37 {
  margin-top: 37px !important;
}
.pt37 {
  padding-top: 37px !important;
}
.mr37 {
  margin-right: 37px !important;
}
.pr37 {
  padding-right: 37px !important;
}
.mb37 {
  margin-bottom: 37px !important;
}
.pb37 {
  padding-bottom: 37px !important;
}
.ml37 {
  margin-left: 37px !important;
}
.pl37 {
  padding-left: 37px !important;
}
.mt38 {
  margin-top: 38px !important;
}
.pt38 {
  padding-top: 38px !important;
}
.mr38 {
  margin-right: 38px !important;
}
.pr38 {
  padding-right: 38px !important;
}
.mb38 {
  margin-bottom: 38px !important;
}
.pb38 {
  padding-bottom: 38px !important;
}
.ml38 {
  margin-left: 38px !important;
}
.pl38 {
  padding-left: 38px !important;
}
.mt39 {
  margin-top: 39px !important;
}
.pt39 {
  padding-top: 39px !important;
}
.mr39 {
  margin-right: 39px !important;
}
.pr39 {
  padding-right: 39px !important;
}
.mb39 {
  margin-bottom: 39px !important;
}
.pb39 {
  padding-bottom: 39px !important;
}
.ml39 {
  margin-left: 39px !important;
}
.pl39 {
  padding-left: 39px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.mt41 {
  margin-top: 41px !important;
}
.pt41 {
  padding-top: 41px !important;
}
.mr41 {
  margin-right: 41px !important;
}
.pr41 {
  padding-right: 41px !important;
}
.mb41 {
  margin-bottom: 41px !important;
}
.pb41 {
  padding-bottom: 41px !important;
}
.ml41 {
  margin-left: 41px !important;
}
.pl41 {
  padding-left: 41px !important;
}
.mt42 {
  margin-top: 42px !important;
}
.pt42 {
  padding-top: 42px !important;
}
.mr42 {
  margin-right: 42px !important;
}
.pr42 {
  padding-right: 42px !important;
}
.mb42 {
  margin-bottom: 42px !important;
}
.pb42 {
  padding-bottom: 42px !important;
}
.ml42 {
  margin-left: 42px !important;
}
.pl42 {
  padding-left: 42px !important;
}
.mt43 {
  margin-top: 43px !important;
}
.pt43 {
  padding-top: 43px !important;
}
.mr43 {
  margin-right: 43px !important;
}
.pr43 {
  padding-right: 43px !important;
}
.mb43 {
  margin-bottom: 43px !important;
}
.pb43 {
  padding-bottom: 43px !important;
}
.ml43 {
  margin-left: 43px !important;
}
.pl43 {
  padding-left: 43px !important;
}
.mt44 {
  margin-top: 44px !important;
}
.pt44 {
  padding-top: 44px !important;
}
.mr44 {
  margin-right: 44px !important;
}
.pr44 {
  padding-right: 44px !important;
}
.mb44 {
  margin-bottom: 44px !important;
}
.pb44 {
  padding-bottom: 44px !important;
}
.ml44 {
  margin-left: 44px !important;
}
.pl44 {
  padding-left: 44px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.mt46 {
  margin-top: 46px !important;
}
.pt46 {
  padding-top: 46px !important;
}
.mr46 {
  margin-right: 46px !important;
}
.pr46 {
  padding-right: 46px !important;
}
.mb46 {
  margin-bottom: 46px !important;
}
.pb46 {
  padding-bottom: 46px !important;
}
.ml46 {
  margin-left: 46px !important;
}
.pl46 {
  padding-left: 46px !important;
}
.mt47 {
  margin-top: 47px !important;
}
.pt47 {
  padding-top: 47px !important;
}
.mr47 {
  margin-right: 47px !important;
}
.pr47 {
  padding-right: 47px !important;
}
.mb47 {
  margin-bottom: 47px !important;
}
.pb47 {
  padding-bottom: 47px !important;
}
.ml47 {
  margin-left: 47px !important;
}
.pl47 {
  padding-left: 47px !important;
}
.mt48 {
  margin-top: 48px !important;
}
.pt48 {
  padding-top: 48px !important;
}
.mr48 {
  margin-right: 48px !important;
}
.pr48 {
  padding-right: 48px !important;
}
.mb48 {
  margin-bottom: 48px !important;
}
.pb48 {
  padding-bottom: 48px !important;
}
.ml48 {
  margin-left: 48px !important;
}
.pl48 {
  padding-left: 48px !important;
}
.mt49 {
  margin-top: 49px !important;
}
.pt49 {
  padding-top: 49px !important;
}
.mr49 {
  margin-right: 49px !important;
}
.pr49 {
  padding-right: 49px !important;
}
.mb49 {
  margin-bottom: 49px !important;
}
.pb49 {
  padding-bottom: 49px !important;
}
.ml49 {
  margin-left: 49px !important;
}
.pl49 {
  padding-left: 49px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.mt51 {
  margin-top: 51px !important;
}
.pt51 {
  padding-top: 51px !important;
}
.mr51 {
  margin-right: 51px !important;
}
.pr51 {
  padding-right: 51px !important;
}
.mb51 {
  margin-bottom: 51px !important;
}
.pb51 {
  padding-bottom: 51px !important;
}
.ml51 {
  margin-left: 51px !important;
}
.pl51 {
  padding-left: 51px !important;
}
.mt52 {
  margin-top: 52px !important;
}
.pt52 {
  padding-top: 52px !important;
}
.mr52 {
  margin-right: 52px !important;
}
.pr52 {
  padding-right: 52px !important;
}
.mb52 {
  margin-bottom: 52px !important;
}
.pb52 {
  padding-bottom: 52px !important;
}
.ml52 {
  margin-left: 52px !important;
}
.pl52 {
  padding-left: 52px !important;
}
.mt53 {
  margin-top: 53px !important;
}
.pt53 {
  padding-top: 53px !important;
}
.mr53 {
  margin-right: 53px !important;
}
.pr53 {
  padding-right: 53px !important;
}
.mb53 {
  margin-bottom: 53px !important;
}
.pb53 {
  padding-bottom: 53px !important;
}
.ml53 {
  margin-left: 53px !important;
}
.pl53 {
  padding-left: 53px !important;
}
.mt54 {
  margin-top: 54px !important;
}
.pt54 {
  padding-top: 54px !important;
}
.mr54 {
  margin-right: 54px !important;
}
.pr54 {
  padding-right: 54px !important;
}
.mb54 {
  margin-bottom: 54px !important;
}
.pb54 {
  padding-bottom: 54px !important;
}
.ml54 {
  margin-left: 54px !important;
}
.pl54 {
  padding-left: 54px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.pt55 {
  padding-top: 55px !important;
}
.mr55 {
  margin-right: 55px !important;
}
.pr55 {
  padding-right: 55px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.pb55 {
  padding-bottom: 55px !important;
}
.ml55 {
  margin-left: 55px !important;
}
.pl55 {
  padding-left: 55px !important;
}
.mt56 {
  margin-top: 56px !important;
}
.pt56 {
  padding-top: 56px !important;
}
.mr56 {
  margin-right: 56px !important;
}
.pr56 {
  padding-right: 56px !important;
}
.mb56 {
  margin-bottom: 56px !important;
}
.pb56 {
  padding-bottom: 56px !important;
}
.ml56 {
  margin-left: 56px !important;
}
.pl56 {
  padding-left: 56px !important;
}
.mt57 {
  margin-top: 57px !important;
}
.pt57 {
  padding-top: 57px !important;
}
.mr57 {
  margin-right: 57px !important;
}
.pr57 {
  padding-right: 57px !important;
}
.mb57 {
  margin-bottom: 57px !important;
}
.pb57 {
  padding-bottom: 57px !important;
}
.ml57 {
  margin-left: 57px !important;
}
.pl57 {
  padding-left: 57px !important;
}
.mt58 {
  margin-top: 58px !important;
}
.pt58 {
  padding-top: 58px !important;
}
.mr58 {
  margin-right: 58px !important;
}
.pr58 {
  padding-right: 58px !important;
}
.mb58 {
  margin-bottom: 58px !important;
}
.pb58 {
  padding-bottom: 58px !important;
}
.ml58 {
  margin-left: 58px !important;
}
.pl58 {
  padding-left: 58px !important;
}
.mt59 {
  margin-top: 59px !important;
}
.pt59 {
  padding-top: 59px !important;
}
.mr59 {
  margin-right: 59px !important;
}
.pr59 {
  padding-right: 59px !important;
}
.mb59 {
  margin-bottom: 59px !important;
}
.pb59 {
  padding-bottom: 59px !important;
}
.ml59 {
  margin-left: 59px !important;
}
.pl59 {
  padding-left: 59px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.pr60 {
  padding-right: 60px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.ml60 {
  margin-left: 60px !important;
}
.pl60 {
  padding-left: 60px !important;
}
.mt61 {
  margin-top: 61px !important;
}
.pt61 {
  padding-top: 61px !important;
}
.mr61 {
  margin-right: 61px !important;
}
.pr61 {
  padding-right: 61px !important;
}
.mb61 {
  margin-bottom: 61px !important;
}
.pb61 {
  padding-bottom: 61px !important;
}
.ml61 {
  margin-left: 61px !important;
}
.pl61 {
  padding-left: 61px !important;
}
.mt62 {
  margin-top: 62px !important;
}
.pt62 {
  padding-top: 62px !important;
}
.mr62 {
  margin-right: 62px !important;
}
.pr62 {
  padding-right: 62px !important;
}
.mb62 {
  margin-bottom: 62px !important;
}
.pb62 {
  padding-bottom: 62px !important;
}
.ml62 {
  margin-left: 62px !important;
}
.pl62 {
  padding-left: 62px !important;
}
.mt63 {
  margin-top: 63px !important;
}
.pt63 {
  padding-top: 63px !important;
}
.mr63 {
  margin-right: 63px !important;
}
.pr63 {
  padding-right: 63px !important;
}
.mb63 {
  margin-bottom: 63px !important;
}
.pb63 {
  padding-bottom: 63px !important;
}
.ml63 {
  margin-left: 63px !important;
}
.pl63 {
  padding-left: 63px !important;
}
.mt64 {
  margin-top: 64px !important;
}
.pt64 {
  padding-top: 64px !important;
}
.mr64 {
  margin-right: 64px !important;
}
.pr64 {
  padding-right: 64px !important;
}
.mb64 {
  margin-bottom: 64px !important;
}
.pb64 {
  padding-bottom: 64px !important;
}
.ml64 {
  margin-left: 64px !important;
}
.pl64 {
  padding-left: 64px !important;
}
.mt65 {
  margin-top: 65px !important;
}
.pt65 {
  padding-top: 65px !important;
}
.mr65 {
  margin-right: 65px !important;
}
.pr65 {
  padding-right: 65px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.pb65 {
  padding-bottom: 65px !important;
}
.ml65 {
  margin-left: 65px !important;
}
.pl65 {
  padding-left: 65px !important;
}
.mt66 {
  margin-top: 66px !important;
}
.pt66 {
  padding-top: 66px !important;
}
.mr66 {
  margin-right: 66px !important;
}
.pr66 {
  padding-right: 66px !important;
}
.mb66 {
  margin-bottom: 66px !important;
}
.pb66 {
  padding-bottom: 66px !important;
}
.ml66 {
  margin-left: 66px !important;
}
.pl66 {
  padding-left: 66px !important;
}
.mt67 {
  margin-top: 67px !important;
}
.pt67 {
  padding-top: 67px !important;
}
.mr67 {
  margin-right: 67px !important;
}
.pr67 {
  padding-right: 67px !important;
}
.mb67 {
  margin-bottom: 67px !important;
}
.pb67 {
  padding-bottom: 67px !important;
}
.ml67 {
  margin-left: 67px !important;
}
.pl67 {
  padding-left: 67px !important;
}
.mt68 {
  margin-top: 68px !important;
}
.pt68 {
  padding-top: 68px !important;
}
.mr68 {
  margin-right: 68px !important;
}
.pr68 {
  padding-right: 68px !important;
}
.mb68 {
  margin-bottom: 68px !important;
}
.pb68 {
  padding-bottom: 68px !important;
}
.ml68 {
  margin-left: 68px !important;
}
.pl68 {
  padding-left: 68px !important;
}
.mt69 {
  margin-top: 69px !important;
}
.pt69 {
  padding-top: 69px !important;
}
.mr69 {
  margin-right: 69px !important;
}
.pr69 {
  padding-right: 69px !important;
}
.mb69 {
  margin-bottom: 69px !important;
}
.pb69 {
  padding-bottom: 69px !important;
}
.ml69 {
  margin-left: 69px !important;
}
.pl69 {
  padding-left: 69px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.pt70 {
  padding-top: 70px !important;
}
.mr70 {
  margin-right: 70px !important;
}
.pr70 {
  padding-right: 70px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.pb70 {
  padding-bottom: 70px !important;
}
.ml70 {
  margin-left: 70px !important;
}
.pl70 {
  padding-left: 70px !important;
}
.mt71 {
  margin-top: 71px !important;
}
.pt71 {
  padding-top: 71px !important;
}
.mr71 {
  margin-right: 71px !important;
}
.pr71 {
  padding-right: 71px !important;
}
.mb71 {
  margin-bottom: 71px !important;
}
.pb71 {
  padding-bottom: 71px !important;
}
.ml71 {
  margin-left: 71px !important;
}
.pl71 {
  padding-left: 71px !important;
}
.mt72 {
  margin-top: 72px !important;
}
.pt72 {
  padding-top: 72px !important;
}
.mr72 {
  margin-right: 72px !important;
}
.pr72 {
  padding-right: 72px !important;
}
.mb72 {
  margin-bottom: 72px !important;
}
.pb72 {
  padding-bottom: 72px !important;
}
.ml72 {
  margin-left: 72px !important;
}
.pl72 {
  padding-left: 72px !important;
}
.mt73 {
  margin-top: 73px !important;
}
.pt73 {
  padding-top: 73px !important;
}
.mr73 {
  margin-right: 73px !important;
}
.pr73 {
  padding-right: 73px !important;
}
.mb73 {
  margin-bottom: 73px !important;
}
.pb73 {
  padding-bottom: 73px !important;
}
.ml73 {
  margin-left: 73px !important;
}
.pl73 {
  padding-left: 73px !important;
}
.mt74 {
  margin-top: 74px !important;
}
.pt74 {
  padding-top: 74px !important;
}
.mr74 {
  margin-right: 74px !important;
}
.pr74 {
  padding-right: 74px !important;
}
.mb74 {
  margin-bottom: 74px !important;
}
.pb74 {
  padding-bottom: 74px !important;
}
.ml74 {
  margin-left: 74px !important;
}
.pl74 {
  padding-left: 74px !important;
}
.mt75 {
  margin-top: 75px !important;
}
.pt75 {
  padding-top: 75px !important;
}
.mr75 {
  margin-right: 75px !important;
}
.pr75 {
  padding-right: 75px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.pb75 {
  padding-bottom: 75px !important;
}
.ml75 {
  margin-left: 75px !important;
}
.pl75 {
  padding-left: 75px !important;
}
.mt76 {
  margin-top: 76px !important;
}
.pt76 {
  padding-top: 76px !important;
}
.mr76 {
  margin-right: 76px !important;
}
.pr76 {
  padding-right: 76px !important;
}
.mb76 {
  margin-bottom: 76px !important;
}
.pb76 {
  padding-bottom: 76px !important;
}
.ml76 {
  margin-left: 76px !important;
}
.pl76 {
  padding-left: 76px !important;
}
.mt77 {
  margin-top: 77px !important;
}
.pt77 {
  padding-top: 77px !important;
}
.mr77 {
  margin-right: 77px !important;
}
.pr77 {
  padding-right: 77px !important;
}
.mb77 {
  margin-bottom: 77px !important;
}
.pb77 {
  padding-bottom: 77px !important;
}
.ml77 {
  margin-left: 77px !important;
}
.pl77 {
  padding-left: 77px !important;
}
.mt78 {
  margin-top: 78px !important;
}
.pt78 {
  padding-top: 78px !important;
}
.mr78 {
  margin-right: 78px !important;
}
.pr78 {
  padding-right: 78px !important;
}
.mb78 {
  margin-bottom: 78px !important;
}
.pb78 {
  padding-bottom: 78px !important;
}
.ml78 {
  margin-left: 78px !important;
}
.pl78 {
  padding-left: 78px !important;
}
.mt79 {
  margin-top: 79px !important;
}
.pt79 {
  padding-top: 79px !important;
}
.mr79 {
  margin-right: 79px !important;
}
.pr79 {
  padding-right: 79px !important;
}
.mb79 {
  margin-bottom: 79px !important;
}
.pb79 {
  padding-bottom: 79px !important;
}
.ml79 {
  margin-left: 79px !important;
}
.pl79 {
  padding-left: 79px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.mr80 {
  margin-right: 80px !important;
}
.pr80 {
  padding-right: 80px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.ml80 {
  margin-left: 80px !important;
}
.pl80 {
  padding-left: 80px !important;
}
.mt81 {
  margin-top: 81px !important;
}
.pt81 {
  padding-top: 81px !important;
}
.mr81 {
  margin-right: 81px !important;
}
.pr81 {
  padding-right: 81px !important;
}
.mb81 {
  margin-bottom: 81px !important;
}
.pb81 {
  padding-bottom: 81px !important;
}
.ml81 {
  margin-left: 81px !important;
}
.pl81 {
  padding-left: 81px !important;
}
.mt82 {
  margin-top: 82px !important;
}
.pt82 {
  padding-top: 82px !important;
}
.mr82 {
  margin-right: 82px !important;
}
.pr82 {
  padding-right: 82px !important;
}
.mb82 {
  margin-bottom: 82px !important;
}
.pb82 {
  padding-bottom: 82px !important;
}
.ml82 {
  margin-left: 82px !important;
}
.pl82 {
  padding-left: 82px !important;
}
.mt83 {
  margin-top: 83px !important;
}
.pt83 {
  padding-top: 83px !important;
}
.mr83 {
  margin-right: 83px !important;
}
.pr83 {
  padding-right: 83px !important;
}
.mb83 {
  margin-bottom: 83px !important;
}
.pb83 {
  padding-bottom: 83px !important;
}
.ml83 {
  margin-left: 83px !important;
}
.pl83 {
  padding-left: 83px !important;
}
.mt84 {
  margin-top: 84px !important;
}
.pt84 {
  padding-top: 84px !important;
}
.mr84 {
  margin-right: 84px !important;
}
.pr84 {
  padding-right: 84px !important;
}
.mb84 {
  margin-bottom: 84px !important;
}
.pb84 {
  padding-bottom: 84px !important;
}
.ml84 {
  margin-left: 84px !important;
}
.pl84 {
  padding-left: 84px !important;
}
.mt85 {
  margin-top: 85px !important;
}
.pt85 {
  padding-top: 85px !important;
}
.mr85 {
  margin-right: 85px !important;
}
.pr85 {
  padding-right: 85px !important;
}
.mb85 {
  margin-bottom: 85px !important;
}
.pb85 {
  padding-bottom: 85px !important;
}
.ml85 {
  margin-left: 85px !important;
}
.pl85 {
  padding-left: 85px !important;
}
.mt86 {
  margin-top: 86px !important;
}
.pt86 {
  padding-top: 86px !important;
}
.mr86 {
  margin-right: 86px !important;
}
.pr86 {
  padding-right: 86px !important;
}
.mb86 {
  margin-bottom: 86px !important;
}
.pb86 {
  padding-bottom: 86px !important;
}
.ml86 {
  margin-left: 86px !important;
}
.pl86 {
  padding-left: 86px !important;
}
.mt87 {
  margin-top: 87px !important;
}
.pt87 {
  padding-top: 87px !important;
}
.mr87 {
  margin-right: 87px !important;
}
.pr87 {
  padding-right: 87px !important;
}
.mb87 {
  margin-bottom: 87px !important;
}
.pb87 {
  padding-bottom: 87px !important;
}
.ml87 {
  margin-left: 87px !important;
}
.pl87 {
  padding-left: 87px !important;
}
.mt88 {
  margin-top: 88px !important;
}
.pt88 {
  padding-top: 88px !important;
}
.mr88 {
  margin-right: 88px !important;
}
.pr88 {
  padding-right: 88px !important;
}
.mb88 {
  margin-bottom: 88px !important;
}
.pb88 {
  padding-bottom: 88px !important;
}
.ml88 {
  margin-left: 88px !important;
}
.pl88 {
  padding-left: 88px !important;
}
.mt89 {
  margin-top: 89px !important;
}
.pt89 {
  padding-top: 89px !important;
}
.mr89 {
  margin-right: 89px !important;
}
.pr89 {
  padding-right: 89px !important;
}
.mb89 {
  margin-bottom: 89px !important;
}
.pb89 {
  padding-bottom: 89px !important;
}
.ml89 {
  margin-left: 89px !important;
}
.pl89 {
  padding-left: 89px !important;
}
.mt90 {
  margin-top: 90px !important;
}
.pt90 {
  padding-top: 90px !important;
}
.mr90 {
  margin-right: 90px !important;
}
.pr90 {
  padding-right: 90px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.pb90 {
  padding-bottom: 90px !important;
}
.ml90 {
  margin-left: 90px !important;
}
.pl90 {
  padding-left: 90px !important;
}
.mt91 {
  margin-top: 91px !important;
}
.pt91 {
  padding-top: 91px !important;
}
.mr91 {
  margin-right: 91px !important;
}
.pr91 {
  padding-right: 91px !important;
}
.mb91 {
  margin-bottom: 91px !important;
}
.pb91 {
  padding-bottom: 91px !important;
}
.ml91 {
  margin-left: 91px !important;
}
.pl91 {
  padding-left: 91px !important;
}
.mt92 {
  margin-top: 92px !important;
}
.pt92 {
  padding-top: 92px !important;
}
.mr92 {
  margin-right: 92px !important;
}
.pr92 {
  padding-right: 92px !important;
}
.mb92 {
  margin-bottom: 92px !important;
}
.pb92 {
  padding-bottom: 92px !important;
}
.ml92 {
  margin-left: 92px !important;
}
.pl92 {
  padding-left: 92px !important;
}
.mt93 {
  margin-top: 93px !important;
}
.pt93 {
  padding-top: 93px !important;
}
.mr93 {
  margin-right: 93px !important;
}
.pr93 {
  padding-right: 93px !important;
}
.mb93 {
  margin-bottom: 93px !important;
}
.pb93 {
  padding-bottom: 93px !important;
}
.ml93 {
  margin-left: 93px !important;
}
.pl93 {
  padding-left: 93px !important;
}
.mt94 {
  margin-top: 94px !important;
}
.pt94 {
  padding-top: 94px !important;
}
.mr94 {
  margin-right: 94px !important;
}
.pr94 {
  padding-right: 94px !important;
}
.mb94 {
  margin-bottom: 94px !important;
}
.pb94 {
  padding-bottom: 94px !important;
}
.ml94 {
  margin-left: 94px !important;
}
.pl94 {
  padding-left: 94px !important;
}
.mt95 {
  margin-top: 95px !important;
}
.pt95 {
  padding-top: 95px !important;
}
.mr95 {
  margin-right: 95px !important;
}
.pr95 {
  padding-right: 95px !important;
}
.mb95 {
  margin-bottom: 95px !important;
}
.pb95 {
  padding-bottom: 95px !important;
}
.ml95 {
  margin-left: 95px !important;
}
.pl95 {
  padding-left: 95px !important;
}
.mt96 {
  margin-top: 96px !important;
}
.pt96 {
  padding-top: 96px !important;
}
.mr96 {
  margin-right: 96px !important;
}
.pr96 {
  padding-right: 96px !important;
}
.mb96 {
  margin-bottom: 96px !important;
}
.pb96 {
  padding-bottom: 96px !important;
}
.ml96 {
  margin-left: 96px !important;
}
.pl96 {
  padding-left: 96px !important;
}
.mt97 {
  margin-top: 97px !important;
}
.pt97 {
  padding-top: 97px !important;
}
.mr97 {
  margin-right: 97px !important;
}
.pr97 {
  padding-right: 97px !important;
}
.mb97 {
  margin-bottom: 97px !important;
}
.pb97 {
  padding-bottom: 97px !important;
}
.ml97 {
  margin-left: 97px !important;
}
.pl97 {
  padding-left: 97px !important;
}
.mt98 {
  margin-top: 98px !important;
}
.pt98 {
  padding-top: 98px !important;
}
.mr98 {
  margin-right: 98px !important;
}
.pr98 {
  padding-right: 98px !important;
}
.mb98 {
  margin-bottom: 98px !important;
}
.pb98 {
  padding-bottom: 98px !important;
}
.ml98 {
  margin-left: 98px !important;
}
.pl98 {
  padding-left: 98px !important;
}
.mt99 {
  margin-top: 99px !important;
}
.pt99 {
  padding-top: 99px !important;
}
.mr99 {
  margin-right: 99px !important;
}
.pr99 {
  padding-right: 99px !important;
}
.mb99 {
  margin-bottom: 99px !important;
}
.pb99 {
  padding-bottom: 99px !important;
}
.ml99 {
  margin-left: 99px !important;
}
.pl99 {
  padding-left: 99px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.pt100 {
  padding-top: 100px !important;
}
.mr100 {
  margin-right: 100px !important;
}
.pr100 {
  padding-right: 100px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.pb100 {
  padding-bottom: 100px !important;
}
.ml100 {
  margin-left: 100px !important;
}
.pl100 {
  padding-left: 100px !important;
}
.tac {
  text-align: center;
}
.tal {
  text-align: left;
}
.tar {
  text-align: right;
}
.inlineblock {
  display: inline-block;
}
.nopad {
  padding: 0 !important;
}
.full {
  width: 100%;
  display: inline-block;
}
.displaynone {
  display: none;
}
/*GLOBAL*/
.elementor-1170101 .elementor-element.elementor-element-e5340d2 {
  margin-top: 100px;
  margin-bottom: 0px;
}
.bg-primary,
.bg-primary.text-white {
  background-color: #fad2b9 !important;
  color: #13727d !important;
}
.breadcrumb {
  margin-bottom: 45px;
  text-align: center;
}
#exCollapsingNavbar3,
#exCollapsingNavbar10 {
  margin-top: 0.3125rem;
}
.block-categories .category-sub-menu li[data-depth="1"],
.product-prices div {
  margin-bottom: 0.3125rem;
}
.product-miniature .product-price-and-shipping {
  color: #7a7a7a;
  font-size: 1.2rem;
}
.product-price {
  color: #1d6e75;
}
.product-flags {
  width: auto;
}

.btn-primary,
.btn-primary:hover {
  color: #fff;
  background-color: #3e3e3e;
  font-family: "Kepler Std Condensed Display";
  font-size: 1.5rem;
  border-color: transparent;
  transition: 0.5s;
}
.btn-primary:hover {
  background-color: #fad2b9;
}
img {
  max-width: 100%;
  height: auto;
}
a:hover {
  color: #1d6e75;
}
.h1,
h1 {
  font-size: 2rem;
}
#wrapper {
  padding: 30px 15px;
}
.page-content.page-cms {
  padding: 1.25rem 0;
  text-align: justify;
  background: #fff;
}

#checkout #search_widget {
  display: block;
}
body#checkout #header .header-nav {
  padding: 0;
}
/*END GLOBAL*/
/*HEADER*/
#header,
#header .header-top {
  background-color: #ffffff00;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0.5rem 0 0;
}
#header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 15px;
}
#index #header {
  background-color: #f7f4e9;
}
#block_myaccount_infos .myaccount-title a,
#header a,
#wrapper .breadcrumb li a,
.block-contact .block-contact-title,
.block-contact .navbar-toggler .material-icons,
.linklist .blockcms-title a {
  color: #1d6e75;
}
#main .page-content,
#main .page-footer,
#main .page-header {
  text-align: center;
}
#_desktop_cart span.cart-products-count,
.cart-products-count {
  display: inline-block;
  position: absolute;
  left: -3px;
  top: -25px;
  color: white;
  background: #f8ceba;
  width: 35px;
  height: 35px;
  line-height: 38px;
  text-align: center;
  border-radius: 50%;
  padding: 0;
  z-index: -1;
}
/*END HEADER*/

/*MENU*/
#_desktop_top_menu {
  width: 100%;
  text-align: center;
  margin: 0rem 0 0;
}
#_desktop_logo {
  margin-top: -54px;
}
#header .header-top a[data-depth="0"] {
  color: #000000;

  font-family: "Kepler Std Light Condensed Display", serif;
  padding: 12px 0.5rem 8px;
  font-size: 1.8rem;
}

#header .top-menu a[data-depth="0"]:hover {
  color: #000000;
  font-family: "Kepler Std Light Condensed Display", serif;
  background: #fad2b9;
  font-size: 1.8rem;
}
.top-menu .sub-menu {
  background-color: #ffffff;
  /* display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: center;
    align-content: center; */
  margin: 0;
  width: auto;
  padding: 1rem 1rem;
  transition:
    opacity 150ms ease,
    visibility 1ms ease;
  text-align: center;
  top: 59px !important;
}
#index .top-menu .sub-menu {
  background-color: #ffffff96;
}

#index .top-menu a[data-depth="1"],
#index .top-menu a[data-depth="2"] {
  color: white !important;
  padding: 0;
}

#index .top-menu a[data-depth="1"]:hover,
#index .top-menu a[data-depth="2"]:hover {
  color: #54595f !important;
}

.top-menu a[data-depth="1"],
.top-menu a[data-depth="2"] {
  color: #54595f !important;
  padding: 0;
}
.top-menu a[data-depth="1"]:hover,
.top-menu a[data-depth="2"]:hover {
  color: #000000 !important;
}

#index #header .header-top a[data-depth="0"] {
  color: rgb(0, 0, 0);
}
#index #header .top-menu a[data-depth="0"]:hover,
#index #header .top-menu[data-depth="0"] > li:hover {
  color: #1d6e75;
  background: #fad2b9;
}
#index #header .header-top .top-menu[data-depth="0"] > li:hover > a {
  color: #1d6e75;
}
#index .top-menu a[data-depth="1"],
#index .top-menu a[data-depth="2"] {
  color: #000000 !important;
}
#header .top-menu li:last-child a[data-depth="0"]:hover,
#index #header .top-menu li:last-child a[data-depth="0"]:hover {
  background-color: #f8ceba;
  color: white;
}
#index .top-menu a[data-depth="1"]:hover,
#index .top-menu a[data-depth="2"]:hover {
  color: #1d6e75 !important;
}
.top-menu .sub-menu ul[data-depth="1"] > li {
  float: left;
  margin: 0 0 10px 0;
  width: 100%;
  text-align: left;
}
#header .menu > ul > li.category:last-child {
  background: none;
  border-radius: 7px;
}
#header .menu > ul > li.category:last-child a {
  color: #fff;
}

#header .menu > ul > li.current {
  background: transparent !important;
}
#header .menu > ul > li.current a {
  color: #000000;
}
#header .menu > ul > li.category:last-child {
  font-size: 0;
  top: -7px;
  position: relative;
}
#header .menu > ul > li.category:last-child a.dropdown-item {
  width: auto;
  display: inline-block;
  background-color: #f8ceba;
  text-align: center;
  vertical-align: middle;
  height: 32px;
  padding: 12px 0.5rem 8px;
}
#header .menu > ul > li.category:last-child:before,
#header .menu > ul > li.category:last-child:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border: 16px solid transparent;
  vertical-align: middle;
}
#header .menu > ul > li.category:last-child:before {
  border-top-color: #f8ceba;
  border-bottom-color: #f8ceba;
  border-right-color: #f8ceba;
  border-right: 0px solid #f8ceba;
}
#header .menu > ul > li.category:last-child:after {
  border-left-color: #f8ceba;
}

/*END MENU*/

/*PANIER - CART*/
.blockcart {
  float: right;
  color: #000000;
}
#index .blockcart {
  color: rgb(0, 0, 0);
}
#_desktop_cart {
  position: absolute;
  right: 0.5rem;
  top: 45px;
}
#_desktop_cart span {
  display: none;
}
#header .menu,
#header .menu > ul > li {
  display: inline-block;
}
#header .menu > ul > li {
  position: relative;
}
#_desktop_cart .material-icons {
  font-size: 26px;
  line-height: 30px;
}
/*END PANIER - CART*/

/*LANGUAGE*/
#_desktop_language_selector {
  position: absolute;
  right: 80px;
  top: 45px;
}
#_desktop_language_selector *,
#header #_desktop_language_selector * {
  color: #1d6e75;
}
#index #_desktop_language_selector * {
  color: rgb(0, 0, 0);
}
#index #_desktop_language_selector .dropdown-menu * {
  color: #1d6e75;
}
#index #_desktop_language_selector a {
  color: #1d6e75;
}
#_desktop_language_selector button {
  line-height: 40px;
}

#_desktop_language_selector .dropdown .expand-more {
  line-height: 17px;
  font-size: 27px;
}
#_desktop_language_selector .dropdown-menu {
  min-width: 0;
}
#_desktop_language_selector .dropdown-item {
  padding: 3px 1rem;
}
#_desktop_language_selector li a:hover {
  background: #277e88;
  color: rgb(0, 0, 0) !important;
}

/*END LANGUAGE*/

/*USER CONNEXION INFO*/
#_desktop_user_info {
  position: absolute;
  right: 45px;
  top: 45px;
}

#_desktop_user_info a span {
  display: none;
}

#_desktop_user_info a .material-icons {
  color: #000000;
  font-size: 30px;
}
#index #_desktop_user_info a .material-icons {
  color: rgb(0, 0, 0);
  font-size: 30px;
}
/*END USER CONNEXION INFO*/

/*ELEMENTOR*/
/*SECTION 1 HOME*/
.elementor-element-7e82aef6 .elementor-element-populated {
  padding: 60vh 0px 5vh 20px !important;
}

.elementor-element-0fefbe7 .elementor-element-populated {
  padding: 60vh 0px 5vh 20px !important;
}

/*END SECTION 1 HOME*/
a.elementor-button:not(#e),
a.elementor-button:not(#e):focus,
a.elementor-button:not(#e):hover,
a.elementor-button:not(#e):visited {
  color: #000000 !important;
}
/*END ELEMENTOR*/
#header .logo {
  max-width: 100%;
  height: 70px;
  width: auto;
  cursor: pointer;
}

section#content {
  margin: 52px 0 0;
}
#index section#content {
  margin: 0px 0 0;
}
#header .header-nav .user-info {
  margin-left: 0;
}
#header .header-nav {
  border-bottom: none;
}
.elementor-column-gap-default
  > .elementor-row
  > .elementor-column
  > .elementor-element-populated {
  padding: 0px 10px;
}
.elementor-element-1666edbd .elementor-widget {
  margin: 20px auto 0;
}
.elementor-1170101 .elementor-element.elementor-element-983071f {
  margin-top: 120px;
  margin-bottom: 15px;
}
.elementor-1170101 .elementor-element.elementor-element-e5340d2 {
  margin-top: 60px;
  margin-bottom: 0px;
}
.elementor-1170101
  .elementor-element.elementor-element-1f480fcb
  .elementor-text-editor {
  text-align: center;
}
/* FOOTER CATS */
.block-categories {
  padding: 0;
}
.block-categories .category-sub-menu {
  margin-top: 0rem;
}
.block-categories .category-sub-menu li[data-depth="0"] > a {
  padding-bottom: 0;
  margin: 0;
}
.category-cover {
  margin-bottom: 4rem;
}
#products .products,
.featured-products .products,
.product-accessories .products {
  justify-content: center;
}
.brands-sort .dropdown-menu,
.products-sort-order .dropdown-menu,
.suppliers-sort .dropdown-menu {
  width: calc(100% - 30px);
}
.products-sort-order.dropdown {
  position: relative;
  max-width: 200px;
}
.brands-sort .select-list,
.products-sort-order .select-list,
.suppliers-sort .select-list {
  display: block;
  padding: 0.625rem 1.25rem;
  color: #1d6e75;
  width: 100%;
}
.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover {
  color: #232323;
  text-decoration: none;
  background: #fad2b9;
}
.product-flags li.product-flag.on-sale {
  background: #fad2b9;
  color: #000000;
  border-radius: 5px;
  width: auto;
}
.page-content.page-cms ul {
  list-style: unset;
}
.product-flags li.product-flag {
  font-size: 11px;
  line-height: 26px;
  padding: 4px 0.4375rem 0px;
}
.product-flags li.product-flag.pack {
  background: #13727d;
  border-radius: 50%;
  line-height: 43px;
  height: 46px;
  width: 46px;
  min-width: 0;
  min-height: 0;
}
li.product-flag.discount {
  font-size: 16px;
  line-height: 26px;
  padding: 4px 4px 1px;
}

span.discount.discount-amount {
  display: none;
}
.product-miniature .highlighted-informations .quick-view:hover {
  color: #1d6e75;
}
#contact-infos img {
  margin: -33px 0 32px;
}
.footer-container li {
  margin-bottom: 0.3125rem;
  list-style: none;
}
/* END FOOTER CATS */

/* FACETS - FILTRES */
.facet-dropdown.open > .select-title {
  background: #f6f6f6;
  border: none;
  left: 0;
}
#left-column {
  padding: 0;
}

#search_filters {
  padding: 15px 15px;
  margin-bottom: 0;
  background: #f8ceba26;
  border-top: 1px solid #f8ceba;
  border-bottom: 1px solid #f8ceba;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
#search_filters_brands,
#search_filters_suppliers {
  display: none;
}
#search_filters .facet,
#search_filters_brands .facet,
#search_filters_suppliers .facet {
  padding: 0 15px 0 0;
  min-width: 175px;
  max-width: 100%;
  margin: 10px 0;
}
#search_filters .facet:last-child,
#search_filters_brands .facet:last-child,
#search_filters_suppliers .facet:last-child {
  padding: 0;
}
#search_filters .facet .facet-title {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#_desktop_search_filters_clear_all {
  display: none;
}
.facet-dropdown.open,
.facet-dropdown {
  border: 0;
  position: relative;
  background: #fff;
  border: 1px solid #f8ceba;
  font-size: 14px;
}
.facet-dropdown .select-list {
  padding: 10px 10px 7px;
  background: #f6f6f6;
  width: 100%;
  color: #1d6e75;
  border-bottom: 1px solid #13727d12;
  line-height: 14px;
  font-size: 14px;
}
.facet-dropdown .select-list:hover {
  color: #1d6e75;
  background: #fad2b9;
}
.facet-dropdown .dropdown-menu {
  left: 0;
  min-width: 0;
}
.facet-dropdown.open > .select-title,
.facet-dropdown > .select-title,
a:not([href]):not([tabindex]) {
  background: none;
  border: none;
  padding: 0.625rem 0;
  color: #13727d;
}
.active_filters {
  padding: 0.625rem 1.875rem 0;
  margin-bottom: 1.25rem;
  background: #fad2b9;
  margin-left: -15px;
  margin-right: -15px;
}
/*#js-product-list-top {
  margin-top: 4rem;
}
  
/* END FACETS - FILTRES */
#category #wrapper,
#search #wrapper {
  text-align: center;
}
#category-description {
  max-width: 100%;
  width: 800px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#category-description ul {
  text-align: left;
  max-width: 100%;
  margin: 0.5rem auto;
}
.product-miniature .thumbnail-container:focus .highlighted-informations,
.product-miniature .thumbnail-container:hover .highlighted-informations,
.product-miniature
  .thumbnail-container:focus
  .highlighted-informations.no-variants,
.product-miniature
  .thumbnail-container:hover
  .highlighted-informations.no-variants {
  top: 0;
  padding: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.product-miniature .thumbnail-container .thumb_features {
  position: relative;
  height: auto;
}
#category .product-features {
  margin-top: 0;
  margin-left: 0;
  text-align: left;
}
#category .product-features #flexbox {
  display: -webkit-flex;
  -webkit-flex-direction: row;
  -webkit-flex-wrap: wrap;
  width: 100%;
  height: auto;
  min-height: 0;
  max-width: 100%;
  margin-bottom: 0;
}
#category .product-features #flexbox #box {
  margin: 0 auto 15px;
}

#category #flexbox .box {
  -webkit-flex: 100% 1;
  width: 100%;
}
.product-miniature dl.data-sheet#flexbox,
#category .product-miniature dl.data-sheet#flexbox,
#search .product-miniature dl.data-sheet#flexbox {
  -webkit-flex-direction: column;
  width: 100%;
}

.product-miniature dl.data-sheet#flexbox .box,
#category .product-miniature dl.data-sheet#flexbox .box,
#search .product-miniature dl.data-sheet#flexbox .box {
  -webkit-flex: unset;
}
#category .product img {
  max-width: 300px;
  height: auto;
}

.block-category .block-category-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.block-category {
  min-height: 0;
  margin-bottom: 30px;
  padding: 0 20px;
}

/* PRODUCT */
#product #content {
  max-width: none;
}
#product-modal .modal-content .modal-body .product-cover-modal,
.product-cover img {
  width: auto;
  height: auto;
}
#product-modal .modal-content .modal-body .product-images img {
  height: auto;
}
.qty .bootstrap-touchspin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.product-images > li.thumb-container > .thumb.selected,
.product-images > li.thumb-container > .thumb:hover,
#product-modal .modal-content .modal-body .product-images img:hover {
  border: #1d6e75 1px solid;
  height: auto;
}
.product-cover,
.js-qv-mask {
  display: inline-block;
  margin: 0 auto;
  vertical-align: top;
}
.product-images > li.thumb-container {
  display: block;
  clear: both;
  vertical-align: middle;
}

.images-container.js-images-container {
  vertical-align: top;
  display: flex;
  flex-wrap: nowrap;
  align-items: start;
}
.product-features {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
  margin-left: 0;
  text-align: left;
  max-width: 100%;
}
.product-quantities {
  margin-bottom: 0.5rem;
  display: inline-block;
}
.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 70%;
  flex: 1 0 60%;
  min-height: 0;
  padding: 5px 0px;
  margin-right: 0rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
  text-transform: capitalize;
  word-break: normal;
  background: none;
  line-height: 17px;
  font-size: 14px;
}

.product-features > dl.data-sheet dt.name {
  /* font-weight: 300; */
  /* background: none; */
  -ms-flex: 1 0 8%;
  flex: 1 0 8%;
  text-align: left;
  margin-right: 1rem;
}
#flexbox {
  display: -webkit-flex;
text-align: center;
  -webkit-flex-direction: row;
  -webkit-flex-wrap: wrap;
  width: 90%;
  height: auto;
  min-height: 200px;
  max-width: 100%;
}

#flexbox .box {
  -webkit-flex: 200px 1;
  display: flex;
  flex-wrap: nowrap;
  align-items: start;
  margin: 0 15px 15px 0;
}
#cateogry #flexbox .box {
  -webkit-flex: 200px 1;
  display: flex;
  flex-wrap: nowrap;
  align-items: start;
  margin: 0 15px 0px 0;
}

#flexbox .box.bigger {
  -webkit-flex: 330px 1;
}
.product-features > dl.data-sheet dd.value span {
  font-size: 18px;
  color: #3e3e3e;
  margin-bottom: 5px;
  display: inline-block;
  font-weight: 700;
}
.btn.btn-primary.plusinfos {
  text-transform: none;
  padding: 7px 14px;
}
.btn.btn-primary.healandcare {
  text-transform: none;
  padding: 7px 14px;
  background-color: #f1b28b;
}
.soinetentretient {
  color: #f7f4e9;
}
.nav-item .nav-link,
.nav-item .nav-separtor {
  font-weight: 600;
  color: #7a7a7a;
}
.tabser {
  display: inline-block;
  width: 100%;
}

.tabs .nav-tabs .nav-link {
  color: #1d6e75;
  border: 0 solid #1d6e75;
}
.tabs .nav-tabs .nav-link.active {
  color: #f7f4e9;
  background: #fad2b9;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border: 0;
  border-bottom: #fad2b9 2px solid;
}
#product h1 {
  text-transform: none;
  font-size: 2.4rem;
  letter-spacing: -0.08rem;
}

.product-reference span {
  margin-bottom: 0.5rem;
}

.product-prices.js-product-prices {
  margin: 2rem 0 1rem;
}

#product .product-prices div {
  margin-bottom: 0 !important;
}

.current-price-value {
  font-size: 32px;
  color: #3e3e3e;
  font-weight: 100;
}

#product .product-price {
  margin: 0 !important;
}

.product-discounts {
  margin-bottom: 0;
}
#product .tabs {
  margin-bottom: 4rem;
}
.product-description {
  max-height: 300px;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.product-description.active {
  max-height: none;
}
#product .tabs {
  margin-bottom: 4rem;
  position: relative;
}

.depli {
  position: absolute;
  bottom: 0;
  height: 120px;
  width: 100%;
  box-shadow: 0 0 0px 0px #000;
  text-align: center;
  font-size: 53px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,1d6e75+100 */
  background: #f7f4e9; /* Old browsers */
  background: -moz-linear-gradient(
    to bottom,
    #ffffff00 0%,
    #f7f4e9 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    to bottom,
    #ffffff00 0%,
    #f7f4e9 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #ffffff00 0%,
    #f7f4e9 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#F7F4E9',GradientType=0 ); /* IE6-9 */
  vertical-align: baseline;
  line-height: 70px;
}
.product-description.active {
  padding-bottom: 120px;
}
.plus {
  background: #f7f4e9;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 40px;
  font-size: 36px;
  text-align: center;
  color: #1d6e75;
  padding: 0 0 0 2px;
  margin: 0 auto;
  cursor: pointer;
  top: 40px;
  position: relative;
}
.accordeon {
  max-width: 800px;
  margin: 0 auto 4rem;
}

.accordeon h3,
.product-accessories h3,
.featured-products h2 {
  text-align: center;
  color: black !important;
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 2rem;
}
.accordeon .plus {
  position: absolute;
  right: 5px;
  top: 18px;
  margin: 0px 0;
  background: none;
  font-size: 36px;
  font-weight: 500;
}

.accordeon .item_acc {
  position: relative;
}
.featured-products h2.h3.product-title {
  color: #fad2b9 !important;
  font-size: 1.125rem;
}

.product-accessories {
  margin: 5% auto 4rem;
  text-align: center;
}
.item_acc {
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.12);
  margin-bottom: 32px;
  padding: 30px 30px 30px 30px;
  overflow: hidden;
}

.accordeon .content {
  border-width: 0px;
  border-bottom-color: rgba(191, 191, 191, 0);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8em;
  padding: 15px 0 0;
}

.accordeon h2 {
  color: #1d6e75 !important;
  text-transform: uppercase;
  font-size: 18px;
  cursor: pointer;
  line-height: 18px;
  margin: 0;
}
.blockreassurance_product > div {
  display: inline-block;
  margin-bottom: 1rem;
}
.blockreassurance_product {
  margin-bottom: 1rem;
  text-align: center;
}

.blockreassurance_product .item-product {
  width: 100%;
  margin: 0 auto 15px;
  height: 40px;
}

.blockreassurance_product .block-title,
.blockreassurance .block-title {
  color: #f8ceba !important;
  font-family: "Josefin Sans", sans-serif;
  font-size: 24px;
  margin-bottom: 5px;
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 15px auto 5px;
}
.blockreassurance > div > div {
  margin: 0 0 1rem;
}

.blockreassurance {
  padding: 0;
  margin: 0 0 3rem;
}
.blockreassurance_product p,
.blockreassurance p {
  font-family: "Josefin Sans", sans-serif;
  font-size: 14px;
  color: #54595f !important;
}
#blockcart-modal .product-name {
  font-size: 1.125rem;
  color: #1d6e75;
}
/* .accordeon .title:after {
    font-family: 'fac';
    font-weight: 900;
    content: "\f0d7";
} */
#main .images-container .js-qv-mask.scroll {
  width: auto;
  margin: 0 auto;
}
.scroll-box-arrows.scroll {
  display: none;
}
.product-cover .layer {
  background: rgb(29 110 117 / 7%);
}
#product .infos {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
#product .product-flags {
  right: 0;
  left: initial;
}
/* ===== ONGLET SOINS ET ENTRETIEN ===== */
.product-soins {
  font-family: 'Acumin pro light', sans-serif;
}

.product-soins b,
.product-soins strong {
  display: block;
  color: #3E3E3E;
  font-family: 'Kepler Std Light Condensed Display', serif;
  font-size: 22px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 32px 0 12px;
}

.product-soins p:first-of-type b,
.product-soins p:first-of-type strong {
  margin-top: 0;
}

.product-soins p,
.product-soins li {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 16px;
  line-height: 1.9;
  color: #3b3b3b;
}

.product-soins ul {
  padding-left: 20px;
  margin: 0 0 16px;
}

.product-soins a {
  color: #1d6e75;
  text-decoration: underline;
}
/* END PRODUCT */
.play_video {
  position: relative;
  width: 100%;
  left: 0;
  background-size: cover !important;
  z-index: 1;
  height: auto !important;
  cursor: pointer;
  -webkit-transition: all 150ms ease-in-out;
  -moz-transition: all 150ms ease-in-out;
  -ms-transition: all 150ms ease-in-out;
  -o-transition: all 150ms ease-in-out;
  transition: all 150ms ease-in-out;
}
.play_video:hover {
  -moz-transform: scale(1.1) rotate(3deg);
  -webkit-transform: scale(1.1) rotate(3deg);
  -o-transform: scale(1.1) rotate(3deg);
  -ms-transform: scale(1.1) rotate(3deg);
  transform: scale(1.1) rotate(3deg);
}
span.video_block {
  display: inline-block;
  width: 100%;
  overflow: hidden;
  position: relative;
  height: auto;
}
span.video_block.active {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.75);
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}
#product .video_block.active {
  z-index: 1000;
}
#product .openvideo {
  display: inline-block;
  width: 100%;
  height: 100%;
  top: 0;
  position: relative;
  max-height: 500px;
  width: auto;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
#product .openvideo {
  font-family: "FontAwesome";
  color: #f1b28b;
  font-size: 99px;
  text-align: center;
  line-height: 92px;
  cursor: pointer;
}
#product .openvideo:hover {
  opacity: 0.8;
}
#product .openvideo:before {
  content: "\f16a";
}
.video_block.active iframe {
  width: 1024px;
  max-width: 100%;
  height: 600px;
  left: initial;
  top: initial;
  visibility: visible;
  position: relative !important;
  /* margin-top: 180px; */
}

#product .video_block.active .video_block.active {
  z-index: 10;
}
#product .play_video,
.play_video {
  z-index: -1;
}
#product .play_video.active,
.play_video.active {
  position: fixed;
  width: 100%;
}
.play_video.active {
  height: 100% !important;
}
.minivideo.thumb:hover {
  border: none !important;
}
/* TUNNER PAIEMENT ET COMPTE */
body#checkout section.checkout-step.-reachable.-current .step-number {
  background-color: #f8ceba;
  padding: 4px 0 0 2px;
}
.custom-radio input[type="radio"]:checked + span {
  background-color: #13727d;
}
.done {
  color: #1d6e75;
}
.has-success .custom-control,
.has-success .form-check-inline,
.has-success .form-check-label,
.has-success .form-control-feedback,
.has-success .form-control-label {
  color: #016d76;
  font-weight: 600;
}
.has-success .form-control {
  border-color: #f8ceba;
  color: #016d76;
}
body#checkout #delivery textarea,
body#checkout #gift_message textarea {
  max-width: 100%;
  margin-bottom: 10px;
  padding: 1rem;
}
body#checkout section.checkout-step .delivery-options > .row {
  border: none;
}
body#checkout section.checkout-step .content {
  padding: 0;
  padding-top: 1rem;
}
.card-block {
  padding: 0rem 1.25rem 0.5rem;
}
.card-block.cart-summary-totals .cart-summary-line {
  padding: 0.2rem 0rem 0;
  margin: 0;
}
.card-block.cart-summary-totals .cart-summary-line.cart-total {
  padding: 0.5rem 0;
}
body#checkout
  .cart-grid-right
  .card
  .cart-summary-subtotals-container
  .cart-summary-line:not(:last-child) {
  margin-bottom: 0.5rem;
}
body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
  padding: 0.5rem 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.cart-summary-products.js-cart-summary-products a {
  font-weight: 700;
}

div#cart-subtotal-shipping span {
  color: #13727d;
}
.block-promo {
  margin-top: 1rem;
}
body#checkout .cart-grid-right .card .cart-total span {
  line-height: 21px;
  font-size: 18px;
}
body#checkout .cart-grid-right .card .cart-total {
  background-color: #f8ceba;
  padding: 10px 0.5rem 7px;
  margin-top: 0.5rem;
  margin: 0.5rem -0.625rem 0;
}
#order-confirmation #content-hook_order_confirmation {
  text-align: center;
}

#order-confirmation #main .page-content {
  text-align: left;
}
#order-items .image img {
  width: 100%;
  margin-bottom: 1rem;
  border: 1px solid gray-lighter;
  max-width: 100px;
}
.page-my-account #content .links a span.link-item {
  display: block;
  height: 100%;
  padding: 1rem;
  box-shadow: 0 0 0px 2px #13727d;
  border-radius: 4px;
}
.page-my-account #content .links a {
  display: inline-block;
  padding: 0 0.9375rem;
  margin-bottom: 1.875rem;
  font-size: 1rem;
  font-weight: 700;
  color: #13727d;
  text-align: center;
  text-transform: uppercase;
}
.page-my-account #content .links a i {
  display: block;
  width: 100%;
  padding-bottom: 3.4rem;
  font-size: 2.6rem;
  color: #1d6e75;
}
label.radio-inline {
  float: left;
  margin-right: 1rem;
}

.page-authentication #content,
.page-registration #content {
  max-width: 100%;
  text-align: left;
}

.page-authentication section.register-form > p,
.page-registration section.register-form > p {
  text-align: center;
}

.page-authentication footer.form-footer button,
.page-registration footer.form-footer button {
  margin: 1rem auto;
  text-align: center;
  float: none !important;
}

.page-authentication footer.form-footer,
.page-registration footer.form-footer {
  text-align: center;
}
.class_school_group_id {
  display: none;
}
.password-strength-feedback {
  display: block !important;
}
#cart-subtotal-shipping.id_address_delivery_.amount_ {
  display: block;
}
.ps-alert-success .item,
.ps-alert-success .item i {
  border-color: #13727d;
}

.ps-alert-success .item,
.ps-alert-success .item i svg {
  background-color: #13727d;
}

.page-content.page-cms .ps-alert-error .item ul,
.page-content.page-cms .ps-alert-success .item ul,
.ps-alert-error .item .page-content.page-cms ul,
.ps-alert-error .item p,
.ps-alert-success .item .page-content.page-cms ul,
.ps-alert-success .item p {
  color: #13727d;
}
/* END TUNNER PAIEMENT ET COMPTE */

/* BLOG */
.video_cms_container video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  width: 100%;
  height: auto;
}
.video_cms_container {
  width: 100%;
  position: relative;
  display: inline-block;
  top: 0;
  max-height: 50vh;
  height: 450px;
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.video_cms_overlay {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.75);
  opacity: 0.5;
  transition:
    background 0.3s,
    border-radius 0.3s,
    opacity 0.3s;
  z-index: 1;
}
.category_cms_description {
  color: #ffffff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4em;
}

.category_cms_container {
  position: relative;
  width: 600px;
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 2;
}

.category_cms_container h1 {
  color: #f7f4e9 !important;
  font-family: "Josefin Sans", sans-serif;
  font-size: 79px;
  text-transform: capitalize;
  text-align: center;
  line-height: 4rem;
  margin-bottom: 1rem;
}
#cms #content.card-block {
  padding: 0;
}

#cms #content.card-block .video_cms_container {
  margin: 0 0rem 4rem 0;
}
#cms .articles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: center;
}
.item_article a {
  margin: 0 2rem 4rem;
  position: relative;
  display: inline-block;
}

.item_article a .title {
  width: 100%;
  display: inline-block;
  margin: 1rem 0 0.25rem;
  color: #fad2b9;
  font-size: 22px;
}

.item_article {
  padding: 0;
}
#cms h1 {
  max-width: 800px;
  margin: 0 auto 0rem;
}

#cms section#content {
  margin: 0;
}
.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active {
  border-color: #d4d4d4;
  box-shadow: 0 0 13px 0 #11111140;
}

.elementor-widget-tabs .elementor-tab-content {
  border-color: #d4d4d4;
  border: 1px none #d4d4d442;
  border-bottom: none !important;
}

.elementor-tabs-content-wrapper {
  border-bottom: none;
}
/* END BLOG */

.block-social {
  display: inline-block;
  margin-left: -1rem;
  margin-top: -30px;
}
.block-contact .block-social {
  margin-top: 0px;
}
.block-social ul li {
  border-radius: 50%;
  width: 30px;
  height: 30px;
  background: #277e88;
  color: white;
  text-align: center;
  line-height: 30px;
}

.displaytop .block-social ul li:hover {
  background: #fad2b9;
}
li.product-flag.out_of_stock {
  background: #d72424;
}

li.product-flag.new {
  background: #fef8f5;
  color: #999;
  display: none;
}
.text_show_vat {
  color: red;
  border: 1px solid;
  padding: 1rem;
  margin: 0 0 1rem;
}
.block-social ul li a {
  text-indent: 100%;
}
@media (max-width: 767px) {
  .block-social ul li {
    margin: 0.125rem;
    overflow: hidden;
  }
  .block-social {
    margin: 0 0 0 0px !important;
    padding: 0;
  }
  .block-social ul li a {
    padding: 0 !important;
  }
  #js-product-list-top {
    margin-top: 2rem;
  }
  #category-description {
    padding: 0 15px;
  }
  .facet-dropdown.open > .select-title,
  .facet-dropdown > .select-title,
  a:not([href]):not([tabindex]) {
    padding: 0.625rem 15px;
  }
  .video_block.active iframe {
    height: 200px;
    width: 100%;
  }
  #product .infos {
    display: block;
  }
  #product .product-images {
    margin: 30px auto;
  }
  #search_filters_wrapper {
    position: fixed;
    top: 115px;
    height: 100vh;
    width: 100%;
    background: #f7f4e9;
    left: 0;
    margin: 0 !important;
  }

  div#search_filters {
    flex-direction: column;
    width: 100%;
  }

  #search_filters .facet {
    padding: 0 0 0px;
    text-align: left;
    width: 80%;
  }

  #search_filters .facet ul li {
    padding: 0 15px !important;
  }
  .tabser .tabs,
  .tabser .col-md-12 {
    padding: 0;
  }
  .images-container.js-images-container {
    flex-direction: column-reverse;
  }
  .product-images > li.thumb-container {
    display: inline-block;
    clear: none;
    max-width: 100px;
    margin: 5px;
  }

  li.thumb-container.js-thumb-container {
    height: auto;
    width: auto;
    max-width: 100%;
  }
  #flexbox {
    max-width: 100%;
  }
  #flexbox .box {
    margin: 0 15px 0px 0;
  }
  #header,
  #index #header {
    padding: 0;
    position: fixed;
    background: white;
  }
  #wrapper {
    padding: 120px 15px 0;
  }
  #mobile_top_menu_wrapper {
    padding: 15px;
    background: #f7f4e9;
    height: 100vh;
    width: 100%;
    position: fixed;
    top: 50px;
    margin: 0;
  }
  .elementor-1170101 .elementor-element.elementor-element-983071f {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 30px;
  }
  #header .top-logo {
    display: inline-block;
    width: auto;
    margin: 8px auto 0;
    min-height: 0;
    float: none;
  }
  .elementor-column-gap-default
    > .elementor-row
    > .elementor-column
    > .elementor-element-populated {
    padding: 10px 10px;
  }
  .elementor-column-gap-default
    > .elementor-row
    > .elementor-column.elementor-element-9407b14
    > .elementor-element-populated {
    padding: 0px 10px;
  }
  .elementor-1170101 .elementor-element.elementor-element-7707a098,
  .elementor-1170101
    .elementor-element.elementor-element-47cf86d3
    > .elementor-element-populated {
    padding: 0;
    margin: 0;
  }
  .elementor-element-983071f
    .elementor-element.elementor-column
    > .elementor-element-populated,
  .elementor-element-5547288
    .elementor-element.elementor-column
    > .elementor-element-populated,
  .elementor-1170101
    .elementor-element.elementor-element-ab5a892
    > .elementor-widget-container {
    margin: 0px 0px 0px 0px;
    padding: 0 !important;
  }
  .elementor-element-983071f
    .elementor-element.elementor-column
    > .elementor-widget-container,
  .elementor-element-5547288
    .elementor-element.elementor-column
    > .elementor-widget-container {
    padding: 0;
  }
  #header .header-nav .blockcart {
    color: #7a7a7a;
    background: none;
    font-size: 11px;
    padding: 0.75rem 5px;
    background: none !important;
  }
  #header .header-nav .blockcart.active a:hover,
  #header .header-nav .cart-preview.active a,
  #header .header-nav .cart-preview.active i {
    color: #1d6e75;
  }
  #header .header-top a,
  #header .header-top a[data-depth="0"] {
    color: #111;
    padding: 22px 0.5rem;
    line-height: 28px;
  }

  .top-menu i.material-icons {
    margin-top: -10px;
  }

  .top-menu a[data-depth="1"],
  .top-menu a[data-depth="2"] {
    font-size: 20px;
  }
  body[data-elementor-device-mode="mobile"] .container {
    width: 100%;
  }

  body[data-elementor-device-mode="mobile"] .header-top .search-widgets {
    width: 100%;
    max-width: none;
  }

  body[data-elementor-device-mode="mobile"] a.dropdown-item,
  body[data-elementor-device-mode="mobile"] #header .header-top a,
  body[data-elementor-device-mode="mobile"]
    #header
    .header-top
    a[data-depth="0"] {
    color: #111 !important;
  }
  #index section#content {
    margin: 58px 0 0;
  }
  .accordeon {
    margin: 0 auto 0;
  }
  .category_cms_container {
    position: relative;
    margin-bottom: 1rem;
  }
  .video_cms_container {
    max-height: none;
    height: auto;
  }
  .category_cms_container h1 {
    color: #1d6e75 !important;
    font-size: 60px;
    line-height: 4rem;
    margin-bottom: 1rem;
  }
  .category_cms_description {
    color: #1d6e75;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4em;
    margin-bottom: 1rem;
  }
  .video_cms_overlay {
    display: none;
  }
  .video_cms_container video {
    position: relative;
    top: 0%;
    left: 0%;
    transform: translate(0%, 0%);
    object-fit: cover;
    width: 100%;
    height: auto;
  }
  .active_filters .filter-block {
    margin: 0 auto 15px;
    width: 80%;
  }
  .active_filters .active-filter-title {
    display: inline-block;
    width: 100%;
  }
  .active_filters {
    margin-bottom: 0;
  }
  #category #left-column #search_filter_controls button,
  #search #left-column #search_filter_controls button {
    margin: 0 0.5rem 15px;
  }
  #category #left-column #search_filter_controls,
  #search #left-column #search_filter_controls {
    margin-bottom: 0rem;
  }
}

@media (max-width: 575px) {
  .blockreassurance {
    text-align: center;
  }
  .blockreassurance .block-icon {
    display: block;
    height: auto;
    float: none;
    margin: 0;
    width: auto;
  }
  .blockreassurance .block-icon img,
  .blockreassurance .block-icon svg {
    height: auto;
    width: auto;
  }
  .blockreassurance .block-title {
    display: inline-block;
    height: auto;
    max-width: 100%;
    padding-top: 0px;
  }
}

.gamme_gamme_image:hover p.text {
  opacity: 1;
}

.text_gamme p.text {
  color: #fff;
  width: 200px;
  height: 200px;
  background: rgba(0, 0, 0, 0.5);
  margin: 0 auto;
  top: 0;
  opacity: 0;
  display: block;
  position: absolute;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
}

.img-fluid {
  display: block;
}

#products article.product-miniature div.thumbnail-container,
article.product-miniature div.thumbnail-container {
  height: 550px;
}
#products article.product-miniature div.product-description,
article.product-miniature div.product-description {
  height: 172px;
  text-align: center;
}
#products
  article.product-miniature
  div.product-description
  input.input-group.form-control,
article.product-miniature
  div.product-description
  input.input-group.form-control {
  width: 52px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
  margin-top: 10px;
}
#products .thumbnail-container .product-thumbnail img,
.featured-products .thumbnail-container .product-thumbnail img,
.product-accessories .thumbnail-container .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail img {
  bottom: inherit;
}
#products .product-price-and-shipping,
.featured-products .product-price-and-shipping,
.product-accessories .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  margin-top: 5px;
}

@font-face {
  font-family: "Kepler";
  src:
    url("./font-awesome/webfonts/KeplerStd-BoldScnDisp.woff2") format("woff2"),
    url("./font-awesome/webfonts/KeplerStd-BoldScnDisp.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Light Condensed Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Light Condensed Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Light Condensed Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Condensed Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Condensed Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Condensed Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Semibold Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Semibold Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Semibold Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Semibold Italic Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Semibold Italic Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Semibold Italic Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Semibold Condensed Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Semibold Condensed Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Semibold Condensed Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Kepler Std Italic Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Italic Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Italic Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: "Kepler Std Display";
  src:
    url("./font-awesome/webfonts/Kepler Std Display.woff2")
      format("woff2"),
    url("./font-awesome/webfonts/Kepler Std Display.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: "Acumin pro light";
  src:
    url("./font-awesome/webfonts/acumin-pro-light.woff2") format("woff2"),
    url("./font-awesome/webfonts/acumin-pro-light.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Force Kepler pour titre pro banner via Creative Elements */
.pro_banner .elementor-heading-title,
.pro_banner .elementor-widget-text-editor,
.pro_banner .elementor-widget-text-editor * {
  font-family: "Kepler Std Condensed Display" !important;
}

/* Force Acumin pour texte pro banner via Creative Elements */
.pro_text .elementor-heading-title,
.pro_text .elementor-widget-text-editor,
.pro_text .elementor-widget-text-editor * {
  font-family: "Acumin pro light" !important;
}

.category-box {
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover !important;
  background-position: center center !important;
  transition: transform 0.4s ease;
}

.category-box:hover {
  transform: scale(1.03);
}

/* =========================
   CATEGORY / LISTING REDESIGN
   ========================= */

body#category,
body#search {
  background: #f7f4e9;
}

#category #wrapper,
#search #wrapper {
  background: #f7f4e9;
}

#products .products,
.product-listing .products,
.featured-products .products,
.product-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 48px 56px !important;
  justify-content: initial !important;
  align-items: start !important;
}

/* reset old card styles */
#products article.product-miniature,
.product-listing article.product-miniature,
.featured-products article.product-miniature,
.product-accessories article.product-miniature {
  width: 100% !important;
  margin: 0 !important;
}

#products article.product-miniature div.thumbnail-container,
article.product-miniature div.thumbnail-container {
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
}

#products article.product-miniature div.product-description,
article.product-miniature div.product-description {
  height: auto !important;
  text-align: left !important;
  padding: 0 !important;
}

/* image block */
.product-miniature .product-thumbnail {
  display: block;
  background: #ebe7de;
  margin-bottom: 18px;
  overflow: hidden;
}

#products .thumbnail-container .product-thumbnail img,
.featured-products .thumbnail-container .product-thumbnail img,
.product-accessories .thumbnail-container .product-thumbnail img,
.product-miniature .thumbnail-container .product-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  bottom: initial !important;
  transition: transform 0.35s ease;
}

.product-miniature:hover .product-thumbnail img {
  transform: scale(1.02);
}

/* text */
.product-miniature .product-title,
.product-miniature .product-title a {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 32px;
  line-height: 0.95;
  text-transform: uppercase;
  color: #3b3b3b !important;
  margin-bottom: 8px;
}

#products .product-price-and-shipping,
.featured-products .product-price-and-shipping,
.product-accessories .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  margin-top: 0 !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 26px;
  color: #3b3b3b !important;
}

/* hide old noisy elements */

/* page top */
.breadcrumb {
  display: none !important;
}

#category .page-header h1,
#search .page-header h1,
#main .page-header h1 {
  font-size: 52px;
  text-transform: uppercase;
  text-align: center;
  color: #000000;
  margin-bottom: 30px;
}

/* Mobile */
@media (max-width: 767px) {
  body#category,
  body#search,
  #category #wrapper,
  #search #wrapper {
    background: #f7f4e9;
  }

  #products .products,
  .product-listing .products,
  .featured-products .products,
  .product-accessories .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }

  #products article.product-miniature div.thumbnail-container,
  article.product-miniature div.thumbnail-container {
    height: auto !important;
  }

  #products article.product-miniature div.product-description,
  article.product-miniature div.product-description {
    height: auto !important;
    text-align: left !important;
  }

  .product-miniature .product-title,
  .product-miniature .product-title a {
    font-size: 22px !important;
    margin-bottom: 4px;
  }

  #products .product-price-and-shipping,
  .featured-products .product-price-and-shipping,
  .product-accessories .product-price-and-shipping,
  .product-miniature .product-price-and-shipping {
    font-size: 20px !important;
  }

  .block-category,
  #category-description,
  .category-cover,
  .breadcrumb,
  .total-products,
  .page-header {
    display: none !important;
  }

  #js-product-list-top {
    margin-top: 0 !important;
  }
}

/* =========================
   FIX LISTING CATEGORY
   ========================= */

body#category,
body#search,
#category #wrapper,
#search #wrapper {
  background: #f7f4e9;
}


#products .js-product,
.product-listing .js-product {
  width: 100%;
}

#products article.product-miniature,
.product-listing article.product-miniature,
.featured-products article.product-miniature,
.product-accessories article.product-miniature {
  width: 100% !important;
  margin: 0 !important;
}

#products article.product-miniature div.thumbnail-container,
article.product-miniature div.thumbnail-container {
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100%;
}

.product-thumbnail-link {
  display: block;
  width: 100%;
  background: #f7f4e9;
  margin-bottom: 20px;
  overflow: hidden;
}

.thumbnail-top {
  width: 100%;
}

.thumbnail-top img,
.product-thumbnail-link img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover;
}

.product-miniature img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover;
}

#category .product img {
  max-width: 100% !important;
  height: auto !important;
}

#products article.product-miniature div.product-description,
article.product-miniature div.product-description {
  height: auto !important;
  text-align: left !important;
  padding: 0 !important;
  width: 100%;
}

.product-card-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  width: 100%;
}

.product-card-left {
  min-width: 0;
  width: 100%;
}

.product-title-link {
  display: block;
  text-decoration: none;
}

.product-miniature .product-title,
.product-miniature .product-title a {
  display: block;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 28px;
  line-height: 0.95;
  text-transform: uppercase;
  color: #3b3b3b !important;
  margin: 0 0 8px !important;
  word-break: normal;
  overflow-wrap: break-word;
}

.product-card-ref {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 16px;
  color: #6f6b66;
  text-transform: uppercase;
}

#products .product-price-and-shipping,
.featured-products .product-price-and-shipping,
.product-accessories .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  margin-top: 0 !important;
  text-align: right;
  min-width: 110px;
}

.product-miniature .product-price-and-shipping .price {
  display: block;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 28px;
  line-height: 0.95;
  white-space: nowrap;
}

.product-miniature .product-without-taxes {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 12px;
  margin-top: 4px !important;
  white-space: nowrap;
}

.breadcrumb,
.total-products,
.block-category,
#category-description,
.category-cover {
  display: none !important;
}

@media (max-width: 991px) {
  #products .products,
  .product-listing .products,
  .featured-products .products,
  .product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }
}

@media (max-width: 767px) {
  #products .products,
  .product-listing .products,
  .featured-products .products,
  .product-accessories .products {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .product-miniature .product-title,
  .product-miniature .product-title a {
    font-size: 22px !important;
  }

  .product-miniature .product-price-and-shipping .price {
    font-size: 22px !important;
  }

  #products .product-price-and-shipping,
  .product-miniature .product-price-and-shipping {
    min-width: 78px;
  }
}

.thumbnail-top,
.thumb_features {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.thumbnail-top img,
.product-miniature img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.thumbnail-container {
  background: transparent !important;
}

.thumbnail-top {
  background: #f7f4e9;
}

.product-description {
  background: transparent !important;
}

.product-miniature .product-description,
.product-miniature .thumbnail-container {
  background: transparent !important;
}

#footer {
  background-color: #f7f4e9 !important;
}

#main,
#content,
.page-content {
  background: #f7f4e9 !important;
}

.product-card-meta {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: start;
}

.product-card-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
}

.product-miniature .product-price-and-shipping {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.product-miniature .product-description {
  position: relative;
}

.product-miniature .wishlist-button-add {
  position: absolute !important;
  right: 0;
  bottom: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.product-miniature .wishlist-button-add i,
.product-miniature .wishlist-button-add svg {
  font-size: 20px;
  color: #363534 !important;
}

.div-globale-modal {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  box-sizing: border-box;
}

.btn-div-modal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
  width: 100%;
  box-sizing: border-box;
  align-items: start;
}

.btn-div-modal .btn.btn-primary span,
.btn-div-modal .btn.btn-primary b {
  display: contents;
}

.btn-continue-buy {
  border-radius: 3px;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8.3px;
  color: #000;
  background-color: #f0f0f0;
  border: 1px solid transparent;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  font-family: "Kepler Std Condensed Display";
  white-space: normal;
  word-break: break-word;
}

.btn-div-modal .btn.btn-primary,
.btn-opart {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  background-color: #3e3e3e;
  transition: 0.5s;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  padding: 7px;
  font-size: 1.3rem;
  border-radius: 3px;
  white-space: normal !important;
  word-break: break-word;
}

.btn-opart:hover,
.btn-div-modal .btn.btn-primary:hover {
  background-color: #fad2b9;
  color: white;
}

.btn-primary-shop {
  width: 100%;
  padding: 6px;
  background-color: #3e3e3e;
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 3px;
}

@media (max-width: 1090px) {
  .btn-continue-buy {
    padding: 19px;
  }
}

@media (max-width: 908px) {
  .btn-div-modal {
    gap: 5px;
  }
  .btn-div-modal a,
  .btn-div-modal button,
  .btn-div-modal .btn.btn-primary {
    padding: 1px;
    width: 100%;
    min-height: 45px;
  }
}

.marquee {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: clamp(20px, 3vw, 42px);
  color: #f7f4e9;
}

.marquee-content {
  display: inline-block;
  padding-left: 100%;
  animation: scroll-text 15s linear infinite;
}

@keyframes scroll-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

.step-circle-orange {
  width: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Kepler Std Condensed Display", serif;
  font-size: 28px;
  line-height: 1;
  flex: 0 0 60px;

  border: 1px solid #d9a38a;
  color: #d9a38a;
}

.step-circle-vert {
  width: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Kepler Std Condensed Display", serif;
  font-size: 28px;
  line-height: 1;
  flex: 0 0 60px;
  border: 1px solid #a9bea5;
  color: #a9bea5;
}

@media (max-width: 767px) {
  #header,
  #index #header {
    background: #f7f4e9 !important;
    padding: 0 !important;
  }

  #header .header-nav .mobile,
  .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    padding: 0px 15px !important;
    background: #f7f4e9 !important;
  }

  #header .header-nav .mobile .float-xs-left,
  #header .header-nav .mobile .float-xs-right,
  .hidden-md-up.text-sm-center.mobile .float-xs-left,
  .hidden-md-up.text-sm-center.mobile .float-xs-right {
    float: none !important;
  }

  #_mobile_logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 5 !important;
  }

  #_mobile_logo,
  #header .top-logo {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: auto !important;
  }

  #_mobile_logo .logo,
  #header .logo {
    width: auto !important;
    max-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  #menu-icon {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 12px 0 0 !important;
    z-index: 6 !important;
  }

  #_mobile_user_info {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 0 0 !important;
    z-index: 6 !important;
  }

  #_mobile_language_selector {
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 12px 0 auto !important;
    z-index: 6 !important;
  }

  #_mobile_cart {
    order: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    z-index: 6 !important;
  }

  #menu-icon i,
  #_mobile_user_info i,
  #_mobile_cart i,
  #_mobile_language_selector i,
  #menu-icon .material-icons,
  #_mobile_user_info .material-icons,
  #_mobile_cart .material-icons,
  #_mobile_language_selector .material-icons {
    font-size: 28px !important;
    line-height: 1 !important;
    color: #3b3b3b !important;
  }

  #_mobile_language_selector *,
  #_mobile_language_selector a,
  #_mobile_language_selector button,
  #_mobile_language_selector span {
    color: #3b3b3b !important;
    font-size: 16px !important;
  }

  #_mobile_cart .cart-products-count {
    top: -6px !important;
    right: -6px !important;
    left: auto !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 11px !important;
    z-index: 7 !important;
  }

  .hidden-md-up.text-sm-center.mobile .clearfix,
  #header .header-nav .mobile .clearfix {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* conteneur */
  #_mobile_language_selector {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: auto;
  }

  /* select natif : on enlève le style moche */
  #_mobile_language_selector select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 18px 0 0 !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #3b3b3b !important;
    font-weight: 500 !important;
    width: auto !important;
    min-width: 0 !important;
    cursor: pointer;
  }

  /* supprime la flèche IE/Edge ancien */
  #_mobile_language_selector select::-ms-expand {
    display: none;
  }
}

@media (max-width: 767px) {
  /* barre du haut */
  #header .header-top {
    position: relative !important;
    min-height: 72px !important;
    padding: 0 16px !important;
    background: #f7f4e9 !important;
  }

  /* conteneur interne */
  #header .displaytop {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px !important;
    position: relative !important;
  }

  /* logo visible sur ton thème */
  #header .logo-title {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: auto !important;
    line-height: 1 !important;
    z-index: 5 !important;
  }

  #header .logo-title .logo-link,
  #header .logo-title img,
  #header .logo-title .logo {
    display: block !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    max-height: 34px !important;
  }

  /* annule l'ancien CSS qui poussait le logo */
  #header .logo {
    margin-top: 0 !important;
    margin-left: 0 !important;
    max-height: 34px !important;
    width: auto !important;
    height: auto !important;
  }

  /* menu desktop caché sur mobile */
  #_desktop_top_menu {
    display: none !important;
  }

  /* langue / compte / panier bien alignés */
  #_desktop_language_selector,
  #_desktop_user_info,
  #_desktop_cart,
  #menu-icon {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 0 !important;
    z-index: 6 !important;
  }

  /* groupe gauche */
  #menu-icon {
    margin-right: 12px !important;
  }

  /* icônes */
  #menu-icon i,
  #_desktop_user_info i,
  #_desktop_cart i,
  #_desktop_language_selector i,
  #menu-icon .material-icons,
  #_desktop_user_info .material-icons,
  #_desktop_cart .material-icons,
  #_desktop_language_selector .material-icons {
    font-size: 24px !important;
    line-height: 1 !important;
    color: #3b3b3b !important;
  }

  /* langue plus propre */
  #_desktop_language_selector *,
  #_desktop_language_selector a,
  #_desktop_language_selector button,
  #_desktop_language_selector span,
  #_desktop_language_selector select {
    color: #3b3b3b !important;
    font-size: 16px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
}

@media (max-width: 767px) {
  .header-top .displaytop {
    position: relative !important;
    min-height: 64px !important;
  }

  .header-top .logo_titre {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: auto !important;
    z-index: 20 !important;
    line-height: 1 !important;
  }

  .header-top .logo_titre a,
  .header-top .logo_titre img,
  .header-top .logo_titre .logo {
    display: block !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    max-height: 34px !important;
  }

  /* annule les vieux décalages */
  #header .logo {
    margin-top: 0 !important;
    margin-left: 0 !important;
    width: auto !important;
    height: auto !important;
    max-height: 34px !important;
  }
}

@media (min-width: 768px) {
  .header-top .displaytop {
    position: relative !important;
  }

  .header-top .logo_titre {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    width: auto !important;
  }

  .header-top .logo_titre a,
  .header-top .logo_titre img,
  .header-top .logo_titre .logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-height: 70px !important;
    margin: 0 !important;
  }
}

/* =========================
   HEADER PREMIUM EXALTO
   ========================= */

/* Base header */
#header,
#header .header-top {
  background: #f7f4e9 !important;
}

.header-top .displaytop {
  position: relative !important;
  width: 100% !important;
  min-height: 90px !important;
}

/* Logo centré absolu */
.header-top .logo_titre {
  position: absolute !important;
  left: 49% !important;
  top: 45% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 30 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.header-top .logo_titre a,
.header-top .logo_titre .logo-link,
.header-top .logo_titre img,
.header-top .logo_titre .logo {
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  max-height: 9rem !important;
}

/* Reset vieux décalages */
#header .logo {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  max-height: 9rem !important;
  transform: none !important;
}

/* Menu desktop centré */
#_desktop_top_menu {
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
}

#header .menu,
#header .menu > ul {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#header .header-top a[data-depth="0"] {
  letter-spacing: 0.02em;
  padding: 10px 0 !important;
}

/* Bloc droite desktop */
#_desktop_language_selector,
#_desktop_user_info,
#_desktop_cart {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 40 !important;
}

#_desktop_cart {
  right: 18px !important;
}

#_desktop_user_info {
  right: 58px !important;
}

#_desktop_language_selector {
  right: 98px !important;
}

/* Recherche desktop */
#search_widget {
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
}

/* Style langue desktop */
#_desktop_language_selector *,
#_desktop_language_selector a,
#_desktop_language_selector button,
#_desktop_language_selector span {
  color: #000000 !important;
  font-size: 14px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: uppercase;
}

/* Icônes desktop */
#_desktop_user_info .material-icons,
#_desktop_cart .material-icons {
  font-size: 25px !important;
  line-height: 1 !important;
}

/* Compteur panier */
#_desktop_cart .cart-products-count,
.cart-products-count {
  z-index: 3 !important;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
  #header,
  #index #header,
  #header .header-top {
    background: #f7f4e9 !important;
    padding: 0 !important;
  }

  .header-top .displaytop {
    min-height: 64px !important;
  }

  .header-top .logo_titre {
    left: 50% !important;
    top: 90% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 30 !important;
  }

  .header-top .logo_titre a,
  .header-top .logo_titre .logo-link,
  .header-top .logo_titre img,
  .header-top .logo_titre .logo,
  #header .logo {
    max-height: 84px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* vieux décalages supprimés */
  #header .logo {
    margin-top: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Menu desktop non visible */
  #_desktop_top_menu {
    display: none !important;
  }

  /* bloc mobile visible */
  .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    min-height: 64px !important;
    padding: 0 14px !important;
    background: #f7f4e9 !important;
  }

  .hidden-md-up.text-sm-center.mobile .float-xs-left,
  .hidden-md-up.text-sm-center.mobile .float-xs-right {
    float: none !important;
  }

  #menu-icon,
  #_mobile_user_info,
  #_mobile_language_selector,
  #_mobile_cart {
    position: relative !important;
    z-index: 40 !important;
    margin: 0 !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
  }

  #menu-icon {
    margin-right: 10px !important;
  }

  #_mobile_user_info {
    margin-right: auto !important;
  }

  #_mobile_language_selector {
    margin-left: auto !important;
    margin-right: 12px !important;
  }

  /* icônes mobile */
  #menu-icon i,
  #_mobile_user_info i,
  #_mobile_cart i,
  #_mobile_language_selector i,
  #menu-icon .material-icons,
  #_mobile_user_info .material-icons,
  #_mobile_cart .material-icons,
  #_mobile_language_selector .material-icons {
    font-size: 24px !important;
    line-height: 1 !important;
    color: #3b3b3b !important;
  }

  /* langue mobile */
  #_mobile_language_selector *,
  #_mobile_language_selector a,
  #_mobile_language_selector button,
  #_mobile_language_selector span,
  #_mobile_language_selector select {
    color: #3b3b3b !important;
    font-size: 15px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* recherche/menu mobile */
  #mobile_top_menu_wrapper {
    background: #f7f4e9 !important;
  }
}

.header-top .logo_titre img,
.header-top .logo_titre .logo {
  max-height: 80px !important;
}

#_desktop_top_menu .menu > ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 30px;
}

@media (max-width: 767px) {
  /* cache compteur */
  .total-products,
  #js-product-list-top .total-products {
    display: none !important;
  }

  /* structure */
  .product-card-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 8px;
  }

  /* LEFT */
  .product-card-left {
    flex: 1;
  }

  .product-title {
    font-family: "Kepler Std Condensed Display", serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    color: #3c3935 !important;
  }

  /* RIGHT */
  .product-card-right {
    text-align: right;
    min-width: 70px;
  }

  .product-card-top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
  }

  .price {
    font-family: "Kepler Std Condensed Display", serif !important;
    font-size: 16px !important;
    white-space: nowrap;
  }

  .product-card-ht {
    font-size: 10px !important;
    margin-top: 2px;
    color: #7b756d;
    text-align: left;
  }

  /* coeur */
  .product-wishlist .wishlist-button-add {
    position: static !important;
    margin: 0 !important;
  }

  .product-wishlist i,
  .product-wishlist svg {
    font-size: 14px !important;
  }

  /* image spacing */
  .thumbnail-top {
    margin-bottom: 10px !important;
  }

  #header,
  #index #header,
  #header .header-top {
    background: #f7f4e9 !important;
    padding: 0 !important;
  }

  .header-top .displaytop {
    min-height: 64px !important;
  }

  .header-top .logo_titre {
    left: 50% !important;
    top: 0% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 30 !important;
  }

  .header-top .logo_titre a,
  .header-top .logo_titre .logo-link,
  .header-top .logo_titre img,
  .header-top .logo_titre .logo,
  #header .logo {
    max-height: 84px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* vieux décalages supprimés */
  #header .logo {
    margin-top: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Menu desktop non visible */
  #_desktop_top_menu {
    display: none !important;
  }

  /* bloc mobile visible */
  .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    min-height: 64px !important;
    padding: 0 14px !important;
    background: #f7f4e9 !important;
  }

  .hidden-md-up.text-sm-center.mobile .float-xs-left,
  .hidden-md-up.text-sm-center.mobile .float-xs-right {
    float: none !important;
  }

  #menu-icon,
  #_mobile_user_info,
  #_mobile_language_selector,
  #_mobile_cart {
    position: relative !important;
    z-index: 40 !important;
    margin: 0 !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
  }

  #menu-icon {
    margin-right: 10px !important;
  }

  #_mobile_user_info {
    margin-right: auto !important;
  }

  #_mobile_language_selector {
    margin-left: auto !important;
    margin-right: 12px !important;
  }

  /* icônes mobile */
  #menu-icon i,
  #_mobile_user_info i,
  #_mobile_cart i,
  #_mobile_language_selector i,
  #menu-icon .material-icons,
  #_mobile_user_info .material-icons,
  #_mobile_cart .material-icons,
  #_mobile_language_selector .material-icons {
    font-size: 24px !important;
    line-height: 1 !important;
    color: #3b3b3b !important;
  }

  /* langue mobile */
  #_mobile_language_selector *,
  #_mobile_language_selector a,
  #_mobile_language_selector button,
  #_mobile_language_selector span,
  #_mobile_language_selector select {
    color: #3b3b3b !important;
    font-size: 15px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* recherche/menu mobile */
  #mobile_top_menu_wrapper {
    background: #f7f4e9 !important;
  }
}

.div-carousel-btn button {
  background: transparent;
  border: solid transparent;
  font-family: "Kepler Std Condensed Display" !important;
  cursor: pointer;
  font-size: x-large;
}

.div-carousel-btn {
  width: 100%;
  position: absolute;
  bottom: 10%;
}

.product-cover {
  position: relative;
}

#_desktop_top_menu .top-menu[data-depth="0"] > li:nth-child(3) {
  margin-left: 110px !important;
}

/* cache compteur */
.total-products,
#js-product-list-top .total-products {
  display: none !important;
}

/* structure */
.product-card-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;

}

/* LEFT */
.product-card-left {
  flex: 1;
}

.product-title {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  color: #3c3935 !important;
}

/* RIGHT */
.product-card-right {
  text-align: right;
  min-width: 70px;
  margin-top : 2px;
}

.product-card-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.price {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 24px !important;
  white-space: nowrap;
  margin-top: -4px;
}

.product-card-ht {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 14px !important;
  margin-top: 2px;
  color: #7b756d;
  text-align: left;
}

/* coeur */
.product-wishlist .wishlist-button-add {
  position: static !important;
  margin: 0 !important;
}

.product-wishlist i,
.product-wishlist svg {
  font-size: 14px !important;
}

/* image spacing */
.thumbnail-top {
  margin-bottom: 10px !important;
}

.total-products,
#js-product-list-top .total-products,
.products-selection .total-products,
#js-product-list .total-products {
  display: none !important;
}

.product-card-left {
  flex: 1;
  text-align: left !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
}

.product-card-left .product-title,
.product-card-left .product-title a {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 !important;
}

.product-card-ref {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}

/* supprime le coeur sur l'image */
.thumbnail-top .wishlist-button-add,
.thumbnail-container > .wishlist-button-add,
.product-miniature .wishlist-button-product,
.thumbnail-top [class*="wishlist"],
.thumbnail-container [class*="wishlist"] {
  display: none !important;
}

/* garde seulement celui à droite du prix */
.product-card-right .product-wishlist,
.product-card-right .product-wishlist * {
  display: inline-flex !important;
}

/* =========================
   HOVER PRODUIT DESKTOP
   ========================= */
@media (min-width: 768px) {
  .product-miniature .thumbnail-container {
    position: relative;
    overflow: hidden;
  }

  .product-miniature .thumbnail-top {
    position: relative;
  }

.product-miniature .product-hover-overlay {
  position: absolute !important;
  inset: 0;
  z-index: 20;
  display: flex !important;
  align-items: flex-end;
  justify-content: center;
  padding: 30px 24px 32px;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  text-align: center;
}


  .product-miniature .product-hover-overlay {
    position: absolute !important;
    inset: 0;
    z-index: 20;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 30px 24px;
    background: transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    text-align: center;
  }

  .product-hover-overlay-inner {
    position: absolute;
    bottom : 7%;
    width: 100%;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }

  .hover-feature-item {
    width: 100%;
  }

  .hover-feature-label {
    font-family: "Kepler Std Condensed Display", serif !important;
    font-size: 20px;
    line-height: 1.05;
    color: #e5a889;
    margin-bottom: 6px;
  }

  .hover-feature-value {
    font-family: "Acumin pro light", sans-serif !important;
    font-size: 17px;
    line-height: 1.2;
    color: #1d6e75;
    font-weight: 600;
  }

  .hover-add-to-cart-form {
    width: 100%;
    margin-top: 6px;
  }

  .hover-add-to-cart-btn {
    width: 100%;
    min-height: 46px;
    border: none;
    background: #3c3a39;
    color: #fff;
    font-family: "Kepler Std Condensed Display", serif !important;
    font-size: 20px;
    line-height: 1;
    padding: 12px 18px;
    cursor: pointer;
    transition:
      opacity 0.25s ease,
      transform 0.25s ease;
  }

  .hover-add-to-cart-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
  }

  /* optionnel : léger zoom image au hover */
  .product-miniature .thumbnail-top img {
    transition: transform 0.35s ease;
  }

  .product-miniature .thumbnail-container:hover .thumbnail-top img {
    transform: scale(1.02);
  }
}

.login-form {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}

.help-block {
  display: flex;
  justify-content: center;
}

#login-form {
  max-width: 500px;
  width: 100%;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
}

.login-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 25px;
}

.login-label {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  margin-bottom: 8px;
  text-align: left;
}

.login-input {
  border: none;
  border-bottom: 1px solid #333;
  border-radius: 0;
  background: transparent;
  padding: 8px 0;
  font-size: 14px;
  color: #555;
  outline: none;
  width: 100%;
}

.login-input:focus {
  border-bottom: 1px solid #000;
  box-shadow: none;
}

#submit-login {
  display: block;
  width: 100%;
  padding: 12px;
  background-color: #333;
  color: white;
  border: none;
  text-transform: uppercase;
  font-size: 1.5rem;
  cursor: pointer;
  margin-top: 20px;
}

#submit-login:hover {
  background-color: #111;
}

#main .login-title {
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 32px;
  text-align: center;
  text-transform: none;
  color: #333;
  font-weight: 400;
  line-height: 1.3;
}
.login-title span {
  font-family: "Kepler Std Light Condensed Display";
  display: block;
  font-size: 22px;
}

.login-input:-webkit-autofill,
.login-input:-webkit-autofill:hover,
.login-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  background-color: transparent !important;
  transition: background-color 5000s ease-in-out 0s;
}

.login-input {
  border: none !important;
  border-bottom: 1px solid #333 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100%;
  padding: 8px 0;
  outline: none;
}

.button-style {
  font-family: "Kepler Std Light Condensed Display";
  color: white;
}

.forgot-password a {
  color: black !important;
  font-family: "Kepler Std Light Condensed Display";
  letter-spacing: 2px;
}

.separator {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 30px 0;
}

.separator::before,
.separator::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid #333;
}

.separator span {
  padding: 0 15px;
  font-size: 0.875rem;
  letter-spacing: 2px;
}

.register-title {
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 2rem;
  text-align: center;
  color: black !important;
  font-weight: 400;
}

.question_account {
  text-align: center;
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 1.2rem;
  color: #000000 !important;
}
@media (max-width: 768px) {
  .login-form {
    margin-top: 60px;
  }
}

.div-new-client-gap {
  gap: 20px;
}

#search_widget .js-search-form.search-hidden {
  width: 0 !important;
  overflow: visible !important;
}

#search_widget {
  display: flex !important;
  align-items: center !important;
  transition: width 1s ease !important;
  overflow: hidden !important;
}

.js-search-icon {
  color: #000000 !important;
  cursor: pointer !important;
}

#search_widget {
  margin-right: 16px !important;
}

@media only screen and (min-width: 992px) {
  #search_widget .js-search-form.search-hidden {
    width: 0 !important;
    overflow: visible !important;
  }

  #search_widget {
    display: flex !important;
    align-items: center !important;
    transition: width 1s ease !important;
    overflow: hidden !important;
  }

  #search_widget.search-open {
    width: 250px !important;
  }

  .js-search-icon {
    color: #000000 !important;
    cursor: pointer !important;
  }

  #search_widget {
    margin-right: 16px !important;
  }
}

@media (max-width: 991px) {
  .header-nav .hidden-md-up {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .header-nav .float-xs-left,
  .header-nav .float-xs-right {
    float: none !important;
  }
}
.product-hover-overlay {
  pointer-events: none !important;
}

.product-hover-overlay:hover,
.thumbnail-top:hover .product-hover-overlay {
  pointer-events: auto !important;
}

@media (min-width: 768px) {
  .product-miniature .product-hover-overlay {
    position: absolute !important;
    inset: 0;
    z-index: 20;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 30px 24px;
    background:transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* jamais auto sur l'overlay lui-même */
    transition:
      opacity 0.35s ease,
      visibility 0.35s ease;
    text-align: center;
  }

  .product-miniature .thumbnail-container:hover .product-hover-overlay {
    opacity: 1;
    visibility: visible;
    /* pointer-events reste none sur l'overlay */
  }

  /* Uniquement les éléments cliquables reçoivent les clics */
  .product-miniature .thumbnail-container:hover .product-hover-overlay button,
  .product-miniature .thumbnail-container:hover .product-hover-overlay input,
  .product-miniature .thumbnail-container:hover .product-hover-overlay form {
    pointer-events: auto;
  }
}

.label-art {
  font-size: 0.875rem;
  color: #3e3e3e !important;
  text-align: right;
}

.container-desc {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 992px) {
  .container-desc {
    width: 960px;
    max-width: 100%;
  }
}

@media (max-width: 768) {
  .container-desc {
    width: 750px;
    max-width: 100%;
  }
}

@media (max-width: 567px) {
  .container-desc {
    width: 540px;
    max-width: 100%;
  }
}

.avantages-banner {
  background-color: #8ab5b5; /* bleu-vert comme sur la maquette */
  padding: 40px 30px;
  text-align: center;
  margin-bottom: 30px;
}

.avantages-banner--experts {
  background-color: #8fa88a;
}

.avantages-banner--talents {
  background-color: #8ab5b5;
}

.avantages-title {
  color: #fff;
  font-size: 22px;
  letter-spacing: 2px;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.avantages-title em {
  font-style: italic;
  text-transform: none;
}

.avantages-items {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.avantages-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding: 0 30px;
  color: #fff;
}

.avantages-item img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* rend les pictos blancs */
}

.avantages-label {
  font-size: 11px;
  letter-spacing: 1px;
  line-height: 1.5;
}

.avantages-separator {
  width: 1px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 768px) {
  .avantages-items {
    flex-wrap: wrap;
    gap: 20px;
  }
  .avantages-separator {
    display: none;
  }
}

.account-menu-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.account-menu-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #ccc;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.account-menu-item:first-child {
  border-top: 1px solid #ccc;
}

.account-menu-label {
  font-size: 14px;
  letter-spacing: 0.5px;
}

.account-menu-arrow {
  font-size: 14px;
  color: #333;
}

/* Desktop — on limite la largeur et on centre */
@media (min-width: 768px) {
  .account-menu-list {
    max-width: 600px;
    margin: 40px auto;
  }

  .account-menu-item {
    padding: 22px 0;
  }

  .account-menu-label {
    font-size: 15px;
  }
}

.order-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 600px;
  margin: 0 auto;
}

.order-list-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid #ddd;
}

.order-list-item:first-child {
  border-top: 1px solid #ddd;
}

.order-list-icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: brightness(0) opacity(0.5);
}

.order-list-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.order-list-label {
  font-size: 12px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.order-list-date {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.order-list-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.order-list-btn {
  font-size: 13px;
  text-decoration: underline;
  color: #333;
  white-space: nowrap;
}

.order-list-btn--details {
  color: #888;
}

.value span {
  font-weight: 700;
}


.rewards-custom {
  max-width: 500px;
  margin: 0 auto;
}

.rewards-card {
  border: 1px solid #ddd;
  padding: 24px;
  text-align: center;
  margin-bottom: 20px;
  background: #fff;
}

.rewards-card-title {
  font-size: 14px;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.rewards-card-amount {
  font-size: 36px;
  font-weight: 300;
  margin-bottom: 10px;
}

.rewards-card-info {
  font-size: 12px;
  text-decoration: underline;
  color: #555;
  line-height: 1.6;
}

.rewards-info-banner {
  padding: 24px;
  text-align: center;
  margin-bottom: 16px;
}

.rewards-info-banner--blue {
  background-color: #8ab5b5;
}

.rewards-info-banner--green {
  background-color: #8fa88a;
}

.rewards-info-title {
  color: #fff;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.rewards-info-title em {
  font-style: italic;
  text-transform: none;
}

.rewards-info-text {
  color: #fff;
  font-size: 14px;
  line-height: 1.8;
}

.rewards-sponsor-form {
  margin-top: 20px;
}

.rewards-sponsor-row {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.rewards-sponsor-row input {
  flex: 1;
  padding: 8px;
  border: 1px solid #ccc;
  font-size: 13px;
}

.rewards-sponsor-cgv {
  font-size: 12px;
  margin: 12px 0;
}

.rewards-sponsor-btn {
  width: 100%;
  padding: 12px;
  background: #333;
  color: #fff;
  border: none;
  font-size: 13px;
  letter-spacing: 1px;
  cursor: pointer;
}

@media (max-width: 480px) {
  .rewards-sponsor-row {
    flex-direction: column;
  }
}


.values-grid .val-item {
  width: 50%;
  font-size: inherit;
  color: inherit;
  display: inline-block;
}
.value .values-grid .val-item {
  font-weight: 500 !important;
  text-transform: capitalize;
  word-break: normal;
  line-height: 17px;
  font-size: 14px !important;
  width: 34%;
}

.bandeau em {
  font-weight: bold;
  font-style: italic;
}

/* Nom produit à gauche, prix à droite */
.header-prix {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.header-left {
  flex: 1;
}

.header-right {
  text-align: right;
}


.values-grid .val-item {
  width: 50%;
}

.value .values-grid .val-item {
  font-weight: 400 !important;
}

/* Bandeau */
.bandeau {
  width: 90%;
  max-width: 100%;
  border : solid 1px #3E3E3E;
  color: #3E3E3E;
  text-align: center;
  padding: 9px 30px;
  border-radius: 50px;
  font-size: 18px;
  margin: 10px auto 0;
  display: block;
}

/* Fix débordement horizontal global */
html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

  .box.utilite .values-grid .val-item {
    display: inline;
    width: auto;
  }

  .box.utilite .values-grid .val-item:not(:last-child)::after {
    content: ", ";
  }
  /* ============================================================
   PRODUCT FEATURES — 2 colonnes propres
============================================================ */

/* Grille 2 colonnes */
#flexbox {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  column-gap: 40px !important;
  row-gap: 28px !important;
  max-width: 760px;
  margin: 42px auto 0;
  padding-top: 34px;
  border-top: 1px solid rgba(51,51,51,0.45);
  text-align: center;
  /* désactive les anciens flex */
  -webkit-flex-direction: unset;
  flex-direction: unset;
}

/* Chaque case prend 100% de sa colonne, sans flex parasite */
#flexbox .box {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Label (nom de la feature) */
#flexbox .box .value > span {
  display: block;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #3f3f3f;
  margin-bottom: 6px;
}

/* Valeur */
#flexbox .box .value .values-grid {
  font-size: 14px;
  color: #4b4b4b;
  font-weight: 400;
  line-height: 1.45;
}

/* Utilité : valeurs en ligne séparées par un · */
#flexbox .box.utilite .values-grid .val-item {
  display: inline;
  width: auto;
}
#flexbox .box.utilite .values-grid .val-item:not(:last-child)::after {
  content: " · ";
}

/* Mobile : reste en 2 colonnes mais plus compact */
@media (max-width: 600px) {
  #flexbox {
    column-gap: 20px !important;
    row-gap: 22px !important;
    padding-top: 24px;
    margin-top: 28px;
  }
}/* ============================================================
   FIX PAGE PRODUIT — colonnes + features
============================================================ */

/* Conteneur principal : image gauche / infos droite */
.product-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 15px;
  width: 100%;
}

/* Fix .infos qui débordait */
#product .infos {
  display: block !important;
  width: 50% !important;
  align-items: unset !important;
}

@media (max-width: 1024px) {
  #product .infos {
    width: 100% !important;
  }
}

/* Features en 2 colonnes dans la colonne droite */
#flexbox {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  column-gap: 32px !important;
  row-gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: unset !important;
  margin: 24px 0 0 !important;
  padding-top: 24px;
  border-top: 1px solid rgba(51,51,51,0.35);
  text-align: center;
}

#flexbox .box {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: unset !important;
}

/* Label feature */
#flexbox .box .value > span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.00em;
  color: #f7f4e9;
  margin-bottom: 5px;
}

/* Valeur feature */
#flexbox .box .value .values-grid {
  font-size: 15px;
  color: #4b4b4b;
  font-weight: 400;
  line-height: 1.4;
  font-family: "Acumin pro light";
}

/* Pictos restent dans la colonne droite */
.product-pictos {
  display: flex !important;
  justify-content: center;
  gap: 24px;
  margin-top: 28px;
  width: 100%;
}
.picto-item {
  text-align: center;
}

/* Bandeau dans la colonne droite */
.bandeau {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile */
@media (max-width: 767px) {
  .product-container {
    flex-direction: column !important;
  }
  #flexbox {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   FIX GRILLE FEATURES — alignement 2 colonnes strict
============================================================ */

#flexbox .box {
  grid-column: span 1 !important;
}

#flexbox .box.utilite {
  grid-column: span 1 !important;
}

#flexbox .box.utilite:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  text-align: center;
}

#flexbox .box,
#flexbox .box dd.value {
  display: block !important;
  flex: unset !important;
  -webkit-flex: unset !important;
  width: 100% !important;
  align-items: unset !important;
}

/* ===== ORDER DETAIL ===== */

.order-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
  margin-bottom: 24px;
}

.order-detail-ref {
  font-size: 13px;
  letter-spacing: 0.5px;
  color: #333;
  margin: 0;
}

.order-detail-reorder {
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: underline;
  color: #333;
}

.order-detail-meta {
  padding: 20px 0;
  border-bottom: 1px solid #ddd;
  margin-bottom: 24px;
}

.order-detail-meta p {
  font-size: 13px;
  margin-bottom: 8px;
  color: #333;
}

.order-detail-invoice {
  text-decoration: underline;
  color: #333;
  font-size: 13px;
}

.order-detail-section {
  margin-bottom: 32px;
}

.order-detail-section-title {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.order-detail-history {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.order-detail-history-line {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  color: #555;
}

.order-detail-history-date {
  min-width: 100px;
  color: #888;
}

.order-detail-addresses {
  display: flex;
  gap: 24px;
  margin-bottom: 32px;
}

.order-detail-address-block {
  flex: 1;
  padding: 20px;
  border: 1px solid #ddd;
}

.order-detail-address-title {
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
  color: #333;
}

.order-detail-address-block address {
  font-size: 13px;
  line-height: 1.8;
  color: #555;
  font-style: normal;
}

.order-detail-shipping {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.order-detail-shipping-line {
  display: flex;
  gap: 24px;
  font-size: 13px;
  color: #555;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

@media (max-width: 768px) {
  .order-detail-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .order-detail-addresses {
    flex-direction: column;
  }

  .order-detail-shipping-line {
    flex-wrap: wrap;
    gap: 8px;
  }
}

/* ===== PRODUCTS TABLE ===== */
.order-products-table {
  margin-bottom: 32px;
}

.order-products-desktop {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.order-products-desktop thead tr {
  border-bottom: 2px solid #333;
}

.order-products-desktop thead th {
  padding: 12px 16px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 600;
}

.order-products-desktop tbody tr {
  border-bottom: 1px solid #eee;
}

.order-products-desktop tbody td {
  padding: 16px;
  font-size: 13px;
  color: #444;
  vertical-align: top;
}

.order-product-name {
  display: block;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  margin-bottom: 4px;
}

.order-product-ref {
  display: block;
  font-size: 11px;
  color: #999;
  letter-spacing: 0.5px;
}

.order-product-download {
  display: block;
  font-size: 12px;
  text-decoration: underline;
  color: #555;
  margin-top: 4px;
}

.order-products-desktop tfoot td {
  padding: 12px 16px;
  font-size: 13px;
  text-align: right;
  color: #555;
}

.order-total-row td {
  font-weight: 600;
  font-size: 14px;
  color: #333;
  border-top: 1px solid #ddd;
}

.order-products-mobile {
  display: none;
}

.order-product-mobile-item {
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}

.order-product-mobile-name {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 8px;
  color: #333;
}

.order-product-mobile-prices {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #555;
}

.order-products-mobile-totals {
  margin-top: 16px;
}

.order-total-line {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #555;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}

.order-total-final {
  font-weight: 600;
  font-size: 14px;
  color: #333;
}

/* ===== MESSAGES ===== */
.order-messages-list {
  margin-bottom: 32px;
}

.order-message-item {
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}

.order-message-meta {
  display: flex;
  gap: 20px;
  font-size: 12px;
  color: #888;
  margin-bottom: 8px;
}

.order-message-text {
  font-size: 13px;
  color: #444;
  line-height: 1.6;
}

.order-message-form {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #ddd;
}

.order-message-form-intro {
  font-size: 13px;
  color: #666;
  margin-bottom: 20px;
}

.order-message-form-row {
  margin-bottom: 16px;
}

.order-message-form-row label {
  display: block;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: #333;
}

.order-message-select {
  width: 100%;
  max-width: 400px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 13px;
  color: #333;
  appearance: none;
}

.order-message-textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  font-size: 13px;
  color: #333;
  resize: vertical;
  background: #fff;
}

.order-message-submit {
  display: block;
  margin: 0 auto;
  padding: 14px 40px;
  background: #333;
  color: #fff;
  border: none;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 768px) {
  .order-products-desktop {
    display: none;
  }

  .order-products-mobile {
    display: block;
  }

  .order-message-select {
    max-width: 100%;
  }
}

/* ===== TYPOGRAPHIE CHARTE - ESPACE CLIENT ===== */

#main .page-header h1,
#main .page-content h1,
.page-heading,
.avantages-title,
.order-detail-section-title,
.rewards-card-title em,
.order-message-form h3,
.order-messages-list h3 {
  font-family: 'Kepler Std Condensed Display', serif !important;
}

.order-detail-address-title,
.order-detail-ref,
.order-list-label,
.account-menu-label,
.rewards-info-title {
  font-family: 'Kepler Std Light Condensed Display', serif !important;
}

.order-detail-meta p,
.order-detail-address-block address,
.order-detail-history-line,
.order-detail-shipping-line,
.order-list-date,
.order-message-text,
.order-message-form-intro,
.rewards-info-text,
.rewards-card-info,
.order-products-desktop tbody td,
.order-products-desktop tfoot td,
.order-product-mobile-name,
.order-product-mobile-prices,
.order-total-line {
  font-family: 'Acumin pro light', sans-serif !important;
}

.order-products-desktop thead th,
.order-detail-reorder,
.order-list-btn,
.order-message-form-row label,
.order-message-submit,
.order-total-row td,
.order-total-final {
  font-family: 'Acumin pro light', sans-serif !important;
  font-weight: 600 !important;
}

.rewards-card-amount,
.order-total-row td:last-child,
.order-total-final span:last-child {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-weight: 400 !important;
}

/* ===== AGRANDISSEMENT TEXTES ESPACE CLIENT ===== */

.account-menu-label {
  font-size: 21px !important;
  letter-spacing: 0.5px;
}

.account-menu-arrow {
  font-size: 18px !important;
}

.account-menu-item {
  padding: 24px 0 !important;
}

.text-sm-center a,
#main .page-footer a {
  font-size: 16px !important;
  letter-spacing: 1px;
}

.avantages-label {
  font-size: 13px !important;
  letter-spacing: 1.5px;
}

.avantages-title {
  font-size: 26px !important;
}

/* ===== PAGE INFORMATIONS PERSONNELLES ===== */

.page-customer-account #content,
#identity #content {
  max-width: 600px;
  margin: 0 auto;
  text-align: left;
}

.page-customer-account .form-group label,
#identity .form-group label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

.page-customer-account .form-group input[type="text"],
.page-customer-account .form-group input[type="email"],
.page-customer-account .form-group input[type="password"],
#identity .form-group input[type="text"],
#identity .form-group input[type="email"],
#identity .form-group input[type="password"] {
  border: none !important;
  border-bottom: 1px solid #333 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 8px 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #333;
  width: 100%;
}

.page-customer-account .form-group input:focus,
#identity .form-group input:focus {
  border-bottom: 1px solid #000 !important;
  box-shadow: none !important;
  outline: none !important;
}

.page-customer-account .btn-show-password,
#identity .btn-show-password,
.page-customer-account .input-group-btn .btn,
#identity .input-group-btn .btn {
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 16px !important;
}

.page-customer-account .form-group .help-block,
#identity .form-group .help-block {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #888;
  margin-top: 4px;
}

.page-customer-account .custom-radio label,
#identity .custom-radio label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.5px;
  text-transform: none !important;
}

.page-customer-account .custom-checkbox label,
#identity .custom-checkbox label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.3px;
  text-transform: none !important;
  color: #555;
}

.page-customer-account .form-footer button,
#identity .form-footer button {
  display: block;
  padding: 14px 40px;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s;
  margin-left: auto;
}

.page-customer-account .form-footer button:hover,
#identity .form-footer button:hover {
  background: #FAD2B9 !important;
  color: #333 !important;
}

.page-customer-account .form-group .label-optional,
#identity .form-group .label-optional {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #aaa;
  letter-spacing: 0.5px;
}

@media (max-width: 768px) {
  .page-customer-account #content,
  #identity #content {
    padding: 0 16px;
  }
}

/* ===== AGRANDISSEMENT PAGE IDENTITÉ ===== */

.page-customer-account #content,
#identity #content {
  max-width: 800px !important;
}

.page-customer-account .form-group,
#identity .form-group {
  margin-bottom: 28px !important;
}

.page-customer-account .form-group input[type="text"],
.page-customer-account .form-group input[type="email"],
.page-customer-account .form-group input[type="password"],
#identity .form-group input[type="text"],
#identity .form-group input[type="email"],
#identity .form-group input[type="password"] {
  font-size: 16px !important;
  padding: 12px 0 !important;
}

.page-customer-account .form-group label,
#identity .form-group label {
  font-size: 13px !important;
  margin-bottom: 10px !important;
}

.page-customer-account .form-group .help-block,
#identity .form-group .help-block {
  font-size: 12px !important;
}

.page-customer-account .custom-radio label,
#identity .custom-radio label,
.page-customer-account .custom-checkbox label,
#identity .custom-checkbox label {
  font-size: 15px !important;
}

.page-customer-account .form-footer button,
#identity .form-footer button {
  font-size: 20px !important;
  padding: 16px 60px !important;
}

/* ============================================================
   ONGLETS DESCRIPTION — style éditorial
============================================================ */

.tabser .nav-tabs {
  border-bottom: none !important;
  background: transparent !important;
  display: flex;
  gap: 40px;
  padding: 0;
  margin-bottom: 32px;
}

.tabser .tabs .nav-tabs .nav-link {
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  color: #b0a99a !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0 0 6px 0 !important;
  border-radius: 0 !important;
}

.tabser .tabs .nav-tabs .nav-link.active {
  color: #3b3b3b !important;
  background: transparent !important;
  border-bottom: 2px solid #3b3b3b !important;
}

.tabser,
.tabser .tabs,
.tabser .tab-content,
.tabser .tab-pane,
.tabser .container-desc,
.tabser .col-md-12 {
  background: #f7f4e9 !important;
  padding-top: 0px !important;
}

.product-description {
  background: transparent !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #3b3b3b !important;
  max-height: none !important;
}

.product-description .gamme-box,
.gamme-box {
  border: 1px solid #c8c0b4;
  border-radius: 6px;
  padding: 28px 36px;
  margin-top: 32px;
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: #3b3b3b;
  background: transparent;
}

.product-description {
  color: #000000 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

.product-description p {
  color: #000000 !important;
  font-weight: 400 !important;
}

.product-description-exalto h3,
.product-description-exalto p span {
  color: #1d6e75 !important;
  font-size: 13px !important;
  font-weight: 700 !important;

  text-transform: uppercase !important;
  margin-top: 24px !important;
  margin-bottom: 8px !important;
}

/* ===== PAGE BONS DE RÉDUCTION ===== */

.discount-table-wrapper {
  max-width: 900px;
  margin: 0 auto 40px;
}

.discount-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
}

.discount-table thead tr {
  border-bottom: 2px solid #333;
}

.discount-table thead th {
  padding: 12px 16px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 600;
  font-family: 'Acumin pro light', sans-serif;
  text-align: left;
}

.discount-table tbody tr {
  border-bottom: 1px solid #eee;
}

.discount-table tbody tr:nth-child(even) {
  background: #f7f4ee;
}

.discount-table tbody td {
  padding: 16px;
  font-size: 13px;
  color: #444;
  vertical-align: middle;
}

.discount-code {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  letter-spacing: 1px;
  color: #333 !important;
  font-weight: 600;
}

.discount-empty {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
  color: #888;
  text-align: center;
  padding: 40px 0;
}

.discount-list-mobile {
  display: none;
}

.discount-item-mobile {
  padding: 20px 0;
  border-bottom: 1px solid #eee;
}

.discount-mobile-code {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 18px;
  letter-spacing: 1px;
  color: #333;
  margin-bottom: 12px;
}

.discount-mobile-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #444;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}

.discount-mobile-label {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
}

@media (max-width: 768px) {
  .discount-table-wrapper {
    display: none;
  }

  .discount-list-mobile {
    display: block;
    max-width: 500px;
    margin: 0 auto;
  }
}

/* ===== PAGE RETOURS DE MARCHANDISES ===== */

.returns-intro {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
  color: #555;
  text-align: center;
  margin-bottom: 32px;
}

.returns-table-wrapper {
  max-width: 900px;
  margin: 0 auto 40px;
}

.returns-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
}

.returns-table thead tr {
  border-bottom: 2px solid #333;
}

.returns-table thead th {
  padding: 12px 16px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 600;
  text-align: left;
}

.returns-table tbody tr {
  border-bottom: 1px solid #eee;
}

.returns-table tbody tr:nth-child(even) {
  background: #f7f4ee;
}

.returns-table tbody td {
  padding: 16px;
  font-size: 13px;
  color: #444;
  vertical-align: middle;
}

.returns-ref a {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 16px;
  letter-spacing: 1px;
  color: #333;
  text-decoration: none;
}

.returns-ref a:hover {
  text-decoration: underline;
}

.returns-print,
.returns-details {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 13px;
  color: #333;
  text-decoration: underline;
}

.returns-empty {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
  color: #888;
  text-align: center;
  padding: 40px 0;
}

.returns-list-mobile {
  display: none;
}

.returns-item-mobile {
  padding: 20px 0;
  border-bottom: 1px solid #eee;
}

.returns-mobile-ref {
  display: flex;
  gap: 16px;
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 18px;
  margin-bottom: 12px;
}

.returns-mobile-ref a {
  color: #333;
  text-decoration: none;
}

.returns-mobile-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #444;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}

.returns-mobile-label {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
}

.returns-mobile-actions {
  display: flex;
  gap: 16px;
  margin-top: 12px;
}

@media (max-width: 768px) {
  .returns-table-wrapper {
    display: none;
  }

  .returns-list-mobile {
    display: block;
    max-width: 500px;
    margin: 0 auto;
  }
}

/* ===== PAGE AVOIRS ===== */

.slips-intro {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
  color: #555;
  text-align: center;
  margin-bottom: 32px;
}

.slips-table-wrapper {
  max-width: 800px;
  margin: 0 auto 40px;
}

.slips-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
}

.slips-table thead tr {
  border-bottom: 2px solid #333;
}

.slips-table thead th {
  padding: 12px 16px;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #333;
  font-weight: 600;
  text-align: left;
}

.slips-table tbody tr {
  border-bottom: 1px solid #eee;
}

.slips-table tbody tr:nth-child(even) {
  background: #f7f4ee;
}

.slips-table tbody td {
  padding: 16px;
  font-size: 13px;
  color: #444;
  vertical-align: middle;
}

.slips-ref a {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 16px;
  letter-spacing: 1px;
  color: #333;
  text-decoration: none;
}

.slips-ref a:hover {
  text-decoration: underline;
}

.slips-download {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 13px;
  color: #333;
  text-decoration: underline;
}

.slips-empty {
  font-family: 'Acumin pro light', sans-serif;
  font-size: 14px;
  color: #888;
  text-align: center;
  padding: 40px 0;
}

.slips-list-mobile {
  display: none;
}

.slips-item-mobile {
  padding: 20px 0;
  border-bottom: 1px solid #eee;
}

.slips-mobile-ref {
  display: flex;
  gap: 16px;
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 18px;
  margin-bottom: 12px;
}

.slips-mobile-ref a {
  color: #333;
  text-decoration: none;
}

.slips-mobile-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #444;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}

.slips-mobile-label {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888;
}

.slips-mobile-actions {
  margin-top: 12px;
}

@media (max-width: 768px) {
  .slips-table-wrapper {
    display: none;
  }

  .slips-list-mobile {
    display: block;
    max-width: 500px;
    margin: 0 auto;
  }
}

/* ===== HEADER DESKTOP ===== */

@media (min-width: 768px) {

  .header-top .displaytop {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 30px !important;
    min-height: 60px !important;
    position: relative !important;
  }

  .header-top .logo_titre {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    order: 1 !important;
  }

  .header-top .logo_titre img,
  .header-top .logo_titre .logo {
    max-height: 50px !important;
  }

  #_desktop_top_menu {
    flex: 0 1 auto !important;
    text-align: center !important;
    margin: 0 auto !important;
    order: 2 !important;
  }

  #_desktop_language_selector,
  #_desktop_user_info,
  #_desktop_cart,
  #search_widget {
    display: inline-block !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 8px !important;
    order: 3 !important;
  }

  #header .header-top a[data-depth="0"] {
    font-size: 1.3rem !important;
    padding: 8px 1rem !important;
    letter-spacing: 1.5px !important;
  }
}

/* ===== DESCRIPTION EXALTO ===== */

.product-description-exalto {
  display: block !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.product-description-exalto h3,
.product-description-exalto h3 span {
  color: #3E3E3E !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-top: 48px !important;
  margin-bottom: 16px !important;
}

.product-description-exalto p {
  font-size: 16px !important;
  font-family: "Acumin pro light", sans-serif !important;
  line-height: 2 !important;
  color: #3b3b3b !important;
}

.container-desc {
  width: 100% !important;
  max-width: 1200px !important;
  padding: 0 60px !important;
}

/* ===== BOUTON PANIER ===== */

.product-actions .qty,
.product-actions .bootstrap-touchspin {
  display: none !important;
}

.product-actions .add-to-cart .material-icons,
#add-to-cart-or-refresh .btn-primary .material-icons {
  display: none !important;
}

.product-actions .add,
.product-actions form .add {
  width: 100% !important;
}

.product-actions .add-to-cart,
#add-to-cart-or-refresh .btn-primary,
button#add-to-cart {
  flex: 1 !important;
  width: auto !important;
  padding: 10px !important;
  font-size: 1.6rem !important;
  border-radius: 8px !important;
  display: block !important;
}

.product-information {
  border-top: 1px solid rgba(51,51,51,0.35) !important;
  margin-top: 20px !important;
  padding-top: 24px !important;
}

.product-actions .add {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.product-additional-info {
  margin-top: 16px !important;
  font-size: 13px !important;
  color: #7a7a7a !important;
}

.payment-logo,
#product-additional-info img,
.product-additional-info img {
  height: 28px !important;
  width: auto !important;
}

body#product .col-md-6.infos {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* ===== BANDEAU PICTOS ===== */

.bandeau-pictos {
  display: flex !important;
  justify-content: center !important;
  gap: 80px !important;
  padding: 50px 60px !important;
  border-top: 1px solid rgba(0,0,0,0.1) !important;
  border-bottom: 1px solid rgba(0,0,0,0.1) !important;
  margin: 0 0 40px 0 !important;
}

.bandeau-pictos .picto-item img {
  height: 70px !important;
  width: auto !important;
}

.bandeau-pictos .picto-item p {
  font-size: 13px !important;
  text-align: center !important;
  margin-top: 12px !important;
  color: #7a7a7a !important;
}

@media (max-width: 767px) {
  .bandeau-pictos {
    gap: 24px !important;
    padding: 30px 20px !important;
  }
  .bandeau-pictos .picto-item img {
    height: 45px !important;
  }
}

/* ===== FEATURES LIGNE ===== */

.features-ligne {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.feature-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 40px;
}

.feature-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #3f3f3f;
  margin-bottom: 6px;
}

.feature-value {
  font-size: 14px;
  color: #4b4b4b;
  line-height: 1.4;
}

.feature-sep {
  color: rgba(0,0,0,0.2);
  font-size: 24px;
  font-weight: 200;
}

/* ===== PICTOS ===== */

.picto-item img {
  height: 70px !important;
  width: auto !important;
}

.picto-item p {
  font-size: 13px !important;
  text-align: center !important;
  margin-top: 12px !important;
  color: #7a7a7a !important;
}

.product-pictos {
  gap: 80px !important;
  margin-top: 50px !important;
}

/* ===== PICTOS DESKTOP ===== */

.product-pictos-desktop {
  display: none !important;
}

/* ============================================================
   RESPONSIVE
============================================================ */

/* Mobile */
@media (max-width: 767px) {
  .col-md-6.images,
  .col-md-6.infos {
    padding: 0 !important;
  }

  .product-actions .add-to-cart,
  #add-to-cart-or-refresh .btn-primary,
  button#add-to-cart {
    font-size: 1.4rem !important;
    padding: 7px !important;
  }

  .bandeau-features {
    padding: 30px 20px !important;
  }

  .features-ligne {
    gap: 16px !important;
  }

  .feature-item {
    padding: 0 16px !important;
  }

  .product-pictos {
    gap: 24px !important;
  }
}

/* Tablet */
@media (max-width: 991px) {
  .product-container {
    flex-direction: column !important;
  }

  .col-md-6.images,
  .col-md-6.infos {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px !important;
  }

  .header-prix {
    gap: 4px !important;
  }

  .header-right {
    text-align: left !important;
  }

  .bandeau {
    width: 100% !important;
    font-size: 15px !important;
    padding: 10px 20px !important;
  }

  .product-pictos {
    gap: 16px !important;
  }

  .picto-item img {
    height: 35px !important;
  }

  .picto-item p {
    font-size: 10px !important;
  }
}

/* 1024–1280 : layout colonne unique */
@media (min-width: 1024px) and (max-width: 1280px) {
  .product-container {
    flex-direction: column !important;
  }

  .col-md-6.images {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* ✅ IMAGE : taille raisonnable en colonne unique */
  .product-cover {
    width: 100% !important;
    max-width: 100% !important;
  }

  .product-cover img {
    width: 100% !important;
    height: auto !important;
    max-height: 550px !important;
    object-fit: contain !important;
    display: block !important;
  }

  #product .infos {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 40px 60px !important;
  }

  #flexbox {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 800px !important;
    margin: 0 auto !important;
  }

  .product-pictos-desktop {
    display: flex !important;
    justify-content: center !important;
    gap: 60px !important;
    margin-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .bandeau-pictos {
    display: none !important;
  }

  .product-pictos-desktop .picto-item img {
    height: 60px !important;
  }
}

/* 1281–1440 : layout 2 colonnes, image contrainte */
@media (min-width: 1281px) and (max-width: 1440px) {
  .product-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .col-md-6.images {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 0 !important;
  }

  /* ✅ FIX PRINCIPAL : image ne prend pas toute la hauteur */
  .product-cover {
    width: 100% !important;
    max-width: 100% !important;
  }

  .product-cover img {
    width: 100% !important;
    height: auto !important;
    max-height: 650px !important;
    object-fit: cover !important;
    display: block !important;
  }

  #product .infos {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}

/* > 1441px : grand écran */
@media (min-width: 1441px) {
  .product-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .col-md-6.images {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 0 !important;
  }

  /* ✅ FIX PRINCIPAL : image contrainte sur grand écran */
  .product-cover {
    width: 100% !important;
    max-width: 100% !important;
  }

  .product-cover img {
    width: 100% !important;
    height: auto !important;
    max-height: 790px !important;
    object-fit: cover !important;
    display: block !important;
  }

  #product .infos {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 47% !important;
    justify-content: space-between !important;
  }

  #wrapper {
    padding: 0 !important;
  }

  #flexbox {
    margin-top: 0 !important;
    row-gap: 20px !important;
  }

  .product-pictos-desktop {
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
    margin-top: auto !important;

  }

  .product-pictos-desktop .picto-item img {
    height: 80px !important;
    width: auto !important;
  }

  .product-pictos-desktop .picto-item p {
    font-size: 13px !important;
    text-align: center !important;
    margin-top: -20px !important;
    color: #7a7a7a !important;
  }

  .bandeau-pictos {
    display: none !important;
  }
}

/* > 2000px : très grand écran */
@media (min-width: 2000px) {
  #main {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .product-container {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* ✅ Image toujours contrainte même sur écran XXL */
  .product-cover img {
    max-height: 900px !important;
    height: auto !important;
    object-fit: cover !important;
  }

  #product .infos {
    padding: 80px 120px !important;
    justify-content: flex-start !important;
    gap: 36px !important;
  }

  .header-prix h1,
  #product h1 {
    font-size: 7rem !important;
  }

  .current-price-value {
    font-size: 60px !important;
  }

  .label-art,
  .product-reference span {
    font-size: 18px !important;
  }

  .product-actions .add-to-cart,
  #add-to-cart-or-refresh .btn-primary,
  button#add-to-cart {
    padding: 28px !important;
    font-size: 2.6rem !important;
  }

  .product-additional-info {
    font-size: 18px !important;
  }

  #flexbox {
    row-gap: 40px !important;
    margin-top: 36px !important;
    padding-top: 36px !important;
  }

  #flexbox .box .value > span {
    font-size: 16px !important;
  }

  #flexbox .box .value .values-grid {
    font-size: 24px !important;
  }

  .bandeau {
    font-size: 28px !important;
    padding: 20px 40px !important;
    margin-top: 36px !important;
  }

  .product-pictos-desktop {
    margin-top: 40px !important;
    gap: 80px !important;
  }

  .product-pictos-desktop .picto-item img {
    height: 90px !important;
  }

  .product-pictos-desktop .picto-item p {
    font-size: 18px !important;
  }
}

/* ===== ALIGNEMENT FORMULAIRE IDENTITÉ ===== */
@media (min-width: 768px) {

  body#identity #customer-form,
  body.page-customer-account #customer-form,
  body#identity form.js-customer-form,
  body.page-customer-account form.js-customer-form {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
  }

  .page-customer-account .form-group,
  #identity .form-group {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-customer-account .form-group .col-md-3,
  #identity .form-group .col-md-3 {
    flex: 0 0 180px !important;
    max-width: 180px !important;
    width: 180px !important;
    padding: 0 !important;
    text-align: right !important;
  }

  .page-customer-account .form-group .col-md-6,
  .page-customer-account .form-group .col-md-9,
  #identity .form-group .col-md-6,
  #identity .form-group .col-md-9 {
    flex: 1 !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }

  .page-customer-account .form-footer,
  #identity .form-footer {
    text-align: center !important;
  }
}

.values-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.val-item {
  display: block;
  font-size: 14px;
  color: #4b4b4b;
  line-height: 1.4;
}

.val-item + .val-item::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: rgba(0,0,0,0.15);
  margin: 4px auto;
}


@media (max-width: 400px) {
  .product-description-exalto h3,
  .product-description-exalto h3 span {
    font-size: 24px !important;
    letter-spacing: 0.08em !important;
  }
}

/*NAVTHINK VENTES PRIVEES*/
.ventePrivee{
        width:293px;
        margin:auto;
        border:0.5px  solid #3E3E3E;
        border-radius:3px;
        text-align:left;
        margin-bottom:50px;
        .centre{
            
            border:0.5px  solid #3E3E3E;
            border-width: 0.5px 0 0.5px ;
        }
        .interieur{
            background:#F7F4E9;
            border-radius: 0 0 20px 20px;
            padding:0 20px 20px 20px;
            margin:0 30px 30px 30px;
            border:0.5px  solid #3E3E3E;
            border-width: 0 0.5px 0.5px 0.5px;
        }
        .logo{
            width:44%;
            
            margin:auto;
        }
        .entete{
            color:#3E3E3E;
            padding:2px;
        }
        .entete h2{
            font-family:"Kepler Std";
            font-weight: 600;
            font-style:italic;
            font-size:20px;
            color:#3E3E3E;
            padding:20px;
        }
        
        .titre{
            font-family:"Kepler Std";
            font-weight: 300;
            font-style:italic;
            font-size:32px;
            color:#3E3E3E;
            text-align:center;
            line-height: 0.8;
            margin-bottom: 20px;
        }
        .details{
            font-family:"Kepler Std";
            font-weight: 300;
            font-size:6px;
            text-transform: uppercase;
            color:#3E3E3E;
            display:flex;
            flex-direction:row;
            justify-content: space-between;
        }
        .fin{
            font-family:"Kepler Std Condensed Display";
            font-weight: 400;
            font-size:20px;
            color:#3E3E3E;
            padding:20px;
            line-height:26px;
            
        }
        .fin a{
            font-family:"Acumin Pro";
            font-weight: 300;
            font-size:10px;
            color:#3E3E3E;
            text-decoration: underline;
            
        }
        .fin p {
          margin:0
        }
        .ligne1 {
            padding-right: 20px;
          }
          .ligne2 {
            padding-left: 20px;
          }
    }

@media (min-width: 768px) {
  #_desktop_language_selector {
    display: inline-block !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 12px !important;
    order: 3 !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 50 !important;
  }

  #_desktop_language_selector .dropdown,
  #_desktop_language_selector .language-selector-wrapper {
    display: inline-block !important;
  }

  #_desktop_language_selector button {
    display: inline-block !important;
    background: transparent !important;
    border: none !important;
    color: #000 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 0 !important;
    text-transform: uppercase !important;
  }
}

@media (min-width: 1441px) {
  .bandeau-pictos {
    display: none !important;
  }
}
@media (min-width: 1441px) {
  /* Image alignée avec le bloc droite */
  .col-md-6.images .product-cover img {
    width: 90% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    background : none !important;
  }

  .col-md-6.images {
    display: flex !important;
    flex-direction: column !important;
  }

  .col-md-6.images .page-content,
  .col-md-6.images section#content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .images-container.js-images-container {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .product-cover {
    flex: 1 !important;
  }

  /* Bouton panier */
  .product-actions .add-to-cart,
  #add-to-cart-or-refresh .btn-primary,
  button#add-to-cart {
    width: 100% !important;
    flex: 1 !important;
    padding: 20px !important;
    font-size: 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Pictos adaptatifs */
  .bandeau-pictos {
    display: none !important;
    justify-content: center !important;
    gap: clamp(40px, 5vw, 120px) !important;
    padding: clamp(30px, 4vw, 70px) 60px !important;
    border-top: 1px solid rgba(0,0,0,0.1) !important;
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
  }

  .bandeau-pictos .picto-item img {
    height: clamp(60px, 6vw, 110px) !important;
    width: auto !important;
  }

  .bandeau-pictos .picto-item p {
    font-size: clamp(12px, 1vw, 18px) !important;
    text-align: center !important;
    margin-top: 12px !important;
    color: #7a7a7a !important;
  }

  .product-pictos-desktop {
    display: none !important;
  }
}

@media (min-width: 1441px) {
  /* Numéros sur l'image */
  .col-md-6.images {
    position: relative !important;
  }

  .js-product-images-count,
  .product-images-count,
  .scroll-box-arrows ~ div,
  .images-container ~ div {
    position: absolute !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    color: white !important;
  }

  /* Bouton plus de padding */
  .product-actions .add-to-cart,
  #add-to-cart-or-refresh .btn-primary,
  button#add-to-cart {
    padding: 22px 40px !important;
  }
}

/* ===== PANIER - STYLE EDITORIAL EXALTO (desktop comme mobile) ===== */

body#cart,
body#cart #wrapper,
body#cart #main,
body#cart #content-wrapper {
  background: #F7F4E9 !important;
}

/* Cards transparentes */
body#cart .card,
body#cart .card-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* ===== LAYOUT GLOBAL : alignement sidebar ===== */
body#cart .cart-grid {
  display: flex !important;
  gap: 60px !important;
  align-items: flex-start !important;
}

body#cart .cart-grid-body {
  flex: 1 !important;
}

body#cart .cart-grid-right {
  flex: 0 0 380px !important;
  padding-top: 80px !important; /* aligne le récap sous la ligne "PANIER" */
}

@media (max-width: 991px) {
  body#cart .cart-grid {
    flex-direction: column !important;
  }
  body#cart .cart-grid-right {
    flex: 1 !important;
    padding-top: 0 !important;
  }
}

/* ===== EN-TÊTE TYPE "PANIER / LIVRAISON / PAIEMENT" ===== */
body#cart .card-header {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  padding: 20px 40px !important;
  margin-bottom: 0 !important;
}

body#cart .card-header h1,
body#cart .card-header .h1 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  font-weight: 600 !important;
  margin: 0 !important;
  position: relative;
  display: inline-block;
}

/* Effet "tab actif" sous PANIER */
body#cart .card-header h1::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -21px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #333;
}

/* ===== LIGNES PRODUIT ===== */
.cart-overview {
  padding: 0 !important;
}

.cart-items {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cart-item {
  padding: 30px 40px !important;
  border-bottom: 1px solid #c8c0b4 !important;
  background: transparent !important;
}

.cart-item:last-child {
  border-bottom: none !important;
}

/* Grille produit horizontale */
.product-line-grid {
  display: flex !important;
  align-items: center !important;
  gap: 30px !important;
  flex-wrap: nowrap !important;
}

.product-line-grid-left {
  flex: 0 0 150px !important;
  max-width: 150px !important;
}

.product-line-grid-left img {
  width: 100% !important;
  height: 150px !important;
  object-fit: cover !important;
  display: block !important;
}

.product-line-grid-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 60px !important;
  padding: 0 !important;
}

/* Nom + prix groupés */
.product-line-info,
.product-line-grid-body > .product-line-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.product-line-info a,
.product-line__title,
.product-line__title a,
.cart-item .product-line-info .label {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 26px !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  color: #333 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  margin: 0 0 70px 0 !important;
  display: block;
}

.product-price,
.product-price-and-shipping,
.cart-item .price {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 22px !important;
  color: #333 !important;
  margin: 0 !important;
}

/* Prix HT discret en dessous prix TTC */
.cart-item .product-price-tax-excluded,
.cart-item .price-tax-excluded,
.product-price-tax-included + .product-price-tax-excluded,
.tax-excluded-price {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #888 !important;
  display: block !important;
  margin-top: 4px !important;
}

/* Référence produit */
.cart-item .product-line__reference,
.cart-item .product-reference {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #888 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 4px !important;
  display: block;
}

.cart-item .product-line__reference strong {
  color: #333 !important;
  font-weight: 600 !important;
}

/* Détails produit */
.product-line-info-list,
.cart-item .product-quantity-info,
.product-line__attributes {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.6 !important;
}

/* Régulier prix barré */
.regular-price {
  font-family: 'Acumin pro light', sans-serif !important;
  color: #999 !important;
  font-size: 13px !important;
  text-decoration: line-through;
  margin-right: 8px;
}

/* Badge promo */
.discount.discount-percentage {
  background: #FAD2B9 !important;
  color: #333 !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1px;
  font-weight: 600;
}

/* ===== ACTIONS À DROITE (heart, qty, trash) ===== */
.product-line-grid-right {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

/* ===== QUANTITÉ STYLISÉE ===== */
.product-quantity,
.cart-item .qty {
  width: 90% !important;
  display: inline-flex !important;
  align-items: center !important;
}

.product-quantity .input-group,
.cart-item .qty .bootstrap-touchspin,
.bootstrap-touchspin {
  border: 1px solid #333 !important;
  background: #fff !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: stretch !important;
  height: 42px !important;
  box-shadow: none !important;
  position: relative;
}

.product-quantity input[type="number"],
.cart-item input.js-cart-line-product-quantity {
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 15px !important;
  width: 50px !important;
  color: #333 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  height: 40px !important;
}

.input-group-btn-vertical,
.bootstrap-touchspin .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column !important;
  border-left: 1px solid #c8c0b4 !important;
  height: 40px !important;
}

.bootstrap-touchspin-up,
.bootstrap-touchspin-down,
.input-group-btn-vertical button {
  background: transparent !important;
  border: none !important;
  color: #333 !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  cursor: pointer !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  height: 20px !important;
}

.bootstrap-touchspin-up {
  border-bottom: 1px solid #c8c0b4 !important;
}

.bootstrap-touchspin-up:hover,
.bootstrap-touchspin-down:hover,
.input-group-btn-vertical button:hover {
  background: #f5f0e3 !important;
}

/* Supprimer */
.remove-from-cart,
.cart-item .remove {
  color: #333 !important;
  background: transparent !important;
  border: none !important;
  font-size: 18px !important;
  padding: 8px !important;
  display: inline-flex;
  align-items: center;
}

.remove-from-cart:hover {
  color: #1d6e75 !important;
}

/* ===== COLONNE DROITE (sidebar) ===== */
.cart-grid-right .card-header {
  display: none !important;
}

/* Récap lignes */
.cart-summary-subtotals-container {
  padding: 0 !important;
}

.cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #333 !important;
  border-bottom: 1px solid #e5dfd2 !important;
}

.cart-summary-line .label,
.cart-summary-line .value {
  color: #333 !important;
}

.cart-summary-line.cart-summary-subtotals,
.cart-summary-line[data-id="total"] {
  font-weight: 600 !important;
}

/* TOTAL TTC */
.cart-total {
  background: transparent !important;
  border: none !important;
  border-top: 2px solid #333 !important;
  margin: 16px 0 24px !important;
  padding: 16px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
}

.cart-total .label,
.cart-total .value {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 20px !important;
  letter-spacing: 2px !important;
  color: #333 !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

/* Code promo */
.block-promo input[type="text"] {
  border: none !important;
  border-bottom: 1px solid #333 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
}

.block-promo button,
.block-promo .btn {
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase;
}

/* Bouton COMMANDER */
.cart-detailed-actions .btn-primary,
a.btn-primary[href*="order"] {
  display: block !important;
  width: 100% !important;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.cart-detailed-actions .btn-primary:hover {
  background: #1d6e75 !important;
}

/* Alerte récompenses */
.alert-info {
  background: #8ab5b5 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 0 !important;
  text-align: center !important;
  padding: 16px 20px !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
}

/* Continuer mes achats */
.continue-shopping,
a[href*="continue"] {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #333 !important;
  text-decoration: none !important;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 767px) {
  .cart-item {
    padding: 20px 15px !important;
  }
  
  .product-line-grid {
    gap: 15px !important;
  }
  
  .product-line-grid-left {
    flex: 0 0 100px !important;
    max-width: 100px !important;
  }
  
  .product-line-grid-left img {
    height: 100px !important;
  }
  
  .product-line-info a {
    font-size: 18px !important;
    margin: 0 0 30px 0 !important;
  }
  
  .product-line-grid-body {
    gap: 20px !important;
  }
}

/* ===================================================
   CHECKOUT - STYLE EDITORIAL EXALTO
   (appliqué aussi sur body#cart pour le one-page checkout)
   =================================================== */

/* Fond cream partout */
body#checkout, body#cart,
body#checkout #wrapper, body#cart #wrapper,
body#checkout #main, body#cart #main,
body#checkout #content-wrapper, body#cart #content-wrapper,
body#checkout #content, body#cart #content {
  background: #F7F4E9 !important;
}

/* Cards transparentes - on enlève le look "white box" */
body#checkout .checkout-process, body#cart .checkout-process,
body#checkout .card, body#cart .card,
body#checkout .card-body, body#cart .card-body,
body#checkout .js-checkout-step, body#cart .js-checkout-step,
body#checkout .checkout-step, body#cart .checkout-step {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* ===== STEPS - tous visibles en même temps ===== */
body#checkout .checkout-step, body#cart .checkout-step {
  margin-bottom: 40px !important;
  padding-bottom: 30px !important;
  border-bottom: 1px solid #c8c0b4 !important;
}

body#checkout .checkout-step:last-child, body#cart .checkout-step:last-child {
  border-bottom: none !important;
}

/* Forcer TOUTES les étapes visibles simultanément, quel que soit leur état */
body#checkout .checkout-step .content, body#cart .checkout-step .content {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Cacher les boutons "modifier" entre les étapes */
body#checkout .checkout-step .step-edit, body#cart .checkout-step .step-edit {
  display: none !important;
}

/* ===== TITRES STEPS ===== */
body#checkout .step-title, body#cart .step-title,
body#checkout .checkout-step .h1, body#cart .checkout-step .h1,
body#checkout .checkout-step h1, body#cart .checkout-step h1 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 22px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #c8c0b4 !important;
  margin-bottom: 30px !important;
}

/* Numéro de step en rond */
body#checkout .step-number, body#cart .step-number,
body#checkout .checkout-step .step-number, body#cart .checkout-step .step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: #FAD2B9 !important;
  color: #333 !important;
  border-radius: 50% !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Step complete - numéro plus discret */
body#checkout .checkout-step.-complete .step-number, body#cart .checkout-step.-complete .step-number {
  background: #8ab5b5 !important;
  color: #fff !important;
}

body#checkout .checkout-step.-unreachable .step-number, body#cart .checkout-step.-unreachable .step-number {
  background: #e5dfd2 !important;
  color: #999 !important;
}

/* ===== TABS : "Commander en tant qu'invité | Connexion" ===== */
body#checkout .nav-tabs, body#cart .nav-tabs,
body#checkout .nav.nav-inline, body#cart .nav.nav-inline {
  border-bottom: 1px solid #c8c0b4 !important;
  margin-bottom: 30px !important;
  padding: 0 !important;
  display: flex !important;
  gap: 30px !important;
}

body#checkout .nav-item, body#cart .nav-item {
  margin: 0 !important;
}

body#checkout .nav-link, body#cart .nav-link,
body#checkout .nav-inline .nav-item a, body#cart .nav-inline .nav-item a {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #999 !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  padding: 12px 0 !important;
  font-weight: 600 !important;
}

body#checkout .nav-link.active, body#cart .nav-link.active,
body#checkout .nav-inline .nav-item a.active, body#cart .nav-inline .nav-item a.active {
  color: #333 !important;
  border-bottom-color: #333 !important;
}

/* ===== FORMULAIRES ===== */
body#checkout label, body#cart label,
body#checkout .form-control-label, body#cart .form-control-label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #333 !important;
  letter-spacing: 1px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

body#checkout .form-group, body#cart .form-group {
  margin-bottom: 24px !important;
}

/* Inputs : underline only, fond transparent */
body#checkout input[type="text"], body#cart input[type="text"],
body#checkout input[type="email"], body#cart input[type="email"],
body#checkout input[type="password"], body#cart input[type="password"],
body#checkout input[type="tel"], body#cart input[type="tel"],
body#checkout input[type="number"], body#cart input[type="number"],
body#checkout select, body#cart select,
body#checkout textarea, body#cart textarea,
body#checkout .form-control, body#cart .form-control {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #333 !important;
  box-shadow: none !important;
  width: 100% !important;
  transition: border-color 0.3s;
}

body#checkout input:focus, body#cart input:focus,
body#checkout select:focus, body#cart select:focus,
body#checkout textarea:focus, body#cart textarea:focus,
body#checkout .form-control:focus, body#cart .form-control:focus {
  border-bottom-color: #333 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Helper text */
body#checkout .form-control-comment, body#cart .form-control-comment,
body#checkout small, body#cart small,
body#checkout .help-block, body#cart .help-block {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #888 !important;
  margin-top: 4px !important;
  font-style: italic;
}

/* Mention "Optionnel" */
body#checkout .text-muted, body#cart .text-muted {
  font-family: 'Acumin pro light', sans-serif !important;
  color: #888 !important;
  font-style: italic;
  font-size: 12px !important;
}

/* Radio M./Mme */
body#checkout input[type="radio"], body#cart input[type="radio"],
body#checkout input[type="checkbox"], body#cart input[type="checkbox"] {
  accent-color: #333 !important;
  margin-right: 8px;
}

body#checkout .custom-control-label, body#cart .custom-control-label,
body#checkout .radio-inline, body#cart .radio-inline,
body#checkout label.checkbox-inline, body#cart label.checkbox-inline {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #1d6e75 !important;
  font-weight: 400 !important;
}

/* Lien "Mot de passe oublié" */
body#checkout a.forgot-password, body#cart a.forgot-password,
body#checkout a[href*="password-recovery"], body#cart a[href*="password-recovery"] {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #333 !important;
  text-decoration: none !important;
  letter-spacing: 1px;
}

body#checkout a.forgot-password:hover, body#cart a.forgot-password:hover {
  text-decoration: underline !important;
}

/* ===== BOUTONS (CONTINUER, etc.) ===== */
body#checkout .btn-primary, body#cart .btn-primary,
body#checkout button[type="submit"], body#cart button[type="submit"],
body#checkout .continue, body#cart .continue {
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 40px !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  transition: background 0.3s;
}

body#checkout .btn-primary:hover, body#cart .btn-primary:hover,
body#checkout button[type="submit"]:hover, body#cart button[type="submit"]:hover {
  background: #1d6e75 !important;
}

/* Bouton "AFFICHER" (password) */
body#checkout button.input-group-text, body#cart button.input-group-text,
body#checkout .input-group-append button, body#cart .input-group-append button {
  background: #7a7a7a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1px;
  padding: 0 16px !important;
}

/* ===== RÉCAP COMMANDE EN HAUT ===== */
body#checkout .cart-summary, body#cart .cart-summary,
body#checkout #cart-summary, body#cart #cart-summary {
  background: transparent !important;
  border: 1px solid #c8c0b4 !important;
  padding: 20px 30px !important;
  margin-bottom: 30px !important;
}

body#checkout .cart-summary .cart-summary-line, body#cart .cart-summary .cart-summary-line {
  border-bottom: 1px solid #e5dfd2 !important;
}

body#checkout .cart-total, body#cart .cart-total {
  border-top: 2px solid #333 !important;
  border-bottom: none !important;
}

/* ===== ALERT (validation mot de passe etc.) ===== */
body#checkout .alert, body#cart .alert {
  background: transparent !important;
  border-radius: 0 !important;
  border: 1px solid #8ab5b5 !important;
  color: #1d6e75 !important;
  padding: 12px 16px !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
}

/* Wrapper container width */
@media (min-width: 992px) {
  body#checkout #content-wrapper, body#cart #content-wrapper {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 30px 20px !important;
  }
}

/* Bouton show/hide password - checkout connexion */
body#checkout #login-form .input-group, body#cart #login-form .input-group,
body#checkout .js-parent-form .input-group, body#cart .js-parent-form .input-group {
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid #c8c0b4 !important;
}

body#checkout #login-form .input-group input, body#cart #login-form .input-group input,
body#checkout .js-parent-form .input-group input, body#cart .js-parent-form .input-group input {
  border-bottom: none !important;
  flex: 1 !important;
}

body#checkout #login-form .input-group-append, body#cart #login-form .input-group-append,
body#checkout .js-parent-form .input-group-append, body#cart .js-parent-form .input-group-append {
  display: flex !important;
  align-items: center !important;
}

body#checkout #login-form .input-group-append button, body#cart #login-form .input-group-append button,
body#checkout .js-parent-form .input-group-append button, body#cart .js-parent-form .input-group-append button {
  background: transparent !important;
  border: none !important;
  color: #888 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 0 0 0 12px !important;
  cursor: pointer !important;
}

body#checkout #login-form .input-group-append button:hover, body#cart #login-form .input-group-append button:hover {
  color: #333 !important;
}

/* Centrage formulaire connexion checkout */
body#checkout #login-form, body#cart #login-form,
body#checkout .js-login-form, body#cart .js-login-form,
body#checkout .checkout-step .tab-pane, body#cart .checkout-step .tab-pane {
  max-width: 500px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

body#checkout .checkout-step .nav-tabs, body#cart .checkout-step .nav-tabs {
  max-width: 500px !important;
  margin: 0 auto 30px !important;
}

body#checkout .forgot-password, body#cart .forgot-password,
body#checkout a[href*="password-recovery"], body#cart a[href*="password-recovery"] {
  display: block !important;
  text-align: center !important;
  margin: 12px 0 !important;
}

body#checkout .form-footer, body#cart .form-footer {
  text-align: center !important;
}

body#checkout .form-footer .btn-primary, body#cart .form-footer .btn-primary {
  margin: 0 auto !important;
  display: inline-block !important;
  min-width: 200px !important;
}

/* Centrage bouton CONTINUER checkout */
body#checkout .form-footer, body#cart .form-footer,
body#checkout #login-form .form-footer, body#cart #login-form .form-footer,
body#checkout .js-login-form .form-footer, body#cart .js-login-form .form-footer {
  display: flex !important;
  justify-content: center !important;
  margin-top: 20px !important;
}

body#checkout .form-footer .btn-primary, body#cart .form-footer .btn-primary,
body#checkout #login-form .form-footer button, body#cart #login-form .form-footer button {
  min-width: 220px !important;
  display: block !important;
}

/* Cartes adresse - style éditorial */
body#checkout .address-item, body#cart .address-item,
body#checkout .address-item.selected, body#cart .address-item.selected {
  background: transparent !important;
  border: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  padding: 20px !important;
}

body#checkout .address-item.selected, body#cart .address-item.selected {
  border-color: #333 !important;
  border-width: 2px !important;
}

body#checkout .address-item:hover, body#cart .address-item:hover {
  border-color: #333 !important;
}

body#checkout .address-alias, body#cart .address-alias {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  margin-bottom: 10px !important;
}

body#checkout .address address, body#cart .address address {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.8 !important;
}

body#checkout .address-footer, body#cart .address-footer {
  border-top: 1px solid #e5dfd2 !important;
  padding-top: 12px !important;
  margin-top: 16px !important;
  background: transparent !important;
}

body#checkout .address-footer a, body#cart .address-footer a {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #666 !important;
  letter-spacing: 1px !important;
}

/* Cartes transporteur */
body#checkout .delivery-option, body#cart .delivery-option,
body#checkout .carrier-extra-content, body#cart .carrier-extra-content {
  background: transparent !important;
  border: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
}

body#checkout .delivery-option:hover, body#cart .delivery-option:hover {
  border-color: #333 !important;
}

body#checkout .delivery-option.selected, body#cart .delivery-option.selected,
body#checkout .delivery-option input[type="radio"]:checked ~ *, body#cart .delivery-option input[type="radio"]:checked ~ * {
  border-color: #333 !important;
  border-width: 2px !important;
}

body#checkout .carrier-name, body#cart .carrier-name {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  color: #333 !important;
}

body#checkout .carrier-delay, body#cart .carrier-delay,
body#checkout .carrier-extra-content, body#cart .carrier-extra-content {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #888 !important;
}

body#checkout .carrier-price, body#cart .carrier-price {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  color: #333 !important;
}

/* Message commande */
body#checkout #delivery textarea, body#cart #delivery textarea {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  resize: none !important;
  width: 100% !important;
  padding: 10px 0 !important;
}

/* Tableau récap commande */
body#checkout #order-items, body#cart #order-items,
body#checkout .order-confirmation-table, body#cart .order-confirmation-table {
  background: transparent !important;
  border: 1px solid #c8c0b4 !important;
  padding: 0 !important;
}

body#checkout #order-items table, body#cart #order-items table,
body#checkout .order-confirmation-table table, body#cart .order-confirmation-table table {
  width: 100% !important;
  border-collapse: collapse !important;
}

body#checkout #order-items thead th, body#cart #order-items thead th,
body#checkout .order-confirmation-table thead th, body#cart .order-confirmation-table thead th {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  font-weight: 600 !important;
  padding: 16px 20px !important;
  border-bottom: 2px solid #333 !important;
  background: transparent !important;
}

body#checkout #order-items tbody td, body#cart #order-items tbody td,
body#checkout .order-confirmation-table tbody td, body#cart .order-confirmation-table tbody td {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #444 !important;
  padding: 20px !important;
}

body#checkout #order-items .product-name,
body#checkout .order-confirmation-table .product-name {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  color: #333 !important;
}

/* Totaux */
body#checkout #order-items .total-value,
body#checkout #order-items tfoot td,
body#checkout .order-confirmation-table tfoot td {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #555 !important;
  padding: 12px 20px !important;
  background: transparent !important;
}

body#checkout #order-items tfoot tr:last-child td,
body#checkout .order-confirmation-table tfoot tr.total-value td {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  color: #333 !important;
  font-weight: 400 !important;
  border-top: 2px solid #333 !important;
  text-transform: uppercase !important;
}

/* Ligne livraison récap */
body#checkout #order-items .carrier-block,
body#checkout .order-confirmation-table .carrier-block {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #e5dfd2 !important;
  padding: 12px 20px !important;
}

body#checkout #delivery textarea,
body#checkout #gift_message textarea,
body#checkout .carrier-extra-content textarea {
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 10px 0 !important;
  resize: none !important;
  width: 100% !important;
}

/* Supprime le cadre du wrapper */
body#checkout .carrier-extra-content {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 12px !important;
}

/* ===== PAGE PAIEMENT ===== */

/* Options de paiement */
body#checkout #payment-confirmation,
body#checkout .payment-options {
  margin-bottom: 32px !important;
}

body#checkout .payment-option {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #e5dfd2 !important;
  background: transparent !important;
}

body#checkout .payment-option label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #333 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body#checkout .payment-option input[type="radio"] {
  accent-color: #1d6e75 !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

/* CGV */
body#checkout #conditions-to-approve {
  margin: 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

body#checkout #conditions-to-approve label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #555 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

body#checkout #conditions-to-approve a {
  color: #1d6e75 !important;
  text-decoration: underline !important;
}

/* Titre "Veuillez vérifier..." */
body#checkout .order-recap p,
body#checkout #order-summary p,
body#checkout h4.h4 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 14px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  font-weight: 400 !important;
  margin: 32px 0 16px !important;
}

/* Section Adresses */
body#checkout .order-recap .address-recap,
body#checkout #addresses-recap {
  display: flex !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
}

body#checkout .order-recap .address-recap > div,
body#checkout #addresses-recap > div {
  flex: 1 !important;
  border: 1px solid #e5dfd2 !important;
  padding: 18px 20px !important;
}

body#checkout .order-recap .address-recap h4,
body#checkout #addresses-recap h4 {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #e5dfd2 !important;
  padding-bottom: 8px !important;
}

body#checkout .order-recap address,
body#checkout #addresses-recap address {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #444 !important;
  line-height: 1.8 !important;
  font-style: normal !important;
}

/* Tableau articles */
body#checkout #order-items,
body#checkout .order-confirmation-table {
  border: none !important;
  border-top: 1px solid #333 !important;
  background: transparent !important;
}

body#checkout #order-items table {
  width: 100% !important;
  border-collapse: collapse !important;
}

body#checkout #order-items thead th {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  font-weight: 400 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e5dfd2 !important;
  text-align: left !important;
}

body#checkout #order-items thead th:last-child {
  text-align: right !important;
}

body#checkout #order-items tbody td {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #444 !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #f0ede6 !important;
  vertical-align: middle !important;
}

body#checkout #order-items tbody td:last-child {
  text-align: right !important;
}

body#checkout #order-items .product-name,
body#checkout #order-items td strong {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  letter-spacing: 1.5px !important;
  color: #333 !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

/* Totaux */
body#checkout #order-items tfoot td {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  color: #666 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #f0ede6 !important;
  text-align: right !important;
}

body#checkout #order-items tfoot tr:last-child td {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 20px !important;
  color: #333 !important;
  border-top: 2px solid #333 !important;
  border-bottom: none !important;
  padding: 16px 0 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Bouton COMMANDER */
body#checkout #payment-confirmation button,
body#checkout .ps-shown-by-js button {
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 60px !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 14px !important;
  letter-spacing: 5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.3s !important;
  margin-top: 24px !important;
  display: block !important;
}

body#checkout #payment-confirmation button:hover {
  background: #1d6e75 !important;
}

/* Alerte erreur */
body#checkout .alert-danger {
  background: transparent !important;
  border: 1px solid #FAD2B9 !important;
  border-radius: 0 !important;
  color: #333 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 13px !important;
  padding: 14px 18px !important;
  margin-top: 16px !important;
}

/* Ligne HT sous le total */
#order-items table tr.total-ht td {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #aaa !important;
  font-style: italic !important;
  padding: 4px 0 !important;
  border: none !important;
}

.total-ht-label,
.total-ht-value {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #aaa !important;
  font-style: italic !important;
}

/* ===== TABLEAU RÉCAP PAIEMENT — typography ===== */
body#checkout #order-items,
body#checkout .order-confirmation-table,
body#checkout #order-items table,
body#checkout #order-items th,
body#checkout #order-items td,
body#checkout #order-items tr,
body#checkout #order-items span,
body#checkout #order-items .bold,
body#checkout #order-items .font-weight-bold {
  font-family: 'Acumin pro light', sans-serif !important;
  font-weight: 400 !important;
}

body#checkout #order-items .card-title,
body#checkout #order-items h3 {
  font-family: 'Acumin pro light', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  color: #888 !important;
}

body#checkout #order-items .details span,
body#checkout #order-items .product-name {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

body#checkout .delivery-option {
  border-bottom: 1px solid #e5dfd2 !important;
}

.summary-selected-carrier {
  background-color: transparent !important;
}

/* Transparent uniquement dans le récap paiement */
body#checkout #order-confirmation .delivery-option,
body#checkout #order-items .delivery-option,
body#checkout .order-confirmation-table .delivery-option {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #e5dfd2 !important;
}

/* Remet le panier intact */
body#cart .product-line-sezane {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: flex-start !important;
}

/* Fix panier — force flex sur la ligne produit */
body#cart .cart-item {
  padding: 0 !important;
  background: transparent !important;
  border-bottom: none !important;
}

body#cart .cart-items {
  padding: 0 !important;
  margin: 0 !important;
}

body#cart .product-line-sezane {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px !important;
  align-items: flex-start !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid #e5dfd2 !important;
  width: 100% !important;
}

/* ===== RESET GLOBAL — FIX TOUT ===== */

.header-top .logo_titre {
  position: relative !important;
  margin: 14px auto 12px !important;
  order: 1 !important;
}

.header-top .logo_titre img,
#header .logo {
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

#_desktop_top_menu {
  order: 2 !important;
  width: 100% !important;
  border-top: 1px solid rgba(0,0,0,0.12) !important;
  border-bottom: 1px solid rgba(0,0,0,0.10) !important;
}

#_desktop_top_menu .menu > ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

body.page-index #header .header-top a[data-depth="0"] {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 1.70rem !important;
  text-transform: uppercase !important;
  padding: 14px 38px !important;
  color: #fff !important;
  display: block !important;
}

body:not(.page-index) #header .header-top a[data-depth="0"] {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 1.70rem !important;
  text-transform: uppercase !important;
  padding: 14px 38px !important;
  color: #1a1a2e !important;
  display: block !important;
}

#_desktop_cart { right: 40px !important; top: 34px !important; position: absolute !important; }
#_desktop_user_info { right: 84px !important; top: 34px !important; position: absolute !important; }
#_desktop_language_selector { right: 132px !important; top: 34px !important; position: absolute !important; }
#search_widget { right: 178px !important; top: 28px !important; position: absolute !important; }

/* Panier */
body#cart .cart-item {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

body#cart .product-line-sezane {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: flex-start !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid #e5dfd2 !important;
  width: 100% !important;
}

body#cart .pls-image {
  flex: 0 0 100px !important;
  min-width: 100px !important;
}

body#cart .pls-image img {
  width: 100px !important;
  height: 130px !important;
  object-fit: cover !important;
  display: block !important;
}

body#cart .pls-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  min-width: 0 !important;
}

body#cart .pls-name {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}

body#cart .pls-ref {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #aaa !important;
  letter-spacing: 1px !important;
}

body#cart .pls-prices {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-top: 8px !important;
}

body#cart .pls-price-ttc {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 15px !important;
  color: #333 !important;
}

body#cart .pls-price-ht {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  color: #aaa !important;
  font-style: italic !important;
}

body#cart .pls-qty {
  margin-top: 14px !important;
}

body#cart .pls-qty .bootstrap-touchspin {
  border: 1px solid #c8c0b4 !important;
  background: transparent !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: stretch !important;
  height: 41px !important;
  box-shadow: none !important;
}

body#cart .pls-qty input.js-cart-line-product-quantity {
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 13px !important;
  width: 36px !important;
  color: #333 !important;
  padding: 0 !important;
}

body#cart .pls-qty .bootstrap-touchspin-up,
body#cart .pls-qty .bootstrap-touchspin-down {
  background: transparent !important;
  border: none !important;
  color: #555 !important;
  padding: 0 8px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  font-size: 12px !important;
}

body#cart .pls-qty .bootstrap-touchspin-down {
  border-right: 1px solid #e5dfd2 !important;
}

body#cart .pls-qty .bootstrap-touchspin-up {
  border-left: 1px solid #e5dfd2 !important;
}

body#cart .pls-right {
  flex: 0 0 80px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
}

body#cart .pls-total {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 16px !important;
  color: #333 !important;
}

body#cart .pls-remove i {
  font-size: 16px !important;
  color: #aaa !important;
}

/* Sidebar récap */
body#cart .cart-grid {
  display: flex !important;
  gap: 80px !important;
  align-items: flex-start !important;
}
body#cart .cart-grid-right { flex: 0 0 320px !important; }

/* Fix titres produit cassés */
.product-miniature .product-title,
.product-miniature .product-title a,
.product-card-left .product-title,
.product-card-left .product-title a {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  display: block !important;
}

.product-card-meta {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.product-card-left {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

/* ===== FIX GLOBAL PRODUITS ===== */
.product-miniature .product-title,
.product-miniature .product-title a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  position: static !important;
  width: 100% !important;
  font-size: 16px !important;
  color: #3c3935 !important;
  text-transform: uppercase !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  white-space: normal !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.2 !important;
  margin: 0 0 6px 0 !important;
}

.product-card-meta {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
}

.product-card-left {
  flex: 1 !important;
  min-width: 0 !important;
}

.product-card-right {
  flex: 0 0 auto !important;
  text-align: right !important;
}

/* ===== FIX GRILLE PRODUITS ===== */
#products .products, .product-listing
.products, .featured-products
.products, .product-accessories .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 40px 48px !important;
    width: 100% !important;
    align-items: start !important;
    justify-content: initial !important;
    margin: -10px;
    padding-left: 60px !important;
    padding-right: 60px !important;
}

#products .js-product,
.product-listing .js-product,
.featured-products .js-product,
.product-accessories .js-product {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.product-miniature {
  width: 100% !important;
  min-width: 0 !important;
}

.product-miniature .product-title,
.product-miniature .product-title a {
  display: block !important;
  width: 100% !important;
  white-space: normal !important;
  word-break: break-word !important;
  writing-mode: horizontal-tb !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  color: #3c3935 !important;
  text-transform: uppercase !important;
}

/* ===== SWAP IMAGE AU HOVER ===== */
.product-miniature .thumbnail-top {
  position: relative !important;
  overflow: hidden !important;
}

.product-miniature .img-primary,
.product-miniature .img-hover {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  transition: opacity 0.4s ease !important;
}

.product-miniature .img-hover {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
}

.product-miniature:hover .img-hover {
  opacity: 1 !important;
}

.product-miniature:hover .img-primary {
  opacity: 0 !important;
}

#_desktop_top_menu .top-menu[data-depth="0"] > li:nth-child(3),
#_desktop_top_menu .menu > ul > li:nth-child(3) {
  margin-left: 0 !important;
  padding-left: 0 !important;
}


.header-top .logo_titre {
  margin: 20px auto 16px !important;
}

/* Icônes recalculées — zone logo = 20 + 180 + 16 = 216px → centre à 108px */
#_desktop_cart {
  right: 40px !important;
  top: 108px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#_desktop_user_info {
  right: 84px !important;
  top: 108px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#_desktop_language_selector {
  right: 132px !important;
  top: 108px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#search_widget {
  right: 178px !important;
  top: 100px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#_desktop_cart {
  right: 40px !important;
  top: 60px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#_desktop_user_info {
  right: 84px !important;
  top: 60px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#_desktop_language_selector {
  right: 132px !important;
  top: 60px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

#search_widget {
  right: 178px !important;
  top: 52px !important;
  transform: translateY(-50%) !important;
  position: absolute !important;
}

.header-top .logo_titre {
  margin: 4px auto 2px !important;
}

/* ===== HEADER MOBILE FIX ===== */
@media (max-width: 767px) {
  .header-top .displaytop {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 64px !important;
    padding: 0 16px !important;
    position: relative !important;
  }

  .header-top .logo_titre {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 30 !important;
  }

  .header-top .logo_titre img,
  .header-top .logo_titre .logo,
  #header .logo {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
  }

  #_desktop_top_menu {
    display: none !important;
  }

  #_desktop_cart,
  #_desktop_user_info,
  #_desktop_language_selector,
  #search_widget {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
  }

  /* Espace blanc supprimé */
  body#index section#content {
    margin-top: 0 !important;
  }

  section#content {
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  .header-top .logo_titre {
    top: 32px !important;
    transform: translate(-50%, -50%) !important;
  }

  .header-top .displaytop {
    min-height: 56px !important;
  }

  /* Supprime la barre grise */
  #_desktop_top_menu {
    display: none !important;
    border: none !important;
  }
}

@media (max-width: 767px) {
  header.is-open .logo_titre,
  header.is-open .header-top .logo_titre {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* Grille 1 colonnes mobile */
  #products .products,
  .product-listing .products,
  .featured-products .products,
  .product-accessories .products {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 0 12px !important;
  }

  /* Image pleine largeur */
  .product-miniature .thumbnail-top,
  .product-miniature .thumbnail-top img,
  .product-miniature .img-primary {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  /* Titre */
  .product-miniature .product-title,
  .product-miniature .product-title a {
    font-size: 26px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Prix */
  .product-card-right .price,
  .product-miniature .price {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .product-card-ht {
    font-size: 10px !important;
  }

  /* Meta */
  .product-card-meta {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 8px 0 !important;
  }

  .product-card-left {
    flex: 1 !important;
    min-width: 0 !important;
  }

  .product-card-right {
    flex: 0 0 auto !important;
    text-align: right !important;
    min-width: 50px !important;
  }

  /* Ref */
  .product-card-ref {
    font-size: 16px !important;
  }

  /* Cache éléments inutiles mobile */
  .product-miniature .product-hover-overlay {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* Panier mobile — layout colonne */
  body#cart .cart-grid {
    flex-direction: column !important;
    gap: 24px !important;
  }

  body#cart .cart-grid-right {
    flex: 1 !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* Bouton COMMANDER — z-index et position */
  .cart-detailed-actions .btn-primary,
  a.btn-primary[href*="order"] {
    position: relative !important;
    z-index: 10 !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  /* Ligne produit mobile */
  body#cart .product-line-sezane {
    gap: 14px !important;
    padding: 20px 0 !important;
  }

  body#cart .pls-image {
    flex: 0 0 80px !important;
    min-width: 80px !important;
  }

  body#cart .pls-image img {
    width: 80px !important;
    height: 100px !important;
  }

  body#cart .pls-name {
    font-size: 13px !important;
    letter-spacing: 1px !important;
  }

  body#cart .pls-right {
    min-width: 60px !important;
  }

  body#cart .pls-total {
    font-size: 14px !important;
  }

  /* Récap sidebar */
  body#cart .cart-summary-line {
    font-size: 13px !important;
  }

  body#cart .cart-total .label,
  body#cart .cart-total .value {
    font-size: 15px !important;
  }

  /* Section après le panier */
  body#cart #main {
    padding-bottom: 0 !important;
  }

  /* PayPal logos */
  body#cart .cart-grid-right img {
    max-height: 24px !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  /* Bannière avantages fidélité */
  .avantages-banner {
    padding: 24px 16px !important;
    margin-bottom: 16px !important;
  }

  .avantages-title {
    font-size: 18px !important;
    margin-bottom: 20px !important;
  }

  .avantages-items {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  .avantages-separator {
    display: none !important;
  }

  .avantages-item {
    padding: 0 !important;
  }

  .avantages-item img {
    width: 100% !important;
    height: 60px !important;
  }

  .avantages-label {
    font-size: 10px !important;
  }

  /* Menu compte client */
  .account-menu-list {
    padding: 0 16px !important;
  }

  .account-menu-item {
    padding: 16px 0 !important;
  }

  .account-menu-label {
    font-size: 14px !important;
  }

  /* Carte points */
  .rewards-card {
    margin: 0 16px 16px !important;
    padding: 16px !important;
  }

  .rewards-card-amount {
    font-size: 28px !important;
  }
}

@media (max-width: 767px) {
  /* Formulaire checkout/identité mobile */
  body#checkout .form-group,
  body#identity .form-group,
  body.page-customer-account .form-group {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 20px !important;
  }

  body#checkout .form-group .col-md-3,
  body#identity .form-group .col-md-3,
  body.page-customer-account .form-group .col-md-3 {
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin-bottom: 4px !important;
  }

  body#checkout .form-group .col-md-6,
  body#checkout .form-group .col-md-9,
  body#identity .form-group .col-md-6,
  body#identity .form-group .col-md-9,
  body.page-customer-account .form-group .col-md-6,
  body.page-customer-account .form-group .col-md-9 {
    width: 100% !important;
    padding: 0 !important;
  }

  /* Labels uppercase petits */
  body#checkout label,
  body#identity label,
  body.page-customer-account label {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    text-align: left !important;
  }

  /* Inputs full width */
  body#checkout input,
  body#identity input,
  body.page-customer-account input {
    width: 100% !important;
    font-size: 14px !important;
  }

  /* Bouton AFFICHER mdp */
  body#checkout .input-group,
  body#identity .input-group,
  body.page-customer-account .input-group {
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid #c8c0b4 !important;
  }

  body#checkout .input-group input,
  body#identity .input-group input,
  body.page-customer-account .input-group input {
    border-bottom: none !important;
    flex: 1 !important;
  }

  body#checkout .input-group-append button,
  body#identity .input-group-append button,
  body.page-customer-account .input-group-append button {
    font-size: 10px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
  }

  /* Bouton continuer centré */
  body#checkout .form-footer,
  body#identity .form-footer,
  body.page-customer-account .form-footer {
    text-align: center !important;
    padding-left: 0 !important;
  }

  body#checkout .form-footer .btn-primary,
  body#identity .form-footer button,
  body.page-customer-account .form-footer button {
    width: 100% !important;
    padding: 14px !important;
    font-size: 13px !important;
  }

  /* Radios M./Mme */
  body#checkout .custom-radio,
  body#identity .custom-radio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 16px !important;
  }

  /* Checkbox CGV */
  body#checkout .custom-checkbox label,
  body#identity .custom-checkbox label {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
}
@media (max-width: 767px) {
  .account-menu-label {
    font-size: 16px !important;
  }

  .account-menu-arrow {
    font-size: 16px !important;
  }

  .account-menu-item {
    padding: 20px 0 !important;
  }
}

/* Langue desktop — réapparition */
@media (min-width: 768px) {
  #_desktop_language_selector {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 132px !important;
    top: 60px !important;
    transform: translateY(-50%) !important;
    z-index: 40 !important;
  }

  #_desktop_language_selector .dropdown,
  #_desktop_language_selector button,
  #_desktop_language_selector span {
    display: inline-block !important;
    visibility: visible !important;
    color: #000 !important;
    font-size: 13px !important;
    background: transparent !important;
    border: none !important;
  }

  /* Recherche — plus d'espace */
  #search_widget {
    right: 178px !important;
    top: 52px !important;
    position: absolute !important;
    transform: translateY(-50%) !important;
  }

  #search_widget input,
  #search_widget .search-input {
    width: 140px !important;
    font-size: 12px !important;
    padding: 4px 0 !important;
    border-bottom: 1px solid #c8c0b4 !important;
    background: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
  }
}

/* === MASQUER SOUS-CATÉGORIES DEPTH-2 DANS LE MENU === */
.top-menu[data-depth="2"] {
  display: none !important;
}

/* === OVERLAY HOVER SÉZANE === */
.thumbnail-top {
  position: relative;
  overflow: hidden;
}

.sezane-overlay {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  background: rgba(247, 244, 233, 0.95); /* cream */
  padding: 14px 16px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 10;
}

.js-product:hover .sezane-overlay {
  opacity: 1;
  pointer-events: auto;
}

.sezane-overlay-name {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 15px;
  text-transform: uppercase;
  color: black;
  margin: 0 0 4px;
}

.sezane-overlay-ref {
  font-family: 'Kepler Std Condensed Display', sans-serif;
  font-size: 15px;
  color: #999;
  margin: 0 0 6px;
}

.sezane-overlay-price {
  font-family: 'Kepler Std Condensed Display', sans-serif;
  font-size: 15px;
  color: #1d1d1d;
  margin: 0 0 10px;
}

.sezane-overlay-btn {
  background: #000;
  color: #F7F4E9;
  border: none;
  padding: 8px 16px;
  font-size: 15px;
  font-family: 'Kepler Std Condensed Display', sans-serif;
  cursor: pointer;
  width: 100%;
  transition: background 0.2s ease;
}

.sezane-overlay-btn:hover {
  background: #155a60;
}

#search_widget.search-open {
  width: 400px !important;
}

#search_widget input[type="text"],
#search_widget .ui-autocomplete-input {
  width: 350px !important;
  min-width: 250px !important;
  border-bottom: 1px solid #c8c0b4 !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 12px !important;
  padding: 4px 0 !important;
}

/* === FIX SEARCH — champ toujours visible === */
@media (min-width: 768px) {
  #search_widget .js-search-form,
  #search_widget .js-search-form.search-closed,
  #search_widget .js-search-form.search-hidden {
    width: auto !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* ===== PAGE NOUS — STYLE ÉDITORIAL ===== */

/* Fond cream */
body#cms #wrapper,
body#cms #main,
body#cms .page-content {
  background: #F7F4E9 !important;
}

/* Accroche — grand titre centré */
body#cms .nous-accroche .elementor-heading-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 46px !important;
  line-height: 1 !important;
  color: #1d1d1d !important;
  text-align: center !important;
  letter-spacing: -0.01em !important;
  font-weight: 400 !important;
}

/* Sous-titres sections */
body#cms .nous-subtitle .elementor-heading-title {
  font-family: 'Kepler Std Light Condensed Display', serif !important;
  font-size: clamp(28px, 3vw, 48px) !important;
  color: #1d6e75 !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
}

/* Corps de texte */
body#cms .nous-text .elementor-widget-text-editor,
body#cms .nous-text .elementor-widget-text-editor p {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  color: #3b3b3b !important;
}

/* Citation mise en avant */
body#cms .nous-citation .elementor-heading-title,
body#cms .nous-citation .elementor-widget-text-editor p {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: clamp(24px, 3vw, 42px) !important;
  line-height: 1.3 !important;
  color: #1d6e75 !important;
  text-align: center !important;
  font-style: italic !important;
  font-weight: 400 !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* Fond citation légèrement coloré */
body#cms .nous-citation-section {
  background: #FAD2B915 !important;
  border-top: 1px solid #e5dfd2 !important;
  border-bottom: 1px solid #e5dfd2 !important;
}

/* Photos — style éditorial */
body#cms .nous-photo img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  filter: none !important;
}

/* Légende photo */
body#cms .nous-photo-legende .elementor-widget-text-editor p {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #999 !important;
  text-align: center !important;
  margin-top: 12px !important;
}

/* Conclusion — texte centré sobre */
body#cms .nous-conclusion .elementor-widget-text-editor,
body#cms .nous-conclusion .elementor-widget-text-editor p {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 15px !important;
  line-height: 2 !important;
  color: #3b3b3b !important;
  text-align: center !important;
  max-width: 620px !important;
  margin: 0 auto !important;
}

/* Signature finale */
body#cms .nous-signature .elementor-heading-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 22px !important;
  color: #1d6e75 !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

/* Séparateur fin */
body#cms .nous-sep {
  width: 40px !important;
  height: 1px !important;
  background: #c8c0b4 !important;
  margin: 40px auto !important;
}

/* Mobile */
@media (max-width: 767px) {
  body#cms .nous-text .elementor-widget-text-editor,
  body#cms .nous-text .elementor-widget-text-editor p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  body#cms .nous-citation .elementor-heading-title,
  body#cms .nous-citation .elementor-widget-text-editor p {
    font-size: 22px !important;
  }

  body#cms .nous-accroche .elementor-heading-title {
    font-size: 36px !important;
  }
}

/* ===== PAGE NOUS — OVERRIDE CREATIVE ELEMENTS ===== */

/* Reset gras partout sur la page */
.nous-text {
  font-weight: 400 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 16px !important;
  color: #3b3b3b !important;
}

/* Supprime le bleu sur les liens dans le texte */
body#cms .elementor-widget-text-editor a,
body#cms .elementor-widget-text-editor a:hover {
  color: #3b3b3b !important;
  text-decoration: none !important;
}

/* Titres Kepler */
body#cms .elementor-widget-heading .elementor-heading-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-weight: 400 !important;
}
body#cms .elementor-widget-heading .elementor-heading-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-weight: 400 !important;
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
}

body#cms .elementor-widget-heading .elementor-heading-title h2{
  font-family: 'Acumin pro light', sans-serif !important;
  font-weight: 400 !important;
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
}

/* Citation italic teal */
body#cms .nous-citation .elementor-heading-title {
  font-style: italic !important;
  font-size: clamp(24px, 3vw, 42px) !important;
  text-align: center !important;
}

/* Espacement paragraphes */
body#cms .nous-text .elementor-widget-text-editor p {
  margin-bottom: 1.2em !important;
}

/* ===== FIX FOND BLANC CREATIVE ELEMENTS ===== */
body#cms .elementor-section,
body#cms .elementor-container,
body#cms .elementor-column,
body#cms .elementor-column-wrap,
body#cms .elementor-widget-wrap,
body#cms .elementor-element {
  background-color: transparent !important;
}

/* === PAGE PRODUIT — espace sous header === */
body#product #wrapper {
  padding-top: 60px !important;
}

/* === COEUR ÉPURÉ PAGE PRODUIT === */
.wishlist-button-add,
.product-miniature .wishlist-button-add {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.wishlist-button-add i,
.wishlist-button-add svg,
.wishlist-button-add .material-icons {
  display: none !important;
}

.wishlist-button-add::before {
  
  content: "♡" !important;
  font-size: 20px !important;
  color: #3b3b3b !important;
  line-height: 1 !important;
  display: block !important;
  font-style: normal !important;
  transition: color 0.2s ease !important;
}

.wishlist-button-add:hover::before,
.wishlist-button-add.active::before {
  content: "♥" !important;
  color: #1d6e75 !important;
}

/* === FIX PAGE PRODUIT DESKTOP === */
@media (min-width: 768px) {
  body#product .col-md-6.infos .global {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }

  body#product .col-md-6.infos .global > * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body#product h1.h1,
  body#product .product-prices,
  body#product .product-information {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* === FIX COLONNE INFOS PAGE PRODUIT === */
body#product .col-md-6.infos {
  display: block !important;
  flex-direction: unset !important;
  justify-content: unset !important;
  align-items: unset !important;
}

body#product .col-md-6.infos .global {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}

/* === FIX LAYOUT PAGE PRODUIT === */
body#product .row.product-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  width: 100% !important;
  margin: 0 !important;
}

body#product .col-md-6.infos {
  position: relative !important;
  left: auto !important;
  top : -30px !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* === FIX OVERFLOW PAGE PRODUIT === */
body#product {
  overflow-x: visible !important;
}

body#product #wrapper {
  overflow: visible !important;
}

/* ===== FAQ ACCORDÉON — STYLE ÉDITORIAL ===== */
.accordeon {
  max-width: 700px !important;
  margin: 0 auto 4rem !important;
  box-shadow: none !important;
}

.accordeon h3 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  text-align: center !important;
  color: #3b3b3b !important;
  margin-bottom: 40px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.accordeon .item_acc {
  box-shadow: none !important;
  border: none !important;
  border-top: 1px solid #c8c0b4 !important;
  padding: 20px 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden;
}

.accordeon .item_acc:last-child {
  border-bottom: 1px solid #c8c0b4 !important;
}

.accordeon h2 {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #3b3b3b !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding-right: 30px !important;
}

.accordeon .plus {
  background: none !important;
  border-radius: 0 !important;
  font-size: 22px !important;
  color: #3b3b3b !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  content: "↓" !important;
}

.accordeon .title {
  position: relative !important;
  cursor: pointer !important;
}

.accordeon .content {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #666 !important;
  line-height: 1.8 !important;
  padding: 12px 0 0 !important;
  border: none !important;
}

/* ===== FAQ — FLÈCHE AU LIEU DU PLUS ===== */
.accordeon .plus {
  font-size: 0 !important;
}

.accordeon .plus::after {
  content: "↓" !important;
  font-size: 22px !important;
  color: #3b3b3b !important;
  display: block !important;
}

/* ===== SEARCH FINAL ===== */
#search_widget .js-search-form {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 6px !important;
}

#search_widget .js-search-form input[type="text"] {
  width: 110px !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  background: transparent !important;
  padding: 4px 0 !important;
  font-size: 12px !important;
  color: #333 !important;
  order: 2 !important;
}

#search_widget i.material-icons.search {
  font-size: 18px !important;
  color: #333 !important;
  order: 1 !important;
}

#search_widget i.material-icons.clear {
  display: none !important;
  order: 3 !important;
}

/* ===== PAGE DEVIS ===== */

#opartDevisForm {
  max-width: 900px;
  margin: 0 auto;
}

#opartDevisForm .panel,
#opartDevisForm .panel-default {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#opartDevisForm .panel-heading {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 20px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  padding: 0 0 16px 0 !important;
  margin-bottom: 32px !important;
}

#opartDevisForm label {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

#opartDevisForm input[type="text"],
#opartDevisForm input[type="email"],
#opartDevisForm textarea,
#opartDevisForm select {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 !important;
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 14px !important;
  color: #333 !important;
  width: 100% !important;
}

#opartDevisForm input[type="text"]:focus,
#opartDevisForm input[type="email"]:focus,
#opartDevisForm textarea:focus,
#opartDevisForm select:focus {
  border-bottom-color: #333 !important;
  outline: none !important;
  box-shadow: none !important;
}

#opartDevisForm .form-group {
  margin-bottom: 28px !important;
}

/* Checkboxes */
#opartDevisForm input[type="checkbox"] {
  accent-color: #1d6e75 !important;
  width: auto !important;
  margin-right: 6px !important;
}

#opartDevisForm input[type="checkbox"] + label,
#opartDevisForm label[for="school"],
#opartDevisForm label[for="wholesaler"],
#opartDevisForm label[for="hairdresser"],
#opartDevisForm label[for="training_organization"],
#opartDevisForm label[for="brand"],
#opartDevisForm label[for="15-50"],
#opartDevisForm label[for="50-100"],
#opartDevisForm label[for="100+"],
#opartDevisForm label[for="Cut"],
#opartDevisForm label[for="Color"],
#opartDevisForm label[for="Balayage"],
#opartDevisForm label[for="Bun"],
#opartDevisForm label[for="Textured_hair"],
#opartDevisForm label[for="cut_men"],
#opartDevisForm label[for="eco"],
#opartDevisForm label[for="basic"],
#opartDevisForm label[for="premium"] {
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  font-weight: 400 !important;
  display: inline !important;
  margin-right: 16px !important;
}

/* Boutons */
#opartDevisForm .cart_navigation .btn,
#opartDevisForm .cart_navigation button {
  border-radius: 0 !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 14px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 12px 30px !important;
  border: none !important;
  margin-right: 12px !important;
}

#opartDevisForm button[type="submit"] {
  background: #333 !important;
  color: #fff !important;
}

#opartDevisForm button[type="submit"]:hover {
  background: #1d6e75 !important;
}

#opartDevisForm .cart_navigation a.btn {
  background: transparent !important;
  color: #333 !important;
  border-bottom: 1px solid #333 !important;
  padding: 12px 0 !important;
}

#opartDevisForm .cart_navigation a.btn:hover {
  color: #1d6e75 !important;
  border-bottom-color: #1d6e75 !important;
}

/* Titre page */
#opartDevisForm ~ h1,
body .page-content h1 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}

#opartDevisForm label {
  text-align: left !important;
}

#opartDevisForm .col-lg-3,
#opartDevisForm .col-lg-6,
#opartDevisForm .col-lg-12,
#opartDevisForm .col-lg-11 {
  text-align: left !important;
}

#opartDevisForm .from-group,
#opartDevisForm .form-group,
#opartDevisForm .form-group4 {
  text-align: left !important;
}

#opartDevisForm .col-lg-12 {
  margin-top: 24px !important;
}

#opartDevisForm .col-lg-3 {
  margin-top: 24px !important;
}

@media (max-width: 767px) {

  #header,
  #header .header-top {
    background: #f7f4e9 !important;
    padding: 0 !important;
    min-height: 48px !important;
  }

  .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    min-height: 48px !important;
    padding: 0 16px !important;
  }

  #_mobile_logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 30 !important;
  }

  #_mobile_logo .logo,
  #header .logo {
    width: 100px !important;
    max-width: 100px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
  }

  #_desktop_top_menu {
    display: none !important;
  }

  #menu-icon,
  #_mobile_user_info,
  #_mobile_language_selector,
  #_mobile_cart {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 35 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
  }

  #menu-icon { order: 1 !important; }
  #_mobile_language_selector { order: 2 !important; margin-left: auto !important; }
  #_mobile_cart { order: 4 !important; }

  #menu-icon i,
  #_mobile_user_info i,
  #_mobile_cart i,
  #menu-icon .material-icons,
  #_mobile_user_info .material-icons,
  #_mobile_cart .material-icons {
    font-size: 22px !important;
    line-height: 1 !important;
    color: #333 !important;
  }

  #_mobile_language_selector,
  #_mobile_language_selector * {
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    top:-8px;
  }

  #_mobile_cart .cart-products-count {
    top: 5px !important;
    right: 10px !important;
    left: auto !important;
    width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    font-size: 9px !important;
  }

  /* Évite que le header masque le titre de la section suivante */
  #wrapper {
    padding-top: 10px !important;
  }

  section#content {
    margin-top: 0 !important;
  }
}

@media (min-width: 768px) {
  .header-top .displaytop {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    padding: 16px 30px !important;
  }

  .header-top .logo_titre {
    order: 1 !important;
    margin: 0 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
  }

  #_desktop_top_menu {
    order: 2 !important;
    flex: 1 !important;
    text-align: center !important;
  }

  #search_widget,
  #_desktop_language_selector,
  #_desktop_user_info,
  #_desktop_cart {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 10px !important;
    order: 3 !important;
  }

  #_desktop_user_info .material-icons,
  #_desktop_cart .material-icons {
    font-size: 24px !important;
    color: #333 !important;
  }

  #_desktop_language_selector button,
  #_desktop_language_selector span {
    font-size: 13px !important;
    color: #333 !important;
    background: transparent !important;
    border: none !important;
    text-transform: uppercase !important;
  }

  #_desktop_cart .cart-products-count {
    top: -10px !important;
    left: -8px !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 10px !important;
  }

  #_desktop_top_menu {
  border-top: none !important;
  border-bottom: none !important;
}

@media (max-width: 767px) {
  #header {
    position: relative !important;
  }

  #wrapper {
    padding-top: 70px !important;
  }
}

body#authentication section.login-form {
  align-items: center !important;
  width: 100% !important;
}

body#authentication section.login-form form#login-form {
  width: 100% !important;
  max-width: 500px !important;
  text-align: left !important;
}

body#authentication #content.page-content {
  text-align: center !important;
}

.avantages-banner {
  padding: 40px 30px !important;
}

.avantages-title {
  font-size: 22px !important;
  margin-bottom: 30px !important;
}

.avantages-items {
  gap: 20px !important;
}

.avantages-item img {
  width: 170px !important;
  height: 120px !important;
  margin-bottom: 12px !important;
}

.avantages-label {
  font-size: 17px !important;
  line-height: 1.4 !important;
}

.avantages-title {
  color: #FFFFFF !important; /* ou la couleur voulue */
}

.avantages-separator {
  width: 1px !important;
  align-self: stretch !important;
  background: rgba(255, 255, 255, 0.25) !important;
  border: none !important;
  margin: 20px 0 !important;
}

body#identity #customer-form {
  max-width: 700px !important;
  margin: 0 auto !important;
}

body#identity #customer-form .form-group.row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  margin-bottom: 20px !important;
}

body#identity #customer-form .form-control-label {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-align: right !important;
  color: #1a1a2e !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding-right: 24px !important;
}

body#identity #customer-form .col-md-6.js-input-column {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  padding: 0 !important;
}

body#identity #customer-form .js-input-column input,
body#identity #customer-form .js-input-column select {
  font-size: 15px !important;
  border: none !important;
  border-bottom: 1px solid #c8c0b0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 4px 0 !important;
  color: #1a1a2e !important;
  width: 100% !important;
  box-shadow: none !important;
}

body#identity #customer-form .col-md-3.form-control-comment {
  flex: 0 0 20% !important;
  max-width: 20% !important;
  font-size: 10px !important;
  color: #aaa !important;
  font-style: italic !important;
  padding-left: 12px !important;
  align-self: flex-end !important;
}

body#identity #customer-form .help-block {
  font-size: 10px !important;
  color: #aaa !important;
  font-style: italic !important;
  margin-top: 4px !important;
}
body#identity #customer-form .form-group.row {
  align-items: center !important;
}

/* Cas spécifique radio buttons — aligne verticalement */
body#identity #customer-form .form-group.row.class_id_gender {
  align-items: center !important;
}

body#identity #customer-form .form-group.row.class_id_gender .form-control-label {
  padding-top: 0 !important;
}

/* Optionnel collé au champ, pas dans sa propre colonne flottante */
body#identity #customer-form .col-md-3.form-control-comment {
  align-self: center !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Labels multi-lignes alignés en haut plutôt qu'au centre */
body#identity #customer-form .form-group.row.class_siret .form-control-label {
  align-self: flex-start !important;
  padding-top: 8px !important;
}

.cc-subcat-summary {
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.cc-subcat-summary:hover h2,
.cc-subcat-summary:hover p {
  color: #f7f4e9 !important;
}

.cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  width: 100% !important;
}

.cart-summary-line .label {
  flex: 1 !important;
  text-align: left !important;
}

.cart-summary-line .value {
  text-align: right !important;
  min-width: 90px !important;
}

#cart-subtotal-shipping div:has(> small.value:empty) {
  display: none !important;
}

#header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  background: transparent !important;
}

#header .header-top {
  background: transparent !important;
}

/* Texte et icônes en blanc pour rester lisibles sur l'image */
#header .header-top .displaytop,
#header nav .menu a,
#header .logo_titre,
#_desktop_user_info .material-icons,
#_desktop_cart .material-icons,
#search_widget .material-icons,
#_desktop_language_selector button,
#_desktop_language_selector span {
  color: #ffffff !important;
}

/* Cacher le texte "Recherche" */
#search_widget label,
#search_widget .search-widget__btn span:not(.material-icons) {
  display: none !important;
}

/* Compenser la hauteur du header sur le contenu */
#wrapper {
  padding-top: 0 !important;
}

@media (max-width: 767px) {
  #header {
    position: relative !important;
    background: #f7f4e9 !important;
  }

  #header .header-top {
    background: #f7f4e9 !important;
  }

  #header nav .menu a,
  #_desktop_language_selector button {
    color: #1a1a2e !important;
  }
}

.header-top .logo_titre .logo {
  filter: brightness(0) invert(1) !important;
}
.video-signature {
  min-height: 38vh !important;
  position: relative !important;
  overflow: hidden !important;
}

.video-signature .elementor-widget-wrap {
  position: relative !important;
  height: 38vh !important;
  min-height: 38vh !important;
  overflow: hidden !important;
}

.video-signature .elementor-widget-video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
}

.video-cover-wrap {
  height: 28vw !important;
  min-height: 28vw !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
}

.video-cover-wrap video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.video-cover-label {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  color: #fff !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 50px !important;
  font-weight: 700 !important;
  z-index: 1 !important;
  text-align: center;
}
.video-signature,
.video-signature .elementor-widget-wrap,
.video-signature .elementor-widget-container {
  height: 100% !important;
}

@media (min-width: 768px) {
  #header .header-top {
    padding: 0 !important;
  }

  #header .header-top .displaytop {
    padding: 12px 30px !important;
    min-height: 48px !important;
  }

  /* Logo plus compact */
  .header-top .logo_titre img,
  .header-top .logo_titre .logo {
    width: 80px !important;
    max-width: 80px !important;
  }

  /* Menu plus serré */
  #_desktop_top_menu .menu > ul {
    gap: 0 !important;
  }

  #_desktop_top_menu .menu > ul > li > a {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    padding: 0 14px !important;
    color: #ffffff !important;
  }

  /* Icônes plus petites */
  #_desktop_user_info .material-icons,
  #_desktop_cart .material-icons,
  #search_widget .material-icons {
    font-size: 18px !important;
    color: #ffffff !important;
  }

  #_desktop_language_selector button,
  #_desktop_language_selector span {
    font-size: 11px !important;
    color: #ffffff !important;
  }
}

body.index #header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  transition: transform 0.3s ease !important;
}

body.index #wrapper {
  padding-top: 0 !important;
}

body.page-index #header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  transition: transform 0.3s ease !important;
}

body:not(.page-index) #header {
  background: #f7f4e9 !important;
  position: relative !important;
}

body:not(.page-index) #header .header-top {
  background: #f7f4e9 !important;
}

body:not(.page-index) #_desktop_top_menu .menu > ul > li > a {
  color: #1a1a2e !important;
}

body:not(.page-index) #_desktop_language_selector button,
body:not(.page-index) #_desktop_language_selector span,
body:not(.page-index) #_desktop_language_selector a {
  color: #1a1a2e !important;
}

body:not(.page-index) #_desktop_user_info .material-icons,
body:not(.page-index) #_desktop_cart .material-icons,
body:not(.page-index) #search_widget .material-icons {
  color: #1a1a2e !important;
}

body:not(.page-index) .header-top .logo_titre .logo {
  filter: none !important;
}
}

/* Bouton trier */
.custom-sort-btn {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: 1px solid #1a1a2e !important;
  background: transparent !important;
  padding: 8px 20px !important;
  cursor: pointer !important;
  color: #1a1a2e !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left : 8px;
}

.custom-sort-btn:hover {
  background: #1a1a2e !important;
  color: #f7f4e9 !important;
}

/* Overlay */
.custom-sort-drawer__overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.3);
  z-index: 998;
}

/* Drawer panel */
.custom-sort-drawer__panel {
  position: fixed;
  top: 0;
  right: -320px;
  width: 300px;
  height: 100%;
  background: #f7f4e9;
  z-index: 999;
  padding: 40px 30px;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.custom-sort-drawer.open .custom-sort-drawer__overlay {
  display: block;
}

.custom-sort-drawer.open .custom-sort-drawer__panel {
  right: 0;
}

/* Contenu du drawer */
.custom-sort-drawer__close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #1a1a2e;
}

.custom-sort-drawer__title {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #1a1a2e;
  margin: 0;
}

.custom-sort-drawer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.custom-sort-drawer__item {
  font-family: 'Kepler Std Condensed Display', serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #1a1a2e;
  padding: 12px 0;
  border-bottom: 1px solid rgba(26,26,46,0.1);
  cursor: pointer;
  transition: color 0.2s ease;
}

.custom-sort-drawer__item:hover,
.custom-sort-drawer__item.active {
  color: #8b7355;
  font-weight: 600;
}

.sort-by-row .sort-by {
  display: none !important;
}

.sort-by-row {
  margin-bottom: 10px !important;
  padding-left: 3vw !important;
}

/* Bandeau pleine largeur — toujours */
body#my-account .avantages-banner {
  width: 100vw !important;
  padding: 60px 40px !important;
  position: relative !important;
  left: auto !important;
}

/* Items menu espacés — toujours */
body#my-account .account-menu-list a {
  padding: 18px 0 !important;
  font-size: 15px !important;
}

/* Blocs remises/parrainages aérés — toujours */
.remises-parrainages-wrapper .remises,
.remises-parrainages-wrapper .parrainages {
  padding: 30px !important;
}

/* Desktop */
@media (min-width: 768px) {
  body#my-account #content {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
  }

  body#my-account .account-menu-list {
    flex: 0 0 55% !important;
    padding-right: 80px !important;
    margin-top: 60px !important;
  }

  .remises-parrainages-wrapper {
    flex: 0 0 45% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    margin-top: 60px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body#my-account #content {
    padding: 20px !important;
  }

  body#my-account .account-menu-list {
    width: 100% !important;
    padding-right: 0 !important;
    margin-bottom: 30px !important;
  }

  .remises-parrainages-wrapper {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .remises-parrainages-wrapper .remises,
  .remises-parrainages-wrapper .parrainages {
    width: 100% !important;
  }
}

@media (min-width: 768px) {
  .remises-parrainages-wrapper {
    align-items: flex-end !important;
  }

  .remises-parrainages-wrapper .remises,
  .remises-parrainages-wrapper .parrainages {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  .remises-parrainages-wrapper .remises,
  .remises-parrainages-wrapper .parrainages {
    width: 320px !important;
    min-height: 180px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
}

@media (min-width: 768px) {
  .remises-parrainages-wrapper {
    margin-top: 20px !important; /* au lieu de 60px */
  }
}

/* Forcer TOUTES les étapes visibles simultanément, quel que soit leur état */
body#checkout .checkout-step .content {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.top-menu .sub-menu,
#index .top-menu .sub-menu {
  background-color: #f7f4e9f2 !important; /* cream quasi-opaque, cohérent avec le reste du site */
}

#footer,
#footer .footer-container,
#footer .footer-container > div {
  border-top: none !important;
  box-shadow: none !important;
}

#footer .footer-container li,
#footer .footer-container a,
#footer .block-contact p,
#footer .linklist a {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Valeur uniquement — Kepler Semibold Display */
#flexbox .box .value .values-grid,
.product-features > dl.data-sheet dd.value span {
  font-family: "Kepler Std Semibold Display", serif !important;
}

.label-art {
  font-family: "Acumin pro light", sans-serif !important;
}

.bandeau-pictos .picto-item p,
.product-pictos-desktop .picto-item p,
.picto-item p {
  font-family: "Kepler Std Display", serif !important;
}

#flexbox .box .value > span {
  display: inline-block !important;
  background: #A3B89D !important;
  border-radius: 20px !important;
  padding: 6px 16px !important;
  margin-bottom: 10px !important;
}

.product-accessories h3 {
  font-family: 'Kepler Std Condensed Display', serif !important;
  text-transform: uppercase !important;
  font-size: 48px !important;
}

body#my-account .avantages-banner {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 60px 40px !important;
}

.avantages-word {
  font-family: "Kepler Std Display", serif !important;
  text-transform: lowercase !important;
}

.avantages-title em {
  font-family: "Kepler Std Semibold Italic Display", serif !important;
}

.programme-word {
  font-family: "Kepler Std Semibold Condensed Display", serif !important;
}

.welcome-subtitle {
  display: inline-block;
  font-size: 0.6em !important;
  text-transform: none !important;
}

.avantages-label {
  font-family: "Kepler Std Display", serif !important;
  text-transform: lowercase !important;
  display: block;
}

.avantages-label::first-letter {
  text-transform: uppercase;
}

.remises .valeur,
.parrainages .valeur {
  font-family: "Kepler Std Condensed Display", serif !important;
}


a[href*="mylogout"] {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 12px !important;
  color: #1d6e75 !important;
  text-decoration: underline !important;
  letter-spacing: 0.5px !important;
  transition: color 0.2s;
}

a[href*="mylogout"]:hover {
  color: #333 !important;
}

.page-customer-account .form-group input[type="text"],
.page-customer-account .form-group input[type="email"],
.page-customer-account .form-group input[type="password"],
#identity .form-group input[type="text"],
#identity .form-group input[type="email"],
#identity .form-group input[type="password"] {
  color: #555 !important;
  font-family: "Kepler Std Display", serif !important;
}

.form-control-label.required::after {
  content: " *";
  color: #1d6e75;
}

.page-customer-account .form-footer,
#identity .form-footer {
  display: flex !important;
  justify-content: center !important;
}

.page-customer-account .form-footer button,
#identity .form-footer button {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

button[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  color: #888 !important;
  font-size: 0 !important; /* cache le texte "Show"/"Hide" */
  padding: 0 8px !important;
}

button[data-action="show-password"]::before {
  content: "👁";
  font-size: 18px;
}

button[data-action="show-password"] {
  background: transparent !important;
  border: none !important;
  color: #888 !important;
  padding: 0 !important;
  font-size: 0 !important; /* cache le texte AFFICHER/MASQUER */
  min-width: auto !important;
}

button[data-action="show-password"]::before,
button[data-action="show-password"] i,
button[data-action="show-password"] svg {
  font-size: 20px !important;
  color: #888 !important;
}

.custom-checkbox label {
  font-family: "Kepler Std Light Condensed Display", serif !important;
}

#identity .form-group.row.class_group_id,
body#identity .form-group.class_group_id {
  display: none !important;
}

#contact-sales-link .account-menu-label {
  text-decoration: underline !important;
}

.form-contact {
  max-width: 500px;
  margin: 60px auto;
  padding: 50px 40px;
  background: #F7F4E9;
  border: 1px solid #c8c0b4;
  border-radius: 4px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.form-contact h2,
.form-contact h3 {
  font-family: "Kepler Std Semibold Italic Display", serif;
  font-style: italic;
  font-size: 24px;
  margin-bottom: 30px;
}

.form-contact input,
.form-contact select,
.form-contact textarea {
  width: 100%;
  border: 1px solid #c8c0b4;
  border-radius: 4px;
  background: transparent;
  padding: 14px 16px;
  margin-bottom: 20px;
  font-family: "Acumin pro light", sans-serif;
  font-size: 20px;
  color: #333;
}

.form-contact button,
.form-contact input[type="submit"] {
  width: 100%;
  background: #333;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 16px;
  font-family: "Kepler Std Condensed Display", serif;
  font-size: 20px;
  text-transform: uppercase;
  cursor: pointer;
}

.form-contact button:hover,
.form-contact input[type="submit"]:hover {
  background: #1d6e75;
}


.form-contact label,
.form-contact input,
.form-contact select,
.form-contact textarea,
.form-contact button,
.form-contact input[type="submit"] {
  font-family: "Kepler Std Condensed Display", serif !important;
}

.cc-subcat-summary {
  border-color: var(--cc-color, #3E3E3E) !important;
}

h2.cc-subcat-summary__name {
  font-size: 19px !important;
  line-height: 18px !important;
}

.cc-subcat-summary:hover {
  background-color: var(--cc-color, #1a1a2e) !important;
  border-color: var(--cc-color, #1a1a2e) !important;
  color: #f7f4e9 !important;
}

.cc-subcat-summary:hover h2,
.cc-subcat-summary:hover p {
  color: #f7f4e9 !important;
}

.sezane-overlay-btn {
  background: #ebe7de !important;
  color: #333 !important;
}

.sezane-overlay-btn:hover {
  background: #dcd6c8 !important;
}

.product-card-right {
  gap: 2px !important;
}

.product-card-ht {
  margin-top: 0 !important;
}

.product-card-ref {
  margin-top: 2px !important;
}

.product-card-add-form {
  display: block;
  text-align: right;
  margin-top: 4px;
}

.product-card-add-btn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer;
}

.product-card-add-btn i {
  font-size: 18px !important;
  color: #3b3b3b !important;
  transition: color 0.2s;
}

.product-card-add-btn:hover i {
  color: #1d6e75 !important;
}

.product-card-right {
  display: grid !important;
  grid-template-columns: auto auto !important;
  grid-template-areas:
    "ht price"
    ". cart" !important;
  justify-content: end !important;
  align-items: center !important;
  gap: 2px 6px !important;
}

.product-card-top {
  display: contents !important;
}

.product-wishlist {
  grid-area: cart !important;
  justify-self: end !important;
}

.product-card-top .price {
  grid-area: price !important;
}

.product-card-ht {
  grid-area: ht !important;
}

.cart-container ~ .label,
a.label[href*="index"] {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  text-align: center !important;
  border: 1px solid #333 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-top: 20px !important;
  color: #333 !important;
}

.cart-container ~ .label:hover,
a.label[href*="index"]:hover {
  background: #333 !important;
  color: #fff !important;
}

.cart-container ~ .label .material-icons {
  vertical-align: middle;
  margin-right: 4px;
}

.text-sm-center a[href*="mylogout"] {
  display: block !important;
  width: 100% !important;
  padding: 12px !important;
  background-color: #333 !important;
  color: white !important;
  border: none !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 1.5rem !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
}

.text-sm-center a[href*="mylogout"]:hover {
  background-color: #111 !important;
}

.text-sm-center {
  max-width: 500px !important;
  margin: 30px auto !important;
  padding: 0 !important;
}

#rewards_account table.std th:nth-child(1),
#rewards_account table.std td:nth-child(1),
#rewards_account table.std th:nth-child(2),
#rewards_account table.std td:nth-child(2),
#rewards_account table.std th:nth-child(4),
#rewards_account table.std td:nth-child(4) {
  display: none !important;
}

#rewards_account table.std th:nth-child(3),
#rewards_account table.std td:nth-child(3) {
  font-size: 28px !important;
  font-family: 'Kepler Std Condensed Display', serif !important;
}

/* Bouton Filtrer - même style que Trier */
#search_filter_toggler.btn.btn-secondary.js-search-toggler {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: 1px solid #1a1a2e !important;
  background: transparent !important;
  padding: 8px 20px !important;
  cursor: pointer !important;
  color: #1a1a2e !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#search_filter_toggler.btn.btn-secondary.js-search-toggler:hover {
  background: #1a1a2e !important;
  color: #f7f4e9 !important;
}

/* ===== SECTION UNIVERS PRO ===== */

.card-talents,
.card-experts,
.card-elite {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.card-talents .elementor-heading-title,
.card-experts .elementor-heading-title,
.card-elite .elementor-heading-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  margin-bottom: -20px !important;
}

.card-talents .elementor-widget-text-editor,
.card-experts .elementor-widget-text-editor {
  margin-bottom: 25px !important;
}

.btn-univers-pro {
  font-family: 'Kepler Std Condensed Display', serif !important;
  border-radius: 4px !important;
  border: none !important;
  transition: transform 0.25s ease !important;
  padding: 12px 24px !important;
  font-size: 13px !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

.btn-univers-pro:hover {
  transform: translateY(-2px);
}

.card-talents .btn-univers-pro {
  background-color: #7fb8c4 !important;
}

.card-experts .btn-univers-pro {
  background-color: #8fa88a !important;
}

.card-elite .btn-univers-pro {
  background-color: #f0b896 !important;
}

.card-talents .elementor-icon-list-text,
.card-experts .elementor-icon-list-text {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 15px !important;
  color: #3b3b3b !important;
}


.card-talents .btn-univers-pro,
.card-talents .btn-univers-pro .elementor-button-text,
.card-talents .btn-univers-pro span {
  color: #ffffff !important;
}

.card-experts .btn-univers-pro,
.card-experts .btn-univers-pro .elementor-button-text,
.card-experts .btn-univers-pro span {
  color: #ffffff !important;
}

.card-elite .btn-univers-pro,
.card-elite .btn-univers-pro .elementor-button-text,
.card-elite .btn-univers-pro span {
  color: #ffffff !important;
}

.card-talents,
.card-experts,
.card-elite {
  position: relative;
}

.card-talents::after,
.card-experts::after,
.card-elite::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  border: 1px solid;
  border-radius: 8px;
  pointer-events: none;
}

.card-talents::after {
  border-color: #7fb8c4;
}

.card-experts::after {
  border-color: #8fa88a;
}

.card-elite::after {
  border-color: #f0b896;
}

@media (max-width: 767px) {
  .card-talents,
  .card-experts,
  .card-elite {
    padding: 35px 25px !important;
  }
}

@media (max-width: 767px) {
  .hidden-md-up.mobile {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 16px;
  }

  /* Zone gauche : menu + compte, groupés ensemble */
  .hidden-md-up.mobile #menu-icon {
    grid-column: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    float: none !important;
  }

  /* Zone centre : logo */
  .hidden-md-up.mobile .top-logo {
    grid-column: 2;
    float: none !important;
  }

  /* Zone droite : langue + panier, groupés ensemble */
  .hidden-md-up.mobile #_mobile_language_selector,
  .hidden-md-up.mobile #_mobile_cart {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 12px;
    float: none !important;
  }

  .hidden-md-up.mobile .clearfix {
    display: none;
  }
}

@media (max-width: 767px) {
  .hidden-md-up.text-sm-center.mobile #_mobile_logo {
    margin-top: 6px !important;
  }

  .hidden-md-up.text-sm-center.mobile #_mobile_language_selector {
    margin-top: 2px !important;
  }

  .hidden-md-up.text-sm-center.mobile #_mobile_language_selector select {
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
  }

  .hidden-md-up.text-sm-center.mobile #_mobile_user_info,
  .hidden-md-up.text-sm-center.mobile #menu-icon,
  .hidden-md-up.text-sm-center.mobile #_mobile_cart {
    margin-top: 0 !important;
  }
}

.cc-summary-col:nth-child(1) .cc-subcat-summary {
  --cc-color: #91C0C7;
  padding : 8px
}

.cc-summary-col:nth-child(2) .cc-subcat-summary {
  --cc-color: #A5B79D;
   padding : 8px
}

.cc-summary-col:nth-child(3) .cc-subcat-summary {
  --cc-color: #DCA589;
   padding : 8px
}


.product-reference{
  font-family: "Acumin pro light", sans-serif !important;
margin-top: 2px !important;
}

.product-without-taxes{
  font-family: "Kepler Std light condensed", sans-serif !important;
}

.size-selector {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.size-option-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.size-option-label {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid #999;
  background: transparent;
  cursor: pointer;
  color: #333;
  transition: all 0.15s ease;
  margin: 0;
}

.size-option-label:hover {
  border-color: #333;
}

.size-option-input:checked + .size-option-label {
  background: #1a1a1a;
  color: #fff;
  border-color: #1a1a1a;
}

.size-option-input:disabled + .size-option-label {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

.form-promo-code{
  display: flex;
  flex-direction: column;
  gap: 10px;

}

.js-qv-product-cover{
  background-color: #f7f4e9 !important;
}


@media (max-width: 767px){
.footer-right-p{
  font-size: 19px !important;
  margin-top: 0px !important;
}

.elementor-widget-container{
  font-size: 19px !important;
  margin-top: -10px !important;
}
}


/* =========================================================
   EXALTO — PAGE PRODUIT — AJOUTS POUR NOUVELLE MAQUETTE
   A coller à la fin de custom.css
========================================================= */

/* ---------- 1. FIL D'ARIANE ---------- */
body#product .breadcrumb {
  text-align: left;
  margin-bottom: 20px;
  font-size: 0.85rem;
  color: #7a7a7a;
}
body#product .breadcrumb li a {
  color: #7a7a7a;
}
body#product .breadcrumb li:last-child,
body#product .breadcrumb li:last-child a {
  color: #3e3e3e;
  font-weight: 500;
}

/* ---------- 2. FEATURES EN 3 COLONNES (au lieu de 2) ---------- */
#flexbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  column-gap: 28px !important;
  row-gap: 26px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 24px;
  border-top: 1px solid rgba(51, 51, 51, 0.35);
  text-align: center;
}

/* Badge / pastille du nom de la caractéristique, façon maquette */
#flexbox .box .value > span {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #ffffff;
  background-color: #9fb59f; /* vert sauge, à ajuster si besoin */
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 10px;
}

#flexbox .box .value .values-grid {
  font-size: 15px;
  color: #3e3e3e;
  font-weight: 400;
  line-height: 1.4;
}

/* Sur mobile, on repasse en 2 colonnes pour ne pas trop serrer */
@media (max-width: 767px) {
  #flexbox {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ---------- 3. BANDEAU "IDÉAL POUR..." — style crème arrondi ---------- */
.bandeau {
  width: 100% !important;
  max-width: 100% !important;
  background-color: #f7f1e4;
  border: 1px solid #e3dcc8;
  color: #3e3e3e;
  border-radius: 50px;
  padding: 14px 30px;
  font-size: 17px;
  text-align: center;
  margin: 28px auto 0;
}
.bandeau em {
  font-weight: 600;
  font-style: italic;
}

/* ---------- 4. PICTOS DE RÉASSURANCE — ligne avec séparateurs ---------- */
.product-pictos.product-pictos-desktop {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin: 24px 0;
  padding-bottom : 20px;
  border-top: 1px solid rgba(51, 51, 51, 0.35);
  border-bottom: 1px solid rgba(51, 51, 51, 0.35);
}
.product-pictos.product-pictos-desktop .picto-item {
  flex: 1;
  text-align: center;
}
.product-pictos.product-pictos-desktop .picto-item img {
  height: 40px;
  width: auto;
  margin-bottom: 8px;
}
.product-pictos.product-pictos-desktop .picto-item p {
  font-size: 12px;
  color: #7a7a7a;
  margin: 0;
  line-height: 1.3;
}

/* ---------- 5. COEUR WISHLIST — contour simple, sans cercle gris ---------- */
.header-right [class*="wishlist"] .wishlist-button-add,
.header-right .wishlist-button-add {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}
.header-right [class*="wishlist"] i,
.header-right [class*="wishlist"] svg {
  color: #3e3e3e !important;
  font-size: 26px !important;
}


/* ===== PRIORITÉ 1 — HEADER HOMEPAGE : AGRANDIR + RECENTRER ===== */

@media (min-width: 768px) {

  /* Logo plus grand */
  .header-top .logo_titre img,
  .header-top .logo_titre .logo {
    width: 150px !important;
    max-width: 150px !important;
  }

  /* Menu recentré, plus espacé */
  #_desktop_top_menu {
    flex: 1 !important;
    text-align: center !important;
  }

  #_desktop_top_menu .menu > ul {
    gap: 10px !important;
  }

  /* Menu : texte agrandi */
  #_desktop_top_menu .menu > ul > li > a {
    font-size: 1.15rem !important;
    letter-spacing: 0.04em !important;
    padding: 0 24px !important;
  }

  /* Pictos de droite : plus grands et blancs homogènes */
  #_desktop_user_info .material-icons,
  #_desktop_cart .material-icons,
  #search_widget .material-icons {
    font-size: 33px !important;
    color: #ffffff !important;
  }

  #_desktop_language_selector button,
  #_desktop_language_selector span {
    font-size: 15px !important;
    color: #ffffff !important;
  }

  /* Hover "Nos modèles" -> beige (1er item du menu) */
  #_desktop_top_menu .menu > ul > li:first-child > a:hover {
    color: #FAD2B9 !important;
  }
}

/* ---------- 2. FEATURES EN 3 COLONNES (au lieu de 2) ---------- */
#flexbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  column-gap: 28px !important;
  row-gap: 26px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 24px;
  border-top: none !important;
  text-align: center;
}

/* ---------- 4. PICTOS DE RÉASSURANCE — ligne avec séparateurs ---------- */
.product-pictos.product-pictos-desktop {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin: 0px 0;

}

/* ---------- 4bis. TITRE PRODUIT — nom + sous-titre séparés ---------- */
.product-title-main {
  font-size: 2.6rem;
  line-height: 1.1;
  margin-bottom: -10px;
  font-weight: 400;
}

.product-subtitle {
  font-size: 1.1rem;
  color: #8a8a8a;
  font-style: italic;
  margin: 0 0 12px;
}

.product-reference {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #7a7a7a;
}

/* ===== TITRE + PHRASE PAGES CATÉGORIE STANDARD ===== */
.cc-standard-header {
  margin: 40px 0 20px;
}

.cc-standard-header__title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 52px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  margin-bottom: 10px !important;
}

.cc-standard-header__phrase {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 16px !important;
  color: #7a7a7a !important;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .cc-standard-header__title {
    font-size: 32px !important;
  }
  .cc-standard-header__phrase {
    font-size: 14px !important;
  }
}

/* Fil d'Ariane injecté en JS sur la page produit */
.breadcrumb-js {
  text-align: left;
  margin: 0 0 20px;
  font-size: 0.85rem;
  color: #7a7a7a;
  padding-left: 30px;
}
.breadcrumb-js a {
  color: #7a7a7a;
  text-decoration: none;
}
.breadcrumb-js a:hover {
  text-decoration: underline;
}
.breadcrumb-js .sep {
  margin: 0 6px;
  color: #b5b5b5;
}
.breadcrumb-js .current {
  color: #3e3e3e;
  font-weight: 500;
}

/* =========================================================
   GALERIE PHOTO — miniatures verticales (desktop) + swipe (mobile)
========================================================= */

.images-container-with-thumbs {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
}

/* Colonne de miniatures verticales */
.product-thumbnails-vertical {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.product-thumbnails-vertical .btn-carousel {
  width: 80px;
  height: 80px;
  padding: 0;
  border: 1px solid #e3dcc8;
  border-radius: 6px;
  overflow: hidden;
  background: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.product-thumbnails-vertical .btn-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-thumbnails-vertical .btn-carousel.active,
.product-thumbnails-vertical .btn-carousel:hover {
  border-color: #3e3e3e;
}

/* Image principale */
.images-container-with-thumbs .product-cover {
  position: relative;
  flex: 1;
}

.images-container-with-thumbs .product-cover img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Icône loupe / zoom sur l'image principale */
.zoom-icon {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 36px;
  height: 36px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  pointer-events: none;
}

.zoom-icon i {
  font-size: 20px;
  color: #3e3e3e;
}

/* Sur mobile : on cache les miniatures verticales et on garde le swipe existant */
@media (max-width: 767px) {
  .images-container-with-thumbs {
    flex-direction: column;
  }

  .product-thumbnails-vertical {
    display: none;
  }

  .zoom-icon {
    display: none;
  }
}

/* Colonne de miniatures verticales */
.product-thumbnails-vertical {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
  padding-left: 20px;
}

.product-thumbnails-vertical .btn-carousel {
  width: 110px;
  height: 110px;
  padding: 0;
  border: 1px solid #e3dcc8;
  border-radius: 6px;
  overflow: hidden;
  background: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

/* Image principale */
.images-container-with-thumbs .product-cover {
  position: relative !important;
display:flex;
justify-content:center;
  flex: 1 1 auto;
  width: 100%;
}

/* Icône loupe / zoom sur l'image principale */
.images-container-with-thumbs .product-cover .zoom-icon {
  position: absolute !important;
  top: 20px;
  left: 20px;
  z-index: 5;
  width: 36px;
  height: 36px;
  background: #ffffff;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  pointer-events: none;
}

/* ---------- CORRECTIF : une règle existante (>1441px) force
   .images-container en flex-direction:column !important, ce qui
   empile les miniatures au-dessus de l'image au lieu de les mettre
   à côté. On la neutralise uniquement pour la galerie. ---------- */
@media (min-width: 1441px) {
  .images-container-with-thumbs.js-images-container {
    flex-direction: row !important;
  }
}

/* --- Hero catégorie (image + titre + slogans) --- */
.cc-hero {
  position: relative;
  height: 110px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.cc-hero__overlay {
  position: absolute;
  inset: 0;
}

.cc-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
}

h1.cc-hero__title {
  font-size: 46px;
  font-weight: 400;
  margin-bottom: -0.5rem;
  color:#000000!important;
  text-transform: uppercase;
}

p.cc-hero__slogan1 {
  font-size: 16px;
  font-family: "Acumin pro";
  color:#A5B79D!important;
  margin-top : 7px;
  margin-bottom: -7px;
}

hr.cc-hero__hr {
  border-color: #000000;
  width: 55px;
}

.cc-hero__slogan2 {
  font-family: Acumin Pro;
  font-weight: 300;
  font-style: Light;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: center;
  
  color:#000000;
}

p.cc-hero__slogan2 {
  color: #000000!important;
  margin-top: 0px;
  margin-bottom: 0px;
}
@media (max-width: 767px) {
  .bandeau-pictos {
    display: none !important;
  }
}

.product-card-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 0 !important;
}

.product-card-right .price {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 22px !important;
  color: #3b3b3b !important;
  line-height: 1.1 !important;
}

.product-card-right .product-card-ht {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  margin-top: 0 !important;
  line-height: 1.2 !important;
}


.product-card-right .product-wishlist {
  margin-top: 4px !important;
}

.product-card-subtitle {
  font-family: 'Acumin pro light', sans-serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #7a7a7a !important;
  margin: 2px 0 4px !important;
}

.product-card-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.product-card-left .product-title,
.product-card-left .product-title a {
  margin: 0px 0 -2px 0 !important;
  line-height: 1.05 !important;
}

.product-card-subtitle {
  margin: 0 0 2px 0 !important;
  line-height: 1.2 !important;
}

.product-card-left .product-card-ref {
  margin: 0 !important;
  line-height: 1.2 !important;
}

.product-cover-pagination {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  z-index: 5;
}

.pagination-number {
    font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 25px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0;
  color: #ffffff;
  cursor: pointer;
  transition: color 0.2s ease;
}

.pagination-number.active {
  color: #ffffff;
  text-decoration: underline;
}

.pagination-number:hover {
  color: #ffffff;
}

.product-miniature .thumbnail-container:focus .product-description::after,
.product-miniature .thumbnail-container:hover .product-description::after {
  content: none !important;
  display: none !important;
}

/* ===== FICHE PRODUIT — RATIO CARRÉ POUR ACCESSOIRES (cat. 42/43/44/45) ===== */
body.product-id-category-42 .product-cover img,
body.product-id-category-43 .product-cover img,
body.product-id-category-44 .product-cover img,
body.product-id-category-45 .product-cover img {
  aspect-ratio: 1 / 1 !important;
  max-height: none !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

@media (max-width: 767px) {
  .video-cover-wrap {
    position: relative !important;
    height: 20vh !important;
    min-height: 222px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .video-cover-wrap video {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
  }

  .video-cover-label {
    position: absolute !important;
    bottom: 24px !important;
    left: 16px !important;
    right: 16px !important;
    top: auto !important;
    z-index: 2 !important;
    font-family: "Kepler Std Condensed Display", serif !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
    color: #fff !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }
}


/* ============================================================
   EXALTO - SEARCH HEADER - FIX FINAL
   Ce bloc doit rester TOUT EN BAS du fichier.
   Compatible avec .active ET .search-open.
============================================================ */

@media (min-width: 992px) {

  /* Widget ferme : uniquement la loupe */
  #search_widget {
    width: 28px !important;
    min-width: 28px !important;
    max-width: none !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    transition: width 0.35s ease !important;
  }

  #search_widget .js-search-form,
  #search_widget .js-search-form.search-hidden,
  #search_widget .js-search-form.search-closed {
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 7px !important;
    position: relative !important;
    margin: 0 !important;
  }

  /* Loupe */
  #search_widget .js-search-icon,
  #search_widget i.material-icons.search {
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
    cursor: pointer !important;
    font-size: 33px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 1 !important;
  }

  /* Champ cache quand la recherche est fermee */
  #search_widget input[type="text"],
  #search_widget .ui-autocomplete-input,
  #search_widget .search-input {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    overflow: hidden !important;

    margin: 0 !important;
    padding: 4px 0 !important;

    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 12px !important;
    line-height: 1.2 !important;
    order: 2 !important;

    transition:
      width 0.35s ease,
      max-width 0.35s ease,
      opacity 0.20s ease !important;
  }

  /* Etat ouvert - supporte les deux noms de classe */
  #search_widget.active,
  #search_widget.search-open {
    width: 230px !important;
    min-width: 230px !important;
  }

  #search_widget.active input[type="text"],
  #search_widget.active .ui-autocomplete-input,
  #search_widget.active .search-input,
  #search_widget.search-open input[type="text"],
  #search_widget.search-open .ui-autocomplete-input,
  #search_widget.search-open .search-input {
    width: 190px !important;
    min-width: 0 !important;
    max-width: 190px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;

    margin: 0 !important;
    padding: 4px 24px 4px 4px !important;
    border-bottom-color: #c8c0b4 !important;
  }

  /* Croix */
  #search_widget .js-search-clear,
  #search_widget i.material-icons.clear {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 4 !important;
    cursor: pointer !important;
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 3 !important;
  }

  #search_widget.active .js-search-clear,
  #search_widget.active i.material-icons.clear,
  #search_widget.search-open .js-search-clear,
  #search_widget.search-open i.material-icons.clear {
    display: block !important;
  }

  /* Couleurs sur pages creme */
  body:not(.page-index) #search_widget .js-search-icon,
  body:not(.page-index) #search_widget i.material-icons.search,
  body:not(.page-index) #search_widget .js-search-clear,
  body:not(.page-index) #search_widget i.material-icons.clear,
  body:not(.page-index) #search_widget input[type="text"],
  body:not(.page-index) #search_widget .ui-autocomplete-input {
    color: #1a1a2e !important;
  }

  /* Couleurs homepage si le header est pose sur une image */
  body.page-index #search_widget .js-search-icon,
  body.page-index #search_widget i.material-icons.search,
  body.page-index #search_widget .js-search-clear,
  body.page-index #search_widget i.material-icons.clear,
  body.page-index #search_widget input[type="text"],
  body.page-index #search_widget .ui-autocomplete-input {
    color: #ffffff !important;
  }

  body.page-index #search_widget.active input[type="text"],
  body.page-index #search_widget.active .ui-autocomplete-input,
  body.page-index #search_widget.search-open input[type="text"],
  body.page-index #search_widget.search-open .ui-autocomplete-input {
    border-bottom-color: rgba(255,255,255,0.75) !important;
  }
}

/* ===== FIX MENU MOBILE — TEXTE NOIR + CLIQUABLE ===== */
@media (max-width: 767px) {
  #mobile_top_menu_wrapper,
  #mobile_top_menu_wrapper * {
    pointer-events: auto !important;
  }

  #mobile_top_menu_wrapper a,
  #mobile_top_menu_wrapper a[data-depth="0"],
  #mobile_top_menu_wrapper a[data-depth="1"],
  #mobile_top_menu_wrapper a[data-depth="2"],
  .js-top-menu.mobile a {
    color: #1a1a2e !important;
    font-size: 17px;
  }

  #mobile_top_menu_wrapper .material-icons {
    color: #1a1a2e !important;
  }
}

@media (max-width: 767px) {
  body.page-index #header .header-top a[data-depth="0"],
  body.page-index #mobile_top_menu_wrapper a[data-depth="0"] {
    color: #1a1a2e !important;
  }
}


@media (max-width: 767px) {
  body #header {
    position: relative !important;
  }

  body #header .header-nav .mobile,
  body #header .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 4px 12px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 20 !important;
  }

  body #header .header-nav .mobile .float-xs-left,
  body #header .header-nav .mobile .float-xs-right {
    display: flex !important;
    align-items: center !important;
    float: none !important;
  }

  /* On cache tout le bloc header-top SAUF le logo */
  body #header .header-top {
    background: none !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  body #header .header-top .displaytop {
    min-height: 0 !important;
    padding: 0 !important;
    background: none !important;
  }

  body #header .header-top .displaytop > *:not(.logo_titre) {
    display: none !important;
  }

  body #header .header-top .logo_titre {
    position: absolute !important;
    left: 50% !important;
    top: -28px !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 30 !important;
    pointer-events: auto !important;
  }

  body #header .header-top .logo_titre img,
  body #header .header-top .logo_titre .logo,
  body #header .logo {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
  }

  body #header #menu-icon,
  body #header #_mobile_user_info,
  body #header #_mobile_cart,
  body #header #_mobile_language_selector {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
  }

  body #header #menu-icon i,
  body #header #_mobile_user_info i,
  body #header #_mobile_cart i,
  body #header #_mobile_language_selector i,
  body #header #menu-icon .material-icons,
  body #header #_mobile_user_info .material-icons,
  body #header #_mobile_cart .material-icons,
  body #header #_mobile_language_selector .material-icons {
    font-size: 20px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }
}

@media (max-width: 767px) {
  body #header .header-nav .mobile,
  body #header .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 4px 12px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 40 !important;
  }

  body #header #menu-icon {
    order: 1 !important;
    margin: 0 !important;
    float: none !important;
  }

  body #header #_mobile_cart {
    order: 4 !important;
    margin: 0px -4px 8px -9px !important;
    float: none !important;
  }

  body #header #_mobile_language_selector {
    order: 3 !important;
    margin: 0 !important;
    float: none !important;
  }

  body #header #menu-icon,
  body #header #_mobile_user_info,
  body #header #_mobile_cart,
  body #header #_mobile_language_selector {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 767px) {
  body #header .header-nav .mobile,
  body #header .hidden-md-up.text-sm-center.mobile {
    background: transparent !important;
  }
}

.bandeau-mini {
  display: inline-block;
  color: #3E3E3E;
  text-align: center;
  padding: 10px 0px;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  margin: -1px -2px;
}

/* Masquer uniquement la loupe au centre de la page de recherche */
body#search #content .material-icons {
  display: none !important;
}

.car-product-container {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.cc-carousel__img {
  display: block;
  width: 100%;
}

.cc-subcat-detail__carousel .product-wishlist {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 5 !important;
  bottom: auto !important;
  left: auto !important;
}

.cc-subcat-detail__carousel .car-product-infos {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
}

.cc-subcat-detail__carousel .product-card-left {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.cc-subcat-detail__carousel .product-title {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  color: #3b3b3b !important;
  margin: 0 !important;
}

.cc-subcat-detail__carousel .product-card-subtitle {
  font-family: 'Acumin pro light', sans-serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: #7a7a7a !important;
  margin: 2px 0 4px !important;
}

.cc-subcat-detail__carousel .product-card-ref {
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #3b3b3b !important;
}

.cc-subcat-detail__carousel .product-card-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  text-align: right !important;
}

.cc-subcat-detail__carousel .price {
  font-family: 'Kepler Std Condensed Display', serif !important;
  font-size: 20px !important;
  color: #3b3b3b !important;
}

.cc-subcat-detail__carousel .product-card-ht {
  font-family: 'Acumin pro light', sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
}

.cc-subcat-detail__carousel .car-product-container {
  overflow: hidden !important;
  min-width: 0 !important;
}

.cc-subcat-detail__carousel .car-product-infos {
  overflow: hidden !important;
  gap: 12px !important;
}

.cc-subcat-detail__carousel .product-card-left,
.cc-subcat-detail__carousel .product-card-right {
  min-width: 0 !important;
}

.cc-subcat-detail__carousel .product-title,
.cc-subcat-detail__carousel .price {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

.car-product-container {
  width: calc(50% - 7px) !important;
  min-width: 0 !important;
  flex: 0 0 calc(50% - 7px) !important;
}
.cc-subcategories-summary {
  margin-top: 18px
}

/* ============================================================
   CARACTÉRISTIQUES PRODUIT — GRILLE AUTO 2x2 / 3x3
   ============================================================ */

.product-features #flexbox.features-grid-2x2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

.product-features #flexbox.features-grid-3x3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

/* On neutralise les anciennes largeurs flex */
.product-features #flexbox.features-grid-2x2 > .box,
.product-features #flexbox.features-grid-3x3 > .box {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Chaque case remplit correctement sa cellule */
.product-features #flexbox > .box .value {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
  .product-features #flexbox.features-grid-2x2,
  .product-features #flexbox.features-grid-3x3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


.txt-contact-page{
  font-family: 'acumin pro light' !important;
  font-size: 14px !important;
  color: #3e3e3e !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  text-align: center !important;
  font-weight: 300 !important;
}


.cc-subcat-detail__carousel .car-product-container,
.cc-subcat-detail__carousel .car-product-infos,
.cc-subcat-detail__carousel .product-card-left {
  padding-left: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

.cc-subcat-detail__carousel .car-product-infos {
  width: 100% !important;
  box-sizing: border-box !important;
}

.cc-subcat-detail__carousel .cc-carousel__img {
  margin: 0 !important;
  padding: 0 !important;
}

.cc-subcat-detail__carousel .carousel-item .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ============================================================
   EXALTO — SÉLECTEUR DE LANGUE — VERSION FINALE
   FR / EN dynamique via le TPL
   - Accueil desktop : blanc
   - Autres pages desktop : noir
   - Responsive : reste dans le flux du header
   - Mobile : noir sur le header crème
   ============================================================ */

/* Ne jamais recréer "FR" avec un pseudo-élément :
   le texte vient de {$current_language.iso_code|upper} dans le TPL. */
#_desktop_language_selector button.btn-unstyle::before,
#_desktop_language_selector button.btn-unstyle::after,
#_mobile_language_selector button.btn-unstyle::before,
#_mobile_language_selector button.btn-unstyle::after {
  content: none !important;
  display: none !important;
}

/* ---------- DESKTOP / TABLETTE PAYSAGE ---------- */
@media (min-width: 768px) {

  #_desktop_language_selector {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;

    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 32px !important;
    height: 40px !important;

    margin: 0 clamp(4px, 0.65vw, 10px) !important;
    padding: 0 !important;

    visibility: visible !important;
    opacity: 1 !important;
    z-index: 40 !important;

    order: 3 !important;
  }

  #_desktop_language_selector .language-selector-wrapper,
  #_desktop_language_selector .language-selector,
  #_desktop_language_selector .dropdown {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    visibility: visible !important;
    opacity: 1 !important;
  }

  #_desktop_language_selector .cc-language-button,
  #_desktop_language_selector button.btn-unstyle {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 30px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 2px !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    font-family: "Acumin pro light", sans-serif !important;
    font-size: clamp(13px, 0.95vw, 16px) !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    cursor: pointer !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #_desktop_language_selector .cc-current-language {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;

    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;

    color: inherit !important;
    white-space: nowrap !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* ACCUEIL : le header est posé sur l'image -> langue blanche */
  body#index #_desktop_language_selector .cc-language-button,
  body#index #_desktop_language_selector button.btn-unstyle,
  body#index #_desktop_language_selector .cc-current-language,
  body.page-index #_desktop_language_selector .cc-language-button,
  body.page-index #_desktop_language_selector button.btn-unstyle,
  body.page-index #_desktop_language_selector .cc-current-language {
    color: #ffffff !important;
  }

  /* TOUTES LES AUTRES PAGES : langue noire */
  body:not(#index):not(.page-index) #_desktop_language_selector .cc-language-button,
  body:not(#index):not(.page-index) #_desktop_language_selector button.btn-unstyle,
  body:not(#index):not(.page-index) #_desktop_language_selector .cc-current-language {
    color: #1a1a1a !important;
  }

  /* Le menu déroulant reste lisible, même sur l'accueil. */
  #_desktop_language_selector .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;

    min-width: 110px !important;
    margin: 0 !important;
    padding: 6px 0 !important;

    background: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10) !important;

    text-align: left !important;
    z-index: 1000 !important;
  }

  #_desktop_language_selector .dropdown-menu,
  #_desktop_language_selector .dropdown-menu *,
  #_desktop_language_selector .dropdown-item {
    color: #1a1a1a !important;
  }

  #_desktop_language_selector .dropdown-item {
    display: block !important;
    width: 100% !important;
    padding: 6px 12px !important;

    font-family: "Acumin pro light", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;

    background: transparent !important;
    white-space: nowrap !important;
  }

  #_desktop_language_selector .dropdown-item:hover,
  #_desktop_language_selector li.current .dropdown-item {
    background: #f7f4e9 !important;
    color: #1a1a1a !important;
  }
}

/* Desktop plus serré : le bloc rétrécit sans sortir de l'écran. */
@media (min-width: 768px) and (max-width: 1199px) {
  #_desktop_language_selector {
    min-width: 28px !important;
    height: 36px !important;
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  #_desktop_language_selector .cc-language-button,
  #_desktop_language_selector button.btn-unstyle {
    min-width: 26px !important;
    height: 36px !important;
    font-size: 13px !important;
    padding: 0 !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {

  /* Le thème PrestaShop déplace normalement le sélecteur
     dans #_mobile_language_selector. */
  #_mobile_language_selector {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;

    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 28px !important;
    height: 36px !important;

    margin: 0 10px 0 auto !important;
    padding: 0 !important;

    visibility: visible !important;
    opacity: 1 !important;
    z-index: 40 !important;
  }

  #_mobile_language_selector .language-selector-wrapper,
  #_mobile_language_selector .language-selector,
  #_mobile_language_selector .dropdown {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 100% !important;
  }

  #_mobile_language_selector .cc-language-button,
  #_mobile_language_selector button.btn-unstyle,
  #_mobile_language_selector .cc-current-language,
  #_mobile_language_selector select {
    color: #1a1a1a !important;

    font-family: "Acumin pro light", sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    visibility: visible !important;
    opacity: 1 !important;
  }

  #_mobile_language_selector .cc-language-button,
  #_mobile_language_selector button.btn-unstyle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 26px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #_mobile_language_selector .cc-current-language {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
  }

  /* Si le contenu reste exceptionnellement dans le wrapper desktop
     sur mobile, on le garde utilisable et noir. */
  #_desktop_language_selector .cc-language-button,
  #_desktop_language_selector button.btn-unstyle,
  #_desktop_language_selector .cc-current-language {
    color: #1a1a1a !important;
    font-size: 14px !important;
  }
}

@media (max-width: 767px) {
  #_mobile_language_selector .dropdown-menu {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .product-thumbnails-vertical {
    display: none !important;
  }
}

@media (max-width: 767px) {
  #_mobile_language_selector button,
  #_mobile_language_selector button.btn-unstyle {
    display: none !important;
  }
}

@media (max-width: 767px) {
 #_mobile_user_info {
    margin-bottom: 25px !important;
  }
}

@media (max-width: 767px) {
  /* RESET FINAL HEADER MOBILE — écrase tous les fix précédents sur ces 4 éléments */
  body #header .header-nav .mobile,
  body #header .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 44px !important;
    padding: 4px 12px !important;
    margin: 0 !important;
    position: relative !important;
  }

  body #header #menu-icon,
  body #header #_mobile_user_info,
  body #header #_mobile_language_selector,
  body #header #_mobile_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body #header #menu-icon                 { order: 1 !important; }
  body #header #_mobile_user_info         { order: 2 !important; margin-left: auto !important; }
  body #header #_mobile_language_selector { order: 3 !important; margin-left: 14px !important; }
  body #header #_mobile_cart              { order: 4 !important; margin-left: 14px !important; }
}

@media (max-width: 767px) {
  .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
  }

  #_mobile_user_info,
  #_mobile_language_selector,
  #_mobile_cart {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    margin: 0 0 0 12px !important;
    float: none !important;
  }

  #_mobile_user_info {
    margin-left: auto !important; /* pousse le groupe (profil+langue+panier) à droite */
  }
}

@media (max-width: 767px) {
  #_mobile_user_info {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (max-width: 767px) {
  body #header .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
  }

  body #header #menu-icon { order: 1 !important; }
  body #header #_mobile_user_info { order: 2 !important; margin-left: auto !important; margin-right: 0 !important; }
  body #header #_mobile_language_selector { order: 3 !important; margin-left: 12px !important; }
  body #header #_mobile_cart { order: 4 !important; margin-left: 12px !important; }
}


@media (max-width: 767px) {
  .cc-subcat-detail__slogan2 p {
    font-family: "Parisienne", cursive !important;
  }
}

@media (max-width: 767px) {
  /* Le sélecteur de langue dans le menu burger : plus besoin d'être en position absolue/flex-item du header */
  #mobile_top_menu_wrapper #_mobile_language_selector {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 20px 0 0 !important;
    width: 100% !important;
    display: block !important;
    padding: 15px 0 !important;
    border-top: 1px solid rgba(0,0,0,0.1) !important;
  }

  #mobile_top_menu_wrapper #_mobile_language_selector select {
    width: 100% !important;
    font-size: 16px !important;
  }

  /* La ligne d'icônes du header n'a plus que menu / profil / panier */
  body #header #menu-icon,
  body #header #_mobile_user_info,
  body #header #_mobile_cart {
    position: static !important;
    float: none !important;
    margin: 0 !important;
  }

  body #header #menu-icon { order: 1 !important; }
  body #header #_mobile_user_info { order: 2 !important; margin-left: auto !important; }
  body #header #_mobile_cart { order: 4 !important; margin-left: -26px !important; }
}

@media (max-width: 767px) {
  .video-cover-wrap {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  .video-cover-wrap video {
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
  }
}

/* Bouton PRO -30% sous la référence */
.pro-discount-wrapper--under-reference {
 
  display: flex;
  justify-content: flex-start;
}

.pro-discount-wrapper--under-reference .pro-discount-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 8px 14px 8px 16px;
  border-radius: 999px;

  background: #A8B79F;
  color: #F7F4E9 !important;
  text-decoration: none !important;

  font-family: "Kepler Std", serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;

  width: auto;
}

.pro-discount-btn__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.pro-discount-btn__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 767px) {
  .images-container-with-thumbs .product-cover {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    width: 135% !important;
    margin-left: -17.5% !important; /* (135% - 100%) / 2, pour recentrer le débordement */
  }
}

@media (max-width: 767px) {
  .container-desc {
    width: 100% !important;
    max-width: 1200px !important;
    padding: 0 0px !important;
  }
}

/* ==========================================================
   ANCRES SUBTIL / SIGNATURE / INTENSE
   ========================================================== */
   /* Scroll fluide quand on clique sur Subtil / Signature / Intense */
html {
  scroll-behavior: smooth;
}

@media (max-width: 767px) {
  #header .header-top,
  #header .header-top .displaytop {
    height: 0px !important;
    min-height: 64px !important;
    position: relative !important;
  }
}

@media (max-width: 767px) {
  body #header .hidden-md-up.text-sm-center.mobile {
    display: flex !important;
    align-items: center !important;
  }

  body #header #menu-icon,
  body #header #_mobile_language_selector,
  body #header #_mobile_user_info,
  body #header #_mobile_cart {
    position: static !important;
    float: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Groupe gauche : menu + langue */
  body #header #menu-icon {
    order: 1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body #header #_mobile_language_selector {
    order: 2 !important;
    margin-left: 10px !important;
    margin-right: 0 !important;
  }

  /* Groupe droite : profil + panier, poussé à droite par le margin-left:auto */
  body #header #_mobile_user_info {
    order: 3 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  body #header #_mobile_cart {
    order: 4 !important;
    margin-left: -10px !important;
    margin-right: 0 !important;
  }
}
.payment-methods-inline {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.apple-pay-icon {
  font-size: 42px;
  line-height: 1;
  color: #000;
  flex: 0 0 auto;
}
/* ============================================================
   EXALTO - CARROUSEL PRODUITS CUSTOMCATEGORY - VERSION CORRIGEE
   A garder en fin de custom.css pour surcharger les anciennes regles.
   ============================================================ */

.cc-subcat-detail__carousel {
  min-width: 0;
  overflow: visible;
}

.cc-product-slider {
  --cc-slider-gap: 16px;
  --cc-slider-speed: 520ms;
  --cc-slider-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cc-arrow-top: 50%;

  position: relative;
  width: 100%;
  overflow: visible;
}

.cc-product-slider__viewport {
  width: 100%;
  overflow: hidden;
}

.cc-product-slider__track {
  display: flex;
  align-items: stretch;
  gap: var(--cc-slider-gap);
  width: 100%;
  transform: translate3d(0, 0, 0);
  transition: transform var(--cc-slider-speed) var(--cc-slider-ease);
  will-change: transform;
}

/*
 * IMPORTANT : custom.css contient deja .car-product-container avec
 * width/flex en !important. On le surcharge donc ici explicitement.
 */
.cc-subcat-detail__carousel .cc-product-slider__item {
  position: relative;
  width: calc((100% - var(--cc-slider-gap)) / 2) !important;
  flex: 0 0 calc((100% - var(--cc-slider-gap)) / 2) !important;
  min-width: 0 !important;
}

.cc-product-slider--single .cc-product-slider__item {
  width: calc((100% - var(--cc-slider-gap)) / 2) !important;
  flex-basis: calc((100% - var(--cc-slider-gap)) / 2) !important;
}

.cc-product-slider__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.cc-product-slider__media {
  position: relative;
  width: 100%;
}

.cc-product-slider .cc-carousel__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
}

/* Une seule fleche a droite, centree sur la hauteur de l'image. */
.cc-product-slider__next {
  position: absolute;
  top: var(--cc-arrow-top);
  right: -22px;
  z-index: 20;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;
  padding: 0;

  border: 0;
  border-radius: 50%;
  background: rgba(247, 244, 235, 0.94);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);

  cursor: pointer;
  transform: translateY(-50%);
  transition:
    transform 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease;
}

.cc-product-slider__next:hover {
  transform: translate(4px, -50%);
  background: #f7f4eb;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.11);
}

.cc-product-slider__next:focus-visible {
  outline: 1px solid #3e3e3e !important;
  outline-offset: 4px;
}

.cc-product-slider .cc-carousel__arrow {
  display: block;
  font-family: "Acumin Pro", sans-serif;
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
  color: #3e3e3e;
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  .cc-product-slider {
    --cc-slider-gap: 12px;
  }

  .cc-subcat-detail__carousel .cc-product-slider__item,
  .cc-product-slider--single .cc-product-slider__item {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .cc-product-slider__next {
    right: 8px;
    width: 42px;
    height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc-product-slider__track,
  .cc-product-slider__next {
    transition: none;
  }
}

.cc-subcat-detail__carousel {
    position: relative;
}

.cc-subcat-detail__carousel .carousel-control-prev {
    display: none !important;
}

.cc-subcat-detail__carousel .carousel-control-next {
    position: absolute;
    right: -35px;
    top: 50%;
    bottom: auto;
    left: auto;
    transform: translateY(-50%);
    width: 47px;
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}
/* ==================================================
   CHECKOUT : UNE ÉTAPE À LA FOIS
   ================================================== */



/* On affiche uniquement l'étape actuellement active */
#checkout .checkout-step.-current {
    display: block !important;

    max-width: 850px;
    margin: 40px auto;

    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;

    padding: 35px;
}


/* TITRE */

#checkout .checkout-step.-current .step-title {
    margin: 0 0 30px;

    font-size: 24px;
    font-weight: 600;

    color: #222;
}


/* NUMÉRO DE L'ÉTAPE */

#checkout .checkout-step.-current .step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin-right: 12px;

    border-radius: 50%;

    background: #222;
    color: #fff;

    font-size: 15px;
    font-weight: 600;
}


/* CONTENU */

#checkout .checkout-step.-current .content {
    display: block !important;
}


/* BOUTON CONTINUER */

#checkout .checkout-step.-current .continue,
#checkout .checkout-step.-current .btn-primary {
    min-height: 48px;

    padding: 12px 30px;

    background: #222;
    color: #fff;

    border: 1px solid #222;
    border-radius: 6px;

    font-weight: 600;

    transition: .2s ease;
}

#checkout .checkout-step.-current .continue:hover,
#checkout .checkout-step.-current .btn-primary:hover {
    background: #fff;
    color: #222;
}


/* MOBILE */

@media (max-width: 767px) {

    #checkout .checkout-step.-current {
        margin: 20px 10px;
        padding: 20px;
    }

    #checkout .checkout-step.-current .step-title {
        font-size: 20px;
    }

}

/* ============================================================
   CHECKOUT — DETAILS PANIER SANS BOOTSTRAP
   ============================================================ */

#checkout .exalto-cart-details {
    width: 100%;
}

/* retire le triangle natif */
#checkout .exalto-cart-details > summary {
    list-style: none;
}

#checkout .exalto-cart-details > summary::-webkit-details-marker {
    display: none;
}

#checkout .exalto-cart-details-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 0;
    margin: 0;

    background: transparent;
    border: 0;

    color: #666;
    cursor: pointer;
}

#checkout .exalto-cart-details-label {
    font-size: 14px;
}

#checkout .exalto-cart-details-icon {
    font-size: 20px;
    transition: transform .25s ease;
}

/* rotation quand ouvert */
#checkout .exalto-cart-details[open]
.exalto-cart-details-icon {
    transform: rotate(180deg);
}

#checkout .exalto-cart-details-content {
    width: 100%;
    padding-top: 15px;
}

#checkout .exalto-cart-details-content .media-list {
    margin: 0;
    padding: 0;
}
/* ==================================================
   CHECKOUT : UNE ÉTAPE À LA FOIS
   ================================================== */


/* ÉTAPES TERMINÉES = CACHÉES */
#checkout .checkout-step.-complete {
    display: none !important;
}


/* ÉTAPE ACTIVE + ÉTAPE ACCESSIBLE = VISIBLE */
#checkout .checkout-step.-current,
#checkout .checkout-step.-reachable:not(.-complete) {
    display: block !important;

    max-width: 850px;
    margin: 40px auto;

    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;

    padding: 35px;
}


/* ==================================================
   TITRE
   ================================================== */

#checkout .checkout-step.-current .step-title,
#checkout .checkout-step.-reachable:not(.-complete) .step-title {
    margin: 0 0 30px;

    font-size: 24px;
    font-weight: 600;

    color: #222;
}


/* ==================================================
   NUMÉRO DE L'ÉTAPE
   ================================================== */

#checkout .checkout-step.-current .step-number,
#checkout .checkout-step.-reachable:not(.-complete) .step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin-right: 12px;

    border-radius: 50%;

    background: #222;
    color: #fff;

    font-size: 15px;
    font-weight: 600;
}


/* ==================================================
   CONTENU
   ================================================== */

#checkout .checkout-step.-current .content,
#checkout .checkout-step.-reachable:not(.-complete) .content {
    display: block !important;
}


/* ==================================================
   BOUTON CONTINUER
   ================================================== */

#checkout .checkout-step.-current .continue,
#checkout .checkout-step.-current .btn-primary,
#checkout .checkout-step.-reachable:not(.-complete) .continue,
#checkout .checkout-step.-reachable:not(.-complete) .btn-primary {
    min-height: 48px;

    padding: 12px 30px;

    background: #222;
    color: #fff;

    border: 1px solid #222;
    border-radius: 6px;

    font-weight: 600;

    transition: .2s ease;
}


#checkout .checkout-step.-current .continue:hover,
#checkout .checkout-step.-current .btn-primary:hover,
#checkout .checkout-step.-reachable:not(.-complete) .continue:hover,
#checkout .checkout-step.-reachable:not(.-complete) .btn-primary:hover {
    background: #fff;
    color: #222;
}


/* ==================================================
   SÉCURITÉ ÉTAPE PAIEMENT
   ================================================== */

#checkout #checkout-payment-step.-reachable {
    display: block !important;
}

#checkout #checkout-payment-step.-reachable .content {
    display: block !important;
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 767px) {

    #checkout .checkout-step.-current,
    #checkout .checkout-step.-reachable:not(.-complete) {
        margin: 20px 10px;
        padding: 20px;
    }

    #checkout .checkout-step.-current .step-title,
    #checkout .checkout-step.-reachable:not(.-complete) .step-title {
        font-size: 20px;
    }

}

/* =========================================================
   CARROUSEL : FLECHE DROITE PREMIUM - DA EXALTO
   Compatible avec le TPL utilisant :
   .cc-carousel__arrow--prev / .cc-carousel__arrow--next
   ========================================================= */

.cc-subcat-detail__carousel {
    position: relative;
    overflow: visible !important;
}

.cc-subcat-detail__carousel .carousel {
    position: relative;
    overflow: visible !important;
}

/* Les slides restent masques dans la zone du carousel. */
.cc-subcat-detail__carousel .carousel-inner {
    overflow: hidden !important;
}

/* On conserve uniquement la navigation vers la droite. */
.cc-subcat-detail__carousel .carousel-control-prev {
    display: none !important;
}

/* Bouton rond fin, dans la DA du site. */
.cc-subcat-detail__carousel .carousel-control-next {
    position: absolute !important;
    right: -72px !important;
    left: auto !important;
    top: 45% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid #3e3e3e !important;
    border-radius: 50% !important;
    background: rgba(247, 244, 233, 0.94) !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;
    z-index: 100 !important;

    cursor: pointer;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

/* Fleche dessinee en CSS : plus elegante qu'un simple caractere >. */
.cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow {
    position: relative !important;
    display: block !important;
    width: 20px !important;
    height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    transform: none !important;
}

/* Trait horizontal de la fleche. */
.cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1px;
    width: 18px;
    height: 1px;
    background: #3e3e3e;
    transform: translateY(-50%);
    transition: background-color 0.25s ease;
}

/* Pointe de la fleche. */
.cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #3e3e3e;
    border-right: 1px solid #3e3e3e;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.25s ease;
}

/* Hover : fond sombre, fleche beige. */
.cc-subcat-detail__carousel .carousel-control-next:hover {
    background: #3e3e3e !important;
    border-color: #3e3e3e !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.cc-subcat-detail__carousel .carousel-control-next:hover .cc-carousel__arrow::before {
    background: #f7f4e9;
}

.cc-subcat-detail__carousel .carousel-control-next:hover .cc-carousel__arrow::after {
    border-color: #f7f4e9;
}

.cc-subcat-detail__carousel .carousel-control-next:focus-visible {
    outline: 1px solid #3e3e3e !important;
    outline-offset: 4px;
}

/* Ecrans intermediaires : on rapproche legerement la fleche. */
@media (max-width: 1200px) {
    .cc-subcat-detail__carousel .carousel-control-next {
        right: -56px !important;
        width: 48px !important;
        height: 48px !important;
    }
}

/* Mobile : la fleche passe sur le bord du carousel pour eviter tout debordement. */
@media (max-width: 767px) {
    .cc-subcat-detail__carousel .carousel-control-next {
        right: 12px !important;
        top: 42% !important;
        width: 44px !important;
        height: 44px !important;
        background: rgba(247, 244, 233, 0.9) !important;
    }

    .cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow {
        width: 18px !important;
        height: 12px !important;
    }

    .cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::before {
        width: 16px;
    }

    .cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::after {
        width: 6px;
        height: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cc-subcat-detail__carousel .carousel-control-next,
    .cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::before,
    .cc-subcat-detail__carousel .carousel-control-next .cc-carousel__arrow::after {
        transition: none !important;
    }
}

/* =========================================================
   CHECKOUT — BOUTON RETOUR
   ========================================================= */

#checkout .exalto-checkout-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin: 0 0 25px;
    padding: 0;

    border: 0;
    background: transparent;

    color: #3e3e3e;

    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    transition: opacity .2s ease;
}

#checkout .exalto-checkout-back:hover {
    opacity: .55;
}

#checkout .exalto-checkout-back-arrow {
    font-size: 20px;
    line-height: 1;
}


/* Evite que le header masque l'étape après le retour */
#checkout .checkout-step {
    scroll-margin-top: 140px;
}
/* =========================================================
   MINIATURE VIDEO PRODUIT
   ========================================================= */

.product-video-thumb {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 80px;
    height: 100px;

    padding: 0;

    border: 1px solid #e5e5e5;
    background: #f7f7f7;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.product-video-thumb:hover {
    border-color: #222;
    background: #fff;
}

.product-video-play {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: #222;
    color: #fff;
}

.product-video-play .material-icons {
    font-size: 28px;
}
.header-favorites {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #000;
  font-size: 14px;
}

.header-favorites .material-icons {
  font-size: 24px;
}

.header-favorites:hover {
  color: #7b1e2b;
}

.product-miniature .thumbnail-container > .wishlist-button-add {
  display: flex !important;
}


@media (max-width: 767px) {
  .user-info {
    margin-top: 0px !important;
  }
}



/* ============================================================
   INSCRIPTION - DA CONNEXION / STEPPER EDITORIAL
   Fond beige, typographie Kepler, champs soulignes, aucun effet "modal".
   ============================================================ */

:root {
  --account-page-bg: #f7f4e9;
  --account-ink: #333333;
  --account-muted: #77736d;
  --account-line: #c7c2b9;
  --account-line-strong: #4a4947;
  --account-soft-line: rgba(51, 51, 51, 0.16);
  --account-error: #a8433a;
}

.page-registration #wrapper {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  background: var(--account-page-bg) !important;
}

/* Neutralise les largeurs/offsets Bootstrap du theme sur la page d'inscription. */
.page-registration #wrapper > .container,
.page-registration #content-wrapper,
.page-registration #main {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
}

.page-registration #content-wrapper {
  flex: 0 0 100% !important;
}

.page-registration #main,
.page-registration #content,
.page-registration .page-content,
.page-registration section.register-form {
  background: transparent !important;
}

.page-registration section#content {
  margin: 0 !important;
}

.page-registration #main > .page-header,
.page-registration section.register-form > p {
  display: none !important;
}

.account-register-scene {
  width: 100%;
  box-sizing: border-box;
  min-height: calc(100vh - 92px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(54px, 7vh, 92px) clamp(24px, 5vw, 80px) clamp(64px, 9vh, 118px);
  background: var(--account-page-bg);
}

.account-register-panel {
  width: min(1080px, 100%);
  margin: 0 auto;
  background: transparent;
  scroll-margin-top: 120px;
}

.account-register-header {
  margin: 0 0 clamp(42px, 6vh, 70px);
  text-align: center;
}

#main .account-register-title,
.account-register-title {
  margin: 0 !important;
  font-family: "Kepler Std Light Condensed Display", "Kepler Std Condensed Display", serif !important;
  font-size: clamp(46px, 5.3vw, 78px) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #000 !important;
}

.account-register-form {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
}

/* Etat courant du stepper : discret, comme la page de connexion. */
.account-progress-meta {
  width: min(760px, 100%);
  margin: 0 auto 14px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 13px;
  color: var(--account-ink);
  text-align: center;
}

.account-step-count {
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.account-step-title {
  font-family: "Acumin pro light", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.account-progress {
  width: min(760px, 100%);
  margin: 0 auto clamp(38px, 5vh, 56px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.account-progress-bar {
  display: block;
  height: 1px;
  background: #d3cec5;
  transform-origin: center;
  transition: background-color 0.25s ease, height 0.25s ease;
}

.account-progress-bar.is-current,
.account-progress-bar.is-done {
  background: var(--account-ink);
}

.account-progress-bar.is-current {
  height: 2px;
}

.account-steps {
  position: relative;
}

.account-step {
  display: none;
}

/* Etapes 1 et 2 : grille large, ideale pour les nombreux champs pro. */
.account-step.active {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(34px, 5vw, 72px);
  row-gap: 0;
  align-items: start;
  animation: account-step-in 0.22s ease both;
}

/* L'etape identifiants reprend la composition verticale de la page login. */
.account-step.active[data-step="3"] {
  display: block;
  width: min(760px, 100%);
  margin: 0 auto;
}

/* Champs qui doivent toujours respirer sur une ligne entiere. */
.account-step.active > .class_id_gender,
.account-step.active > .class_group_id,
.account-step.active > .class_school_group_id,
.account-step.active > .custom-checkbox,
.account-step.active > .alert,
.account-step.active > script,
.account-step.active > style {
  grid-column: 1 / -1;
}

@keyframes account-step-in {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.account-register-form .form-group.row,
.account-register-form .field-password-policy .form-group.row {
  display: block !important;
  margin: 0 0 clamp(26px, 3.2vh, 38px) !important;
}

.account-register-form .form-group.row > [class*="col-"],
.account-register-form .field-password-policy .form-group.row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}

.account-register-form .form-control-label,
.account-register-form label:not(.custom-control-label):not(.radio-inline) {
  display: block;
  margin: 0 0 11px !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--account-ink) !important;
}

.account-register-form .form-control,
.account-register-form input[type="text"],
.account-register-form input[type="email"],
.account-register-form input[type="password"],
.account-register-form input[type="tel"],
.account-register-form input[type="url"],
.account-register-form input[type="date"],
.account-register-form select,
.account-register-form textarea {
  width: 100% !important;
  min-height: 42px;
  margin: 0;
  padding: 8px 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--account-line-strong) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "Kepler Std Light Condensed Display", serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.25;
  color: var(--account-ink) !important;
  transition: border-color 0.2s ease;
}

.account-register-form input::placeholder,
.account-register-form textarea::placeholder {
  color: #b7b2aa !important;
  opacity: 1;
}

.account-register-form textarea {
  min-height: 84px;
  resize: vertical;
}

.account-register-form .form-control:focus,
.account-register-form input:focus,
.account-register-form select:focus,
.account-register-form textarea:focus {
  border-bottom-color: #000 !important;
  box-shadow: none !important;
}

.account-register-form .has-error .form-control,
.account-register-form .is-invalid,
.account-register-form [aria-invalid="true"] {
  border-bottom-color: var(--account-error) !important;
}

.account-register-form .form-control-comment,
.account-register-form .help-block,
.account-register-form small,
.account-register-form .text-muted {
  display: block;
  margin-top: 7px !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 10.5px !important;
  line-height: 1.45;
  color: #8e8a83 !important;
  text-align: left !important;
}

/* Civilite : simple, sans pills ni couleurs parasites. */
.account-register-form .class_id_gender .js-input-column,
.account-register-form .class_id_gender .col-md-6 {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.account-register-form .class_id_gender .radio-inline,
.account-register-form .class_id_gender .custom-control.custom-radio {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  color: var(--account-ink) !important;
  cursor: pointer;
}

.account-register-form input[type="radio"],
.account-register-form input[type="checkbox"] {
  accent-color: #333333;
}

.account-register-form .custom-checkbox,
.account-register-form .form-group:has(input[type="checkbox"]) {
  font-size: 12px;
  line-height: 1.55;
  color: var(--account-muted);
}

.account-register-form .custom-checkbox label,
.account-register-form label.custom-control-label {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--account-muted) !important;
}

.account-register-form .field-password-policy {
  display: block;
}

.account-register-form .input-group {
  width: 100%;
  display: flex;
  align-items: stretch;
}

.account-register-form .input-group .form-control {
  min-width: 0;
  flex: 1 1 auto;
}

.account-register-form .input-group-btn,
.account-register-form .input-group-append {
  display: flex;
  align-items: stretch;
}

.account-register-form .btn-show-password,
.account-register-form .input-group-btn .btn,
.account-register-form .input-group-append .btn {
  min-height: 42px;
  padding: 0 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--account-line-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--account-ink) !important;
}

.password-strength-feedback {
  display: block !important;
}

.class_school_group_id {
  display: none;
}


/* Sur une etape sans bouton Retour, le bouton principal prend toute la ligne. */
.account-nav .account-btn-next:only-child {
  grid-column: 1 / -1;
  width: 100% !important;
  justify-self: stretch;
}

.account-btn-back,
.account-btn-next,
.account-register-form .form-footer .btn-primary,
.account-register-form .form-footer button[type="submit"] {
  min-height: 66px;
  border-radius: 0 !important;
  font-family: "Kepler Std Light Condensed Display", "Kepler Std Condensed Display", serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.account-btn-back {
  padding: 0 18px;
  border: 1px solid var(--account-soft-line);
  background: transparent;
  color: var(--account-ink);
}

.account-btn-back:hover {
  border-color: var(--account-ink);
  background: transparent;
  color: #000;
}

.account-btn-next,
.account-register-form .form-footer .btn-primary,
.account-register-form .form-footer button[type="submit"] {
  width: 100% !important;
  padding: 16px 32px !important;
  border: 1px solid #333 !important;
  background: #333 !important;
  color: #fff !important;
}

.account-btn-next:hover,
.account-register-form .form-footer .btn-primary:hover,
.account-register-form .form-footer button[type="submit"]:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

.account-register-form .form-footer {
  display: block;
  width: min(760px, 100%);
  margin: clamp(20px, 3vh, 32px) auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center !important;
}

.account-register-form .form-footer[hidden] {
  display: none !important;
}

.account-register-form .form-footer .btn-primary,
.account-register-form .form-footer button[type="submit"] {
  float: none !important;
  margin: 0 !important;
}

.account-register-login-link {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin: clamp(38px, 5vh, 60px) 0 0;
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 19px;
  line-height: 1.35;
  color: var(--account-ink);
  text-align: center;
}

.account-register-login-link a {
  color: var(--account-ink) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.account-register-login-link a:hover {
  border-bottom-color: var(--account-ink);
}

/* Tablette */
@media (max-width: 1024px) {
  .account-register-scene {
    padding-left: 36px;
    padding-right: 36px;
  }

  .account-register-panel {
    width: min(900px, 100%);
  }

  #main .account-register-title,
  .account-register-title {
    font-size: clamp(48px, 7vw, 66px) !important;
  }

  .account-step.active {
    column-gap: 34px;
  }
}

/* Mobile / petites tablettes */
@media (max-width: 767px) {
  .page-registration #wrapper {
    padding: 0 !important;
  }

  .account-register-scene {
    min-height: auto;
    align-items: flex-start;
    padding: 118px 20px 62px;
  }

  .account-register-panel {
    width: 100%;
  }

  .account-register-header {
    margin-bottom: 38px;
  }

  #main .account-register-title,
  .account-register-title {
    font-size: clamp(38px, 11vw, 52px) !important;
    line-height: 0.98 !important;
  }

  .account-progress-meta,
  .account-progress {
    width: 100%;
  }

  .account-progress {
    margin-bottom: 34px;
  }

  .account-step.active,
  .account-step.active[data-step="3"] {
    display: block;
    width: 100%;
  }

  .account-register-form .form-group.row,
  .account-register-form .field-password-policy .form-group.row {
    margin-bottom: 28px !important;
  }

  .account-register-form .form-control,
  .account-register-form input[type="text"],
  .account-register-form input[type="email"],
  .account-register-form input[type="password"],
  .account-register-form input[type="tel"],
  .account-register-form input[type="url"],
  .account-register-form input[type="date"],
  .account-register-form select,
  .account-register-form textarea {
    font-size: 17px !important;
  }

  .account-nav {
    width: 100%;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 12px;
    margin: 16px auto 0;
  }

  .account-nav .account-btn-next:only-child {
    grid-column: 1 / -1;
  }

  .account-btn-back,
  .account-btn-next,
  .account-register-form .form-footer .btn-primary,
  .account-register-form .form-footer button[type="submit"] {
    min-height: 58px;
    font-size: 19px !important;
  }

  .account-register-login-link {
    margin-top: 38px;
    font-size: 18px;
  }
}

/* Tres petits telephones : navigation empilee pour eviter l'ecrasement. */
@media (max-width: 420px) {
  .account-register-scene {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 48px;
  }

  .account-register-header {
    margin-bottom: 32px;
  }

  #main .account-register-title,
  .account-register-title {
    font-size: 36px !important;
  }

  .account-progress-meta {
    gap: 8px;
    flex-wrap: wrap;
  }

  .account-step-title {
    font-size: 9.5px;
    letter-spacing: 0.14em;
  }

  .account-nav {
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
  }

  .account-btn-back,
  .account-btn-next {
    width: 100%;
  }

  .account-btn-back {
    min-height: 48px;
  }
}

/* Telephones en paysage / petits ecrans en hauteur. */
@media (max-width: 767px) and (max-height: 620px) {
  .account-register-scene {
    padding-top: 90px;
  }

  .account-register-header {
    margin-bottom: 24px;
  }

  .account-progress {
    margin-bottom: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-step.active {
    animation: none;
  }

  .account-progress-bar,
  .account-btn-back,
  .account-btn-next,
  .account-register-form .form-footer button {
    transition: none !important;
  }
}

/* ============================================================
   TYPE DE CLIENT - ETAPE 1
   Le champ natif group_id est conserve pour le back-office mais
   presente comme un vrai choix Professionnel / Particulier.
   ============================================================ */
.account-register-form .account-customer-type {
  grid-column: 1 / -1;
  width: min(760px, 100%);
  margin: 0 auto clamp(32px, 4vh, 46px) !important;
}

.account-register-form .account-customer-type .form-control-label {
  text-align: center !important;
  margin-bottom: 18px !important;
}

.account-register-form .account-customer-type .js-input-column,
.account-register-form .account-customer-type .col-md-6,
.account-register-form .account-customer-type .form-control-valign {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.account-register-form .account-customer-type .radio-inline,
.account-register-form .account-customer-type .custom-control.custom-radio,
.account-register-form .account-customer-type label:has(input[name="group_id"]) {
  min-height: 64px;
  margin: 0 !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  border: 1px solid var(--account-line) !important;
  background: transparent !important;
  color: var(--account-ink) !important;
  font-family: "Kepler Std Light Condensed Display", serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.account-register-form .account-customer-type .radio-inline:hover,
.account-register-form .account-customer-type .custom-control.custom-radio:hover,
.account-register-form .account-customer-type label:has(input[name="group_id"]):hover {
  border-color: var(--account-ink) !important;
}

.account-register-form .account-customer-type .is-selected,
.account-register-form .account-customer-type label:has(input[name="group_id"]:checked) {
  border-color: var(--account-ink) !important;
  background: rgba(51, 51, 51, 0.045) !important;
}

.account-register-form .account-customer-type input[type="radio"] {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

/* Si group_id est un select plutot que des radios, il garde la DA des champs. */
.account-register-form .account-customer-type select[name="group_id"] {
  width: 100% !important;
}

/* Parcours particulier = 2 etapes : la barre se repartit sur deux colonnes. */
.account-progress.has-two-steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-progress-bar[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .account-register-form .account-customer-type {
    width: 100%;
    margin-bottom: 30px !important;
  }

  .account-register-form .account-customer-type .js-input-column,
  .account-register-form .account-customer-type .col-md-6,
  .account-register-form .account-customer-type .form-control-valign {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .account-register-form .account-customer-type .radio-inline,
  .account-register-form .account-customer-type .custom-control.custom-radio,
  .account-register-form .account-customer-type label:has(input[name="group_id"]) {
    min-height: 56px;
  }
}

/* En-tete inscription : meme esprit que la page de connexion. */
.account-register-kicker,
.account-register-subtitle {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: var(--account-muted);
}

.account-register-kicker {
  margin-top: 0;
  margin-bottom: 18px;
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 18px;
  line-height: 1.2;
}

.account-register-subtitle {
  margin-top: 30px;
  margin-bottom: 0;
  font-family: "Kepler Std Light Condensed Display", serif;
  font-size: 20px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .account-register-kicker {
    font-size: 16px;
    margin-bottom: 14px;
  }

  .account-register-subtitle {
    margin-top: 22px;
    font-size: 17px;
  }
}

/* ============================================================
   CHECKOUT EXALTO V2 - STEPPER 4 ETAPES
   01 Resume / 02 Adresse / 03 Livraison / 04 Paiement
   ============================================================ */

body#checkout {
  --checkout-bg: #f7f4e9;
  --checkout-ink: #3e3e3e;
  --checkout-muted: #77736d;
  --checkout-line: rgba(62, 62, 62, 0.22);
  --checkout-line-strong: rgba(62, 62, 62, 0.72);
  --checkout-accent: #1d6e75;
  --checkout-soft: rgba(250, 210, 185, 0.24);
  background: var(--checkout-bg) !important;
}

body#checkout #wrapper,
body#checkout #main,
body#checkout #content-wrapper,
body#checkout #content,
body#checkout .page-content {
  background: var(--checkout-bg) !important;
}

body#checkout #wrapper {
  padding: 0 !important;
}

body#checkout #content-wrapper,
body#checkout #main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body#checkout .exalto-checkout-page {
  width: 100%;
  margin: 0;
  padding: clamp(48px, 6vw, 88px) 24px clamp(70px, 8vw, 120px);
  background: var(--checkout-bg) !important;
}

body#checkout .exalto-checkout-shell {
  width: min(1120px, 100%);
  margin: 0 auto;
}

body#checkout .exalto-checkout-header {
  width: min(920px, 100%);
  margin: 0 auto clamp(42px, 5vw, 64px);
  text-align: center;
}

body#checkout .exalto-checkout-kicker {
  margin: 0 0 8px;
  font-family: "Kepler Std Light Condensed Display", serif !important;
  font-size: 18px;
  line-height: 1;
  color: var(--checkout-muted);
}

body#checkout .exalto-checkout-title {
  margin: 0;
  font-family: "Kepler Std Light Condensed Display", serif !important;
  font-size: clamp(46px, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-checkout-subtitle {
  width: min(650px, 100%);
  margin: 18px auto 0;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 16px;
  line-height: 1.55;
  color: var(--checkout-muted);
}

body#checkout .exalto-checkout-progress-wrap {
  width: min(860px, 100%);
  margin: 0 auto clamp(38px, 5vw, 58px);
  scroll-margin-top: 120px;
}

body#checkout .exalto-checkout-progress-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 13px;
}

body#checkout .exalto-checkout-progress-count,
body#checkout .exalto-checkout-progress-label {
  font-family: "Kepler Std Condensed Display", serif !important;
  color: var(--checkout-ink);
}

body#checkout .exalto-checkout-progress-count {
  flex: 0 0 auto;
  font-size: 15px;
  letter-spacing: 0.08em;
}

body#checkout .exalto-checkout-progress-label {
  min-width: 0;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-align: right;
  text-transform: uppercase;
}

body#checkout .exalto-checkout-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

body#checkout .exalto-checkout-progress-bar {
  display: block;
  height: 2px;
  background: rgba(62, 62, 62, 0.18);
  transition: background-color 220ms ease, transform 220ms ease;
}

body#checkout .exalto-checkout-progress-bar.is-complete,
body#checkout .exalto-checkout-progress-bar.is-active {
  background: var(--checkout-ink);
}

body#checkout .exalto-checkout-progress-bar.is-active {
  transform: scaleY(1.8);
  transform-origin: center;
}

body#checkout .exalto-checkout-main,
body#checkout .exalto-checkout-stage,
body#checkout .exalto-checkout-native {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body#checkout .exalto-checkout-stage[hidden] {
  display: none !important;
}

body#checkout .exalto-checkout-summary {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
}

/* ---------- ETAPE 01 : RESUME ---------- */

body#checkout .exalto-order-summary-card,
body#checkout #js-checkout-summary.exalto-order-summary-card {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body#checkout .exalto-order-summary-card .card-block,
body#checkout .exalto-order-summary-card .card-body {
  padding: 0 !important;
  background: transparent !important;
}

body#checkout .exalto-order-summary-card .cart-summary-products {
  margin: 0 0 28px !important;
  padding: 0 !important;
}

body#checkout .exalto-order-summary-card .cart-summary-products > p,
body#checkout .exalto-order-summary-card .cart-summary-products > a,
body#checkout .exalto-order-summary-card .js-show-details {
  font-family: "Acumin pro light", sans-serif !important;
  color: var(--checkout-muted) !important;
}

body#checkout .exalto-order-summary-card .media-list,
body#checkout .exalto-order-summary-card ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout .exalto-order-summary-card .media,
body#checkout .exalto-order-summary-card .cart-summary-product-line,
body#checkout .exalto-order-summary-card .product-line-grid {
  margin: 0 !important;
  padding: 22px 0 !important;
  border-top: 1px solid var(--checkout-line) !important;
  background: transparent !important;
}

body#checkout .exalto-order-summary-card .media:last-child,
body#checkout .exalto-order-summary-card .cart-summary-product-line:last-child {
  border-bottom: 1px solid var(--checkout-line) !important;
}

body#checkout .exalto-order-summary-card img {
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout .exalto-order-summary-card .product-name,
body#checkout .exalto-order-summary-card .product-name a,
body#checkout .exalto-order-summary-card .media-heading,
body#checkout .exalto-order-summary-card .media-heading a {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  text-transform: uppercase;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-order-summary-card .product-price,
body#checkout .exalto-order-summary-card .price,
body#checkout .exalto-order-summary-card .value {
  font-family: "Kepler Std Condensed Display", serif !important;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-order-summary-card .cart-summary-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin: 0 !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: "Acumin pro light", sans-serif !important;
  color: var(--checkout-muted) !important;
}

body#checkout .exalto-order-summary-card .cart-summary-line .label,
body#checkout .exalto-order-summary-card .cart-summary-line .value {
  float: none !important;
}

body#checkout .exalto-order-summary-card .cart-summary-line.cart-total,
body#checkout .exalto-order-summary-card .cart-total {
  margin-top: 12px !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--checkout-line-strong) !important;
  border-bottom: 1px solid var(--checkout-line-strong) !important;
  background: transparent !important;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-order-summary-card .cart-summary-line.cart-total .label,
body#checkout .exalto-order-summary-card .cart-summary-line.cart-total .value,
body#checkout .exalto-order-summary-card .cart-total .label,
body#checkout .exalto-order-summary-card .cart-total .value {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 25px !important;
  font-weight: 400 !important;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-order-summary-card .block-promo {
  margin: 28px 0 0 !important;
}

body#checkout .exalto-order-summary-card .promo-code,
body#checkout .exalto-order-summary-card .promo-input {
  background: transparent !important;
}

body#checkout .exalto-checkout-summary-actions {
  width: min(980px, 100%);
  margin: 40px auto 0;
  display: flex;
  justify-content: center;
}

body#checkout .exalto-checkout-summary-continue {
  width: min(430px, 100%) !important;
}

/* ---------- ETAPES NATIVES ---------- */

body#checkout .exalto-checkout-native {
  display: none !important;
}

body#checkout .exalto-checkout-native.is-active {
  display: block !important;
}

/* Neutralise les anciennes regles checkout du theme : une seule etape visible. */
body#checkout .exalto-checkout-native .checkout-step,
body#checkout .exalto-checkout-native .checkout-step.-current,
body#checkout .exalto-checkout-native .checkout-step.-reachable,
body#checkout .exalto-checkout-native .checkout-step.-complete {
  display: none !important;
}

body#checkout .exalto-checkout-native.is-active .checkout-step.exalto-visual-current {
  display: block !important;
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body#checkout .exalto-checkout-native .checkout-step.exalto-visual-current .content {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Le titre natif reste present pour le JS PrestaShop, mais n'est plus visible. */
body#checkout .exalto-checkout-native .checkout-step .step-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- BOUTONS ---------- */

body#checkout .exalto-checkout-shell .btn-primary,
body#checkout .exalto-checkout-shell button[type="submit"],
body#checkout .exalto-checkout-shell .continue {
  min-height: 50px !important;
  padding: 13px 28px !important;
  border: 1px solid var(--checkout-ink) !important;
  border-radius: 0 !important;
  background: var(--checkout-ink) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

body#checkout .exalto-checkout-shell .btn-primary:hover,
body#checkout .exalto-checkout-shell button[type="submit"]:hover,
body#checkout .exalto-checkout-shell .continue:hover {
  background: transparent !important;
  color: var(--checkout-ink) !important;
  border-color: var(--checkout-ink) !important;
}

body#checkout .exalto-checkout-native .checkout-step .continue,
body#checkout .exalto-checkout-native .checkout-step .form-footer .btn-primary,
body#checkout #payment-confirmation button {
  display: block !important;
  width: min(430px, 100%) !important;
  margin: 36px auto 0 !important;
  float: none !important;
}

body#checkout .exalto-checkout-back {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  min-height: 0 !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--checkout-muted) !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
  text-transform: none !important;
  cursor: pointer;
}

body#checkout .exalto-checkout-back:hover {
  background: transparent !important;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-checkout-back-arrow {
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
}

/* ---------- FORMULAIRES / ADRESSE ---------- */

body#checkout .exalto-checkout-native .form-group {
  margin-bottom: 28px !important;
}

body#checkout .exalto-checkout-native .form-group .form-control-label,
body#checkout .exalto-checkout-native .form-group label,
body#checkout .exalto-checkout-native label.form-control-label {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-checkout-native input[type="text"],
body#checkout .exalto-checkout-native input[type="email"],
body#checkout .exalto-checkout-native input[type="password"],
body#checkout .exalto-checkout-native input[type="tel"],
body#checkout .exalto-checkout-native input[type="number"],
body#checkout .exalto-checkout-native select,
body#checkout .exalto-checkout-native textarea,
body#checkout .exalto-checkout-native .form-control {
  min-height: 42px !important;
  padding: 9px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--checkout-line-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--checkout-ink) !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 15px !important;
}

body#checkout .exalto-checkout-native textarea {
  min-height: 92px !important;
  padding: 12px !important;
  border: 1px solid var(--checkout-line) !important;
}

body#checkout .exalto-checkout-native input:focus,
body#checkout .exalto-checkout-native select:focus,
body#checkout .exalto-checkout-native textarea:focus,
body#checkout .exalto-checkout-native .form-control:focus {
  border-color: var(--checkout-ink) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body#checkout .exalto-checkout-native .form-control-comment,
body#checkout .exalto-checkout-native .help-block,
body#checkout .exalto-checkout-native small,
body#checkout .exalto-checkout-native .text-muted {
  font-family: "Acumin pro light", sans-serif !important;
  color: var(--checkout-muted) !important;
}

body#checkout .exalto-checkout-native h2.h4,
body#checkout .exalto-checkout-native h3,
body#checkout .exalto-checkout-native .identity {
  font-family: "Kepler Std Condensed Display", serif !important;
  color: var(--checkout-ink) !important;
}

body#checkout .exalto-checkout-native h2.h4 {
  margin: 30px 0 20px !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  text-transform: uppercase;
}

body#checkout .address-selector {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0 !important;
}

body#checkout .address-selector .address-item,
body#checkout .address-item,
body#checkout .address-item.selected {
  width: 100% !important;
  margin: 0 !important;
  padding: 22px !important;
  background: transparent !important;
  border: 1px solid var(--checkout-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 180ms ease, background-color 180ms ease;
}

body#checkout .address-item:hover,
body#checkout .address-item.selected {
  border-color: var(--checkout-line-strong) !important;
}

body#checkout .address-item.selected {
  background: var(--checkout-soft) !important;
}

body#checkout .address-alias {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  color: var(--checkout-ink) !important;
  text-transform: uppercase;
}

body#checkout .address address {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: var(--checkout-muted) !important;
}

body#checkout .address-footer a,
body#checkout .add-address a,
body#checkout .js-address-form a {
  color: var(--checkout-ink) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- LIVRAISON ---------- */

body#checkout .delivery-options {
  display: grid;
  gap: 14px;
}

body#checkout .delivery-option {
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid var(--checkout-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: border-color 180ms ease, background-color 180ms ease;
}

body#checkout .delivery-option:hover {
  border-color: var(--checkout-line-strong) !important;
}

body#checkout .delivery-option:has(input[type="radio"]:checked) {
  border-color: var(--checkout-line-strong) !important;
  background: var(--checkout-soft) !important;
}

body#checkout .carrier-name {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  color: var(--checkout-ink) !important;
}

body#checkout .carrier-delay,
body#checkout .carrier-extra-content {
  font-family: "Acumin pro light", sans-serif !important;
  color: var(--checkout-muted) !important;
}

body#checkout .carrier-price {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 20px !important;
  color: var(--checkout-ink) !important;
}

body#checkout .carrier-extra-content {
  margin: 0 !important;
  padding: 14px 20px 22px !important;
  background: transparent !important;
}

body#checkout .order-options {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--checkout-line);
}

body#checkout #delivery > label {
  display: block;
  margin-bottom: 12px;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5;
  color: var(--checkout-muted) !important;
}

/* ---------- PAIEMENT ---------- */

body#checkout .payment-options {
  display: grid !important;
  gap: 14px;
  margin: 0 !important;
}

body#checkout .payment-option {
  display: flex !important;
  align-items: center !important;
  min-height: 68px;
  margin: 0 !important;
  padding: 16px 20px !important;
  border: 1px solid var(--checkout-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: border-color 180ms ease, background-color 180ms ease;
}

body#checkout .payment-option:hover,
body#checkout .payment-option:has(input[type="radio"]:checked) {
  border-color: var(--checkout-line-strong) !important;
}

body#checkout .payment-option:has(input[type="radio"]:checked) {
  background: var(--checkout-soft) !important;
}

body#checkout .payment-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin: 0 !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  color: var(--checkout-ink) !important;
  text-transform: none !important;
}

body#checkout .payment-option label img {
  max-height: 30px !important;
  width: auto !important;
}

body#checkout .additional-information {
  margin: -6px 0 14px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--checkout-line) !important;
  border-top: 0 !important;
  background: rgba(255, 255, 255, 0.16) !important;
  font-family: "Acumin pro light", sans-serif !important;
  color: var(--checkout-muted) !important;
}

body#checkout #conditions-to-approve {
  margin: 34px 0 0 !important;
  padding-top: 26px !important;
  border-top: 1px solid var(--checkout-line) !important;
}

body#checkout #conditions-to-approve ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #conditions-to-approve li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px !important;
}

body#checkout #conditions-to-approve label,
body#checkout #conditions-to-approve .condition-label {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55;
  color: var(--checkout-muted) !important;
  text-transform: none !important;
}

body#checkout #conditions-to-approve a {
  color: var(--checkout-ink) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Radios / cases : garde le fonctionnement PrestaShop, affine la DA. */
body#checkout .exalto-checkout-shell .custom-radio,
body#checkout .exalto-checkout-shell .custom-checkbox {
  flex: 0 0 auto;
}

body#checkout .exalto-checkout-shell .custom-radio > span,
body#checkout .exalto-checkout-shell .custom-checkbox > span {
  border-color: var(--checkout-line-strong) !important;
}

body#checkout .exalto-checkout-shell .custom-radio input[type="radio"]:checked + span {
  background: var(--checkout-ink) !important;
}

/* ---------- ALERTES ---------- */

body#checkout .exalto-checkout-shell .alert {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Acumin pro light", sans-serif !important;
}

body#checkout .exalto-checkout-shell .alert-danger {
  border: 1px solid rgba(168, 67, 58, 0.45) !important;
  background: rgba(168, 67, 58, 0.06) !important;
  color: #8a3832 !important;
}

/* ---------- TABLETTE ---------- */

@media (max-width: 991px) {
  body#checkout .exalto-checkout-page {
    padding-left: 20px;
    padding-right: 20px;
  }

  body#checkout .address-selector {
    grid-template-columns: 1fr;
  }

  body#checkout .delivery-option .row,
  body#checkout .payment-option label {
    align-items: center;
  }
}

/* ---------- MOBILE ---------- */

@media (max-width: 767px) {
  body#checkout .exalto-checkout-page {
    padding: 36px 16px 70px;
  }

  body#checkout .exalto-checkout-header {
    margin-bottom: 36px;
  }

  body#checkout .exalto-checkout-kicker {
    font-size: 16px;
  }

  body#checkout .exalto-checkout-title {
    font-size: clamp(36px, 11vw, 48px) !important;
  }

  body#checkout .exalto-checkout-subtitle {
    margin-top: 14px;
    font-size: 14px;
  }

  body#checkout .exalto-checkout-progress-wrap {
    margin-bottom: 34px;
    scroll-margin-top: 90px;
  }

  body#checkout .exalto-checkout-progress-meta {
    align-items: flex-start;
    gap: 14px;
  }

  body#checkout .exalto-checkout-progress-count {
    font-size: 13px;
  }

  body#checkout .exalto-checkout-progress-label {
    font-size: 15px;
  }

  body#checkout .exalto-checkout-progress {
    gap: 6px;
  }

  body#checkout .exalto-order-summary-card .media,
  body#checkout .exalto-order-summary-card .cart-summary-product-line,
  body#checkout .exalto-order-summary-card .product-line-grid {
    padding: 16px 0 !important;
  }

  body#checkout .exalto-order-summary-card .product-name,
  body#checkout .exalto-order-summary-card .product-name a,
  body#checkout .exalto-order-summary-card .media-heading,
  body#checkout .exalto-order-summary-card .media-heading a {
    font-size: 18px !important;
  }

  body#checkout .exalto-order-summary-card .cart-summary-line.cart-total .label,
  body#checkout .exalto-order-summary-card .cart-summary-line.cart-total .value,
  body#checkout .exalto-order-summary-card .cart-total .label,
  body#checkout .exalto-order-summary-card .cart-total .value {
    font-size: 21px !important;
  }

  body#checkout .exalto-checkout-native.is-active .checkout-step.exalto-visual-current {
    width: 100% !important;
  }

  body#checkout .exalto-checkout-back {
    margin-bottom: 24px !important;
  }

  body#checkout .address-selector {
    display: block !important;
  }

  body#checkout .address-selector .address-item,
  body#checkout .address-item,
  body#checkout .address-item.selected {
    margin-bottom: 14px !important;
    padding: 18px !important;
  }

  body#checkout .delivery-option {
    padding: 16px !important;
  }

  body#checkout .delivery-option > .col-sm-1 {
    width: 36px !important;
    float: left !important;
    padding: 0 !important;
  }

  body#checkout .delivery-option > label.delivery-option-2 {
    width: calc(100% - 36px) !important;
    float: left !important;
    padding: 0 0 0 8px !important;
  }

  body#checkout .delivery-option .carrier-name,
  body#checkout .delivery-option .carrier-delay,
  body#checkout .delivery-option .carrier-price {
    display: block;
    margin: 4px 0;
    text-align: left !important;
  }

  body#checkout .payment-option {
    padding: 14px 16px !important;
  }

  body#checkout .payment-option label {
    font-size: 17px !important;
  }

  body#checkout .exalto-checkout-shell .btn-primary,
  body#checkout .exalto-checkout-shell button[type="submit"],
  body#checkout .exalto-checkout-shell .continue {
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    font-size: 18px !important;
  }
}

/* ============================================================
   CHECKOUT STEPPER - FIX FINAL VISIBILITE ETAPE 3 / ETAPE 4
   Le vieux CSS du theme forcait les etapes -reachable a rester visibles,
   notamment #checkout-payment-step. Ici, une seule etape native peut etre
   affichee : celle marquee .exalto-visual-current par custom.js.
   ============================================================ */

body#checkout #exalto-checkout .exalto-checkout-native #checkout-personal-information-step.checkout-step,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-addresses-step.checkout-step,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-delivery-step.checkout-step,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-payment-step.checkout-step {
  display: none !important;
}

body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-personal-information-step.checkout-step.exalto-visual-current,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-addresses-step.checkout-step.exalto-visual-current,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-delivery-step.checkout-step.exalto-visual-current,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-payment-step.checkout-step.exalto-visual-current {
  display: block !important;
}

body#checkout #exalto-checkout .exalto-checkout-native #checkout-personal-information-step.checkout-step:not(.exalto-visual-current) .content,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-addresses-step.checkout-step:not(.exalto-visual-current) .content,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-delivery-step.checkout-step:not(.exalto-visual-current) .content,
body#checkout #exalto-checkout .exalto-checkout-native #checkout-payment-step.checkout-step:not(.exalto-visual-current) .content {
  display: none !important;
}

body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-personal-information-step.checkout-step.exalto-visual-current .content,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-addresses-step.checkout-step.exalto-visual-current .content,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-delivery-step.checkout-step.exalto-visual-current .content,
body#checkout #exalto-checkout .exalto-checkout-native.is-active #checkout-payment-step.checkout-step.exalto-visual-current .content {
  display: block !important;
}

/* ============================================================
   CHECKOUT STEPPER V3 - 5 ETAPES
   01 Resume / 02 Adresse / 03 Livraison / 04 Verification / 05 Paiement
   ============================================================ */

body#checkout .exalto-checkout-progress {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* Verrouillage absolu : le paiement ne doit JAMAIS rester sous la livraison. */
body#checkout #exalto-checkout .checkout-step:not(.exalto-visual-current),
body#checkout #checkout-payment-step.checkout-step:not(.exalto-visual-current) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

body#checkout #exalto-checkout .exalto-checkout-native.is-active .checkout-step.exalto-visual-current,
body#checkout #checkout-payment-step.checkout-step.exalto-visual-current {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

/* ---------- ETAPE 04 : VERIFICATION ---------- */

body#checkout .exalto-checkout-stage--review {
  width: 100% !important;
}

body#checkout .exalto-review-shell {
  width: min(980px, 100%);
  margin: 0 auto;
}

body#checkout .exalto-review-heading {
  margin: 0 0 34px;
  text-align: center;
}

body#checkout .exalto-review-kicker {
  margin: 0 0 10px;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--checkout-ink, #3e3e3e);
}

body#checkout .exalto-review-intro {
  max-width: 680px;
  margin: 0 auto;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 14px;
  line-height: 1.6;
  color: var(--checkout-muted, #77736d);
}

body#checkout .exalto-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 34px;
}

body#checkout .exalto-review-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--checkout-line, #d8d1c5);
  background: transparent;
}

body#checkout .exalto-review-card--delivery {
  grid-column: 1 / -1;
}

body#checkout .exalto-review-card-title,
body#checkout .exalto-review-order-title {
  margin: 0 0 18px !important;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--checkout-line, #d8d1c5);
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout .exalto-review-card-content,
body#checkout .exalto-review-card-content *,
body#checkout .exalto-review-order-content,
body#checkout .exalto-review-order-content * {
  box-sizing: border-box;
}

body#checkout .exalto-review-card-content,
body#checkout .exalto-review-card-content address,
body#checkout .exalto-review-empty {
  margin: 0;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: var(--checkout-muted, #77736d) !important;
  font-style: normal !important;
}

body#checkout .exalto-review-card-content .address,
body#checkout .exalto-review-card-content .address-item,
body#checkout .exalto-review-card-content .exalto-review-clone {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout .exalto-review-card-content .address-alias {
  display: block;
  margin-bottom: 8px;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 18px !important;
  color: var(--checkout-ink, #3e3e3e) !important;
  text-transform: uppercase;
}

body#checkout .exalto-review-card-content .delivery-option,
body#checkout .exalto-review-card-content .js-delivery-option,
body#checkout .exalto-review-card-content .delivery-option .row {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body#checkout .exalto-review-card-content .delivery-option > .col-sm-1 {
  display: none !important;
}

body#checkout .exalto-review-card-content .delivery-option-2 {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}

body#checkout .exalto-review-card-content .carrier-name {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout .exalto-review-card-content .carrier-delay,
body#checkout .exalto-review-card-content .carrier-price {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  color: var(--checkout-muted, #77736d) !important;
}

body#checkout .exalto-review-order {
  margin: 0;
  padding: 26px 0 0;
  border-top: 1px solid var(--checkout-line-strong, #4a4947);
}

body#checkout .exalto-review-order-content > .exalto-review-clone,
body#checkout .exalto-review-order-content .exalto-order-summary-card,
body#checkout .exalto-review-order-content .card {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout .exalto-review-order-content .card-block,
body#checkout .exalto-review-order-content .card-body {
  padding: 0 !important;
  background: transparent !important;
}

body#checkout .exalto-review-order-content .cart-summary-line {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body#checkout .exalto-review-order-content .cart-summary-line.cart-total,
body#checkout .exalto-review-order-content .cart-total {
  margin-top: 12px !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--checkout-line-strong, #4a4947) !important;
  border-bottom: 1px solid var(--checkout-line-strong, #4a4947) !important;
  background: transparent !important;
}

body#checkout .exalto-review-order-content .cart-summary-line.cart-total .label,
body#checkout .exalto-review-order-content .cart-summary-line.cart-total .value,
body#checkout .exalto-review-order-content .cart-total .label,
body#checkout .exalto-review-order-content .cart-total .value {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout .exalto-review-order-content .media,
body#checkout .exalto-review-order-content .cart-summary-product-line,
body#checkout .exalto-review-order-content .product-line-grid {
  margin: 0 !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--checkout-line, #d8d1c5) !important;
  background: transparent !important;
}

body#checkout .exalto-review-order-content .product-name,
body#checkout .exalto-review-order-content .product-name a,
body#checkout .exalto-review-order-content .media-heading,
body#checkout .exalto-review-order-content .media-heading a {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout .exalto-review-actions {
  display: grid;
  grid-template-columns: auto minmax(260px, 430px);
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 38px;
}

body#checkout .exalto-review-back {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--checkout-muted, #77736d) !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 14px !important;
  text-transform: none !important;
  cursor: pointer;
}

body#checkout .exalto-review-back:hover {
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout .exalto-review-continue {
  width: 100% !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  body#checkout .exalto-checkout-progress {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body#checkout .exalto-review-heading {
    margin-bottom: 26px;
  }

  body#checkout .exalto-review-kicker {
    font-size: 21px;
  }

  body#checkout .exalto-review-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 28px;
  }

  body#checkout .exalto-review-card--delivery {
    grid-column: auto;
  }

  body#checkout .exalto-review-card {
    padding: 18px;
  }

  body#checkout .exalto-review-actions {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 20px;
    margin-top: 30px;
  }

  body#checkout .exalto-review-back {
    justify-content: center;
  }

  body#checkout .exalto-review-order-content .cart-summary-line.cart-total .label,
  body#checkout .exalto-review-order-content .cart-summary-line.cart-total .value,
  body#checkout .exalto-review-order-content .cart-total .label,
  body#checkout .exalto-review-order-content .cart-total .value {
    font-size: 21px !important;
  }
}


/* ============================================================
   CHECKOUT STEPPER V4 - TITRES VISUELS 02 / 03 / 04 / 05
   Le checkout PrestaShop reste techniquement sur 4 etapes natives,
   mais l'affichage suit desormais strictement notre parcours en 5 etapes.
   ============================================================ */

/* Le vieux titre natif (ex. "4 PAIEMENT") reste dans le DOM pour PrestaShop,
   mais il ne doit plus etre visible. */
body#checkout #exalto-checkout .exalto-checkout-native .checkout-step .step-title,
body#checkout #exalto-checkout .exalto-checkout-native .checkout-step h1.step-title,
body#checkout #exalto-checkout .exalto-checkout-native .checkout-step .js-step-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Titre propre commun aux etapes natives et a l'etape Verification. */
body#checkout #exalto-checkout .exalto-stage-heading {
  width: 100%;
  display: flex !important;
  align-items: center;
  gap: 16px;
  margin: 0 0 32px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid var(--checkout-line, #d8d1c5) !important;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout #exalto-checkout .exalto-stage-heading-number {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fad2b9;
  color: #3e3e3e;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
}

body#checkout #exalto-checkout .exalto-stage-heading-label {
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--checkout-ink, #3e3e3e) !important;
}

body#checkout #exalto-checkout .exalto-review-heading {
  text-align: left !important;
}

body#checkout #exalto-checkout .exalto-review-heading .exalto-stage-heading {
  margin-bottom: 18px !important;
}

body#checkout #exalto-checkout .exalto-review-intro {
  max-width: none !important;
  margin: 0 !important;
}

/* L'ancien kicker n'est plus utilise dans V4. */
body#checkout #exalto-checkout .exalto-review-kicker {
  display: none !important;
}

@media (max-width: 767px) {
  body#checkout #exalto-checkout .exalto-stage-heading {
    gap: 12px;
    margin-bottom: 24px !important;
    padding-bottom: 14px !important;
  }

  body#checkout #exalto-checkout .exalto-stage-heading-number {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  body#checkout #exalto-checkout .exalto-stage-heading-label {
    font-size: 17px;
    letter-spacing: 0.12em;
  }
}

/* ============================================================
   EXALTO CHECKOUT V5 - ETAPE 05 PAIEMENT
   Harmonisation visuelle avec les etapes 01 a 04.
   Ce bloc est volontairement place en fin de fichier afin de
   neutraliser les anciens styles PrestaShop / theme sans toucher
   au fonctionnement des modules de paiement.
   ============================================================ */

body#checkout #checkout-payment-step.exalto-visual-current {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#checkout #checkout-payment-step.exalto-visual-current > .content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Le titre natif PrestaShop reste accessible au JS mais n'apparait plus. */
body#checkout #checkout-payment-step.exalto-visual-current > .step-title,
body#checkout #checkout-payment-step.exalto-visual-current .step-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Zone de paiement : meme respiration et meme largeur que les autres etapes. */
body#checkout #checkout-payment-step .payment-options,
body#checkout #checkout-payment-step .js-payment-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Une option = une ligne editoriale fine, pas une carte Bootstrap. */
body#checkout #checkout-payment-step .payment-option {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 17px 20px !important;
  border: 1px solid var(--checkout-line, #d8d1c5) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}

body#checkout #checkout-payment-step .payment-option:hover {
  border-color: var(--checkout-line-strong, #4a4947) !important;
}

body#checkout #checkout-payment-step .payment-option:has(input[type="radio"]:checked),
body#checkout #checkout-payment-step .payment-option.is-selected {
  border-color: var(--checkout-line-strong, #4a4947) !important;
  background: rgba(62, 62, 62, 0.035) !important;
}

/* Radio a gauche, texte au centre, logo a droite. */
body#checkout #checkout-payment-step .payment-option .custom-radio,
body#checkout #checkout-payment-step .payment-option input[type="radio"] {
  flex: 0 0 auto !important;
}

body#checkout #checkout-payment-step .payment-option .custom-radio {
  margin-right: 16px !important;
}

body#checkout #checkout-payment-step .payment-option .custom-radio > span {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid var(--checkout-line-strong, #4a4947) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout #checkout-payment-step .payment-option .custom-radio input[type="radio"]:checked + span {
  background: var(--checkout-ink, #3e3e3e) !important;
  box-shadow: inset 0 0 0 4px var(--checkout-bg, #f7f4e9) !important;
}

body#checkout #checkout-payment-step .payment-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: var(--checkout-ink, #3e3e3e) !important;
  cursor: pointer !important;
}

body#checkout #checkout-payment-step .payment-option label > span,
body#checkout #checkout-payment-step .payment-option label > div,
body#checkout #checkout-payment-step .payment-option .payment-option-label {
  min-width: 0 !important;
}

body#checkout #checkout-payment-step .payment-option img,
body#checkout #checkout-payment-step .payment-option label img {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 118px !important;
  max-height: 32px !important;
  object-fit: contain !important;
  margin-left: auto !important;
}

/* Informations supplementaires d'un module : rattachees visuellement a l'option. */
body#checkout #checkout-payment-step .additional-information,
body#checkout #checkout-payment-step .js-payment-option-form,
body#checkout #checkout-payment-step [id^="pay-with-"] {
  width: 100% !important;
  margin: -1px 0 12px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--checkout-line, #d8d1c5) !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--checkout-muted, #77736d) !important;
}

body#checkout #checkout-payment-step .additional-information:empty,
body#checkout #checkout-payment-step .js-payment-option-form:empty {
  display: none !important;
}

/* Conditions generales : meme ligne fine et meme typo que le reste du parcours. */
body#checkout #checkout-payment-step #conditions-to-approve {
  width: 100% !important;
  margin: 34px 0 0 !important;
  padding: 26px 0 0 !important;
  border-top: 1px solid var(--checkout-line, #d8d1c5) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout #checkout-payment-step #conditions-to-approve ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#checkout #checkout-payment-step #conditions-to-approve li,
body#checkout #checkout-payment-step #conditions-to-approve .condition-label {
  margin: 0 0 14px !important;
}

body#checkout #checkout-payment-step #conditions-to-approve label,
body#checkout #checkout-payment-step #conditions-to-approve .condition-label {
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--checkout-muted, #77736d) !important;
}

body#checkout #checkout-payment-step #conditions-to-approve a {
  color: var(--checkout-ink, #3e3e3e) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body#checkout #checkout-payment-step #conditions-to-approve .custom-checkbox > span {
  border-color: var(--checkout-line-strong, #4a4947) !important;
  background: transparent !important;
}

/* Validation finale : meme CTA sombre que les boutons Continuer. */
body#checkout #checkout-payment-step #payment-confirmation,
body#checkout #checkout-payment-step .payment-confirmation {
  width: 100% !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body#checkout #checkout-payment-step #payment-confirmation .ps-shown-by-js,
body#checkout #checkout-payment-step #payment-confirmation .ps-hidden-by-js {
  width: 100% !important;
}

body#checkout #checkout-payment-step #payment-confirmation button,
body#checkout #checkout-payment-step #payment-confirmation .btn-primary,
body#checkout #checkout-payment-step .payment-confirmation button {
  display: block !important;
  width: min(430px, 100%) !important;
  min-height: 54px !important;
  margin: 0 auto !important;
  padding: 14px 30px !important;
  border: 1px solid var(--checkout-ink, #3e3e3e) !important;
  border-radius: 0 !important;
  background: var(--checkout-ink, #3e3e3e) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: "Kepler Std Condensed Display", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  transition: background-color 200ms ease, border-color 200ms ease !important;
}

body#checkout #checkout-payment-step #payment-confirmation button:hover,
body#checkout #checkout-payment-step #payment-confirmation .btn-primary:hover,
body#checkout #checkout-payment-step .payment-confirmation button:hover {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

body#checkout #checkout-payment-step #payment-confirmation button:disabled,
body#checkout #checkout-payment-step #payment-confirmation .btn-primary:disabled {
  opacity: 0.42 !important;
  cursor: not-allowed !important;
}

/* Messages d'erreur / informations modules. */
body#checkout #checkout-payment-step .alert,
body#checkout #checkout-payment-step .js-alert-payment-conditions {
  margin: 18px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Acumin pro light", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Les iframes / widgets injectes par les prestataires restent fluides. */
body#checkout #checkout-payment-step iframe,
body#checkout #checkout-payment-step .paypal-buttons,
body#checkout #checkout-payment-step [class*="paypal"],
body#checkout #checkout-payment-step [class*="stripe"],
body#checkout #checkout-payment-step [class*="card"] iframe {
  max-width: 100% !important;
}

/* -------- TABLETTE -------- */
@media (max-width: 991px) {
  body#checkout #checkout-payment-step.exalto-visual-current {
    width: min(820px, 100%) !important;
  }

  body#checkout #checkout-payment-step .payment-option {
    min-height: 68px !important;
  }
}

/* -------- MOBILE -------- */
@media (max-width: 767px) {
  body#checkout #checkout-payment-step.exalto-visual-current,
  body#checkout #checkout-payment-step.exalto-visual-current > .content {
    width: 100% !important;
  }

  body#checkout #checkout-payment-step .payment-options,
  body#checkout #checkout-payment-step .js-payment-options {
    gap: 10px !important;
  }

  body#checkout #checkout-payment-step .payment-option {
    min-height: 62px !important;
    padding: 14px 14px !important;
  }

  body#checkout #checkout-payment-step .payment-option .custom-radio {
    margin-right: 11px !important;
  }

  body#checkout #checkout-payment-step .payment-option label {
    gap: 12px !important;
    font-size: 17px !important;
  }

  body#checkout #checkout-payment-step .payment-option img,
  body#checkout #checkout-payment-step .payment-option label img {
    max-width: 92px !important;
    max-height: 26px !important;
  }

  body#checkout #checkout-payment-step .additional-information,
  body#checkout #checkout-payment-step .js-payment-option-form,
  body#checkout #checkout-payment-step [id^="pay-with-"] {
    padding: 15px 14px !important;
  }

  body#checkout #checkout-payment-step #conditions-to-approve {
    margin-top: 28px !important;
    padding-top: 22px !important;
  }

  body#checkout #checkout-payment-step #payment-confirmation {
    margin-top: 26px !important;
  }

  body#checkout #checkout-payment-step #payment-confirmation button,
  body#checkout #checkout-payment-step #payment-confirmation .btn-primary,
  body#checkout #checkout-payment-step .payment-confirmation button {
    width: 100% !important;
    min-height: 50px !important;
    font-size: 18px !important;
    padding: 13px 18px !important;
  }
}

@media (max-width: 420px) {
  body#checkout #checkout-payment-step .payment-option label {
    font-size: 16px !important;
  }

  body#checkout #checkout-payment-step .payment-option img,
  body#checkout #checkout-payment-step .payment-option label img {
    max-width: 78px !important;
  }
}

/* ============================================================
   EXALTO CHECKOUT V7 - ESPACEMENTS COMPACTS + RETOUR PAIEMENT
   Place en fin de fichier pour surcharger les anciennes respirations.
   ============================================================ */

/* Rapproche la barre de progression du contenu de l'etape. */
body#checkout #exalto-checkout .exalto-checkout-progress-wrap {
  margin-bottom: 22px !important;
}

/* Le titre de l'etape reste lisible sans creer un grand vide. */
body#checkout #exalto-checkout .exalto-stage-heading {
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
}

/* Etape paiement : le bouton Retour se place juste sous le titre. */
body#checkout #checkout-payment-step.exalto-visual-current .exalto-checkout-back {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  margin: 0 0 18px !important;
  touch-action: manipulation;
}

/* Evite une respiration supplementaire ajoutee par certains themes. */
body#checkout #checkout-payment-step.exalto-visual-current > .content,
body#checkout #checkout-payment-step.exalto-visual-current .payment-options {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body#checkout #exalto-checkout .exalto-checkout-progress-wrap {
    margin-bottom: 18px !important;
  }

  body#checkout #exalto-checkout .exalto-stage-heading {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }

  body#checkout #checkout-payment-step.exalto-visual-current .exalto-checkout-back {
    margin-bottom: 16px !important;
  }
}

/* ============================================================
   FIX DÉFINITIF — LOGO MOBILE CLIQUABLE
   Doit rester la TOUTE DERNIÈRE règle du fichier.
   ============================================================ */
@media (max-width: 767px) {

  /* Le conteneur du logo : centré, au-dessus de tout, cliquable */
  body #header .header-top .logo_titre {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -80%) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 999 !important;
    pointer-events: auto !important;
  }

  /* Le lien réel : occupe toute la zone, reçoit le clic */
  body #header .header-top .logo_titre a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* L'image : ne bloque jamais le clic, le laisse passer au <a> parent */
  body #header .header-top .logo_titre img,
  body #header .header-top .logo_titre .logo {
    width: auto !important;
    max-height: 90px !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
    pointer-events: none !important;
  }

  /* Sécurité : tout élément du header mobile qui pourrait passer
     au-dessus du logo doit rester sous lui */
  body #header .hidden-md-up.text-sm-center.mobile,
  body #header .hidden-md-up.text-sm-center.mobile #menu-icon,
  body #header .hidden-md-up.text-sm-center.mobile #_mobile_user_info,
  body #header .hidden-md-up.text-sm-center.mobile #_mobile_cart,
  body #header .hidden-md-up.text-sm-center.mobile #_mobile_language_selector {
    z-index: 40 !important;
  }
}