/*
Theme Name: Centre Eurolaser
Author:  intégration Olivier Coudre
Author URI: https://https://centre-eurolaser.com//
Description: theme pour le site Centre Eurolaser
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;scrollbar-gutter: stable ;}

:where(html){

  --container-w: 1100px;
  --container-px:20px;
  @media (min-width: 768px) {
    --container-px:50px;
  }
  @media (min-width: 992px) {
    --container-px:15px;
  }
  /*--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-onsecondary:var(--white);
  --link:var(--text);
  --link-hover:var(--text);
  accent-color: var(--primary);
  --accent-color: var(--primary);
  --color-neutre:#555;

  --marker:'■'; /* ▪ • */

  --input-text:var(--text);
  --input-bg:var(--white);
  --input-border:#e1e1e1;
  --input-radius:4px;

  --btn-radius:4px;
  --btn-bg:var(--primary);
  --btn-text:var(--text-onprimary);
  --btn-bg-hover:var(--secondary);
  --btn-text-hover:var(--text-onprimary);
  /*--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:25px;
  --p-margin:var(--size-2);
  @media (min-width: 992px) {
    --h2-margin:25px;
  }
}

: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(.1,.1,.1);}
  10% {opacity: 1;}
  100% {opacity: 1;transform: scale3d(1,1,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: 1.53em;}
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;}
sub{ vertical-align: baseline;
    translate: 0 0.15em;
    display: inline-block }
.entry-content a:is(:hover,:active,:focus-visible) {text-decoration: underline;}

body{
  --h1_size:45px;
  --h1_lh:1.15em;
  --section_title_size:35px;
  --h2_size:24px;
  --h2_lh:1.27em;
  --h3_size:23px;
  --h3_lh:1.22em;
  --h4_size:22px;
  --h4_lh:1em;
}
h1,.h1 {font-size: var(--h1_size);line-height: var(--h1_lh);font-weight: 600;word-wrap: break-word;color: var(--primary);text-wrap-style: pretty;}
h2,.h2 {font-size: var(--h2_size);line-height: var(--h2_lh);font-weight: 600;color: var(--primary);text-wrap-style: pretty;}
h3,.h3 {font-size: var(--h3_size);line-height: var(--h3_lh);font-weight: 600;color: var(--secondary);text-wrap-style: pretty;}
h4,.h4 {font-size: var(--h4_size);line-height: var(--h4_lh);font-weight: 700;text-wrap-style: pretty;}

@media (min-width: 768px) {
  body {
    font-size: 18px;
    --h2_size:39px;
    --h3_size:36px;
    --h4_size:24px;
  }
}

@media (min-width: 992px) {
  body {
    --h1_size:65px;
    --section_title_size:45px;
    --h2_size:39px;
    --h3_size:36px;

  }
}
@media (min-width: 1024px) {
  body {
    --section_title_size:50px;
  }
}



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;
  font-size: 14px;font-weight: 500;line-height: 28px;
  >:first-child{margin-top: 4px;}
}
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, .container-ng,.row {
  --gutter:26px;
}
.container {
  margin-inline: auto;
  padding-inline: 0;
  max-width: var(--container-w);
  width: calc(100% - var(--gutter) - var(--gutter));
  @media (min-width: 1200px) {
    min-width: var(--container-w);
  }
}

.container-ng {
  display: grid;
  grid-template-columns: var(--gutter) [content-start] 1fr [content-end] var(--gutter);
  grid-template-areas: "left content right";
}

/*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: 600;
  cursor: pointer;
  padding: 22px 46px;
  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: 17px;

  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: 768px) {
    font-size: 22px;
    padding: 28px 46px;
  }
}
.btn-small {padding: 4px 8px;}
.btn:not(.btn-disabled):active {transform: translateY(.2rem);}
.btn:is(:hover,:focus):not([disabled]) {background-color: var(--secondary);}

: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;}

.page-header.no-feat {
  padding-block: 68px;
  .page-title {font-size: var(--h1_size);line-height: var(--h1_lh); }
  @media (min-width: 768px) {
    padding-block: 83px;
    .entry-content {position: relative; }
  }
}


/* text styles */

:where(.entry-content) a:not([class]) {
  text-decoration: underline;color:var(--secondary);
  transition: color .2s ease-out;
  &:hover {
    color:var(--primary);
  }
}
:where(.entry-content) a[href^="mailto:"] {
  text-decoration: none;
}

.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:last-child {margin-bottom: 0;}
  ul:not([class]) {padding: 16px 0 16px 1rem;margin: 0;list-style-type: disc;list-style-position: outside;}
  ul:not([class]):first-child {padding-top:0}
  ul:not([class]) li+li {margin-top: .2rem;}
  /*: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;}
  img {border-radius: 10px}
}

.entry-content ul.checkmark>li{
  margin-top: var(--p-margin);
  position: relative;
  list-style-position: inside;
  padding-left: 40px;
  &::before {content: url('/wp-content/uploads/2025/10/icon2.png');width: 24px;height: 24px;;display: block;position: absolute;left: 0;top: 2px; }
}
/*.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 liste
*/
.sections-list {
  display: grid;gap:50px;
  @media (min-width: 768px) {
    gap:70px;
  }
  @media (min-width: 1200px) {
    gap:70px;
  }
}
.entry-section.has-bg-color {
  /*padding-block: 30px;*/
  li::marker {color:inherit;}
}


/*
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%) ); }
}
/*
section-type-image-2-col
*/
.section-type-image-2-col {
  display: flex;
  flex-wrap: wrap;
  gap:20px;
  &.has-bg-color {
    padding-block: 50px;
    .section-header>:is(h2,h3) {color:inherit;}
  }
  .col {
    flex:1 1 300px;
    border-radius: 15px;
    padding: 20px;
    .grid-col-3> & {padding-block: 40px;}
    h4 {margin-block:20px}
    p:has(img) +h4{ margin-top: 40px;
      width: fit-content;margin-inline: auto;
    }
    @media (min-width: 768px) {
      padding-inline: 40px;
    }
  }
}
/*
textes col
*/
.section-type-text-col {

  .text-col {
    padding-block: 20px;
    @media (min-width: 768px) {
      padding-block:40px;
    }
  }

  .text-col.has-bg-color {
    h1,h2,h3 {color:inherit;}
  }

}


/*
texte + image
*/

.section-type-text-photo-2col:not(.is-large) {
  display: grid;
  gap:40px;
  @media (min-width: 768px) {
    gap:150px;
  }

  .row{
    &>img {
      display: none;
      @media (min-width: 1024px) {
        display: block;
      }
      border-radius: 20px;
      box-shadow: 0 10px 60px #000;
    }

    &>.text {
      /*padding-block: 20px;*/
      @media (min-width: 768px) {
        /*padding-block: 30px;*/
      }
    }

    @media (min-width: 1024px) {
      display: grid;
      align-items: center;
      grid-template-columns: 1fr 1fr;
      &>.text {padding-right: 85px; padding-block: 30px;}

      &.img-left .text{
        order:2;
        padding-right: 0;
        padding-left: 85px;
      }
    }
  }
}
.section-type-text-photo-2col.is-large {

  .row{
    display: grid;
    grid-template-columns: var(--gutter) [content-start] 1fr [content-end] var(--gutter);
    grid-template-areas: "left content right";
    /*&.has-bg-color>.text>:is(h2,h3) {color: inherit}*/
    &>img {
      display: none;
      border-radius: 0;
      @media (min-width: 1024px) {
        display: block;
      }
    }
    &>.text {
      padding-block:30px ;
      grid-area: content;
      &>:is(h2,h3) {color: inherit}
    }

    @media (min-width: 1024px) {
      align-items: center;
      grid-template-columns: 1fr minmax(auto,550px) minmax(auto,550px) 1fr;
      &>img {
        width: 100%;
        height: 100%;
        object-fit: cover;

        grid-column-start: 1;
        grid-column-end: 3;
      }
      &>.text {
        grid-column-start: 3;
        grid-column-end: 4;
        padding-inline:70px 0;
      }
      &.img-right>img{
          grid-column-start: 3;
          grid-column-end: 5;
      }
      &.img-right>.text{
          grid-column-start: 2;
          grid-column-end: 3;
          padding-inline:0 70px;
      }
    }
  }
}
/*
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: "0" 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 {

  .section-header {
    margin-bottom: 40px;
  }
  .logo-grid {
    display: grid;
    gap: 20px;
    grid-template-columns:repeat( 2,1fr);
    @media (min-width: 768px) {
      grid-template-columns:repeat( 3,1fr);
      gap: 50px 20px;
    }
    img {
      margin: auto;
      width: 100%;height: auto;
      aspect-ratio: 1;
      object-fit: contain;
      border-radius: 15px;
      max-width: 160px;
    }
    figcaption {font-weight: bold;text-align: center;margin-top: 10px;
      @media (min-width: 768px) {margin-top: 20px; }
    }
  }

}

/*
section-type-timeline
*/
.section-type-timeline {
  .header {
    margin-bottom: 20px;
    @media (min-width: 768px) {
      margin-bottom: 50px;
    }
  }
  .timeline-list {
    margin: 0;padding: 0; list-style: none;

    position: relative;
    .timeline-line {
      display: block;
      background-color: var(--black);
      position: absolute;
      top: 0;
      left: -1px;
      width: 1px;
      height: 100%;
      @media (min-width: 768px) {
        left: calc(50% - 1px);
      }
      .section-type-timeline.is-observed &{opacity: 0;}
    }

  }
  .timeline-item {
    padding-left: clamp(40px,10%,110px);
    margin-bottom: 30px;
    position: relative;
    .timeline-item-title,
    .timeline-item-text{max-width: 440px;}

  }

  .timeline-item-dot {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    background-color: var(--primary);
    position: absolute;
    z-index: 2;
    top: calc(4.3ch - 8px);
    @media (min-width: 768px) {
      top: calc(50% - 8px);
    }
    left: -8px;
  }

  .timeline-date {margin-bottom: 8px;}
  .timeline-item-title {margin-block:0 20px;}
  @media (min-width: 768px) {
    .timeline-item{ width: 50%; }
    .timeline-item:nth-child(even) {
      margin-left: auto;
    }
    .timeline-item:nth-child(odd) {
      text-align: right;
      padding-left: 0;
      padding-right: clamp(40px,10%,110px);
      margin-right: auto;

      .timeline-item-dot {
        left: auto;
        right: -8px;
      }
    }
  }

}


/* tabs */

.btn-tab {
  display: block;
  border:0;
  border-radius: var(--btn-radius);cursor: pointer;
  font-size: 20px;
  font-weight: 600;
  padding: 15px 35px;
  color:var(--secondary);
  background-color: var(--color-light-grey);
  &[aria-selected="true"],
  &:is(:hover ) {
    color:var(--text-onprimary);
    background-color: var(--primary);
  }
}

.section-type-tabs {
  display: grid;
  gap:30px;
  >.section-header {
    display: grid;
    gap:20px;
  }
  .tabs-nav {
    display: flex;
    justify-content: center;
    gap:10px;
    flex-wrap: wrap;
    margin: 0;
    >li {margin: 0;}

  }
  .tabs-content {
    display: grid;
    gap:30px;
  }
}
.tag {
    display: block;
    margin: auto;
    width: fit-content;
    color:var(--text-onsecondary);
    background-color: var(--secondary);font-size: 20px;
    font-weight: 600;border-radius:5px;
    padding: 12px 24px;
  }
/* cta */
.section-type-cta {
  &.has-bg-color {
    padding-block: 50px;
  }
  @media (min-width: 768px) {
      &.has-bg-color {padding-block: 60px;}
  }
  .tag {
    margin-bottom: 30px;
  }
  .entry-content {
    grid-area :content;
    &.reduce-width{
      max-width: 285px;margin-inline: auto;
      @media (min-width: 768px) {
        max-width: 570px;
      }
    }
  }
  p:empty {display: none;}

  &.has-bg-color h2,h3 {color:inherit;line-height: 1;}
}
/*
image large title
*/
.section-type-image-large-title {
  display: grid;
  /*grid-template-columns: minmax(0px,1fr) minmax(0,calc(var(--container-w) - 1px) ) minmax(0px,1fr);*/
  grid-template-columns: 7% [content-start] 1fr [content-end] 7%;
  /*grid-template-rows: 37vh;*/
  @media (min-width: 768px) {
    /*grid-template-rows: 64vh;*/
    grid-template-rows: auto;
  }


  >img {grid-column: 1 / 4; grid-row: 1 / -1;
    width: 100%;
    /*height: 100%;
    object-fit: cover;*/
    border-radius: 0;
  }
  .desc {
    margin-inline: 0;
    align-self: end;
    grid-column-start: 2; grid-row-start: 1 ;
    padding-bottom: 5px;
    max-width: var(--container-w);
    @media (min-width: 768px) {
      padding-bottom: 10px;
    }
    @media (min-width: 1290px) {
      margin-inline: auto;
      min-width: var(--container-w);
    }
  }
  .home & h1 {
    font-size: 4vw;
    line-height: 1em;
    letter-spacing: 0px;
    @media (min-width: 768px) {
      font-size: clamp(16px, 5vw, 45px);
    }
    @media (min-width: 1300px) {
      font-size: 60px;
    }
  }
}
/*
section-type-text-2col
*/
.section-type-text-2col {
  .col-right {display: none;}

  @media (min-width: 1024px) {
    display: flex;
    align-items: start;
    gap:130px;
    /*.col-left {padding-top: 50px; }*/
    .col-right {display: block;flex-basis: 416px;flex-shrink: 0}
    .col-left.is-sticky {position: sticky;top:0;}
  }
  .SC-bloc a{display: block;text-align: center;}
}
/*
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: 416px 1fr;
  }
}
/*
formulaire
*/
.section-type-form {
  background-color: var(--primary);
  padding-block: 50px;
  .container {
    display: grid;
    gap:20px;
    align-items: start;
    > div {
      border-radius: 12px;
      padding: 30px 18px ;
      background-color: var(--white);
    }
    .form-wrap {
      h3 {font-size: 36px;text-align: center;margin-block:0 18px ;}
    }
    @media (max-width: 550px) {
      .form-text li a { display: block;}
    }
    @media (min-width: 768px) {
      gap:40px;
      .form-text {
        height: 100%;
        place-content: center;
      }
    }
    @media (min-width: 1024px) {
      grid-template-columns: 416px auto;
      justify-content: space-between;
    }
    @media (min-width: 1100px) {
      .form-text {
        max-width: 550px;
        /*padding-left: 100px;*/
      }
    }
  }
}
/*
iframe
*/
.section-type-iframe {
  height: 400px;
  border: none;
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: var(--container-w);
}
/*
price grid
*/

.section-type-price-grid {
  display: grid;
  gap: 30px;
  .price-list {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap:20px;

    li+li {margin: 0;}
    .col {
      flex: 1 1 370px;
      border: 1px solid #ebebeb;
      padding:30px ;
      border-radius: 12px;
      @media (min-width: 908px) {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
      }
    }
  }
  .price {
    display: block;
    margin-top: 58px;
    color:var(--secondary);
    font-size:36px;
    font-weight:600;
  }
  .footer:has(.btn ) .price {padding-bottom: 19px;border-bottom: 1px solid #ebebeb;}
  .price-suffix {font-size:14px;font-weight:400;}
  .btn {padding: 12px 20px;width: 100%;justify-content: center;margin-top: 40px;}
}

/*
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;}
  }
}

/*
slider
*/
.section-type-slider{
  width: 100%;
  img {border-radius: 0}
  @media (max-width: 1200px) {
    &.swiper {display: none;}
  }
}


/* accordions */
.section-type-accordions {
  display: grid;
  gap:40px;
  .section-header p {text-wrap: balance;}
  .items {
    display: grid;
    gap:25px;
    max-width:700px;margin: auto;
  }
}
details {
  padding: 24px 29px calc(24px - 15px);
  border: 1px solid #ebebeb;
  border-radius: 12px;

  &::details-content {
    overflow-y: clip;
    padding-top: 15px;
  }
  &:not([open])::details-content {
    height: 0;
    transition: height 300ms 150ms,
      content-visibility 300ms 300ms allow-discrete,
      opacity 100ms 0ms;
  }
  &[open]::details-content {
    height: auto; opacity: 1;
    transition: height 300ms 0ms, content-visibility 300ms 0ms allow-discrete,
    opacity 100ms 150ms;
  }
  &[open] .acc-icon-open {display: none;}
  &:not([open]) .acc-icon-close {display: none;}
}

summary {
  line-height: 1;
  cursor: pointer;
  display: flex;
  column-gap: 15px;
  justify-content: space-between;
  align-items: center;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.421em;
  text-wrap: pretty;
  i {
    flex-shrink: 0;
    background-color: var(--primary);border-radius: 10rem;width: 24px;height: 24px;display: grid;
    color:var(--text-onprimary);
    place-items: center;
    svg {width: 50%;height: 50%;}
  }
}
@media (min-width: 768px) {
  details::details-content {
    padding-right: 32px;
  }
}

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) }
  .grid-col-2 {grid-template-columns: repeat( 2,1fr) }
  .grid-col-3 {grid-template-columns: repeat( 2,1fr) }
  .container-md-grid { gap: 2rem}
}
@media (min-width: 992px) {
  .grid-col-3 {grid-template-columns: repeat( 3,1fr) }
}

.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 {
  font-family: inherit;
  outline:none;
  color: var(--input-text);
  padding: 9px 16px;
  width: 100%;
  border:0;
  font-size: 14px;
  border-radius: var(--input-radius);
  background-color: var(--input-bg);
  border: var(--input-border) solid 2px;
}
::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: var(--primary) solid 2px;}
span.wpcf7-not-valid-tip {font-size: .9em}
#your-message+span.wpcf7-not-valid-tip {top: -5.8em}
.wpcf7-acceptance {
  font-size: 14px;
  label {line-height: 1.2;font-weight: 400;display: flex;align-items: start;}
}
.wpcf7-validation-errors {color: #bf2b47; }

.form-submit {position: relative;margin-top: 1rem;}
.wpcf7-submit {width: 100%;justify-content: center;}
.wpcf7-submit.btn {padding: 16px 32px;width: 100%;font-size: 16px;font-weight: 600;}
.wpcf7 .wpcf7-spinner {margin: 0 1rem;top: 0.6rem;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 form .wpcf7-response-output {margin: 0 !important;line-height: 1.4;}
}

/*
footer
*/

.site-footer
{
  /*margin-top: 3em;*/
  padding-block:var(--size-3);
  font-size: 18px;
  color:#6c6e79;
 .container {display: grid;gap:var(--size-2)}

 a {
    columns: inherit;
    transition: color .2s ease-out;
    text-decoration: none;
    &:hover {
      color:var(--black);
    }
    .current-menu-item>& {
      text-decoration: underline;
    }
  }

  .menu {
    display: flex;flex-direction: row;flex-wrap: wrap; gap:1rem;
  }

  @media (min-width: 768px) {
    .container {display: flex ; justify-content: space-between;}
    .menu {display: flex;gap:var(--size-2)}
  }
}
body.footer-fixed .site-footer{position: fixed;z-index: -1;left: 0;right: 0;bottom: 0;}



.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: 20px;
  position: fixed;
  bottom: 35px;
  place-content:center;
  width: 40px;height: 40px;
  background-color: var(--primary);color: var(--text-onprimary);
  transition: .35s ease-out;
  border-radius: 6px;
  z-index: 1000;
  svg {font-size: 48px; color: inherit; stroke-width: 3px;transition: transform .4s cubic-bezier(.26, .57, .14, .81);transform: translateY(0);}
  &:hover {
    background-color: var(--secondary);
    svg {
      transform: translateY(-4px);
    }
  }
  @media (min-width: 992px) {
    display: grid;
    .js body.scroll-ontop & {opacity: 0;pointer-events: none}
    .js body:not(.scroll-ontop) & {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;    }

/*
shortcode SC-countdown
*/
.SC-countdown {
  text-align: center;
  .segment {display: block;color:var(--primary);font-size: 69px;font-weight: 600;line-height: 1;}
  .text {display: block;font-size: 19px;font-weight: 600;color:var(--secondary)}
}
/*
reveal
*/
