/** Shopify CDN: Minification failed

Line 643:7 Expected ":"
Line 996:2 Unexpected "<"
Line 3093:18 Unexpected "{"
Line 3093:27 Expected ":"
Line 3094:18 Unexpected "{"
Line 3094:27 Expected ":"
Line 3100:18 Unexpected "{"
Line 3100:27 Expected ":"
Line 4121:40 Expected ":"

**/
/* PS - base */

.test {
  position: absolute;
  z-index: 10;
  height: 100 dvh;
  width: 100 dvw;
}

/* =========================
PS HEADER
========================= */

/* Reset menu lists */
.ps-header__menu,
.ps-header__dropdown {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Parent must anchor the absolute dropdown */
.ps-header__item {
  position: relative;
}

/* Dropdown hidden by default */
.ps-header__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 240px;

  background: rgba(15,15,15,0.96);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 10px;

  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 0.2s ease;

  z-index: 9999;
}

/* Show on hover */
.ps-header__item.is-open > .ps-header__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ps-header__link,
.ps-header__link:visited,
.ps-header__link:active,
.ps-header__link:focus {
  color: #fff; /* ou ta couleur exacte */
  text-decoration: none;
}

/* Links */
.ps-header__dropdown-link {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #fff;
  white-space: nowrap;
}
.ps-header__dropdown-link:hover{
  color:  #a80533;
}


.ps-header__dropdown-link:hover {
  background: rgba(255,255,255,0.08);
}


.ps-header {
  position: fixed;
  top: 18px;
  left: 0;
  right: 0;
  z-index: 999999;

  display: flex;
  justify-content: center;
  pointer-events: none;
}

.ps-header__capsule{
  position: relative;
  pointer-events: auto;
  width: min(100% - 32px, 1280px);;
  margin: 0 auto;

  height: 90px;              /* centre verticalement */
  padding-inline: clamp(16px, 3vw, 36px);           /* marge gauche/droite + grande */
  border-radius: 25px;

  background: rgba(88, 88, 88, 0.14);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);

  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(16px);

  display: flex;
  align-items: center;       /* centre verticalement logo + menu */
  justify-content: space-between;
  gap: 18px;
}


.ps-header__brand{ display: inline-flex; align-items: center; gap: 12px; text-decoration:none; }
.ps-header__logo{ height: 34px; width: auto; display:block; }
.ps-header__textlogo{ color:#fff; font-weight: 800; letter-spacing: .5px; }

.ps-header__menu{ 
    height: 100%;
    list-style:none; 
    display:flex; 
    align-items: center;
    gap:22px; 
    margin:0; 
    padding:0; 
}

.ps-header__menu,
.ps-header__link,
.ps-header__cta{
  font-family: Helvetica, Arial, sans-serif;
}

.ps-header__item{
  height:100%;
  display:flex;
  align-items:center;
  margin: 0px;
}

.ps-header__hint { 
    margin-top: 8px; 
    font-size: 12px; 
    opacity: .7; 
}

.ps-header__nav{
  order: 2;                  /* menu après le bouton */
  margin-left: 0;         /* pousse le menu complètement à droite */
  height: 100%;
  display: flex;
  align-items: center;
}

.ps-header__link{ 
  display: flex;
  color: #fff;
  height: 100%;
  font-weight:600;
  font-size:15px;
  letter-spacing:0.2px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  line-height:1;
  padding: 0 4px;
  margin: 0px;
  transition: transform .28s cubic-bezier(.2,.9,.2,1), color .18s ease, opacity .18s ease;
  transform: scale(1); 
  gap: 6px;
}

.ps-header__link:hover{
  color: #a80533;
  transform: scale(1.1);
}

.ps-header__link[aria-current="page"],
.ps-header__menu .list-menu__item--active .ps-header__link,
.ps-header__menu li.active .ps-header__link{
  color: #a80533;
  opacity: 1;
  transform: scale(1);

}

.ps-header__actions{
  height: 100%;
  display: flex;
  align-items: center;
  gap:12px;
  margin-left: auto;
}

.ps-header__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width: 120px;
  height:44px;
  padding: 0px 18px;
  border-radius: 50px;

  background:#a80533; 
  color: #fff;
  box-shadow: 0 5px 10px rgb(71, 71, 71);

  text-decoration:none;
  font-weight: 800;
  font-size: 14px;
  white-space: nowrap;

  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  will-change: transform, box-shadow;

}

.ps-header__cta:hover,
.ps-header__drawerCta:hover {
  transform: translateY(-2px);
  color: #fff;
  /* glow = ta couleur du bouton (ajuste si tu veux) */
  box-shadow: 0 5px 10px #a80533;
  filter: brightness(1.03);
}

.ps-header__burger{
  display:none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
}

.ps-header__burger svg{ 
  width:22px; 
  height:22px; 
  display:block; 
  margin:auto; 
}

.ps-header__brand{ order: 1; }
.ps-header__actions{ order: 2; }
.ps-header__nav{ order: 3; }
.ps-header__icons{ order: 4; }

.ps-header__iconLink{
  display: flex;
  color: #fff;
  height: 100%;
  font-weight:600;
  font-size:15px;
  letter-spacing:0.2px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  line-height:1;
  padding: 0 4px;
  margin: 0px;
  transition: transform .28s cubic-bezier(.2,.9,.2,1), color .18s ease, opacity .18s ease;
  transform: scale(1); 
}

.ps-header__iconLink:hover{
  color: #a80533;
  transform: scale(1.1);
}
/* =========================
PS HERO 
========================= */

.ps-container { 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: auto; 
  margin: 0; 
  padding: 0 70px;
 }
.ps-section { 
    overflow: hidden; 
}

.ps-section.ps-hero {
  position: relative;
  height: var(--ps-hero-h-desktop);
}

.ps-hero{
  position: relative;
  overflow: hidden;
}

.ps-hero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ps-hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.ps-hero__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}


.ps-hero__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45); /* ajuste: .25 léger, .55 plus dark */
  z-index:1;
}

/* ton contenu doit passer au-dessus */
.ps-hero__inner{
  position: relative;
  z-index: 2;
}

.ps-btn { 
    font-family: Helvetica, Arial, sans-serif;
    font-size: 20px; 
    display:inline-block; 
    padding:12px 18px; 
    border-radius:20px; 
    font-weight:700; 
    text-decoration:none; 
}
.ps-btn--primary { 
    background:#a80533; 
    color:#fff; 
}
/* PS - HERO */
.ps-hero { 
  height: var(--ps-hero-h-desktop, 100dvh);
  padding: 0px 15px; 
  min-height: 520px;
}
/*
.ps-hero__inner { 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    gap:30px; 
    margin: 70px 0px 70px 0px;
    min-height: 600px;
}
*/

.ps-hero__inner{
  min-height: 0;              /* IMPORTANT: enlève le blocage */
  height: 100%;               /* prend la hauteur du hero */
  margin: 0;                  /* enlève le margin rigide */
  display: flex;
  padding: 70px 0px 0px 24px;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(14px, 2.5vh, 30px);
}

.ps-hero__title {
  
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 80px;        /* ajuste au besoin */
  line-height: 0.95;
  letter-spacing: -0.03rem;
  text-align: left;
  max-width: 80%;
  color: #fff ;
  margin: 10px 0 ;
  font-weight: 900 ;
  text-decoration: none ;
}

.ps-hero__subtitle {
  font-family: Helvetica, Arial, sans-serif;
  color: #fff ;
  font-size: 22px ;
  margin: 0 0 18px ;
  margin-top: 20px;
  margin-bottom: 26px;
  text-decoration: none ;
}

.ps-hero__rating{
    display:flex;
    align-items:center;
    gap:10px;
}

.ps-hero__rating-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.ps-hero__rating-link:hover{
  opacity:.9;
}

.ps-hero__badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:9999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.35);
}

.ps-hero__stars{
  display:flex;
  align-items:center;
  gap:0px;      /* espace entre étoiles */
  line-height:0; /* empêche le “vide” vertical */
}

.ps-hero__star{
  width:16px;
  height:16px;
  display:block;
  flex: 0 0 auto;
  fill:#facc14;
}

.ps-hero__rating-text{
  font-family: Helvetica, Arial, sans-serif;
  color:#fff;
  font-size:14px;
  line-height:1;
  opacity:.95;
}

.ps-hero__rating-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.ps-hero__google svg{
  width:16px;
  height:16px;
  display:block;
}

.ps-sticky-call{
  display: none;
}

/* =========================
   PS PROMO POPUP (GLOBAL)
========================= */

.psPromo[hidden]{ display:none; }

.psPromo{
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.psPromo__btn{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  border: 0; 
  border-radius: 30px; 
  padding: 12px 16px; 
  background: #a80533;
  text-transform: none; 
  color: #fff; 
  font-weight: 800; 
  cursor: pointer; 
}

.psPromo__btn:hover { 
  transform: translateY(-2px);
  color: #fff;
  /* glow = ta couleur du bouton (ajuste si tu veux) */
  box-shadow: 0 5px 10px #a80533;
  filter: brightness(1.03);
  background: #A80533;
}

.psPromo__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
}

.psPromo__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%);
  width: min(760px, calc(100vw - 36px));
  background: #fff;
  border-radius: 26px;
  padding: 34px 28px 26px;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
  text-align: center;
  overflow: hidden;
}

.psPromo__x{
  position: absolute;
  top: 14px;
  right: 14px;

  width: 44px;
  height: 44px;

  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 26px;
  line-height: 1;
  font-weight: 400;
  color: #111;

  cursor: pointer;
  z-index: 5;

  transition: background .2s ease, transform .15s ease;
}

.psPromo__x:hover{
  background: rgba(0,0,0,.12);
  transform: scale(1.05);
}


.psPromo__confetti{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.psConfettiPuff{
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 10px;
  height: 14px;
  border-radius: 2px;
  background: #a80533;
  opacity: .95;
  will-change: transform, opacity;
}

.psConfettiPuff:nth-child(3n){ background:#0b1220; }
.psConfettiPuff:nth-child(4n){ background:#f2c94c; }
.psConfettiPuff:nth-child(5n){ background:#27ae60; }


.psPromo__title{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  margin: 6px 0 8px;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.05;
  color: #0b1220;
}

.psPromo__title span{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 70px;
  font-weight: 900;
  color: #a80533;
}

.psPromo__sub{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  margin: 0 0 18px;
  font-size: 20px;
  color:#0b1220;
}

.psPromo__form{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  margin-top: 16px;
}

.psPromo__grid{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  display:grid;
  font-size: 15px;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  background: #f3f3f3;
  padding: 14px;
  border-radius: 16px;
  margin-bottom: 20px;
}

.psPromo__field{
  text-align:left;
}

.psPromo__label{
  display:block;
  font-
}


.psPromoLauncher{
  position: fixed;
  left: 16px;
  bottom: 0;
  z-index: 9999;

  background:rgb(255, 255, 255);
  border: 1px solid rgba(15,42,46,.18);
  border-bottom: 0;

  border-radius: 14px 14px 0 0;
  box-shadow: 0 -6px 18px rgba(0,0,0,.12);

  padding: 16px 18px 14px;
  min-width: 220px;

  display: flex;
  flex-direction: column;
  gap: 10px;

  transform: translateY(0);
  opacity: 1;
  transition:
    transform 1.6s cubic-bezier(.22,1,.36,1),
    opacity 1.2s ease;
  will-change: transform, opacity;
}

.psPromoLauncher.is-hidden{
  transform: translateY(160%);
  opacity: 0;
  pointer-events: none;
}

.psPromoLauncher.is-hard-hidden{
  display: none;
}


.psPromoLauncher__btn{
  appearance: none;
  border: 0;
  background: transparent;

  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  border-radius: 999px;
  color: #a80533;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .02em;
  cursor: pointer;

  padding: 0;
  white-space: nowrap;
}


/* X en haut à droite */
.psPromoLauncher__x{
  position: absolute;
  top: -10px;
  right: -10px;

  width: 24px;
  height: 24px;

  border-radius: 50%;
  border: none;
  background: #a80533;

  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;

  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0,0,0,.25);
}

.psPromoLauncher__x::before{
  content: "×";
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-1px); /* micro-ajustement optique */
}

.psPromoLauncher__x:hover{
  transform: scale(1.05);
  background: #111;
}



/* =========================
PS HERO responsive scaling
========================= */


  /* Titre */
  .ps-hero__title{
    font-size: var(--ps-hero-title-size-d, 88px);
    line-height: 0.98;
    letter-spacing: -0.02em;
    margin: 0 0 clamp(10px, 1.8vh, 18px);
  }

  /* Sous-titre */
  .ps-hero__subtitle{
    font-size: var(--ps-hero-subtitle-size-d, 20px);
    line-height: 1.35;
    max-width: 46ch;
    margin: 0 0 clamp(14px, 2.2vh, 26px);
  }

  /* Bouton (on override ton .ps-btn mobile qui le rend mini) */
  .ps-hero__left .ps-btn{
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    font-size: var(--ps-hero-btn-font-d, 16px) ;
    padding: var(--ps-hero-btn-pad-y-d, 14px) var(--ps-hero-btn-pad-x-d, 26px) ;
    border-radius: 999px;
    white-space: nowrap;
  }

  /* Spacing global du hero quand tu changes la hauteur */
  .ps-hero__inner{
    gap: clamp(12px, 2vh, 28px);
  }


/* ============================================
PS SERVICES
============================================ */

  .ps-services {
    background: #f5f5f5;
    padding: 70px 0px 70px 0px;
    
  }

  .ps-services__header {
    text-align: center;
    margin-bottom: 50px;
  }

  .ps-services__eyebrow {
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #a80533;
    margin-bottom: 5px;
    letter-spacing: 1px;
  }

  .ps-services__title {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    font-weight: 900;
    color: #0b1220;
    margin: 0;
    text-transform: uppercase;
    line-height: 1.1;
  }

  .ps-services__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .ps-services__card {
    max-height: 250px;
    background: #f5f5f5;
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .ps-services__card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
  }

  .ps-services__cardImage {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .ps-services__cardImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px;
  }

  .ps-services__cardPlaceholder {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .ps-services__cardContent {
    position: relative;
    z-index: 2;
    text-align: center;
  }

  .ps-services__cardTitle {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin: 0;
    line-height: 1.2;
    text-shadow: 3px 2px 10px black;
  }

/* ============================================
PS REVIEWS
============================================ */

  .ps-reviews {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #e8e8e8;
  }

  .ps-reviews__header {
    text-align: center;
    margin-bottom: 50px;
  }

  .ps-reviews__eyebrow {
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #a80533;
    margin-bottom: 8px;
    text-transform: capitalize;
    letter-spacing: 0.5px;
  }

  .ps-reviews__title {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 48px;
    font-weight: 900;
    color: #0b1220;
    margin: 0;
    line-height: 1.1;
  }

  .ps-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
  }

  .ps-reviews__card {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .ps-reviews__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }

  .ps-reviews__cardHeader {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
  }

  .ps-reviews__avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: #5a5a5a;
  }

  .ps-reviews__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-reviews__avatarPlaceholder {
    width: 100%;
    height: 100%;
    background: #5a5a5a;
    border-radius: 50%;
  }

  .ps-reviews__stars {
    display: flex;
    gap: 2px;
  }

  .ps-reviews__star {
    width: 20px;
    height: 20px;
    display: block;
  }

  .ps-reviews__cardBody {
    text-align: left;
  }

  .ps-reviews__text {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #0b1220;
    margin: 0 0 12px;
  }

  .ps-reviews__name {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #5a5a5a;
    margin: 0;
  }

/* ============================================
PS VIDEOS
============================================ */

  <style>
  .acs-video-trio { 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100dvh;
    padding: 56px 0; 
  }

  .acs-video-trio__container { 
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 20px; 
  }

  .acs-video-trio__kicker{
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    text-align: center;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: #b10f2e;
    font-size: 22px;
    margin-bottom: 8px;
  }

  .acs-video-trio__title{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 48px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    font-size: clamp(30px, 4vw, 54px);
    margin: 0 0 28px;
    letter-spacing: -0.02em;
  }

  .acs-video-trio__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }
  
  .acs-marquee{
  padding: 70px 0 ;
  }

  .acs-marquee__kicker{
    text-align:center;
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #a80533;
    margin-bottom: 5px;
    letter-spacing: 1px;
  }

  .acs-marquee__title{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    margin: 0 0 28px;
    text-transform: uppercase;
  letter-spacing: -0.02em;
  }

  .acs-marquee__rows{
    margin: 70px 0px 70px 0px;
    display:flex;
    flex-direction:column;
    gap: 18px;
  }

  .acs-marquee__row{
    position: relative;
    overflow: hidden;
    display:flex;
    gap: 22px;
    align-items:center;
    --marquee-duration: 28s;
  }

  .acs-marquee__track{
    display:flex;
    align-items:center;
    gap: 42px;
    flex-shrink: 0;
    animation: acsMarquee var(--marquee-duration) linear infinite;
  }

  .acs-marquee__row.is-reverse .acs-marquee__track{
    animation-direction: reverse;
  }

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

  .acs-marquee__item{
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 4px 0;
  }

  .acs-marquee__item img{
    height: 42px;         /* ajuste si tu veux plus gros */
    width: auto;
    display:block;
    opacity: 0.95;
  }

    .acs-marquee__viewport{
    overflow: hidden;
    width: 100%;
  }

  .acs-marquee__loop{
    display: flex;
    width: max-content;
    will-change: transform;
    animation: acsLogoLoop var(--marquee-duration, 28s) linear infinite;
  }

  .acs-marquee__row.is-reverse .acs-marquee__loop{
    animation-direction: reverse;
  }

  .acs-marquee__group{
    display: flex;
    align-items: center;
    gap: clamp(22px, 4vw, 46px);
    padding-right: clamp(22px, 4vw, 46px);
    flex: 0 0 auto;
  }

  .acs-marquee__item{
    flex: 0 0 auto;
  }

  .acs-marquee__item img{
    height: 44px;
    width: auto;
    display: block;
  }

  @keyframes acsLogoLoop{
    to{ transform: translateX(calc(var(--acs-cycle, 0px) * -1)); }
  }

  @media (prefers-reduced-motion: reduce){
    .acs-marquee__loop{ animation: none; }
  }


/* ============================================
PS FAQ
============================================ */
  

  .acs-faq{
    padding: 70px 30px;
  }

  .acs-faq__kicker{
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    text-align: center;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: #a80533;
    font-size: 24px;
    margin-bottom: 5px;
  }

  .acs-faq__title{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
  }

  .acs-faq__box{
    background:#e9e9e9;
    border-radius: 18px;
    padding: 14px 18px;
    max-width: 980px;
    margin: 0 auto;
  }

  .acs-faq__item{
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  .acs-faq__item:last-child{
    border-bottom: none;
  }

  .acs-faq__question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 18px;
    padding: 22px 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align:left;
  }

  .acs-faq__qtext{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    text-transform: none;
    color: #0b1220;
    text-align: left;
    font-weight: 700;
    font-size: 25px;
    padding: 20px 0px 20px 0px;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }

  .acs-faq__icon{
    width: 34px;
    height: 34px;
    background:#8b0020;
    border-radius: 10px;
    transform: rotate(0deg);
    transition: transform .2s ease;
    position: relative;
    flex: 0 0 auto;
  }

  /* petit chevron */
  .acs-faq__icon::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translate(-50%,-50%) rotate(45deg);
  }

  .acs-faq__question[aria-expanded="true"] .acs-faq__icon{
    transform: rotate(180deg);
  }

  .acs-faq__answerInner{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    padding: 0 8px 18px;
    font-size: 18px;
    font-weight: 500;
    color:#222;
    line-height: 1.5;
  }

/* ============================================
PS LOCATION
============================================ */

  .acs-loc {
    background: #f3f3f3;
    padding: 70px 0;
  }

  .acs-loc__container {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
  }

  .acs-loc__header {
    text-align: center;
    margin-bottom: 40px;
  }

  .acs-loc__kicker {
    margin: 0 0 10px 0;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #a80533;
    font-size: 24px;
    margin-bottom: 5px;
  }

  .acs-loc__title {
    margin: 0;
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-weight: 900;
    font-size: 50px;
    line-height: 1.05;
    text-transform: uppercase;
    color: #111;
  }

  .acs-loc__grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 42px;
    align-items: start;
  }

  .acs-loc__left {
    padding-top: 8px;
  }

  .acs-loc__regionTitle {
    margin: 0 0 14px 0;
    font-size: 22px;
    font-weight: 900;
    color: #111;
  }

  .acs-loc__regionTitle--spaced {
    margin-top: 28px;
  }

  .acs-loc__lists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }

  .acs-loc__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .acs-loc__item {
    margin: 10px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
  }

  .acs-loc__right {
    display: flex;
    justify-content: flex-end;
  }

  .acs-loc__mapFrame {
    width: 100%;
    max-width: 520px;
    border-radius: 16px;
    border: 4px solid #8a1b2a;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  }

  .acs-loc__mapEmbed {
    width: 100%;
  }

  .acs-loc__mapEmbed iframe {
    width: 100%;
    height: 330px;
    border: 0;
    display: block;
  }

  .acs-loc__mapPlaceholder {
    padding: 18px;
    font-weight: 700;
    color: #444;
    min-height: 330px;
    display: grid;
    place-items: center;
    text-align: center;
  }

/* ============================================
Reviews marquee
============================================ */

  .ps-reviews-marquee{
    background: #e8e8e8;
    padding: 70px 0;
    overflow: hidden;
  }

  .ps-reviews-marquee__inner{
    max-width: 1200px;
    margin: 0 auto 26px;
    padding: 0 20px;
    text-align: center;
  }

  .ps-reviews-marquee__container{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }


  .ps-reviews-marquee__kicker{
    font-family: Helvetica, Arial, sans-serif;
    display: block;
    text-align: center;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: #a80533;
    font-size: 22px;
    margin-bottom: 5px;
  }

  .ps-reviews-marquee__title{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
  }

  .ps-reviews-marquee__rows{
    display: grid;
    gap: 18px;
  }

  /* Important: on évite que ton .ps-section { overflow:hidden } vienne tuer le contenu */
  .ps-reviews-marquee,
  .ps-reviews-marquee__rows{
    overflow: visible;
  }

  /* C’est la rangée qui masque le débordement (comme un marquee) */
  .ps-reviews-marquee__row{
    overflow: hidden;
    border-radius: 22px;
  }

  /* Track = contenu qui se déplace */
  .ps-reviews-marquee__track{
    display: flex;
    gap: 18px;
    width: max-content;
    padding: 10px 0;
    will-change: transform;
  }

  /* Animations */
  .ps-reviews-marquee__row--left .ps-reviews-marquee__track{
    animation: psReviewsMarqueeLeft var(--psReviewsSpeed, 28s) linear infinite;
  }

  .ps-reviews-marquee__row--right .ps-reviews-marquee__track{
    animation: psReviewsMarqueeRight var(--psReviewsSpeed, 28s) linear infinite;
  }

  

  /* Carte */
  .ps-review-card{
    flex: 0 0 auto;
    width: 340px;
    max-width: 78vw;
    background: #ffffff;
    border-radius: 30px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  }

  .ps-review-card__top{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }

  .ps-review-card__avatar{
    width: 48px;
    height: 48px;
    border-radius: 999px;
    object-fit: cover;
  }

  .ps-review-card__avatar--empty{
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: rgba(0,0,0,0.08);
  }

  .ps-review-card__stars{
    line-height: 1;
    margin-bottom: 4px;
  }

  .ps-star{
    font-size: 14px;
    opacity: 0.25;
  }

  .ps-star.is-on{
    color: #facc14;
    opacity: 1;
  }

  .ps-review-card__name{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    color: #0b1220;
    font-weight: 700;
    font-size: 14px;
  }

  .ps-review-card__text{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    color: #0b1220;
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
  }

  .ps-reviews-marquee__fullbleed {
    width: 100%;
    overflow: hidden;
  }

  .ps-reviews-marquee__clones{
  display: contents;
}


  /* Défilement infini (on duplique 2x, donc -50%) */
  @keyframes psReviewsMarqueeLeft{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
  }

  @keyframes psReviewsMarqueeRight{
    from{ transform: translateX(-50%); }
    to{ transform: translateX(0); }
  }

  @media (prefers-reduced-motion: reduce){
    .ps-reviews-marquee__row--left .ps-reviews-marquee__track,
    .ps-reviews-marquee__row--right .ps-reviews-marquee__track{
      animation: none;
    }
  }

/* ============================================
Video-infinite
============================================ */

/* ===============================
ACS VIDEO CAROUSEL
=============================== */

  .acs-video-trio {
    padding: 70px 0;
  }

  /* Titres */
  .acs-video-trio__kicker {
    text-align: center;
    font-weight: 700;
    color: #a80533;
    letter-spacing: 0.08em;
    margin-bottom: 5px;
  }

  .acs-video-trio__title {
    text-align: center;
    margin: 0 0 28px;
    text-transform: uppercase;
  }

  /* Carousel structure */
  .acs-video-trio__carousel {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
  }

  .acs-video-trio__viewport {
    overflow: hidden;
    width: 100%;
  }

  /* IMPORTANT: le JS lit le gap ici */
  .acs-video-trio__track {
    display: flex;
    gap: 28px;
    transform: translateX(0);
    will-change: transform;
  }

  /* 3 cartes visibles desktop */
  .acs-video-trio__card {
    flex: 0 0 calc((100% - (28px * 3)) / 4);
  }

  /* Carte cliquable */
  .acs-video-trio__thumbBtn {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  /* Thumbnail */
  .acs-video-trio__thumb {
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 30px;
    background: #a80533;
    border: 7px solid #a80533; /* ajuste à ta charte */
  }

  .acs-video-trio__thumb img,
  .acs-video-trio__thumb video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 25px;
  }

  .acs-video-trio__thumbPlaceholder {
    width: 100%;
    height: 100%;
    background: #a80533;
    border-radius: 25px;
  }

  /* Bouton play */
  .acs-video-trio__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .acs-video-trio__play svg {
    width: 72px;
    height: 72px;
  }

  .acs-video-trio__play circle {
    fill: #8d0f2a;
    opacity: 0.80;
  }

  .acs-video-trio__play polygon {
    fill: #fff;
  }

  /* Caption */
  .acs-video-trio__caption {
    text-align: center;
    margin-top: 12px;
    font-weight: 600;
  }

  /* Navigation arrows */
  .acs-video-trio__nav {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: none;
    background: rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
  }

  .acs-video-trio__nav:hover {
    background: rgba(0, 0, 0, 0.12);
  }


  /* Modal vidéo */
  .acs-video-trio__modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
  }

  .acs-video-trio__modal.is-open {
    display: block;
  }

  .acs-video-trio__modalOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
  }

  .acs-video-trio__modalDialog {
    position: relative;
    width: min(980px, calc(100% - 32px));
    margin: 6vh auto 0;
    background: #fff;
    border-radius: 18px;
    padding: 16px;
  }

  .acs-video-trio__close {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: none;
    background: rgba(0, 0, 0, 0.06);
    cursor: pointer;
    float: right;
  }

  .acs-video-trio__player {
    clear: both;
    padding-top: 12px;
  }

  .acs-video-trio__player iframe,
  .acs-video-trio__player video {
    width: 100%;
    height: min(60vh, 560px);
    display: block;
  }

/* ============================================
Bg Text
============================================ */


  .acs-bg-text{ 
    position:relative; 
    height:var(--acs-bg-h,55vh); 
    overflow:hidden; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
  }


  .acs-bg-text__bg{
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  .acs-bg-text__bgImg{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .acs-bg-text__inner{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .acs-bg-text__content{
    width: 100%;
    text-align: center;
  }

  .acs-bg-text{
    position: relative;
    overflow: hidden;
  }

  /* OVERLAY DU HAUT */
  .acs-bg-text::before{
    content:"";
    position:absolute;
    left:0; right:0; top:0;
    height: var(--acs-overlay-depth, 320px);
    z-index:1;
    pointer-events:none;
    background: linear-gradient(
      to bottom,
      rgba(var(--acs-top-r,0), var(--acs-top-g,0), var(--acs-top-b,0), var(--acs-top-a,.6)) 0%,
      rgba(var(--acs-top-r,0), var(--acs-top-g,0), var(--acs-top-b,0), 0) 100%
    );
  }

  /* Ton contenu au-dessus */
  .acs-bg-text__inner{
    position: relative;
    z-index: 3;
  }


  /* overlay dégradé (LA partie mint) */
  .acs-bg-text::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height: var(--acs-overlay-depth, 320px);
    z-index:2;
    pointer-events:none;
    background: linear-gradient(
      to top,
      var(--acs-overlay-color, #3f3f3f) 0%,
      rgba(var(--acs-overlay-rgb, 63,63,63), 0.85) 35%,
      rgba(var(--acs-overlay-rgb, 63,63,63), 0.55) 55%,
      rgba(var(--acs-overlay-rgb, 63,63,63), 0.25) 75%,
      rgba(var(--acs-overlay-rgb, 63,63,63), 0) 100%
    );
  }

  .acs-bg-text__title{
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 48px;
    color: #fff;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 900;
    font-size: clamp(30px, 4vw, 54px);
    margin: 0 0 28px;
    letter-spacing: -0.02em;
    margin: 0;
  }

  .acs-bg-text__inner{ 
    position:relative; 
    z-index:3; 
    width:100%; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
  }

  .acs-bg-text__subtitle{
    font-family: "Lexend", sans-serif;
    display: block; 
    font-size: 15px; 
    font-weight: 700; 
    color: #a80533; 
    margin-bottom: 8px; 
    text-transform: capitalize; 
    letter-spacing: 0.5px;
    text-align: left;
    margin: 30px;
  }


  /* ============================================
    FOOTER MENU
    ============================================ */

  .acs-footer{
    background: var(--acs-overlay-gray, #3f3f3f);
    color: #fff;
    padding: 70px 32px 25px;
  }

  .acs-footer__inner{
    max-width: 1100px;
    margin: auto;
    padding: 20px 32px 70px;
  }


  .acs-footer__grid{
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
    gap: 48px;
    align-items: start;
  }

  .acs-footer__brandName{
    font-family: Lexend, ui-sans-serif, system-ui, sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-top: 10px;
  }

  .acs-footer__logo{
    max-width: 210px;
    height: auto;
    display: block;
  }

  .acs-footer__socials{
    display: flex;
    justify-content: left;
    gap: 30px;
    margin-top: 20px;
  }

  .acs-footer__social{
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    text-decoration: none;
    color: #fff;
  }

  .acs-footer__social:hover{
    background: #3f3f3f;
  }

  .acs-footer__socialIcon{
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 0.06em;
  }

  .acs-footer__heading{
    font-family: Lexend, ui-sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 14px;
    opacity: 0.95;
  }

  .acs-footer__list{
    font-family: Lexend, ui-sans-serif, system-ui, sans-serif;
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
  }

  .acs-footer__item{
    opacity: 0.92;
    text-decoration: none;
    position: relative;
  }

  .acs-footer__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background: currentColor;

    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
  }

  .acs-footer__item:hover::after {
    transform: scaleX(1);
  }

  .acs-footer__item:hover{
    opacity: 1;
  }

  .acs-footer__bottom{
    margin-top: 50px;
  }

  .acs-footer__line{
    height: 1px;
    background: rgba(255,255,255,0.16);
    margin-bottom: 18px;
  }

  .acs-footer__copyright{
    font-size: 12px;
    opacity: 0.75;
  }

/* ============================================
History
============================================ */

  .ps-history {
    padding: 90px 0;
  }

  .ps-history__inner {
    display: block;
  }

  .ps-history__header {
    text-align: center;
    margin-bottom: 48px;
  }

  .ps-history__kicker {
    font-family: "Lexend", sans-serif;
    display: block; 
    font-size: 18px; 
    font-weight: 700; 
    color: #a80533; 
    margin-bottom: 8px; 
    text-transform: capitalize; 
    letter-spacing: 0.5px;
  }

  .ps-history__title {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
  }

  .ps-history__grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
  }

  .ps-history__text {
    font-family: "Lexend", sans-serif;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 300;
    color: #1a1a1a;
  }

  .ps-history__media {
    background: #4a4a4a;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .ps-history__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ps-history__placeholder {
    width: 100%;
    height: 100%;
  }

/* ============================================
Team
============================================ */

  .ps-team {
    padding: 90px 0;
  }

  .ps-team__header {
    text-align: center;
    margin-bottom: 44px;
  }

  .ps-team__grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
    justify-items: center;
  }

  .ps-team__card {
    width: 100%;
    max-width: 340px;
    text-align: center;
  }

  .ps-team__media {
    background: #4a4a4a;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .ps-team__meta {
    margin-top: 20px;
    display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
  } 

  .ps-team__name,
  .ps-team__role{
    font-family:"Lexend", ui-sans-serif, system-ui, sans-serif;
    font-weight:900;
    line-height:1;
    margin:0;
  }

  .ps-team__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .ps-team__placeholder {
    width: 100%;
    height: 100%;
  }

  .ps-team__name {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: #21201e;
    text-align: center;

    /* Contour texte */
    -webkit-text-stroke: 0.6px #a80533;
    text-stroke: 0.6px #a80533;

  }

  .ps-team__role {
    margin: 0;
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #a80533;
  }


  /* ============================================
   Global Titles
   ============================================ */

  .ps-kicker {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #a80533;
    margin: 0 0 8px;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    text-align: center;
  }

  .ps-title {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }



/* =========================
PS COLLECTION SECTION
========================= */

  .ps-collection-skin {
    margin-top: 64px;
  }

  /* ----- TITRE ----- */
  .ps-collection-skin h1 {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 50px;
    color: #0b1220;
    text-align: center;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 28px;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }

  .fancybox-content {
    margin-top: 120px !important;
  }

  /* ----- SOUS-LIGNE / DIVIDER ----- */
  .ps-collection-skin .feature_divider {
    width: 72px;
    height: 4px;
    background-color: #a80533;
    margin: 0 auto 56px;
    border-radius: 2px;
  }

/* =========================
GRID PRODUITS
========================= */

  .ps-collection-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
  }


/* =========================
CARD PRODUIT
========================= */

  .ps-collection-grid .thumbnail {
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    transition: transform .25s ease, box-shadow .25s ease;
  }

  .ps-collection-grid .thumbnail:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,0.12);
  }

  /* Image */
  .ps-collection-grid .thumbnail__image {
    background: #f6f6f6;
  }

  /* Titre produit */
  .ps-collection-grid .thumbnail__title {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #21201e;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }

  /* Prix */
  .ps-collection-grid .thumbnail__price {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #a80533;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }

    /* Cards collection */
  .thumbnail.ps-product-card {
    min-width: 260px;
    padding-bottom: 15px;
  }

  /* Fix le titre qui se casse */
  .thumbnail.ps-product-card a,
  .thumbnail.ps-product-card h3,
  .thumbnail.ps-product-card h4 {
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
    line-height: 1.25;
  }

  /* Safety si ton thème force du break-all */
  .thumbnail.ps-product-card * {
    margin-bottom: 5px;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  /* =========================
PS QUOTE FORM (DESKTOP STYLE)
========================= */

.ps-quote{
  padding: 130px 20px;
  background: #fff;
}

.ps-quote__inner{
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.ps-quote__kicker{
  font-family: Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 24px;
  color: #a80533;
  text-align:center;
  margin-bottom: 5px;
  letter-spacing: 1px;
}

.ps-quote__title{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin: 0 0 18px;
  font-weight: 900;
  letter-spacing: -0.03rem;
  text-transform: uppercase;
  font-size: 56px;
  line-height: 1.05;  
  color: #111 ;

}

.ps-quote__subtitle{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin: 0 0 34px;
  font-weight: 800;
  color: #111;
  font-size: 22px;
  text-align: center;
}

.ps-quote__form{
  margin: 0 auto;
}

/* Cartes (les gros blocs gris arrondis) */
.ps-quote__card{
  background: #f2f2f2;
  border-radius: 18px;
  padding: 22px;
  margin: 0 auto 22px;
  max-width: 860px;
  text-align: left;
}

.ps-quote__cardTitle{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin: 0 0 14px;
  text-align: center;
  font-weight: 700;
  color: #111;
  font-size: 24px;
}

/* Grille des 3 champs en haut */
.ps-quote__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.ps-quote__field{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ps-quote__label{
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 900;
  font-size: 16px;
  color: #a80533;
}

.ps-quote__input,
.ps-quote__textarea{
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px 14px;
  font-size: 16px;
  color: #111;
  outline: none;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}

.ps-quote__textarea{
  min-height: 150px;
  resize: vertical;
}

/* Focus clean */
.ps-quote__input:focus,
.ps-quote__textarea:focus{
  border-color: rgba(139,15,26,.35);
  box-shadow: 0 0 0 4px rgba(139,15,26,.10);
}

.ps-thanksModal { 
  position: fixed; 
  inset: 0; 
  z-index: 9999; 
  display: grid; 
  place-items: center; 
  padding: 16px; 
}

.ps-thanksModal__backdrop { 
  position: absolute; 
  inset: 0; 
  background: rgba(0,0,0,.5); 
}

.ps-thanksModal__panel { 
  position: relative; 
  width: min(720px, 100%); 
  background: #fff; 
  border-radius: 22px; 
  padding: 34px 26px; 
  text-align: center; 
  box-shadow: 0 20px 60px rgba(0,0,0,.25); 
}

.ps-thanksModal__icon { 
  width: 64px; 
  height: 64px; 
  border-radius: 999px; 
  margin: 0 auto 14px; 
  display: grid; 
  place-items: center; 
  background: #a80533; 
  color: #fff; 
  font-size: 34px; 
  font-weight: 800; 
}

.ps-thanksModal__title { 
  font-family: Helvetica, Arial, sans-serif;
  display: block;
  font-size: 26px;
  font-weight: 900;
  color: #a80533;
  margin-bottom: 5px;
  text-align: center;
}

.ps-thanksModal__text { 
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  margin: 0 auto 18px; 
  max-width: 54ch; 
  color: #0b1220;
}

.ps-thanksModal__btn { 
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  border: 0; 
  border-radius: 30px; 
  padding: 12px 16px; 
  background: #a80533; 
  color: #fff; 
  font-weight: 700; 
  cursor: pointer; 
}
.ps-thanksModal__btn:hover { 
  transform: translateY(-2px);
  color: #fff;
  /* glow = ta couleur du bouton (ajuste si tu veux) */
  box-shadow: 0 5px 10px #a80533;
  filter: brightness(1.03);
  background: #A80533;
}


/* =========================
SERVICES (cases)
========================= */

.ps-quote__services{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 6px;
}

/* Une case */
.ps-service{
  background: #ffffff;
  border-radius: 16px;
  padding: 16px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

.ps-service__input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ps-service__box{
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #e9e9e9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

/* texte service */
.ps-service__text{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 600;
  color: #111;
  font-size: 15px;
  line-height: 1.15;
}

/* état coché : carré rouge + check blanc */
.ps-service__input:checked + .ps-service__box{
  background: #A80533;
}

.ps-service__input:checked + .ps-service__box::after{
  content: "✓";
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  transform: translateY(-1px);
}

/* Hover subtil */
.ps-service:hover{
  transform: translateY(-1px);
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* =========================
BOUTON + FOOTNOTE
========================= */

.ps-quote__actions{
  max-width: 860px;
  margin: 18px auto 0;
  text-align: center;
}

.ps-quote__submit{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  appearance: none;
  border: 0;
  cursor: pointer;
  border-radius: 30px;
  padding: 16px 28px;
  font-weight: 900;
  font-size: 16px;
  background: #A80533;
  color: #fff;
  box-shadow: 0 10px 24px rgba(139,15,26,.18);
}

.ps-quote__submit:hover{
  transform: translateY(-2px);
  color: #fff;
  /* glow = ta couleur du bouton (ajuste si tu veux) */
  box-shadow: 0 5px 10px #a80533;
  filter: brightness(1.03);
  background: #A80533;
}

.ps-quote__microcopy{
  margin: 12px 0 0;
  font-size: 14px;
  color: rgba(17,17,17,.65);
  font-weight: 700;
}

/* Success / errors */
.ps-quote__success{
  max-width: 860px;
  margin: 0 auto 14px;
  background: rgba(0,0,0,.04);
  border-radius: 14px;
  padding: 14px 16px;
  font-weight: 800;
  color: #111;
}

.ps-quote__errors{
  max-width: 860px;
  margin: 0 auto 14px;
  background: rgba(139,15,26,.08);
  border-radius: 14px;
  padding: 14px 16px;
}



/* =========================
   POPUP PRODUIT – STYLE TEXTE GLOBAL
========================= */

.fancybox-container,
.fancybox-container * {
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif !important;
  color: #A80533 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

/* 2) Backup si ton thème utilise un wrapper quick shop différent */
.quick_shop__lightbox,
.quick_shop__lightbox * ,
.modal,
.modal * {
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif !important;
  color: #A80533 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

.fancybox-container .product-block h1,
.fancybox-container .product-block h2,
.fancybox-container .product-block h3 {
  color: #000000 !important;
}


    /* Popup Quick shop Fancybox */
  .quick_shop__lightbox .product-block--description__text,
  .quick_shop__lightbox .product-block--description_text,
  .quick_shop__lightbox .product-block--description__text p,
  .quick_shop__lightbox .product-block--description_text p {
    font-family: "Lexend", ui-sans-serif, system-ui, sans-serif !important; /* ou ton font exact */
    font-size: 16px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    color: #a80533 !important; /* ajuste à ta couleur */
    font-weight: 500 !important;
  }

/* =========================
   PAGE PRODUIT – STYLE TEXTE GLOBAL (SECTION PRODUIT SEULEMENT)
========================= */

.global-wrapper__product {
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  color: #A80533;
}

/* Tous les textes à l’intérieur de la section produit */
.global-wrapper__product p,
.global-wrapper__product span,
.global-wrapper__product div,
.global-wrapper__product li,
.global-wrapper__product ul,
.global-wrapper__product ol,
.global-wrapper__product label,
.global-wrapper__product a,
.global-wrapper__product small,
.global-wrapper__product strong,
.global-wrapper__product em {
  font-family: inherit;
  color: inherit;
  line-height: 1.55;
  letter-spacing: 0;
  font-weight: 500;
}

/* Titre produit (noir seulement) */
.global-wrapper__product h1,
.global-wrapper__product h2,
.global-wrapper__product h3,
.global-wrapper__product .product-block-title,
.global-wrapper__product .product-block-title a {
  color: #000000 !important;
  font-weight: 900;
}


/* =========================
 produit
========================= */

    /* Offset page produit sous le header sticky */
  .global-wrapper__product {
    padding-top: 120px;
  }
/* =========================
PS CAMERA DE SURVEILLANCE
========================= */

.ps_serviceHero{
  background: var(--ps_serviceHero_bg, #fff);
}

.ps_serviceHero__inner{
  max-width: var(--ps_serviceHero_maxw, 980px);
  margin: 0 auto;
  padding: var(--ps_serviceHero_pady, 80px) 18px;
  text-align: center;
}

.ps_serviceHero__eyebrow{
  width: 72px;
  height: auto;
  background-color:transparent;
  margin: 0 auto 56px;
  border-radius: 2px;
  width: 72px;
  height: 4px;
  color: #a80533;
  margin: 0 auto 56px;
  border-radius: 2px;
}

.ps_serviceHero .ps_serviceHero__eyebrow{
  display: inline-block;
  width: auto;
  height: auto;
  background: transparent;
  padding: 0;
  margin: 0 0 10px;

  font-family: "Lexend", sans-serif;
  display: block; 
  font-size: 18px; 
  font-weight: 700; 
  color: #a80533; 
  margin-bottom: 8px; 
  text-transform: capitalize; 
  letter-spacing: 0.5px;

  white-space: nowrap;
}

.ps_serviceHero__title{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 50px;
  color: #0b1220;
  text-align: center;
  font-weight: 900;
  text-transform: uppercase;
  margin: 0 0 56px;
  letter-spacing: -0.02em;
  line-height: 1.1;
}


.ps_serviceHero__content{
  text-align: left;
  max-width: 1200px;
  margin: 0;
}

.ps_serviceHero__heading{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: 26px;
  line-height: 1.15;
  color: var(--ps_serviceHero_accent, #B11E2D);
}

.ps_serviceHero__body{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ps_serviceHero_text, #111);
}

.ps_serviceHero__body p{
  margin: 0;
}

/* =========================
PS STEPS + IMAGE
========================= */

.ps_steps{
  background: var(--ps_steps_bg, #fff);
  font-family: "Lexend", sans-serif;
}
.ps_steps *{
  font-family: "Lexend", sans-serif;
}

.ps_steps__inner{
  max-width: var(--ps_steps_maxw, 1100px);
  margin: 0 auto;
  padding: var(--ps_steps_pady, 80px) 18px;
}

.ps_steps__grid{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 40px;
  align-items: center;
}

.ps_steps__title{
  font-family: "Lexend", sans-serif;
  display: block; 
  font-size: 28px; 
  font-weight: 800; 
  color: #a80533; 
  margin-bottom: 8px; 
  letter-spacing: 0.5px;
}

.ps_steps__lead{
  font-family: "Lexend", sans-serif;
  display: block; 
  font-size: 18px; 
  font-weight: 700; 
  color:rgb(0, 0, 0); 
  margin-bottom: 8px; 
  letter-spacing: 0.5px;
}

.ps_steps__list{
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.ps_steps__item{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 10px 0;
  color: var(--ps_steps_text, #111);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 500;
}

.ps_steps__check{
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ps_steps_accent, #A80533);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  margin-top: 1px;
}

.ps_steps__note{
  font-family: "Lexend", sans-serif;
  display: block; 
  font-size: 18px; 
  font-weight: 700; 
  color:rgb(0, 0, 0); 
  margin-bottom: 20px; 
  letter-spacing: 0.5px;
}

.ps_steps__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--ps_steps_accent, #A80533);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
}

.ps_steps__right{
  display: flex;
  justify-content: center;
}

.ps_steps__image{
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 24px;
  display: block;
}

.ps_steps__imagePlaceholder{
  width: 320px;
  height: 320px;
  border-radius: 24px;
  background: #3b3b3b;
  opacity: 0.9;
}

/* =========================
PS CONTACT BAR - CANVA STYLE (CLEAN)
========================= */

.ps-contactbar{
  position: relative;
  z-index: 5;
  margin-top: calc(var(--overlap) * -1);
  padding: 0 20px 20px;
  background: transparent;
}

.ps-contactbar__wrap{
  width: min(var(--maxw), 100%);
  margin: 0 auto;
}

.ps-contactbar__card{
  background: #fff;
  border-radius: var(--radius);
  box-shadow: 0 18px 60px rgba(0,0,0,.18);
  overflow: hidden;
}

.ps-contactbar__grid{
  display: grid;
  grid-template-columns: 1fr 1px 1fr 1.3fr;
  align-items: stretch;
  min-height: 170px;
}

.ps-contactbar .ps-contactbar__card{
  height: 200px;
  overflow: hidden;
}

.ps-contactbar .ps-contactbar__grid{
  height: 100%;
}

/* Map prend toute la hauteur */
.ps-contactbar .ps-contactbar__map,
.ps-contactbar .ps-contactbar__mapFrame,
.ps-contactbar .ps-contactbar__mapFrame iframe{
  height: 100%;
}

/* Grille principale */
.ps-contactbar .ps-contactbar__grid{
  display: grid;
  grid-template-columns: 1fr 1px 1fr 1.3fr;
  grid-template-rows: auto 100px; /* titre puis contenu */
  grid-template-areas:
    "title  title   title  map"
    "phone  divider email  map";
  align-items: stretch;
  min-height: 170px;
}

/* Placement exact */
.ps-contactbar .ps-contactbar__title--main{ grid-area: title; }
.ps-contactbar .ps-contactbar__item--phone{ grid-area: phone; }
.ps-contactbar .ps-contactbar__divider--mid{ grid-area: divider; }
.ps-contactbar .ps-contactbar__item--email{ grid-area: email; }
.ps-contactbar .ps-contactbar__map--main{ grid-area: map; }

/* Titre centré */
.ps-contactbar .ps-contactbar__title--main{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px 28px 10px;
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-weight: 900;
  font-size: clamp(30px, 4vw, 54px);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
  color: #a80533;
}

/* Items (phone / email) */
.ps-contactbar .ps-contactbar__item{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 28px 26px;
}

/* Divider */
.ps-contactbar .ps-contactbar__divider{
  display: none;
  background: rgba(0,0,0,.08);
}

/* Map */
.ps-contactbar .ps-contactbar__map{
  background: #f3f3f3;
  min-height: 0;
}

.ps-contactbar .ps-contactbar__mapFrame{
  width: 100%;
  height: 100%;
  min-height: 0;
}

.ps-contactbar .ps-contactbar__mapFrame iframe{
  width: 100% !important;
  height: 100% !important;
  border: 0;
  display: block;
}

/* Lien + icône */
.ps-contactbar .ps-contactbar__link{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-weight: 900;
  font-size: 22px;
  margin-bottom: 8px;
  text-decoration: none;
  letter-spacing: 0.5px;
  color: #111;
  line-height: 1.2;
}

.ps-contactbar .ps-contactbar__link:hover{
  text-decoration: underline;
}

/* Icônes */
.ps-contactbar .ps-contactbar__icon{
  background: #fff;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111;
  flex-shrink: 0;
}

.ps-contactbar .ps-contactbar__icon svg{
  width: 36px;
  height: 36px;
  display: block;
}

.ps-contactbar .ps-contactbar__svg_mail{
  width: 42px;
  height: 42px;
  display: block;
}

/* ============================================
SECTION VILLES CTA
============================================ */

/* Le texte garde la largeur du conteneur */
#shopify-section-{{ section.id }} .ps-textcta__text,
#shopify-section-{{ section.id }} .rte{
  max-width: none;
  width: 100%;
}

/* Juste le titre est plus étroit = 2 lignes */
#shopify-section-{{ section.id }} .ps-textcta__title-inner{
  display: inline-block;
  max-width: 680px;   /* ajuste: 600-750px selon ton goût */
  font-family: Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #a80533;
  margin-bottom: 5px;
  letter-spacing: 1px;
}


#ps-textcta-SECTIONID{
  /* placeholder */
}

.ps-textcta__wrap{
  max-width: var(--ps-textcta-maxw, 980px);
  margin: 0 auto;
  padding: 70px 0px 70px 0px;
}

.ps-textcta__title{
  font-family: Helvetica, Arial, sans-serif;
  margin: 0 0 18px;
  color: #a80533;
  font-weight: 900;
  line-height: 1.15;
  font-size: clamp(22px, 2.2vw, 34px);
}

.ps-textcta__body{
  color: #111;
  font-size: 18px;
  line-height: 1.65;
}

.ps-textcta__body p{
  margin: 0 0 18px;
  display: inline-block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  color:rgb(0, 0, 0);
  margin-bottom: 5px;
  letter-spacing: 1px;
}

.ps-textcta__actions{
  margin-top: 34px;
}

.ps-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 26px;
  border-radius: 999px;
  background: #8B0F1A;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  font-size: 18px;
}

/* hover simple */
.ps-btn:hover{
  filter: brightness(0.95);
}

/* =========================
PS MINI CTA
========================= */

.ps-mini-cta{
  padding: 80px 20px;
  background: #fff;
}

.ps-mini-cta__wrap{
  margin: 0 auto;
  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.ps-mini-cta__text{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color:rgb(0, 0, 0);

  max-width: 1100px; /* clé pour garder 2 lignes propres */
}

.ps-mini-cta__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  color: #fff !important;

  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  background: #8b0f1a;
  padding: 16px 26px;
  border-radius: 999px;

  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease;
}

.ps-mini-cta__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 55px rgba(0,0,0,.22);
}

/* =========================
   PS SERVICES MINT – STYLE FINAL
========================= */

.ps-services-mint{
  padding: 72px 30px;
}

.ps-services-mint__inner{
  max-width: 1200px;
  margin: 0 auto;
}

/* TITRES */
.ps-services-mint__kicker{
  font-family: Helvetica, Arial, sans-serif;
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #a80533;
  margin-bottom: 5px;
  letter-spacing: 1px;
  text-align: center;
}

.ps-services-mint__title{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 50px;
  font-weight: 900;
  color: #0b1220;
  text-transform: uppercase;
  line-height: 1.1;
  text-align: center;
  line-height: 1.05;
  margin-bottom: 40px;
}

/* =========================
   RANGÉES
========================= */

.ps-services-mint__row{
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

/* Colonnes dynamiques */
.ps-services-mint__row--cols-1{ grid-template-columns: 1fr; }
.ps-services-mint__row--cols-2{ grid-template-columns: repeat(2, 1fr); }
.ps-services-mint__row--cols-3{ grid-template-columns: repeat(3, 1fr); }
.ps-services-mint__row--cols-4{ grid-template-columns: repeat(4, 1fr); }

/* =========================
   CARTES
========================= */

.ps-services-mint__card{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 260px;
  border-radius: 26px;
  overflow: hidden;
  background: #e6e6e6;
  text-decoration: none;
}

/* Images */
.ps-services-mint__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Placeholder */
.ps-services-mint__placeholder{
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#dcdcdc,#bfbfbf);
  color: rgba(0,0,0,.4);
}

.ps-services-mint__img,
.ps-services-mint__placeholder{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.ps-services-mint__placeholderIcon{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.5);
  backdrop-filter: blur(8px);
}

/* Overlay */
.ps-services-mint__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.25) 45%,
    rgba(0,0,0,0) 70%
  );
  pointer-events: none;
}

/* Titre carte */
.ps-services-mint__cardTitle{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  text-shadow: 0 6px 24px rgba(0,0,0,.35);
}

/* Hover subtil (desktop) */
@media (hover:hover){
  .ps-services-mint__card:hover .ps-services-mint__overlay{
    background: linear-gradient(
      to top,
      rgba(0,0,0,.65) 0%,
      rgba(0,0,0,.3) 45%,
      rgba(0,0,0,.05) 70%
    );
  }
}

/* Kill the "white band" caused by focus styles above the footer */
main:focus,
main:focus-within,
#MainContent:focus,
#MainContent:focus-within,
.content-for-layout:focus,
.content-for-layout:focus-within,
.template-page main:focus-within,
.template-page #MainContent:focus-within{
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Si la ligne est générée par un pseudo-élément */
main:focus-within::before,
main:focus-within::after,
#MainContent:focus-within::before,
#MainContent:focus-within::after,
.content-for-layout:focus-within::before,
.content-for-layout:focus-within::after{
  content: none !important;
  display: none !important;
}




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


  @media (max-width: 1024px) {
    .ps-services__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .ps-services__title {
      font-size: 40px;
    }

    .ps-reviews__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .ps-reviews__title {
      font-size: 36px;
    }
    .ps-videos__grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .ps-videos__title {
      font-size: 36px;
    }
  }


  @media (max-width: 640px) {


    .ps-services__grid {
      padding: 0px 30px 0px 30px;
      gap: 16px;
    }

    .ps-services__title {
      font-size: 40px;
    }

    .ps-services__cardTitle {
      font-size: 18px;
    }
    .ps-reviews {
      padding: 60px 30px;
    }

    .ps-reviews__grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    .ps-reviews__title {
      font-size: 28px;
    }

    .ps-reviews__card {
      padding: 24px 20px;
    }

    .ps-reviews__text {
      font-size: 14px;
    }
      .ps-videos {
      padding: 60px 0;
    }

    .ps-videos__grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    .ps-videos__title {
      font-size: 28px;
    }

    .ps-videos__playBtn {
      width: 60px;
      height: 60px;
    }

    .ps-videos__playBtn svg {
      width: 32px;
      height: 32px;
    }
  }

  @media (max-width: 905px) {

      .ps-services {
      padding: 60px 0;
    }

    .ps-services__eyebrow {
    font-size: 18px;
    }

    .ps-reviews-marquee__title{
      font-size: 40px;
    }

    .ps-reviews-marquee__kicker{
      font-size: 18px;
    }

    .acs-video-trio__title{
      font-size: 40px;
    }

    .acs-video-trio__kicker{
      font-size: 18px;
    }

    .acs-marquee__title{
      font-size: 40px;
    }

    .acs-marquee__kicker{
      font-size: 18px;
    }

    .acs-faq__title{
      font-size: 40px;
    }

    .acs-faq__kicker{
      font-size: 18px;
    }

    

    .acs-loc__title{
      font-size: 40px;
    }

    .acs-loc__kicker{
      font-size: 18px;
    }

    .acs-video-trio__track {
      gap: 20px;
    }

    .acs-video-trio__card {
      flex: 0 0 calc((100% - 20px) / 2);
    }

    .acs-video-trio__nav {
      width: 40px;
      height: 40px;
      font-size: 26px;
    }

    .mobile-search-bar{
      display:none;
    }

    /* =========================
PS HEADER
========================= */

    html, body{
      overflow-x: hidden;
    }

    .ps-header {
      padding: 0 15px;
    }


    .ps-header__nav{
      display: none;
    }

    .ps-header__actions{
      display: none;
    }


    .ps-header__drawerPanel{
      position: fixed;
      inset: 0;
      width: auto;
      height: fit-content;
      max-height:85dvh;
      border-radius: 30px;
      max-width: none;

      background: #dcdcdc;
      overflow: auto;
      box-sizing: border-box;

      padding: 90px 22px 28px;

    }

    .ps-header__drawer > summary{
      list-style: none;
    }
    .ps-header__drawer > summary::-webkit-details-marker{
      display: none;
    }

    .ps-header__cta{ 
      display:none; 
    }

    .ps-header__drawer > .ps-header__burger{
      position: relative;
      z-index: 10000;
      width: 46px;
      height: 46px;
      border-radius: 12px;
      display: grid;
      place-items: center;
    }

    .ps-header__drawer[open] > .ps-header__burger svg{
      display: none;
    }
    .ps-header__drawer[open] > .ps-header__burger::after{
      content: "✕";
      font-size: 22px;
      line-height: 1;
      color: #0b1220;
    }

    /* Bouton Call us (full width pill) */
    .ps-header__drawerCta{
      font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      width: 100%;
      box-shadow: 0 5px 10px rgb(71, 71, 71);
      max-width: 520px;
      margin-left: auto;
      margin-right: auto;
      padding: 5px 5px;
      border-radius: 9999px;
      text-decoration: none;
      font-weight: 900;
      font-size: 13px;

      /* Mets ta couleur ici */
      background: #a80533;
      color: #fff;
    }

    /* Liste */
    .ps-header__drawerMenu{
      font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      font-weight: 900;
      justify-content: center;
      max-width: 520px;
      margin-left: auto;
      margin-right: auto;
      list-style: none;
      margin: 22px;
      margin-bottom: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .ps-header__drawerLink{
      display: flex;
      align-items: center;
      justify-content: space-between;
      text-decoration: none;
      font-size: 15px;
      font-weight: 800;
      color:rgb(255, 255, 255);
      padding: 10px 2px;
  }


    .ps-header__drawerChevron{
      font-size: 18px;
      opacity: .8;
    }

    /* Sous-menu */
    .ps-header__drawerSub{
      border-radius: 18px;
    }
    .ps-header__drawerSub > summary{
      cursor: pointer;
      list-style: none;
    }
    .ps-header__drawerSub > summary::-webkit-details-marker{
      display: none;
    }

    .ps-header__drawerSubMenu{
      list-style: none;
      margin: 10px 0 0;
      padding: 0 0 0 10px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .ps-header__drawerSubLink{
      text-decoration: none;
      font-size: 12px;
      font-weight: 700;
      color: #0b1220;
      padding: 6px 6px;
      border-radius: 12px;
      display: inline-block;
    }

        /* Hover des items du menu (liens) */
    .ps-header__drawerLink,
    .ps-header__drawerSubLink,
    .ps-header__drawerSub > summary.ps-header__drawerLink {
      display: inline-flex;            /* sinon le scale fait weird */
      align-items: center;
      transform-origin: left center;
      transition: transform 180ms ease, color 180ms ease;
      will-change: transform;
    }

    /* Hover + focus (accessibilité) */
    .ps-header__drawerLink:hover,
    .ps-header__drawerLink:focus-visible,
    .ps-header__drawerSubLink:hover,
    .ps-header__drawerSubLink:focus-visible,
    .ps-header__drawerSub > summary.ps-header__drawerLink:hover,
    .ps-header__drawerSub > summary.ps-header__drawerLink:focus-visible {
      transform: scale(1.1);
      color: #a80533;                  /* ton rouge */
    }

    .ps-header__link{
      display: none;
    }
    
    .ps-header__burger{
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: grid;
      place-items: right;
      justify-content:center; 

      border: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .ps-header__capsule {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .ps-header__capsule {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    /* Le logo */
    .ps-header__brand { order: 1; }

    /* Le burger (summary) */
    summary.ps-header__burger { order: 3; }

    /* Les icônes si tu les gardes */
    .ps-header__actions { 
      order: 2; 
    }

    .ps-header__icons {
      display: none;
    }
    .ps-mobile-actions.ps-mobile-actions--compact {
      display: flex;
      justify-content: space-between;
      align-items: center;

      padding: 6px 16px 12px;
      margin: 6px 0 12px;

      border-bottom: 1px solid rgba(0,0,0,0.08);
    }

    .ps-mobile-actions--compact .ps-mobile-action {
      display: inline-flex;
      align-items: center;
      gap: 4px;

      padding: 4px 6px;
      border-radius: 999px;

      background: transparent;
      color: #ffffff ;
      text-decoration: none ;

      font-weight: 600;
      font-size: 12px;
      line-height: 1;
      white-space: nowrap;
    }

    .ps-mobile-actions--compact .ps-mobile-action svg {
      width: 14px;
      height: 14px;
      fill: currentColor;
      opacity: 0.75;
    }

    .ps-mobile-actions--compact .ps-mobile-action span {
      font-size: 12px;
      line-height: 1;
    }

    .ps-mobile-actions--compact .ps-mobile-action:hover {
      background: rgba(0,0,0,0.05);
    }

    .ps-mobile-actions--compact .ps-mobile-action:active {
      transform: scale(0.96);
    }

    .ps-mobile-actions--compact,
    .ps-mobile-actions--compact .ps-mobile-action,
    .ps-mobile-actions--compact .ps-mobile-action span {
      font-family: 'Lexend', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
      font-weight: 500;
      letter-spacing: 0;
    }

  .ps-header__capsule {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* burger à droite */
  .ps-header__drawer {
    order: 3;
    margin-left: auto;
  }

  /* si tu as un bloc actions (compte/search/panier) */
  .ps-header__actions {
    order: 1;
    margin-right: 0;
  }

  

/* =========================
PS HERO
========================= */

    .ps-section.ps-hero {
      position: relative;
      height: var(--ps-hero-h-mobile);
    }

    .ps-container {
      padding: 0;
      min-height: 500px;
      margin: 0;
      flex-grow: 1;
    }

    .ps-hero__inner { 
      padding: 170px 15px 50px; 
      flex-direction: column; 
      align-items: flex-start; 
    }
    
    .ps-hero__title{ 
      font-size: 27px; 
    }

    .ps-hero__subtitle {
      font-family: Helvetica, Arial, sans-serif;
      color: #fff;
      font-size: 15px;
      margin: 35px 0 35px;
    }


    .ps-btn {
      font-family: Helvetica, Arial, sans-serif;
      font-size: 13px;
      display: inline-block;
      padding: 10px 25px;
      border-radius: 25px;
    }

      .ps-sticky-callWrap{
      position: fixed;
      top: 100;
      left: 0;
      right: 0;
      bottom: 0;
      height: 40px;

      padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);

      box-shadow: 0 -10px 30px rgba(0,0,0,.16);

      z-index: 2000;
    }

    .ps-sticky-call{
      position: fixed;
      left: 16px;
      right: 16px;
      bottom: calc(16px + env(safe-area-inset-bottom));
      height: 35px;

      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      line-height: 1;

      border-radius: 9999px;
      text-decoration: none;

      /* Mets tes couleurs */
      background: #a80533;
      color:rgb(255, 255, 255);

      font-family: "Lexend", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      font-weight: 800;
      box-shadow: 0 12px 30px rgba(0,0,0,.18);
      font-size: 13px;

      z-index: 2000; /* assez haut pour rester visible */
    }

  .acs-video-trio__container {
      /* enlève les hauteurs rigides sur mobile */
      height: auto !important;
      min-height: unset !important;
      padding: 34px 16px !important;
    }

    /* Le wrapper du carousel doit être relatif pour placer les flèches */
    .acs-video-trio__carousel {
      position: relative;
      width: 100%;
      margin-top: 18px;
      padding: 0; /* pas de padding qui mange l’espace */
    }

    /* La zone qui “clip” doit permettre les grosses cartes */
    .acs-video-trio__viewport,
    .acs-video-trio__track {
      overflow: visible; /* important pour que les flèches puissent respirer */
    }

    /* Chaque card devient grosse comme Mint */
    .acs-video-card,
    .acs-video-trio__video_card {
      width: 78vw !important;     /* gros format mobile */
      max-width: 320px;
      aspect-ratio: 9 / 16;       /* look Mint: vertical reels */
      border-radius: 26px;
    }

    /* La vidéo/image remplit bien */
    .acs-video-card video,
    .acs-video-trio__video_card video,
    .acs-video-card img,
    .acs-video-trio__video_card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 26px;
      display: block;
    }

    /* Flèches par-dessus les vidéos */
    .acs-video-trio__nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 44px;
      height: 44px;
      border-radius: 999px;
      background: rgba(0,0,0,0.35);
      backdrop-filter: blur(6px);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 5;
    }

    .acs-video-trio__nav--prev { left: -10px; }
    .acs-video-trio__nav--next { right: -10px; }

    /* Icône flèche */
    .acs-video-trio__nav svg,
    .acs-video-trio__nav img {
      width: 18px;
      height: 18px;
    }

      .acs-video-trio__nav:focus {
      outline: none;
    }

    .acs-video-trio__nav:focus-visible {
      outline: none;
    }

    /* Si tes flèches sont “dans le flux” et te cassent tout, force-les */
    .acs-video-trio__nav,
    .acs-video-trio__nav button {
      pointer-events: auto;
    }

    /* Espace entre cartes (Mint = assez serré) */
    .acs-video-trio__track {
      gap: 16px;
    }

    .acs-video-trio__play svg {
      width: 56px;
      height: 56px;
    }

    .acs-video-trio__play circle {
      fill: #8d0f2a;
      opacity: 0.80;
    }
    
    .acs-marquee__item img{ height: 34px; }
    .acs-marquee__track{ gap: 28px; }

    .acs-faq__qtext{ font-size: 18px; }
    .acs-faq__box{ padding: 10px 12px; }
  .acs-loc {
      padding: 48px 0;
    }

  [data-acs-location] .acs-loc__grid{
    display:grid;
    grid-template-columns: 1.05fr 1fr;
    gap:42px;
    align-items:start;
  }

  [data-acs-location] .acs-loc__right{
    display:flex;
    justify-content:flex-end;
  }

  [data-acs-location] .acs-loc__mapFrame {
      max-width: 100%;
    }


  [data-acs-location] .acs-loc__lists {
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

  [data-acs-location]  .acs-loc__item {
      font-size: 17px;
    }

    /* empile tout */
    .acs-loc__grid{
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    /* map en haut */
    .acs-loc__right{
      order: -1;
      width: 100%;
    }

    .acs-loc__left{
      order: 1;
      width: 100%;
    }

    /* map horizontale */
    .acs-loc__mapFrame{
      width: 100%;
    }

    .acs-loc__mapEmbed{
      width: 100%;
      aspect-ratio: 16 / 9;
      border-radius: 16px; /* optionnel */
      overflow: hidden;
    }

    .acs-loc__mapEmbed iframe{
      width: 100%;
      height: 100%;
      display: block;
      border: 0;
    }

    .acs-loc__link{ 
      text-decoration: underline; 
    }
    
    .acs-loc__link:hover{ 
      text-decoration-thickness: 2px; à
    }
  
  .ps-hero{
    height: var(--ps-hero-h-mobile, 85dvh);
    min-height: 420px; /* safety */
  }

  .ps-hero__inner{
    padding: clamp(18px, 5vh, 48px) 0;
  }

  .ps-hero__title{
    font-size: var(--ps-hero-title-size-m, 44px);
    padding-top: 15px;
  }
  .ps-hero__subtitle{
    font-size: var(--ps-hero-subtitle-size-m, 16px);
  }
  .ps-hero__left .ps-btn{
    font-size: var(--ps-hero-btn-font-m, 14px) !important;
    padding: var(--ps-hero-btn-pad-y-m, 12px) var(--ps-hero-btn-pad-x-m, 20px) !important;
  }


  /* Force le wrapper en flex */
  .ps-collection-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  /* OVERRIDE le système de colonnes du thème */
  .ps-collection-grid .ps-product-card {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important
  }

  /* ANNULE le 100% mobile imposé par le thème */
  .ps-collection-grid .medium-down--one-whole {
    width: calc(50% - 8px) !important;
  }

  .ps-collection-grid .column {
    width: auto !important;
    float: none !important;
    clear: none !important;
  }

/* ============================================
   POPUP PROMO
============================================ */

  .psPromoLauncher{
    left: auto;
    right: 0;                 /* collé au bord */
    bottom: 84px;            /* plus bas, au-dessus de la call bar */

    border-radius: 14px 0 0 14px; /* pas arrondi à droite */
    padding: 10px 12px 10px;

    min-width: unset;
    width: auto;

    z-index: 100001;
  }

  /* bouton plus compact */
  .psPromoLauncher__btn{
    font-size: 12px;
    padding: 0;
    white-space: nowrap;
  }

  /* X en haut à gauche */
  .psPromoLauncher__x{
    right: auto;
    left: -10px;              /* le “badge” déborde à gauche */
    top: -10px;
  }

  .psPromo__panel{
    margin-top: 26px;
    width: calc(100vw - 32px); /* un peu plus étroit */
    padding: 24px 20px 22px;   /* moins de padding */
    transform: translate(-50%, -50%) scale(0.94);
    
    max-height: calc(90dvh - 96px); /* limite la hauteur totale */
    overflow: hidden;                /* scroll seulement si nécessaire */

    padding: 50px 18px 20px;         /* réduit la hauteur interne */
    transform: translate(-50%, -50%) scale(0.94);
  }

  .psPromo__subHideMobile{
    display: none;
  }

  .psPromo__title{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  margin: 6px 0 8px;
  font-weight: 700;
  font-size: 35px;
  line-height: 1.05;
  color: #0b1220;
}

.psPromo__title span{
  margin-top: 18px;
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 50px;
  font-weight: 900;
  color: #a80533;
  margin-bottom: 0;
}

.psPromo__sub{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  margin: 0 0 20px;
  font-size: 15px;
  font-weight: 500;
  color:#0b1220;
}

.psPromo__form{
  font-family: "Lexend", ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  margin-top: 16px;
}

/*
.psPromo .psPromo__grid{
  grid-template-columns: 1fr;
  gap: 12px;
}
*/

  /* ============================================
  History
  ============================================ */

    .ps-history {
      padding: 64px 16px;
    }

    .ps-history__header {
      text-align: center;
      margin-bottom: 22px;
    }

    .ps-history__grid {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .ps-history__right {
      order: 1;
    }

    .ps-history__left {
      order: 2;
    }

      .ps-history__title {
      font-size: 40px;
    }

      .ps-history__kicker {
      font-size: 18px;
    }

    .ps-history__text {
      font-size: 16px;
      text-align: center;
    }

    .ps-history__media {
      border-radius: 18px;
      aspect-ratio: 1 / 1; /* plus "card" comme Mint */
    }


  /* ============================================
  footer
  ============================================ */


    .acs-footer {
      padding: 48px 0 28px;
    }

    /* Ton wrapper inner/page-width */
    .acs-footer__inner {
      padding-left: 22px;
      padding-right: 22px;
    }

    /* Grid -> 1 colonne, tout centré */
    .acs-footer__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 26px;
      align-items: start;
      justify-items: start; /* on garde le texte aligné gauche comme MiNT */
    }

    /* Colonne brand */
    .acs-footer__brand {
      max-width: 420px;
    }

    /* Logo + nom */
    .acs-footer__logo {
      max-width: 220px;
      height: auto;
      display: block;
      margin-bottom: 14px;
    }

    .acs-footer__brandName {
      margin-bottom: 14px;
    }

    /* Socials en ligne, spacing propre */
    .acs-footer__socials {
      display: flex;
      gap: 14px;
      margin-top: 12px;
    }

    .acs-footer__socialImg {
      width: 34px;
      height: 34px;
      display: block;
    }

    /* Colonnes "Entreprise / Services / Villes" -> bloc standard */
    .acs-footer__col {
      width: 100%;
      max-width: 520px;
    }

    .acs-footer__heading {
      margin-bottom: 12px;
    }

    .acs-footer__list {
      margin: 0;
      padding: 0;
    }

    .acs-footer__item {
      margin: 0 0 12px;
    }

    /* Séparateur + copyright */
    .acs-footer__bottomLine {
      margin-top: 34px;
      opacity: 0.25;
    }

    .acs-footer__copyright {
      margin-top: 18px;
      font-size: 12px;
      opacity: 0.85;
    }

    
    .ps-team {
      padding: 64px 16px;
    }

    .ps-team__header {
      margin-bottom: 26px;
    }

    .ps-team__grid {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .ps-team__card {
      max-width: 360px;
    }

    .ps-team__media {
      border-radius: 18px;
    }

    .ps-team__name,
    .ps-team__role {
      font-size: 18px;
    }


    .ps-title{
      font-size: 40px;
    }

    .ps-kicker{
      font-size: 18px;
    }

/* =========================
PS Service Hero
========================= */

  /* Conteneur: centrage + spacing propre */
  .ps_serviceHero .ps_serviceHero__inner{
    display:flex;
    flex-direction:column;
    align-items:center;        /* centre les blocs */
    text-align:center;         /* centre le texte */
    gap: 16px;                 /* ESPACE vertical global */
    padding: calc(var(--ps_serviceHero_pady, 80px) * 0.75) 16px;
  }

  /* Reset des marges par défaut (sinon spacing incohérent) */
  .ps_serviceHero .ps_serviceHero__inner > *{
    margin: 0;
  }

  /* Eyebrow: étroit, bien centré, wrap clean */
  .ps_serviceHero .ps_serviceHero__eyebrow{
    display:block;             /* PAS flex */
    font-size: 16px;           /* ou 18px si tu veux */
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0.1px;
    text-transform: none;
    white-space: normal;
    text-wrap: balance;

    width: 100%;
    max-width: 34ch;           /* hiérarchie: le plus étroit */
    margin-inline: auto;       /* centre la boîte */
  }
  

  /* H1 noir: un peu plus large */
  .ps_serviceHero .ps_serviceHero__title{
    font-size: 32px;
    line-height: 0.95;

    width: 100%;
    max-width: 18ch;           /* plus large que eyebrow */
    margin-inline: auto;
  }

  /* Gros rouge: plus large encore */
  .ps_serviceHero .ps_serviceHero__subtitle{
    font-size: 20px;           /* si c’est ton gros rouge */
    line-height: 1.15;

    width: 100%;
    max-width: 34ch;
    margin-inline: auto;
  }

  /* Texte: même largeur que le gros rouge */
  .ps_serviceHero .ps_serviceHero__content{
    width: 100%;
    max-width: 34ch;
    margin-inline: auto;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }

  .ps_serviceHero__heading {
    font-size: 20px;
  }

  .ps_serviceHero .ps_serviceHero__content p{
    margin: 0;                 /* pas de marges parasites */
    font-size: 14px;
  }

  /* Option: si tu veux un peu plus d’air entre H1 et le gros rouge */
  .ps_serviceHero .ps_serviceHero__title{ margin-bottom: 4px; }

  /* =========================
PS STEPS + IMAGE
========================= */

/* wrapper */
  .ps_steps{
    background: var(--ps_steps_bg);
    color: var(--ps_steps_text);
  }

  .ps_steps__inner{
    max-width: var(--ps_steps_maxw);
    margin: 0 auto;
    padding: calc(var(--ps_steps_pady, 80px) * 0.75) 16px;
  }

  /* layout: empile + centre */
  .ps_steps__grid{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px; /* espace global */
  }

  .ps_steps__left{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;  /* centre les blocs */
    text-align: center;   /* centre titres */
    gap: 14px;            /* spacing entre éléments */
  }

  /* Titre : largeur contrôlée, centre visuel */
  .ps_steps__title{
    font-size: 20px;
    width: 100%;
    max-width: 32ch;
    margin: 0;
    line-height: 1.05;
  }

  /* Lead (gras) : un peu plus large que le titre */
  .ps_steps__lead{
    width: 100%;
    font-size: 16px;
    max-width: 34ch;
    margin: 0;
    font-weight: 700;
    line-height: 1.25;

    /* si tu veux le look brochure */
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }

  /* Liste : même largeur que le lead, mais alignée gauche */
  .ps_steps__list{
    width: 100%;
    max-width: 34ch;
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    flex-direction: column;
    gap: 14px;
    
    text-align: left;
    font-size: 14px;
    line-height: 1.35;
  }

  .ps_steps__item{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
  }

  .ps_steps__check{
    color: var(--ps_steps_accent);
    line-height: 1.2;
    flex: 0 0 auto;
    transform: translateY(1px);
  }

  .ps_steps__text{
    font-size: 14px;
    line-height: 1.35;
  }

  /* Note (gras) : même largeur que le lead, justifié */
  .ps_steps__note{
    width: 100%;
    max-width: 34ch;
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }

  /* Bouton centré */
  .ps_steps__btn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1;
    margin: 6px auto 0;
  }

  /* Image en bas, bien clean */
  .ps_steps__right{
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .ps_steps__image,
  .ps_steps__imagePlaceholder{
    width: 100%;
    max-width: 520px;
    border-radius: 18px;
    overflow: hidden;
  }

  /* =========================
PS FAQ – RESPONSIVE (<=905px)
========================= */

    /* QUESTION (onglet) */
  .acs-faq .acs-faq__question{
    padding: 14px 14px; /* optionnel: réduit un peu la hauteur */
  }

  .acs-faq .acs-faq__qtext{
    font-size: 16px;
    line-height: 1.25;
  }

  /* RÉPONSE */
  .acs-faq .acs-faq__answerInner,
  .acs-faq .acs-faq__answerInner p,
  .acs-faq .acs-faq__answerInner li{
    font-size: 13px;
    line-height: 1.45;
  }

  /* Si tes richtexts ont des marges trop grosses */
  .acs-faq .acs-faq__answerInner p{
    margin: 0 0 10px;
  }

  /* Icone (si elle force de la place) */
  .acs-faq .acs-faq__icon{
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }

/* =========================
PS FLOATING BANNER – RESPONSIVE (<=905px)
========================= */
  /* garde un petit overlap si tu veux, sinon mets 0 */
  .ps-contactbar{
    margin-top: calc(var(--overlap) * -1);
    padding: 0 16px 18px;
  }

  .ps-contactbar__wrap{ width: 100%; }

  .ps-contactbar__card{
    border-radius: 28px;
    overflow: hidden;
  }

  /* IMPORTANT: on réécrit complètement la grille */
  .ps-contactbar__grid{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto; /* phone, email, map */
    grid-template-areas:
      "phone"
      "email"
      "map";
    min-height: 0;
    height: auto;
  }

  /* Sur mobile: on cache le gros titre "Des questions?" (Mint n’en a pas dans la card) */
  .ps-contactbar__title--main{
    display: none;
  }

  /* Chaque item = un bloc centré, avec plus d’air */
  .ps-contactbar__item{
    padding: 26px 18px;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }

  .ps-contactbar__item--phone{ grid-area: phone; }
  .ps-contactbar__item--email{ grid-area: email; }

  .ps-contactbar__link{
    display: inline-flex;
    flex-direction: column;     /* icône au dessus, texte en dessous (Mint vibe) */
    gap: 10px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
  }

  .ps-contactbar__icon{
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #fff;
  }

  .ps-contactbar__icon svg{
    width: 34px;
    height: 34px;
  }

  /* Map dessous */
  .ps-contactbar__map--main{ grid-area: map; }
  .ps-contactbar__map{
    border-bottom: 0;
    min-height: 260px;
    background: #f3f3f3;
  }

  .ps-contactbar__mapFrame{
    aspect-ratio: 16 / 10;
    width: 100%;
    overflow: hidden;
    height: 260px;
  }

  .ps-contactbar__mapFrame iframe{
    width: 100% !important;
    height: 260px !important;
    border: 0;
    display: block;
  }

  [id^="ps-contactbar-"] .ps-contactbar__title--main{
    display: none !important;
  }

  [id^="ps-contactbar-"] .ps-contactbar__grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas:
      "phone"
      "email"
      "map" !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
  }

  [id^="ps-contactbar-"] .ps-contactbar__item{
    padding: 26px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
  }

  [id^="ps-contactbar-"] .ps-contactbar__item--phone{ grid-area: phone !important; }
  [id^="ps-contactbar-"] .ps-contactbar__item--email{ grid-area: email !important; }
  [id^="ps-contactbar-"] .ps-contactbar__map--main{ grid-area: map !important; }

  [id^="ps-contactbar-"] .ps-contactbar__mapFrame{
    height: 260px !important;
  }
  [id^="ps-contactbar-"] .ps-contactbar__mapFrame iframe{
    height: 260px !important;
  }

  /* =========================
PS CONTACT BAR - MOBILE (STACK LIKE MINT)
========================= */
 /* 1. Le conteneur doit pouvoir grandir */
  .ps-contactbar{
    padding-bottom: 28px;
  }

  .ps-contactbar .ps-contactbar__card{
    height: auto;
  }

  /* 2. Grille → pile verticale */
  .ps-contactbar .ps-contactbar__grid{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "phone"
      "email"
      "map";
    min-height: 0;
    height: auto;
  }

  /* 3. On retire le gros titre desktop */
  .ps-contactbar .ps-contactbar__title--main{
    display: none;
  }

  /* 4. Blocs phone / email */
  .ps-contactbar .ps-contactbar__item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 28px 20px;
    gap: 12px;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }

  .ps-contactbar .ps-contactbar__item--phone{
    grid-area: phone;
  }

  .ps-contactbar .ps-contactbar__item--email{
    grid-area: email;
  }

  /* 5. Lien (numéro / email) */
  .ps-contactbar .ps-contactbar__link{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 20px;
    line-height: 1.15;
    margin: 0;
    text-align: center;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* 6. Icônes plus grandes */
  .ps-contactbar .ps-contactbar__icon{
    width: 54px;
    height: 54px;
    border-radius: 999px;
    display: grid;
    place-items: center;
  }

  .ps-contactbar .ps-contactbar__icon svg{
    width: 30px;
    height: 30px;
  }

  /* 7. Map en bas */
  .ps-contactbar .ps-contactbar__map--main{
    grid-area: map;
    border-bottom: none;
  }

  .ps-contactbar .ps-contactbar__mapFrame{
    height: 260px;
  }

  .ps-contactbar .ps-contactbar__mapFrame iframe{
    height: 100%;
  }

    /* Force tout le module à respecter le viewport */
  [id^="ps-contactbar-"] .ps-contactbar__card,
  [id^="ps-contactbar-"] .ps-contactbar__grid,
  [id^="ps-contactbar-"] .ps-contactbar__item,
  [id^="ps-contactbar-"] .ps-contactbar__map,
  [id^="ps-contactbar-"] .ps-contactbar__mapFrame{
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* L’iframe aussi (si elle a un width HTML ou style inline) */
  [id^="ps-contactbar-"] .ps-contactbar__mapFrame iframe{
    width: 100%;
    max-width: 100%;
    display: block;
  }

  /* Optionnel mais souvent nécessaire: empêche un enfant de “forcer” la largeur */
  [id^="ps-contactbar-"] *{
    min-width: 0;
    box-sizing: border-box;
  }
  /* =========================
PS QUOTE FORM (Mobile STYLE)
========================= */

/* Wrapper */
  .ps-quote {
    padding: 130px 16px;
  }

  .ps-quote__inner {
    max-width: 100%;
  }

  /* Titres */
  .ps-quote__title {
    font-size: 32px;
    line-height: 1.15;
    text-align: center;
  }

  .ps-quote__subtitle,
  .ps-quote__kicker {
    text-align: center;
  }

  /* Cards */
  .ps-quote__card {
    padding: 20px;
  }

  /* Grille infos → 1 colonne */
  .ps-quote__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Inputs */
  .ps-quote__input,
  .ps-quote__textarea {
    font-size: 16px;
    padding: 14px 14px;
  }

  /* Services */
  .ps-quote__services {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ps-service {
    padding: 14px 16px;
  }

  .ps-service__text {
    font-size: 15px;
  }

  /* Actions */
  .ps-quote__actions {
    margin-top: 24px;
  }

  .ps-quote__submit {
    width: 100%;
    padding: 16px;
    font-size: 16px;
  }

  .ps-quote__microcopy {
    text-align: center;
    margin-top: 10px;
  }

  /* =========================
PS TEXTE + CTA
========================= */
  /* Section padding comme steps */
  [id^="ps-textcta-"].ps-textcta{
    padding: 0; /* on laisse la gestion au wrap */
  }

  /* Inner container = même logique que ps_steps__inner */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__wrap{
    max-width: var(--ps-textcta-maxw, 980px);
    margin: 0 auto;
    padding: calc(var(--ps-textcta-pady, 70px) * 0.75) 16px;

    display: flex;
    flex-direction: column;
    align-items: center;   /* centre les blocs */
    text-align: center;    /* centre le titre */
    gap: 14px;             /* spacing entre éléments */
  }

  /* Reset marges parasites */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__wrap > *{
    margin: 0;
  }

  /* Titre : largeur contrôlée comme ps_steps__title */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__title{
    width: 100%;
    max-width: 32ch;
    font-size: 20px;
    line-height: 1.05;
  }

  /* Le span interne si jamais il a des styles */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__title-inner{
    display: inline;
  }

  /* Body : même largeur que le lead, mais texte “brochure” */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__body{
    width: 100%;
    max-width: 34ch;
  }

  /* Paragraphes : petit + justifié + hyphens */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__body p{
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.55;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }

  /* Dernier paragraphe sans marge bas */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__body p:last-child{
    margin-bottom: 0;
  }

  /* CTA centré comme ps_steps__btn */
  [id^="ps-textcta-"].ps-textcta .ps-textcta__actions{
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 6px;
  }

  [id^="ps-textcta-"].ps-textcta .ps-textcta__btn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1;
  }

  /* =========================
   RESPONSIVE – PS SERVICES MINT
   Breakpoint unique : 905px
========================= */

  /* padding comme Mint */
  .ps-services-mint{
    padding: 52px 0;
  }
  .ps-services-mint__inner{
    padding-left: 18px;
    padding-right: 18px;
  }

  /* 2 colonnes par défaut (comme Mint) */
  .ps-services-mint__row{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px;
    margin-bottom: 14px;
  }

  /* si la rangée est 1 carte, elle prend toute la largeur */
  .ps-services-mint__row--cols-1{
    grid-template-columns: 1fr !important;
  }

  /* cartes moins hautes pour éviter l'effet "énorme" */
  .ps-services-mint__card{
    height: 190px;
    border-radius: 22px;
  }

  /* titre dans la carte */
  .ps-services-mint__cardTitle{
    font-size: 16px;
    left: 14px;
    right: 14px;
    bottom: 12px;
    line-height: 1.15;
  }

  /* titres de section */
  .ps-services-mint__title{
    font-size: 34px;
    margin-bottom: 26px;
  }
  .ps-services-mint__kicker{
    margin-bottom: 10px;
  }

  /* =========================
PS MINI CTA
========================= */

  .psContact__grid { 
    grid-template-columns: 1fr; 
  }

  .psContact__infos { 
    grid-template-columns: 1fr;
  }

  .psContact__row2 { 
    grid-template-columns: 1fr; 
  }

  .psContact__map iframe { 
   height: 280px; 
  }

  /* =========================
PS MINI CTA
========================= */
  .ps-mini-cta{
    padding: 52px 0;
  }

  .ps-mini-cta__wrap{
    width: min(100% - 28px, 720px);
  }

  .ps-mini-cta__text{
    font-size: 18px;
    line-height: 1.4;
  }

  .ps-mini-cta__btn{
    width: 100%;
    max-width: 360px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 13px;
    display: inline-block;
    padding: 10px 25px;
    border-radius: 25px;
  }

}






