/*
Theme Name: Trajectoire Carbone
Author:  intégration Olivier Coudre
Author URI: https://trajectoire-carbone.fr/
Description: theme pour le site Trajectoire Carbone
Version: 1.0
Text Domain: site
Tags: ACF
*/

/*
SVG icons
*/
[class^="svg-icon"], [class*=" svg-icon"] {height: 1em; width: 1em; display: inline-block; stroke: none; fill: currentColor}
[class^="svg-icon-outline"], [class*=" svg-icon-outline"] {height: 1em; width: 1em; display: inline-block; stroke: currentColor; fill: none}


/**
 * Global & Structure
 */
* {box-sizing: border-box;}
*:after,
*:before {box-sizing: inherit;}

html {scroll-behavior: smooth;interpolate-size: allow-keywords;/*overflow-y:scroll ;*/}

:where(html){

  --container-w: 1290px;
  /*--primary:#CCE70B;
  --secondary:#e4a374;
  --text:#000;*/
  --white:#fff;
  --black:#000;
  --grey-180:#12121280;
  --grey-4:#555;
  --grey-7:#c2c2c2;
  --grey-8:#d5d8dc;
  --grey-9:#e7e7e7;

  /*--bg: var(--white);*/
  /*--text-onprimary:var(--black);*/
  --link:var(--text);
  --link-hover:var(--text);
  accent-color: var(--primary);
  --accent-color: var(--primary);

  --marker:'■'; /* ▪ • */

  --input-text:var(--text);
  --input-bg:var(--white);
  --input-border:var(--grey-7);

  --btn-radius:20px;
  --btn-bg:var(--primary);
  --btn-text:var(--black);
  --btn-bg-hover:var(--primary);
  --btn-text-hover:var(--black);
  /*--btn-border-color:var(--white);*/

  /*--footer-height:556px;*/

  --size-1:10px;
  --size-2:20px;
  --size-3:30px;
  --size-4:40px;
  --size-5:50px;
  --size-default:var(--size-2);

  --ease-2: cubic-bezier(.25,0,.4,1);

  --radius-small:var(--size-1);
  --h2-margin:var(--size-2);
  --p-margin:var(--size-2);

}

:focus-visible:not(:focus) {outline-color: var(--primary) ;transition: outline-offset 145ms var(--ease-2)}
:where(:not(:active):focus-visible) {outline-offset: 5px ;transition-duration: .25s}

/*@media (prefers-color-scheme: dark) {
  :where(html) {
    --white:#000;
    --black:#fff;
    color-scheme: dark;
  }
}*/

/* animations */
@keyframes fadeIn {
  0% {opacity: 0;}
  to {opacity: 1;}
}
@keyframes fadeInDown {
  0% {opacity: 0; transform: translateY(-100%) }
  to {opacity: 1; transform: translateY(0) }
}
@keyframes fadeInRight {
  0% {opacity: 0; transform: translateX(100%) }
  to {opacity: 1; transform: translateX(0) }
}
@keyframes fadeInRightSmall {
  0% {opacity: 0; transform: translateX(7%) }
  to {opacity: 1; transform: translateX(0) }
}

@keyframes fadeInUp {
  0% {opacity: 0;transform: translate3d(0,40px,0) }
  to {opacity: 1;transform: translateZ(0) }
}
@keyframes zoomIn {
  0% {opacity: 0;transform: scale3d(.3,.3,.3);}
  to {opacity: 1;}
}
.scroll-obs [data-onvisible] {opacity: 0; }
.animate__fast {--duration:.75s; }
.animate__slow {--duration:2s; }
.animate__delay-0 {animation-delay: .1s; }
.animate__delay-1 {animation-delay: .5s; }
.animate__delay-2 {animation-delay: .7s; }
.animate__delay-3 {animation-delay: .9s; }
.animate__delay-4 {animation-delay: 1.1s; }
.animate__delay-5 {animation-delay: 1.3s; }
.animate__delay-6 {animation-delay: 1.5s; }

.animate__fadeInDown {
  animation-name: fadeInDown;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}

.animate__fadeIn {
  animation-name: fadeIn;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInRight {
  animation-name: fadeInRight;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInRightSmall {
  animation-name: fadeInRightSmall;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__fadeInUp {
  animation-name: fadeInUp;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both
}
.animate__zoomIn  {
  animation-name: zoomIn;
  animation-duration: var(--duration,1.25s);
  animation-fill-mode: both;
}

/*
fonts
*/

body { font-family:var(--font-base);color:var(--text);background-color: var(--bg);margin: 0;font-weight: 400;font-size: 16px;line-height: 25px;}
h1,.h1, h2, .h2 ,h4,.h4,h5,.h5{font-family: var(--font-title);line-height: 1.4;margin: 0}
h3,.h3 {font-family: var(--font-title);}
h5,.h5 {font-weight: 500;}

a {text-decoration:none;color: inherit; transition: .3s;text-underline-offset: 0.2em;}
a:is(:hover,:active,:focus-visible) {text-decoration: underline;}

sup { vertical-align: baseline;translate: 0 -.5em;display: inline-block; }

sub{ vertical-align: baseline;translate: 0 0.15em;display: inline-block }

body{
  --h1_size:40px;
  --h1_lh:.9em;
  --section_title_size:35px;
  --h2_size:30px;
  --h2_lh:1em;
  --h3_size:24px;
  --h3_lh:1em;
  --h4_size:20px;
  --h4_lh:1em;
}
h1,.h1 {font-size: var(--h1_size);line-height: var(--h1_lh);font-weight: 800;font-family: var(--font-secondary);text-wrap-style: pretty;}
h2,.h2 {font-size: var(--h2_size);line-height: var(--h2_lh);font-weight: 700;text-wrap-style: pretty;}
h3,.h3 {font-size: var(--h3_size);line-height: var(--h3_lh);font-weight: 300;text-wrap-style: pretty;}
h4,.h4 {font-size: var(--h4_size);line-height: var(--h4_lh);font-weight: 700;font-family: var(--font-secondary);text-wrap-style: pretty;}

@media (min-width: 992px) {
  body {
    --h1_size:60px;
    --section_title_size:45px;
    --h2_size:40px;
    --h3_size:20px;
    --h4_size:16px;
  }
}
@media (min-width: 1024px) {
  body {
    --section_title_size:50px;
  }
}

@media (min-width: 1200px) {
  body {
    --h1_size:90px;
    --section_title_size:90px;
    --h2_size:60px;
    --h3_size:50px;
    --h4_size:34px;
  }
  /*h2,.h2 {font-size: 60px;line-height: 53px;  }
  h3,.h3 {font-size: 28px;line-height: 42px; }*/
  /*h5,.h5 {font-size: 19px;line-height: 30px;}*/
  body {font-size: 22px;line-height: 30px;  }
}


figure {margin: 0;padding: 0;}
p {margin: 0;}
.text-normal {font-size: 1rem;}

/*
global
*/
.ie-alert {padding: 2em; border: red solid 2px;z-index: 999;background: white;position: relative; }

label {color:inherit;cursor: pointer;}
table {margin: 1rem 0; }
ul {margin:0; list-style-type: none; padding: 0;}
img {max-width: 100%;height: auto;display: block;}
address {font-style: normal;}
hr {margin-block: var(--size-2);}
dt,dd {margin: 0;}
button:not([disabled]) {cursor: pointer;}
/* container */

.container-news,
.container-np,
.container {margin-inline: var(--size-2);}
@media (min-width: 1320px) {
  .container {width: var(--container-w);margin-inline:auto;}
}
.container-ng {
  display: grid;
  grid-template-columns: var(--size-2) [content-start] 1fr [content-end] var(--size-2);
  grid-template-areas: "left content right";
  @media (min-width: 1320px) {
    grid-template-columns: 1fr [content-start] var(--container-w) [content-end] 1fr;
  }
}
/*https://www.smashingmagazine.com/2024/01/css-border-image-property/*/
.full-background {
  border-image: conic-gradient(pink 0 0) fill 0//0 100vw;
}

/*
utils
*/
.invisible-label,
.invisible-checkbox {position: fixed; opacity: 0; left: 0;top: 0;pointer-events: none}

.visible-xs,
.visible-md,
.visible-md-flex,
.visible-lg,
.visible-lg-flex,
.visible-desktop {display: none;}

@media (min-width: 768px) {
  .visible-xs {display: block;}
  .hide-xs {display: none;}
}

@media  (min-width: 992px) {
  .visible-md {display: block;}
  .visible-md-flex {display: flex;}
  .hide-md {display: none;}
}
@media  (min-width: 1200px) {
  .visible-lg,
  .visible-desktop {display: block;}
  .visible-lg-flex {display: flex;}
  .hide-lg,
  .hide-desktop {display: none;}
}
.no-js .hide-nojs {display: none;}

/*
buttons
*/

.btn {
  font-family: var(--font-button);
  font-weight: 700;
  cursor: pointer;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  gap:15px;
  text-decoration: none;
  border:0;
  border-radius: var(--btn-radius);
  color: var(--btn-text);
  background-color:var(--btn-bg);
  font-size: 20px;
  line-height: 1;
  transition: .3s;
  &>span {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  &>svg {stroke: currentColor;height: 0.3em;margin-top: 0.3em;}
  @media  (min-width: 992px) {
    font-size: 34px;
    padding: 18px 27px;
  }
}
.btn-small {padding: 4px 8px;}
.btn:not(.btn-disabled):active {transform: translateY(.2rem);}
.btn:is(:hover,:focus):not([disabled]) {text-decoration: underline; }

:where(.btn-primary:not([disabled])) {
  background: var(--primary);
  color: var(--text-onprimary);
}


/* btn-secondary bouton fond blanc , contour noir, texte noir*/
.btn-secondary {--btn-bg:var(--white);--btn-text:var(--black);--btn-border-color:var(--black);--btn-bg-hover:var(--black);--btn-text-hover:var(--white)}

.btn-small {padding: 0.5em 1em;font-weight: 400;}
.btn-medium {border-width:3px;padding:12px 22px;font-size: 19px;font-weight: 400;}
.btn-disabled,
input[type="submit"][disabled],
button[disabled],
button[disabled]:hover {background-color: var(--color-neutre);cursor: not-allowed;border-color:var(--color-neutre) }


/**
 * Wordpress styles
 */
.alignleft {float: left}
.alignright {float: right}
.aligncenter {display: block;margin-left: auto;margin-right: auto;text-align: center;}
figure.wp-caption.alignleft,img.alignleft {margin: 5px 20px 5px 0}
.wp-caption.alignleft {margin: 5px 10px 5px 0}
figure.wp-caption.alignright,img.alignright {margin: 5px 0 5px 20px}
.wp-caption.alignright {margin: 5px 0 5px 10px}
img.aligncenter {margin: 0 auto;display: block;}
img.alignnone {margin: 0;display: block;}
.wp-caption .wp-caption-text,.entry-caption,.gallery-caption {color: #220e10;font-size: 18px;font-style: italic;font-weight: 300;margin: 0 0 24px;text-align: center;}
div.wp-caption.alignright img[class*="wp-image-"] {float: right}
div.wp-caption.alignright .wp-caption-text {padding-left: 10px}
.wp-caption.alignleft + ul,.wp-caption.alignleft + ol {list-style-position: inside}


/*
  Accessibility
*/
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px); overflow: hidden; position: absolute !important; height: 1px; width: 1px; user-select: none;display: block;}
.skip a {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip a:where(:focus,:focus-visible) {z-index: 10; top: 0; left: 0; width:auto; height:auto; }
@media (max-width:767px){
  .skip{display: none;}
}


/*
main
*/
.site-main {
  min-height: 60vh;
  @media (min-width: 992px) {
    min-height: 100vh;
  }
}

/* fil d'ariane */
.rank-math-breadcrumb {
  padding:0;margin:var(--size-1) var(--size-2) ;font-size: 14px;font-weight: 400;
  a{text-decoration: none;display: inline-block;padding-block:4px ;position: relative;text-decoration: none;}
  .separator {padding-inline: .5rem;display: inline-block;}
  &>p {display: flex;align-items: center;flex-wrap: wrap;}
  @media (min-width: 1320px) {
    max-width: var(--container-w);
    margin-inline: auto;
  }
}

.entry-title,
.page-title {margin: 0;}
/* tous les titres des pages sont en majuscules */
body.page .page-title {text-transform: uppercase;}

.page-header.no-feat {
  padding-block: 30px;
  .page-title {font-size: var(--h1_size);line-height: var(--h1_lh); }
  @media (min-width: 768px) {
    .entry-content {position: relative; }
  }
}


.page-header.page-header-niv-1 {
  display: grid;
  padding-block:0px 30px;
  @media (max-width: 991px) {
    .intro {font-style: italic;}
  }
  @media (min-width: 992px) {
    padding-block: 80px;
    grid-template-columns: 60% 40%;
    grid-template-areas:
    "title deco"
    "title intro";
  }
  .page-title {
    padding-block: 10px 40px;

    @media (min-width: 992px) {
      grid-area: title;
      padding-block: 30px 40px;
    }
  }
  .deco {
    display: none;

    @media (min-width: 992px) {
      display: block;
      grid-area:deco;
      justify-self: end;
    }
  }
  .intro {
    @media (min-width: 992px) {
      text-wrap: balance;
      grid-area:intro;
      width: 380px;
      align-self: end;
    }
    .form-submit {margin-top: 0;}
  }
  .page-template-template-landing & {
    overflow: clip;
    margin-top: 1rem;
    .deco {visibility: hidden;}
  }
}

/*
header niveau 2
*/
.parallax-container {
  overflow: hidden;
}

.page-header.page-header-niv-2 {
  row-gap:15px;
  margin-bottom: 25px;
  .page-title {grid-column-start: content-start;line-height: 1;}
  .intro {grid-column-start: content-start}
  .image {grid-column: 1 / -1; }
  .parallax-image {margin-inline: auto}
  @media (min-width: 768px) {
    row-gap:20px;
    .page-title {max-width: 65%;margin-left: auto;}
    .intro {max-width: 60%;margin-left: auto;}
  }
  @media (min-width: 1200px) {
    row-gap:40px;
    .page-title {max-width: 67%}
    .intro {max-width: 40%;}
  }
}

/*
header niveau 3
*/

.page-header.page-header-niv-3 {
  margin-bottom: 25px;
  .intro {
    padding-block: 15px 35px;
    p:first-child:has(strong) {margin-bottom: 10px;}
    p:first-child>strong{
      font-family: var(--font-secondary);
      font-size: 22px;
      display: inline-flex;gap:10px;align-items:  center;
      &::after {content:'';background-color: var(--black);height: 1px;display: inline-block;width: 82px;margin-top: 0.65em;}
    }
    @media (min-width: 768px) {
      padding-block: 25px 45px;
      position: relative;
      width:350px;
      --subtitle-width:145px;
      --subtitle-ml:60px;
      --subtitle-mr:67px;
      margin-left: calc(var(--subtitle-ml) + var(--subtitle-width) + var(--subtitle-mr));
      p:first-child:has(strong) {
        position: absolute;
        left: calc( (var(--subtitle-width) + var(--subtitle-mr)) * -1);
        width: var(--subtitle-width);
      }
    }
    @media (min-width: 992px) {
      padding-block: 31px 54px;
      --subtitle-ml:156px;
    }
  }
  .feat-img {max-width: none;width: 100%;}

}

/* text styles */
:where(.intro) .wpcf7-form a ,
:where(.entry-content) a:not([class]) {text-decoration: underline;color:var(--color-rose)}

.entry-content {
  p+*{margin-top: var(--p-margin);}
  :is(h1,h2,h3, h4, h5, h6) {margin-block: 1rem;}
  h2 {margin-bottom: var(--h2-margin);}
  h3 {margin-block:var(--size-2)}
  :is(h1,h2,h3, h4, h5, h6):first-child {margin-top: 0;}
  :is(h1,h2,h3, h4, h5, h6):last-child {margin-bottom: 0;}
  strong {font-weight: 700;}
  ul {padding: 0;margin:0 0 1em;}
  ul:not([class]) {padding: 16px 0 16px 1rem;margin: 1rem 0;list-style-type: disc;list-style-position: outside;list-style-type: none}
  ul:not([class]):first-child {padding-top:0}
  ul:not([class]) li+li {margin-top: 1rem;}
  /*:where(ul:not([class]))>li::marker {font-weight: bold;color: var(--color-rose);content:var(--marker) ' '}*/
  :where(ul:not([class]))>li {position: relative;padding-left: .1rem;}
  :where(ul:not([class]))>li::before {content:'';display: inline-block; width: 10px;height: 10px;background-color: var(--color-rose);margin-right: 0.5rem;position: absolute;left: -16px;top: .5em;}
  :where(&) :where(ul,ol)>li+li {margin-top: 1em;}
}

/*.entry-content :where(ol:not([class]))>li::marker {font-weight: bold;color: var(--accent-color);content:var(--marker) ' '}*/


/* post list */
.posts-list-simple ul{margin: 1rem 0;list-style-type: disc;list-style-position: inside;}
.posts-list-simple a{padding: .5rem;}
.posts-list-simple li+li{margin-top: 0.5em;}

/*
section bg color
*/
.sections-list {
  display: grid;gap:30px;
  @media (min-width: 992px) {
    gap:60px;
  }
  @media (min-width: 1200px) {
    gap:80px;
  }
}
.entry-section.has-bg-color {
  padding-block: 30px;
  li::marker {color:inherit;}
}

/*
home
*/
.section-home {
  padding-inline: var(--size-2);
  padding-block:60px ;
  .page-title {text-wrap: balance;font-family: var(--font-primary);}
  .subtitle-row {display: flex;justify-content: space-between;align-items: center;margin-top: 15px;}
  .subtitle {line-height: .9;font-size: 22px;font-weight: 800; }
  .subtitle::after{
    position: relative;
    top: 2px;
    width: 95px;content:'';height: 4px;display: block;border:solid 1px var(--color-rose);border-left: 0;border-right: 0
  }
  .action {
    display: flex;
    --action-size:80px;
    .action_word {
      display: grid;
      place-items: center;
      background-color: var(--primary);
      width: var(--action-size);height: var(--action-size);border-radius: 50%;
      font-weight: 700;
      .rotate {display: block;line-height: 1;
        translate: -0.2em 0em;
        writing-mode: sideways-lr;
        @media (min-width: 1200px) {
          translate: -0.2em -.1em;
        }
      }
    }
    .arrow {
      translate: -20px;
      background-color: var(--black);color:var(--white);font-size: 50px;
      width: var(--action-size);height: var(--action-size);border-radius: 50%;
      display: grid;
      place-items: center;
      svg {stroke: currentColor;height: 0.3em;margin-top: 0.1em;}
    }
  }
  .desc {
    padding-left: 66px;line-height: 1.3;margin-top: 15px;
    /*background-image: url(/wp-content/uploads/2025/07/scroll.png);
    background-size: 46px auto;
    background-repeat: no-repeat;*/
    min-height: 75px;
    position: relative;
    .arrow-down {
      --size:46px;
      position: absolute;left: 0;top: 0;width: var(--size);aspect-ratio: 50 / 80;height: auto;
      display: grid;
      place-content: center;
      border: solid 1px;
      border-radius: calc( var(--size) / 2);
      svg {height: 0.3em; rotate: 90deg;translate: -0.05em;}
    }
  }
  .list,
  .images {display: none;}
  @media (min-width: 992px) {
    display: grid;
    grid-template-areas:
    "title  title  image list"
    "sub  sub      image ."
    "desc desc     image .";

    grid-template-columns: 100px 1fr auto auto;
    column-gap: 0;
    .page-title{grid-area: title;max-width: 8em;font-size: 6.6vw;}
    .subtitle-row{grid-area: sub;padding-right: 100px}
    .desc {grid-area: desc;margin-top: 75px; width: 77%;   }
    .images {grid-area: image;display: flex;gap:0px;align-self: start}
    .half-circle {
      width: 220px;height: 400px;overflow: hidden;
      img {display: block;border-radius: 50% 0 0 50%; height: 100%; width: 200%; max-width: none;padding-right: 200px;}
      &.right img {border-radius: 0 50% 50% 0;translate: -50%;padding-inline: 200px 0;}
    }
    .list {margin-left: 20px;grid-area: list;font-weight: 700; line-height: 34px; display: block;}
  }
  @media (min-width: 1200px) {
    grid-template-columns: 308px 1fr auto auto;
    max-width: 1600px;
    margin-inline: auto;
    .page-title {font-size: clamp(85px,7.1vw,120px) }
    .subtitle-row{grid-area: sub;padding-right: 170px}
    .subtitle {
      font-size: 34px;
      &::after{top: 14px;width: 3.2em;}
    }
    .action {
      --action-size:120px;
      .arrow svg {width: 70%;height: auto;  }
    }
    .list {margin-left: 50px;}
    .desc {justify-self: center;padding-left: 106px; padding-right: 50px}
  }

}

/*
marquee
*/
.section-type-marquee {
  padding: 15px 0;
  overflow: hidden;
  --speed:45s;

  .marquee-inner {
    display: flex;gap:20px; align-items: center;
    white-space: nowrap;
    font-size: 18px; line-height: 1; font-weight: 800; text-transform: uppercase;
    animation: marquee var(--speed, 15s) linear infinite;
    @media (min-width: 992px) {
      font-size: 22px;
    }
    @media (min-width: 1024px) {
      font-size: 60px;
    }
  }
  .svg-icon {width: 18px;height: 18px;flex:0 0 18px;}
  @media (min-width: 992px) {
   padding-block: 30px;
  }
}
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX( var(--marquee-width,200%) ); }
}
/*
textes col
*/
.section-type-text-col {
  display: grid;
  gap: 20px;
  &.has-bg-color {padding-inline: 1rem;}
  .text-col img:first-child {
    height: 70px;width: auto;display: block;
    margin-bottom: 15px;
  }
}
@media (min-width: 768px) {
  .section-type-text-col {
    gap:40px;
    .text-col img:first-child {
      margin-bottom: 30px;
    }
  }
  .section-type-text-col.nb-items-2,
  .section-type-text-col.nb-items-3,
  .section-type-text-col.nb-items-4 {
    display: grid;
    grid-template-columns:repeat( auto-fit, minmax(250px,1fr) );
  }
}
@media (min-width: 1200px) {
  .section-type-text-col {
    gap:50px;
  .text-col img:first-child {
      height: 160px;
      margin-bottom: 50px;
    }
  }
  .section-type-text-col.nb-items-3,
  .section-type-text-col.nb-items-4 {

  }
}
/*
texte + image
*/
.section-type-text-photo {
  margin-bottom: var(--size-3);
  display: grid;
  grid-template-columns: var(--size-2) 1fr var(--size-2);
  grid-template-areas: "left content right";
  @media (min-width: 1320px) {
    grid-template-columns: 1fr var(--container-w) 1fr;
  }
  &>img {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    border-radius: 20px;
    width: 100%;height: 100%;
    object-fit: cover;max-width: none;
    @media  (min-width: 768px) {
      height: 700px;
    }


  }

  .text-wrap {
    background-color: #F0F2F4;
    grid-area: content;
    align-self: end;
    border-radius: 20px;
    padding: 30px;
    margin-block: 15px;
    @media  (min-width: 992px) {
      margin:auto var(--size-2) -120px auto;
      width: 24em;
    }
  }
  @media (min-width: 992px) {
    margin-bottom: 150px;
  }
}
.section-type-text-photo-2col {
  display: grid;
  gap:var(--size-2);
  position: relative;
  &>img {order:2;margin: auto;}
  .deco {position: absolute;bottom: 0;left: 0;width: auto;display: none;}

  .section-title {
    font-weight: 800;font-size: var(--section_title_size);
    margin-bottom: 1rem;
    @media (min-width: 768px) {
      margin-bottom: 40px;
    }
    @media (min-width: 992px) {
      margin-bottom: 54px;
    }
  }
  @media (min-width: 768px) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    .text-wrap {width: 43%; }
    &>img {width: 48%; margin-right:0 }
  }
  .deco-text-wrap:has(.deco) {
    --deco-width:109px;
    padding-left: var(--deco-width);
    position: relative;
    max-width: calc(360px +  var(--deco-width));
  }
  @media (min-width: 1500px) {
    padding-bottom: 100px;
    .deco {display: block;height: 120px;  translate:-60% 0}
  }
}
/*
titre texte 2 col
*/
.section-type-titletext {
  display: grid;
  gap: var(--size-3);
  @media (min-width: 992px) {
    grid-template-columns:60% auto;
    align-items: center;
  }
}
/*
liste 2 col
*/
ol.numbers {
  list-style: none;
  counter-reset: item;
  padding-left: 0;
  & > li{
    counter-increment: item;
    &::before {font-size: 34px;content: counter(item) ".";}
  }
  /* Add leading zero only for items 1 through 9 */
  /*& > li:nth-child(-n+9)::before {
      content: counter(item) ".";
  }*/
}
.section-type-list-link {
  margin-inline: var(--size-2);
  display: grid;
  gap: var(--size-3);
  .section-title {font-weight: 800;font-size: var(--section_title_size)}
  ol.items {

    font-weight: 300;
    font-size: 20px;
    margin-bottom: 0;
    & >li{
      margin: 0;
      display: grid;
      gap:20px;
      grid-template-columns: 4ch 60% auto;
      justify-content: space-between;

      border-bottom:solid 1px var(--black);
      &::before {content:"0" counter(item) ".";}
      &:first-child {border-top:solid 1px var(--black);}
      padding-block: 4px;

      a,.label {
        display: grid;
        grid-column: 2 / -1;
        grid-template-columns: subgrid;
        justify-content: space-between;text-decoration: none;
        align-items: center;
      }
      a:is(:hover,:active,:focus-visible) {text-decoration: underline;}
      .placeholder {width: 1em;display: block;}
      svg,.placeholder {font-size: .7em;max-width: 18px}
    }
    @media (min-width: 768px) {
      font-size: 26px;
      li {padding-block: .38em;}
    }
    @media (min-width: 992px) {
      font-size: 34px;

    }
  }
  @media (min-width: 880px) {
    grid-template-columns: 1fr 1fr;
    --top:45px;
    --left:20px;
    .desc {
      padding:var(--top) 0 var(--top) var(--left);
      border-left:solid 1px var(--black);
    }
    .section-title {padding-block: var(--top);max-width: 720px;padding-left: 1em;  }
  }
  @media (min-width: 1200px) {
    --left:40px;
    ol.items {
      margin-top: 60px;
      li {padding-block: .85em;}
    }
    .desc>p{text-wrap: balance;}
  }
}
/*
list grid
*/
.section-type-list-grid {
  ol  {
    & > li {

      gap:10px;
      border-bottom:solid 1px var(--black);
      border-left: 0;
      border-right: 0;
      &:first-child {border-top:solid 1px var(--black);}
      padding-block: 15px;
      margin: 0;
      &::before {font-weight: 700;display: block;width: 2.1ch;margin-bottom: 0.3em;}
      &::marker {font-weight: 700;width: 2.1ch;font-size: 34px;}
    }
    @media (min-width: 768px) {
      display: grid;
      gap:40px;
      row-gap: 0;
      grid-template-columns: 1fr 1fr;
      & > li {
        padding-block: 20px;
        padding-left: 5.2ch;
        position: relative;
        &::before {
          font-size: 26px;
          position: absolute;left:0;top:23px;display:block;text-box-trim: trim-both;text-box-edge: cap alphabetic;}
        .section-title {display:block; text-box-trim: trim-start; text-box-edge: cap alphabetic; margin-bottom: .5em; }
      }
      & > li:nth-child(2) {
        border-top:solid 1px var(--black);
      }
    }
    @media (min-width: 992px) {
      column-gap:60px;
      & > li {
        padding-block: 40px;
        padding-left: 15%;
        &::before {top:45px;font-size: 34px;}

      }
    }
    @media (min-width: 1200px) {
      column-gap:90px;
      & > li {
        padding-block: 50px;
        &::before {top:68px;}
      }
    }
  }
}
/*
list sticky
*/
.section-type-list-sticky  {
  --section_title_size:35px;
  @media (min-width: 992px) {
    --section_title_size:45px;
  }
  @media (min-width: 1024px) {
    --section_title_size:50px;
  }
  @media (min-width: 1200px) {
    --section_title_size:70px;
  }
  margin-inline: var(--size-2);
  .items{
    list-style-position:outside;
    padding-left:0;
  }
  .items>li{
    padding-left: calc( var(--section_title_size) * 1.1);
    background-color: var(--white);
    border-top:dashed 1px var(--grey-180);
    &:last-child {border-top:dashed 1px var(--grey-180);}
    border-left: 0;
    border-right: 0;
    padding-block: 15px;
    margin: 0;
    position: relative;
    &::before {content:counter(item) ".";position: absolute;left: 0;}
    &::before,
    .section-title {font-size: var(--section_title_size);line-height: 1.05em;font-weight: 800;display: block;margin-bottom: .5em}
    &>img {aspect-ratio: 600 / 400;margin-top: var(--section_title_size);display: none;}
    @media (min-width: 768px) {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      position: sticky;
      top:0;
      padding-left: 0;
      padding-block: 35px;
      &::before {position: static;width: 140px; padding-left: 1em; }
      .desc {width: 46%; }

      &>img {width: 36%; margin-top: 0; display: block; }
      /*&:nth-child(2) {top:calc(3 * var(--section_title_size))}
      &:nth-child(3) {top:calc(6 * var(--section_title_size)) }
      &:nth-child(4) {top:calc(9 * var(--section_title_size)) }
      &:nth-child(5) {top:calc(12 * var(--section_title_size)) }*/
    }
    @media (min-width: 992px) {
      padding-block: 40px;
    }
    @media (min-width: 1200px) {
      padding-block: 50px;
      .desc {width: 47%; }
      &>img {width: 38%; }
      /*&:nth-child(2) {top:calc(2 * var(--section_title_size))}
      &:nth-child(3) {top:calc(4 * var(--section_title_size)) }
      &:nth-child(4) {top:calc(6 * var(--section_title_size)) }
      &:nth-child(5) {top:calc(8 * var(--section_title_size)) }*/
    }
  }
}
/*
logo grid
*/
.section-type-logo-grid {
  display: grid;
  gap: 0;
  grid-template-columns:repeat( 2,1fr);
  @media (min-width: 600px) {
    grid-template-columns:repeat( 3,1fr);
  }
  @media (min-width: 992px) {
    grid-template-columns:repeat( 5,1fr);
  }
  .section-title {
    grid-row: 1; grid-column: 1 / -1;font-weight: 800;
    font-size: var(--section_title_size);
    font-weight: 800;
    margin-bottom: 40px;
    @media (min-width: 992px) {
      max-width: 66%;
      margin-bottom: 80px;
    }
  }
  img {
    width: 100%;height: auto;
    aspect-ratio: 1;
    object-fit: contain;border:var(--grey-9) solid 1px;padding: var(--size-2);}
}

/* cta */
.section-type-cta {
  background-color: #121212;
  position: relative;
  isolation: isolate;
  .bg-image{
    display: none;
    position: absolute;z-index: -1;max-width: none;width: auto;height: 100%;object-fit: contain;right: 0;
    @media (min-width: 768px) {
      display: block;
    }
  }
  .overlay {
    grid-area: cell;text-align: center;margin: auto;color:var(--white);
    padding-block: 60px;
    margin-inline: var(--size-2);
    @media (min-width: 768px) {
      padding-block: 4em;
      max-width: 20em;
      margin-inline: auto;
    }
    @media (min-width: 992px) {
      padding-block: 5em;
      max-width: 30em;
      margin-inline: auto;
    }
    @media (min-width: 1200px) {
      padding-block: 6em;
      max-width: 53em;
    }
    /*@media (min-width: 1200px) {
      max-width: 30em;
    }*/
  }
  .section-title {font-size: var(--section_title_size);font-weight: 800;}
  .cta-footer {
    margin-top: 15px;
    a {
      display: inline-flex; gap:10px;align-items: center;
      font-family: var(--font-secondary);font-weight: 700;
      color:inherit;
      text-decoration: none;
      line-height: 1.4em;
      padding-bottom: 1px;
      border-bottom:currentColor solid 1px;
      svg {stroke:currentColor;margin-top: 0.3em;}
    }
    @media (min-width: 992px) {
      margin-top: 30px;
    }
  }
}

/*
image title
*/
.section-type-image-title {
  display: grid;
  gap:15px;
  .section-title {
    font-style: var(--section_title_size);font-weight: 800;
    font-size: var(--section_title_size);
    line-height: 1.2;
    color: var(--color-rose);
  }
  &>img {margin: 0;}
  @media (min-width: 1226px) {
    gap: 0 60px;
    grid-template-columns: auto 40%;
    grid-template-rows: calc(var(--section_title_size) * 1.25) auto 1fr;
    grid-template-areas:
      "title desc"
      "title ."
      ". .";

    align-items: start;
    justify-content: start;
    .section-title {
      grid-area: title;
      padding-left: var(--size-2);
      color:var(--white);
      z-index: 2;
      &::first-line {
        color: var(--color-rose);
      }
    }
    .desc {grid-area: desc}
    &>img {grid-column: 1 / -1; grid-row: 2 / -1;}
  }
}

/*
image title cta
*/
.section-type-image-title-cta {
  display: grid;
  gap:15px;
  .section-title {
    font-style: var(--section_title_size);font-weight: 800;
    font-size: var(--section_title_size);
    line-height: 1.2;
    color: var(--color-rose);
    display: grid;
    .shape {order:2;width: 5ch;margin-top: 0.3em;aspect-ratio: 600 / 58;
      line-height: 0px;
      svg {width: 100%;height: 100%;}
    }
  }
  &>img {margin: 0 ;padding-inline: 50px;}
  .footer {text-align: center;}
  @media (min-width: 992px) {
    gap: 20px 60px;
    grid-template-columns: auto 50%;
    grid-template-areas:
      "title feat"
      "desc cta";
    align-items: center;
    justify-content: start;
    .section-title {
      grid-area: title;
      word-break: break-all;
      display: inline-block;
      .shape {
        width: 40%;
        float: right;
        shape-outside: content-box;
        shape-margin: 0em;
        margin-top: 1.2em;
        line-height: unset;
      }
    }
    .desc {grid-area: desc}
    &>img {grid-area: feat}
    .footer {grid-area: cta}
  }
  @media (min-width: 1200px) {
    gap: 20px 60px;
    grid-template-columns: auto 47%;
  }
}
/*
formulaire + image
*/
.section-type-form {
  display: grid;gap:15px;
  .form-text {
    font-weight: 300;line-height: 1.2;font-size: var(--h3_size);
    .contact-address-address {display: block;}
  }
  @media (min-width: 1024px) {
    grid-template-columns: 42% auto;
    .form-text {max-width: 500px}
  }
}

/*
price grid
*/

.section-type-price-grid {

  display: grid;
  gap:30px;

  --h2_size: 25px;
  @media (min-width: 992px) {
    --h2_size: 30px;
  }
  @media (min-width: 1200px) {
    --h2_size:50px;
  }
  .card {
    --marker:"🗸";
    --marker:"✓";
    --accent-color:var(--text);
    padding: 30px;
    &.has-bg-color {
      li::marker {color:inherit;}
    }
    header {display: grid;gap:15px}
    .pre-title {font-weight: 300;font-size: 22px;}
    .card-title {font-family: var(--font-secondary);font-weight: 800;}
  }

  @media (min-width: 768px) {
    display: grid;

    grid-template-columns:repeat( auto-fit, minmax(350px,1fr) );
    gap:40px 20px;
    .section-title {grid-column: 1 / -1; text-align: center; max-width: 16em;margin-inline: auto;align-self: end}

  }
  @media (min-width: 992px) {
    gap:57px 30px;
  }
}

/*
avis
*/
.section-type-avis {
  .svg-icon {width: 65px;height: 47px;margin:0 auto;display: block;}
  .item {padding-inline: 10px}
  [itemprop="itemReviewed"] [itemprop="name"] {display: none;}
  [itemprop="reviewBody"] {
    font-weight: 300;font-size: 20px; line-height: 1.4;
    text-align: center;
    display: block;
    padding: 25px 0;
  }
  .info {
    display: block;
    font-weight: 800;font-size: 34px; line-height: 1;
    text-align: center;
    .designation {font-size: 22px;font-weight: 700;font-size: 22px;display: inline-block;}
  }
  @media (min-width: 768px) {

    .item {width: 69%;margin-inline: auto;padding-inline: 0}
    [itemprop="reviewBody"] {font-size: 26px; padding-block: 50px;}
  }
  @media (min-width: 992px) {
  }
  @media (min-width: 1200px) {
    .item {width: 69%;margin-inline: auto}
    [itemprop="reviewBody"] {font-size: 34px;}
  }
}

/* gallery */
/*.section-type-gallery {padding-block: 30px;padding-inline: 21px}
@media (min-width: 1244px) {
  .section-type-gallery {padding-inline: 37px}
}*/


/* accordions */
.section-type-accordions {
  display: grid;
  gap:var(--size-2);
  .acc-text {margin-bottom: var(--size-1);}
  .section-title {font-size: var(--section_title_size);font-weight: 800;}
  @media (min-width: 890px){
    &.is-2col {
      display: flex;
      gap:0;justify-content: space-between;
      .section-title{width: 46%; }
      .items {width:49%;}
    }
  }
  @media (min-width: 1320px){
    max-width: var(--container-w);
    width: 100%;
    /*.items {width:630px;}*/
  }
  .desc+* {margin-top: var(--size-2);}
}
details {
  border: 1px solid var(--grey-8);
  border-left: 0;
  border-right: 0;
}
details::details-content {overflow-y: clip; }

details:not([open])::details-content {
  height: 0;
  /*opacity: 0;*/
  transition: height 300ms 150ms,
    content-visibility 300ms 300ms allow-discrete,
    opacity 100ms 0ms;
}
details[open]::details-content {height: auto; opacity: 1;
   transition: height 300ms 0ms, content-visibility 300ms 0ms allow-discrete,
    opacity 100ms 150ms;
}
details[open] .acc-icon-open {display: none;}
details:not([open]) .acc-icon-close {display: none;}
summary {
  text-wrap-style: pretty;
  padding-block: 1rem ;
  position: relative;
  line-height: 1;
  cursor: pointer;
  font-weight: 700;
  display: flex;
  column-gap: 15px;
  justify-content: space-between;
  align-items: center;

  @media (min-width: 768px) {
    padding-block: var(--size-2);
  }
  @media (min-width: 992px) {
    padding-block: var(--size-3);
  }

}

summary::-webkit-details-marker {display: none; }



/* html */
/*
.section-type-html h2{margin-bottom: var(--space)}
.section-type-html > img {max-width: none;width: 100%;}
.section-type-html #sbi_mod_link,.section-type-html #sbi_mod_error {float: none;}
*/

/* splide carousel */

.splide {padding-inline: 0;margin-bottom: 1rem;}
.splide:not(:last-child) {margin-bottom: 1rem;}
.splide .splide__arrow--prev {left: 0;}
.splide .splide__arrow--next {right: 0;}
.splide .splide__arrows {display: none;}
.splide .splide__arrow {
    width: 4rem;height: 4rem;transition: .3s;
    background-color: transparent;
    &:not([disabled]) {opacity: 1;}
    &:hover {opacity: 1;background-color: transparent;}
    svg {transition: .3s;height: 3.2em;width: 3.2em;}
    &:hover svg{fill: var(--black)}
}

@media screen and (min-width:1025px) {
  .splide .splide__arrows {display: block;}
  .section-type-text.splide {padding-inline: 2rem}
}
@media screen and (min-width:1200px) {
  .section-type-text .splide {padding-inline: 4rem}
  .splide .splide__arrows {display: block;}
}
.splide__list {gap:0;align-items: stretch;}
.carousel-logo .splide__slide img {max-width: none; width: 100%; display: block;height: 100%;object-fit: contain;}
.splide .splide__pagination {gap: 2rem;bottom: 0;  }
.splide__pagination .splide__pagination__page {border: 0;width: 10px;height: 10px;display: block;padding: 0; background: rgba(255,255,255,.5);cursor: pointer; border-radius: 50%; box-shadow: 0px 0px 0px 2px rgb(0 0 0 / 33%); }
.splide__pagination .splide__pagination__page.is-active {background-color: white;box-shadow: 0px 0px 0px 2px rgb(0 0 0 );}
@media screen and (min-width:768px) {
  .splide__pagination .splide__pagination {bottom: 2rem; }
}
a.gal-lightbox {border-radius: var(--radius);display: block;overflow: hidden;background-color: var(--bg);position: relative;color: white}
a.gal-lightbox>svg{
  fill: #fff;
  width: 3rem;
  height: 3rem;
  padding: .8rem;
  background-color: var(--primary);
  border-radius: 100%;
  position: absolute;
  left: 50%;top: 50%; transform: translate(-50%,-50%);
  opacity: 0;
  transition: opacity .3s
}

a.gal-lightbox>img{transition: opacity .3s}
a.gal-lightbox:hover>img{opacity: 0.5;}
a.gal-lightbox:hover>svg{opacity: 1;}
.splide__slide img {border-radius: var(--radius)}


.carousel-post .splide.carousel {overflow: hidden;padding: 0;margin: 0;}
.carousel-post .splide__slide {position:relative;isolation: isolate;aspect-ratio: 1920 / 700;display: flex;align-items: center;}
.carousel-post .splide__slide .container {color:white;text-align: center;}
.carousel-post .h1{word-break: break-word;margin-bottom: 2rem;}
.carousel-post .splide__slide img {border-radius:0;position: absolute;left: 0;top: 0;width: 100%;
  height: 100%;
  z-index: -1;
  filter: brightness(0.6);
  object-fit: cover;
}

@media (min-width:768px) {
  .carousel-post .splide.carousel {display: grid; grid-template-columns: auto min( var(--container-w) , calc(100% - 2rem) ) auto; align-items: stretch;}
  .carousel-post .splide .splide__arrows {
    grid-column: 2 / 3;
    grid-row: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .carousel-post .splide__arrow {position: static;transform:none}
  .carousel-post .splide__track  {grid-column: 1 / 4;grid-row: 1;}
  .carousel-post .h1 {padding-inline:4rem;font-size:clamp(2rem,3.3vw,4rem)}
}


.splide.thumbnail-carousel {display: none;}
@media (min-width:768px) {
  .splide.thumbnail-carousel {position: absolute;bottom: var(--space);left: calc(33.33% + var(--space) );
    display: block;
    padding:0;margin: 0 ;
  }
  .splide.thumbnail-carousel .splide__slide img {width: 98px;height: 72px;object-fit: cover;}
  .splide.thumbnail-carousel .splide__slide {opacity: 0.6;border: 0 !important ;transition: opacity .3s;filter: grayscale(100%);}
  .splide.thumbnail-carousel .splide__slide:hover,
  .splide.thumbnail-carousel .splide__slide.is-active {opacity: 1 ;filter: none}
}


/*
actu list
*/

.blog .page-header {
  display: grid;
  gap:10px;
  margin-block:30px;
  @media  (min-width: 768px) {
    display: flex ; justify-content: space-between;align-items: center;
    margin-block:50px;
    .intro {max-width: 300px}
  }
  @media  (min-width: 768px) {
    margin-bottom:80px;
  }
}

.blog .site-main {--space:55px;padding-bottom: var(--space);}
.posts-list {
  display: grid;gap:30px;
  @media  (min-width: 768px) {
    grid-template-columns: 1fr 1fr;
  }
  @media  (min-width: 992px) {
    grid-template-columns: 1fr 1fr 1fr;
    gap:35px;
  }
}
.post-list-item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  @media  (min-width: 768px) {
    display: grid;
    gap:15px;
    grid-template-areas: "center";
  }

  .entry-feat {
    transition: .5s;scale: 1;object-fit: cover; width: 100%; height: 100%;
    @media  (max-width: 767px){
      position: absolute; z-index: -1; top: 0; left: 0;
    }
    @media  (min-width: 768px) {
      grid-area: center;z-index: 1;
    }
  }

  .post-item-link{
    display: grid;gap:15px;
    padding: 15px;
    color:var(--white);
    text-decoration: none;
    transition: .5s;
    background-color: #262629;
    &:hover,&:active,&:focus {
      background-color: rgba(28, 29, 32, .7);
      .entry-feat {opacity: 1;scale: 1.1;}
    }
    @media  (min-width: 768px) {
      grid-area: center;grid-template-rows: auto 1fr;z-index: 2;gap:30px;min-height: 27em;
    }
    @media  (min-width: 1024px) {
      padding: 90px 45px;
    }
    @media  (min-width: 1200px) {
      height: 27em;
    }


    .entry-title {
      --h2_size:28px;
      @media  (min-width: 768px) {
        --h2_size:34px;
      }
    }
    &:where(:hover,:active,:focus)>.entry-title {text-decoration: underline;}

    .entry-excerpt {
      color: #999;text-decoration-color: #999;font-size: 22px; line-height: 1.4;
      @media  (max-width: 767px){
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
      }
    }
    &:where(:hover,:active,:focus)>.entry-excerpt {text-decoration: underline;}
  }

}


/* pagination */
.pagination-centered {margin-top: var(--size-4);}
.pagination {
  display: flex;gap: 1rem;flex-wrap: wrap;
  .page-link {
     line-height: 1;height: 48px;
    border: solid 2px white;display: flex; gap:1rem;transition: .3s;aspect-ratio: 1; align-items: center;
    justify-content: center;
    &:not(.pagination-next):not(.pagination-previous) {aspect-ratio: 1; border-radius: 50%;}
    &.current,&:where(:active,:focus,:hover):not(.pagination-next):not(.pagination-previous) {background-color: var(--black);color: var(--white);}
    &.pagination-previous,
    &.pagination-next {padding:0 1rem;width:auto;aspect-ratio:auto}
  }
}

/*
home actus
*/
.home-news {padding-bottom:var(--size-3)}
.home-news h2 {margin-bottom: 115px;text-align: center;font-family: var(--font-base);color:var(--grey-2)}
.posts-grid {display: grid;gap:40px 42px;margin-bottom: var(--size-4);}
.posts-grid .item-feat a{display: grid;grid-template-areas: "cell"}
.posts-grid .item-feat a>*{grid-area:cell}
.posts-grid .item-feat img{object-fit: cover;height: 525px;width: 100%;}
.posts-grid .item img{object-fit: cover;width: 100%;}
.posts-grid .item-feat .overlay{background-color: rgba(36,39,60,.8);
    padding: 40px;
    margin-top: auto;
    overflow: hidden;color:var(--white)}
:where(.item,.item-feat) .entry-title-wrap {color:inherit;margin-bottom: var(--size-2);}
:where(.item,.item-feat) .entry-title-wrap .entry-title{text-transform: uppercase;font-weight: 400;font-family: var(--font-secondary);}
.item-feat .entry-excerpt {color:var(--grey-6)}

@media  (min-width: 1024px) {
  .posts-grid {grid-template-columns: 1fr 1fr;row-gap:36px}
  .posts-grid .item-feat {grid-row: 1 / 4;}
  .posts-grid .item {grid-column: 2;}
  .posts-grid .item-feat .overlay{width: 50%;height: 100%; padding: 30px 30px 0; }
}

.home-news-footer {text-align: center;}
.home-news-footer .btn{border-width: 3px;--btn-radius:3px;font-size: 19px;padding: 15px 22px;font-weight: 400;}

.posts-grid .item>a {display: flex;gap:30px;flex-direction: column;}
.posts-grid .entry-feat-wrap {flex-shrink: 0;position: relative;overflow: hidden;}
.posts-grid .entry-feat-wrap::after {content:'';

  width: 48px;height: 48px;
  border-radius: 50%;
  background: #3c3950 url(img/article.svg) no-repeat;
  background-size: 16px;
  background-position: center;
  position: absolute;
  left: calc(50% - 24px);
  top: 150%;
  transform: scale(0);
  transition: top .4s,opacity .4s,transform 0s .4s;
  z-index: 3;
}
.posts-grid :hover>.entry-feat-wrap::after {opacity: 1;transform: scale(1);top: calc(50% - 24px);
  transition: top 0s,opacity .4s,transform .4s;
}
@media  (min-width: 768px) {

  .posts-grid .item img {background-color: var(--white);transition: .2s;width: 184px;  }
  .posts-grid .item>a:is(:hover,:active,:focus) img{opacity: .3}
  .posts-grid .item .text {overflow: hidden;max-height: 150px;}
  .posts-grid .item .entry-title-wrap {margin-bottom: var(--size-1);}
  .posts-grid .item>a {flex-direction: row}
}
@media  (min-width: 1212px) {
  .posts-grid .item-feat .overlay{ display: grid;align-content: center;; }
}
/*
single actu
*/

.page-header.page-header-blog {
  margin-bottom: 25px;
  display: grid;
  gap:var(--size-2);
  --title-offset:130px;
  grid-template-columns: var(--size-2) 1fr var(--size-2);
  grid-template-areas: "left content right";

  .page-title {
    grid-area: content;
    @media  (min-width: 992px) {
      background-color: var(--black);color:var(--white);
      padding: 30px 30px 45px;
      z-index:2;
      grid-row: 1;
      position: relative;
      top: calc(var(--title-offset) - .5em);
      align-self: end;
      width: 703px;
    }
  }
  .feat-img {
    max-width: none;width: 100%;grid-column: 1 / -1;
    @media  (min-width: 992px) {
      z-index:1;
      grid-row: 1;
    }
  }
  @media  (min-width: 992px) {
    margin-bottom: var(--title-offset);
  }
  @media (min-width: 1320px) {
    grid-template-columns: 1fr var(--container-w) 1fr;
  }
}

.single {
  /*.site-main>.container {
    margin-inline: 0;max-width: none;
    display: grid;
    grid-template-columns: var(--size-2) 1fr var(--size-2);
    grid-template-areas: "left content right";
    @media (min-width: 1320px) {
      grid-template-columns: 1fr var(--container-w) 1fr;
    }
  }*/
  /*.page-header {
    display: grid;
    grid-column: 1 / -1;
    margin-bottom: var(--size-2);
    &.no-feat {
      grid-template-columns: subgrid;
      .page-title {grid-area: content;}
    }
    &.has-feat {
      grid-template-areas: "cell";
      --title-offset:130px;
      img {
        grid-area: cell;
        width: 100%;height: 400px;object-fit: cover;max-width: none;
        @media  (min-width: 768px) {
          height: 600px;
        }
        @media  (min-width: 992px) {
          grid-column: 1 / -1;
          grid-row: 1;
        }
        @media  (min-width: 1024px) {
          height: 820px;
        }
      }
      .page-title {
        grid-area: cell;
        margin-top: 70px;
        align-self: start;
        margin-inline:15px;
        background-color: var(--black);color:var(--white);padding: 30px;
        @media  (min-width: 768px) {
          margin-top: 100px;
          max-width: 525px;
          min-height: 180px;
        }
        @media  (min-width: 992px) {
          grid-area: content;
          margin-top: auto;
          margin-inline: 0;
          margin-bottom: calc(var(--title-offset) * -1) ;
          grid-row: 1;
          max-width: none;
          width: min-content;
          min-width: 525px;
          min-height: 180px;
          padding: 70px 70px calc(var(--title-offset) + 70px) 70px ;
        }
      }
      @media  (min-width: 992px) {
        grid-template-columns: subgrid;
        gap:0;
        margin-bottom: calc(var(--title-offset) + 30px);
      }
    }
  }*/
  .entry-date .date-label {font-weight: 700;  }
  .post .entry-content {
    grid-column: 2 / 3;
    margin-bottom: 60px;
    /*a{color:var(--secondary);text-decoration: none;transition: .3s}
    a:where(:hover,:focus,:active){color:var(--primary)}*/
  }
  .site-social-share {padding-bottom: 60px;}
}


.post-categories {display: flex;gap: 1em; align-items: center;}

/* widgets  */
.widget-title {font-weight: bold;}
.widget :where([type=text],[type=search]) {padding:.5rem}


/*
gallery
*/

.gallery-grid {display: grid;justify-content: center;gap: var(--size-2);align-items: center}
.gallery-grid img{max-width: none;width: 100%;}

.gallery-grid >*{text-align: center;}

.gallery-col-3,
.gallery-col-2 {grid-template-columns:  1fr }

.gallery-col-4,
.gallery-col-5 {grid-template-columns:  repeat(2,1fr)}
@media screen and (min-width:768px) {
  .gallery-grid {gap: 10px}
  .gallery-col-2 {grid-template-columns:  repeat(2,1fr)}
  .gallery-col-3 {grid-template-columns:  repeat(3,1fr)}
  .gallery-col-4 {grid-template-columns:  repeat(4,1fr)}
  .gallery-col-5 {grid-template-columns:  repeat(4,1fr)}

}
@media screen and (min-width:992px) {
  .gallery-grid {gap: 42px}
  .gallery-col-4 {grid-template-columns:  repeat(4,1fr)}
  .gallery-col-5 {grid-template-columns:  repeat(5,1fr)}
}

.lightbox-item,
.gallery-item{position: relative;}
.lightbox-item::before,
:not(.gallery-link-none)>.gallery-item::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset:0;
  transition:.5s;
  opacity: 0;
  background-color: rgba(0,188,212,.8);
  pointer-events: none;
}
.lightbox-item:hover::before,
:not(.gallery-link-none)>.gallery-item:hover:before{opacity: 1; }

.lightbox-item::after,
:not(.gallery-link-none)>.gallery-item::after {
  content: '';
  position: absolute;
  z-index: 2;
  background: url(img/camera.svg) no-repeat;
  background-size:contain;
  width: 40px;height: 40px;
  left: 50%;
  top: -20px;
  transform: translate(-20px,-20px);
  transition:.5s;
  opacity: 0;
  pointer-events: none;
}
.lightbox-item:hover:after,
.gallery-item:hover:after{opacity: 1; top: 50%;}

.gallery .logo-item {aspect-ratio:267 / 171}
.gallery .logo-item img {transition:.3s;object-fit: contain;height: 100%;}
.gallery .logo-item:hover img {opacity: 0.5;}

/*
landing page
*/
.page-template-template-landing {

  @media (min-width: 992px) {
    .site-header {
        .header-container {
            display: flex;
            justify-content: center;
        }
    }
  }

  .page-header {
    padding-top: 0;
    gap: 0 15px;
    .page-title {padding-top: 0;}
    @media (min-width: 992px) {
      grid-template-areas:
      ". deco"
      "title intro";
      column-gap:45px;

      .intro {
        border-left: solid 1px var(--black);
        padding: 45px 0 45px 45px;
      }
    }
  }
}

/*
contact
*/
.container-grid {padding: 0 1rem; }
.container-md-grid { display: grid;gap: 1rem}
@media (min-width: 768px) {
  .grid-sm-6 {grid-template-columns: repeat( 2,1fr) }
  .container-md-grid { gap: 2rem}
}

.wpcf7 {padding: 0;}

@media (min-width: 768px) {
  .wpcf7-form {position: relative;}
}

.wpcf7-form {display: grid;gap: 20px;}
.wpcf7-form label {display: block;}


/* animation des labels */
.form-cell > label {z-index: 2; position: relative; transition:all .3s;}
.form-cell:has(.wpcf7-form-control:placeholder-shown:not(:focus)) > label {left: 1rem; top: 2.6rem;pointer-events: none}
.form-cell:has(.wpcf7-form-control:focus) > label { left: 0; top: 0;pointer-events: none;}


[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=tel], [type=text], [type=time], [type=url], [type=week],
textarea {
  outline:none;
  color: var(--input-text);padding: 1rem ;width: 100%;
  border:0;
  font-size: inherit;
  border-radius: var(--input-radius);
  background-color: var(--input-bg);
  border-bottom: var(--input-border) solid 1px;
}
::placeholder {color: var(--input-text);font-family: var(--font-base);font-size: 1em;}

select.wpcf7-form-control {padding: 1rem; width: 100%;
  font-size: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;       /* Remove default arrow */
  color: var(--input-text);
  background-color:  var(--input-bg);
  background-image: url("img/select-arrow.svg");   /* Add custom arrow */
  background-position: center right 1rem;
  background-size: 1.5em;
  background-repeat: no-repeat;
}

/*.wpcf7 input:focus {border-color: var(--secondary)}*/

.red {color: #ff5408;}
/*.form-row {margin-bottom: var(--size-2)}*/
.form-grid {display: flex;flex-direction: column;gap:20px}
@media (min-width: 768px) {
  /*.form-row {margin-bottom: var(--size-4);}*/
  .form-grid {gap:42px;flex-direction: row}
  .form-submit-row {display: flex;align-items: center;}
}
.your-message {margin-bottom: 1rem;display: block;}
span.wpcf7-list-item {margin-left: 0;}

.wpcf7-not-valid {border: #bf2b47 solid 2px;}
span.wpcf7-not-valid-tip {/*position: absolute; right: 0; top: -2.7rem;*/font-size: .9em}
#your-message+span.wpcf7-not-valid-tip {top: -5.8em}
.wpcf7-acceptance {font-size: 15px;}
.wpcf7-validation-errors {color: #bf2b47; }

.form-submit {position: relative;margin-top: 1rem;}
.wpcf7-submit {width: 100%;justify-content: center;}
.wpcf7 .wpcf7-spinner {margin: 0 1rem;top: 0.3rem;position: absolute;right: 0;}
.wpcf7 form .wpcf7-response-output {margin: 0;border-radius:var(--input-radius) }
.wpcf7 .small,
.wpcf7 small {font-size: 0.9rem;}


@media (min-width: 992px) {
  .wpcf7-form {position: relative;}
  .wpcf7 .wpcf7-file {margin-bottom: 1.5rem;}
  .wpcf7-submit {width: auto;justify-content:flex-start}
  .wpcf7 .wpcf7-spinner {position:inherit}
  .wpcf7 form .wpcf7-response-output {margin: 0 !important;line-height: 1.4;}
}

/*
footer
*/

.site-footer
{
  margin-top: 3em;
  padding-block:var(--size-2) var(--size-3);
 .container {display: grid;gap:var(--size-2)}
 font-size: 22px;
 .footer {font-family: var(--font-secondary);font-weight: 700;}
}
body.footer-fixed .site-footer{position: fixed;z-index: -1;left: 0;right: 0;bottom: 0;}
/*.footer-1 address {font-size: 1rem;line-height: 1.3em;}
.footer-2 .menu a{padding: 13px 0;display: block; font-size: 1rem;line-height: 0.7em;}*/
@media (min-width: 992px) {
  .site-footer  {
    .container {display: grid ; grid-template-columns: 11em 1fr auto;}
    .footer-1 {grid-row: 1;grid-column-start: 1;}
    .footer {
      grid-row: 1;
      .menu {display: flex;gap:var(--size-5)}
    }
    .footer-2 {grid-row: 1;justify-self: end;}
  }

}

.social-youtube .svg-icon {width: 1.3em;}
.site-footer .social-items {display: flex;gap:var(--size-2)}
.site-footer .social-items a{display: block;line-height: 1;}
.site-footer .social-items .svg-icon {font-size: 20px;display: block;}


.btn_scroll_top {display: none;transition: opacity .5s;right: 40px;
    position: fixed;
    bottom: 35px;

    place-content:center;
    width: 50px;height: 50px;
    background-color: var(--black);color: var(--white);
    border-radius: 50%;
    z-index: 1000;}
.btn_scroll_top svg {font-size: 24px; color: inherit;rotate: -90deg;    translate: .1em;}

@media (min-width: 992px) {
  .btn_scroll_top {display: grid;}
  .js body.scroll-ontop .btn_scroll_top {opacity: 0;pointer-events: none}
  .js body:not(.scroll-ontop) .btn_scroll_top {opacity: 1; }
}
/*
plugins
*/

@media print {

  .hidden-print,
  .hide-for-print {display: none !important;}
  body{
    font-size: 14px;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
  blockquote {margin: 0;}
  a[href]:after {content: none; }
  .page-title {}
  hr {margin: 1rem auto 2rem; }
  p+h2 {margin-top: 1rem; }
  p+h3 {margin-top: 1rem; }
}
@page {
  size: A4 portrait;
}
.site-social-share {}
.site-social-share :where(a,button){padding: 5px;display: block;}
.site-social-share svg{display: block;}
.site-social-share button{background: none;border:0;font-size: inherit;color:inherit;}
.site-social-share button > svg{width: 0.9em; height: 0.9em; transform:translateY(2px);}
.site-share-services {display: flex;gap:5px}

/*
plugin cookie notice
*/
.cookies-refused #cookie-notice, .cookies-accepted #cookie-notice {position: static; }
#cookie-notice .cn-button {margin-bottom: 0;}
#cn-revoke-text {color: var(--text);}
#cookie-notice .cn-buttons-container .cn-button:not(.cn-button-custom) {border-radius: 0}
.cookie-revoke-container {background-color: #fff;}
.grecaptcha-badge {visibility: hidden;}

.debug-section {position: relative;z-index: 10;}


.dl-protect {align-items: center;gap:8px; }
.dl-protect.btn >svg {height: 100%;margin: auto;}
.dl-protect.init :where(.icon-loading,.icon-done) {display: none;}
.dl-protect.loading :where(.icon-dl,.icon-done) {display: none;}
.dl-protect.done :where(.icon-dl,.icon-loading) {display: none;}
@keyframes spin {
    to { transform: rotate(360deg); }
}
.icon-loading {animation: spin 1.2s linear infinite;    }