    @font-face {
      font-family: Univers-59;
      src: url(../fonts/Univers-59.otf);
    }
    @font-face {
      font-family: Univers-57;
      src: url(../fonts/Univers-57.otf);
    }
    
    @font-face {
      font-family: Univers-47;
      src: url(../fonts/Univers-47.otf);
    }
    
    @font-face {
      font-family: Univers-67;
      src: url(../fonts/Univers-67.otf);
    }
    
    @font-face {
      font-family: Knockout-67;
      src: url(../fonts/Knockout-67.otf);
    }

    body {
      background-image: url('../img/motif-background-horizontal.webp');
      background-repeat: repeat-y;
      background-position: top center;
      background-attachment: fixed;
      margin: 0;
      padding: 0;
    } 
    }

    body {
      background-image: url('../img/motif-background-horizontal.webp');
      background-repeat: repeat-y;
      background-position: top center;
      background-attachment: fixed;
      margin: 0;
      padding: 0;
    } 

    .form-group{
      margin-bottom: 0;
    }
    .univers-59{
      font-family: "Univers-59";
      /*font-size: 28px;*/
      font-weight: 400;
      line-height: initial;
    }
    .univers-57{
      font-family: "Univers-57";
      /*font-size: 16px;*/
    }    
    .univers-47{
      font-family: "Univers-47";
      /*font-size: 16px;*/
    }    
    .univers-67{
      font-family: "Univers-67";
      /*font-size: 16px;*/
    }
    .Knockout-67{
      font-family: "Knockout-67";
      /*font-size: 16px;*/
    }

    #mc_embed_signup{clear:left; font-size:13px; }
    #mc_embed_signup h2{font-size:1.1em !important;}

    /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
      We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
    .asterisk,.indicates-required{
      color: red;
    }
    p{
      text-align: justify;
    }
    .table{
      table-layout: fixed;
    }
    .form-control{
      font-size: inherit;
    }
    .big_form h1{
      font-size: 45px;
    }
    .bg-black{
      background-color: #000000 !important;
    }
    .bg-perso-grey{
      background-color: #F0F0EF !important;
    }
    .bg-perso-black{
      background-color: #222222 !important;
    }
    .disp-flex-lapt{
      display: flex;
    }
    .custom-border-form{
      background-color:#F6F6F6;
      border: 5px solid #fbce13 !important;
      padding: 2vh;
      height: fit-content;
      margin-bottom: 4vh;
    }
    .top-3{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-right: 25px;
    }
    .box-size{
      padding: 18px;
      margin:7px;
    }
    .white-box{
      background-color: #fbce13;
      
    }
    .black-box{
      background-color: #121213;
    }
    .white-box p, .black-box p{
      text-align: center !important;
    }
    .title-box{
      font-size:1.2em !important;
    }
    .fsz-25{
      font-size: 25px;
    }
    .pad-36{
      padding: 36px !important;
    }
    .pad-16{
      padding: 30px 16px !important;
    }
    .pad-right-5{
      padding-right: 10vh;
    }
    .pad-right-4{
      padding-right: 7vh;
    }
    .pb-10{
      padding: 1.5em;
    }
    .custom-control-input:checked~.custom-control-label::before {
        color: #fff;
        border-color: #ffc107;
        background-color: #fbce13;
    }
    .custom-control-input:not(:disabled):active~.custom-control-label::before {
        color: #fff;
        background-color: #fbce13;
        border-color: #ffc107;
    }
    img.img-fluid {
        width: 100%;
        height: auto;
    }
    img.logo-img{
      width: fit-content;
      margin: 0 auto;
    }
    .yellow-title{
      color: #ffcc00;
      text-transform: uppercase;
      font-size: 3em;
    }
    h3.yellow-title {
        font-size: 2em;
        /*padding-right: 2.6em;*/
    }
    /*h3.custom-h3 {
      color: #f7f7f7;
      font-size: 1.6em;
      text-transform: uppercase;
    }*/
    h3.unset-after{
      margin-bottom: 35px;
    }
    h3:after {
      content: '';
      display: inherit;
      vertical-align: middle;
      width: 75px;
      height: 5px;
      background: #000000;
      margin-top: 15px;
      margin-bottom: 15px;
    }
    h3.unset-after:after{
      content: none;
    }
    h3.custom-h3:after{
      margin: 15px auto;
    }
    h3.black-line:after{
      background: black;
    }
    h3.yellow-title-video:after{
      background: #eeeeee;
    }
    p {
        color: #d1d1d1;
        font-size: 0.92em;
    }
    p.top-text {
      color: #000;
      font-size: 1.18em;
      text-align: center;
      /*padding-right: 5em;*/
    }
    p.white-text {
      color: #fff;
      font-size: 1em;
      /*padding-right: 5em;*/
    }
    p.grey-text{
      color: #d5d5d5;
      font-size: 1.25em;
    }
    p.black-text{
      color: black;
      font-size: 1.1em;
    }
    .f-s-16px{
      font-size: 16px;
    }
    .f-s-13px{
      font-size: 13px;
    }
    .f-s-125em{
      font-size: 1em;
    }
    .pad-r-8em{
      padding-right: 8em;
    }
    .pad-bot-70{
      padding-bottom: 70px;
    }
    .pad-top-70{
      padding-top: 70px;
    }
    .pad-70{
      padding: 30px;
    }
    .marg-0-auto{
      margin: 0-auto;
    }
    .marg-r-20{
        margin-right: 20px;
    }
    #table .bg-black{
      background-color: #121212;
    }   
    #table .bg-grey{
      background-color: #2d2d2d;
    }
    #table .bg-yellow{
      background-color: yellow;
    }
    .table thead th, .table tbody, .table tbody td,.table tbody th {
      vertical-align: middle;
      border: unset !important;
    }
    .bg-image{
      background-image: url('../img/bg-yellow.jpg');
    }
    .bg-dark-perso{
      background-color: #131313;
    }
    .bg-secondary-perso{
      background-color: #2b2b2b;
    }
    .img-table{
        display: none;
    }
    .condition_txt{
      margin-left: 20px;
    }
    #myBtn {
      display: inline-block;
      background-color: #f0b012;
      width: 50px;
      height: 50px;
      text-align: center;
      border-radius: 4px;
      position: fixed;
      bottom: 10px;
      right: 30px;
      transition: background-color .3s, 
        opacity .5s, visibility .5s;
      opacity: 1;
      visibility: visible;
      z-index: 1000;
      text-decoration: none;
    }
    #myBtn::after {
      content: "\f003";
      font-family: FontAwesome;
      font-weight: normal;
      font-style: normal;
      font-size: 2em;
      line-height: 50px;
      color: #fff;
    }
    #myBtn:hover {
      cursor: pointer;
      background-color: #fec601;
    }
    #myBtn:active {
      background-color: #ffcc00;
    }
    #myBtn.show {
      opacity: 0;
      visibility: hidden;
    }
    .hyphens{
      word-wrap: break-word;
      overflow-wrap: break-word;
      hyphens: auto;
    }

    .yellow-text {
      color: #fbce13;
    }

    .hero-subtitle {
      font-size: 1.8em;
      color: white;
      margin-bottom: 0;
      line-height: 1.4;
    }

    .genset-box {
      padding: 0;
      margin: 0;
    }

    .genset-box img {
      width: 100%;
      height: auto;
      display: block;
    }

    .bottom-banner-section {
      background: url('../img/banner-bottom-bg.webp') repeat-y bottom center #000000 !important;
      padding: 0;
    }

    .bottom-banner-section img {
      width: 100%;
      height: auto;
      display: block;
    }

    .hero-section {
      position: relative;
      background-image: url('../img/hero-lp.webp');
      background-size: cover;
      /*background-position: center;*/
      background-repeat: no-repeat;
      min-height: 711px;
    }

    .hero-img-mobile {
      display: none;
    }

    .hero-overlay {
      /*min-height: 100vh;
      padding: 80px 0;*/
      display: flex;
      align-items: center;
    }

    /* ===== HERO FORM SUPERPOSÉ ===== */
  .hero-form-wrapper {
    position: absolute;
    top: 15px;
    right: 0;
    /*transform: translateY(-40%);*/
    max-width: 420px;
    width: 100%;
    z-index: 2;
  }
  .hero-overlay{
    position: relative; 
    z-index: 1; 
  }

  /* la section suivante reste sous le hero */
  .genset-section { 
    position: relative; 
    background-color: #ffffff;
    z-index: 0; 
    padding: 10px;
  }
  /* alignement gauche */
  .genset-left {
    padding-left: 2vw; /* ajuste cette valeur selon ta maquette */
  }

  /* alignement droite pour finir au bord du form */
  .genset-right {
    padding-right: 3vw; /* même marge que celle du form */
    display: flex;
    justify-content: flex-end;
  }

  /* box produit */
  .genset-box {
    max-width: 440px; /* largeur max cohérente avec ton design */
    padding: 0;
    margin: 0;
  }

  .genset-box img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* ===== MOTIF BACKGROUND SUR GENSET ===== */
  .bg-motif {
    /*background-image: url('../img/motif-background-horizontal.webp');*/
    background-repeat: repeat-x;
    background-position: top center;
    background-color: #fff;
  }

  /* ===== CTA GAMME ===== */
  .cta-gamme {
    display: inline-block;
    background-color: #ffc107;
    color: #000;
    font-weight: 600;
    padding: 12px 30px;
    margin: 25px auto;
    text-transform: uppercase;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: background-color 0.3s ease;
  }

  .cta-gamme:hover {
    background-color: #e0a800;
    color: #000;
  }

  /* ===== BARRE JAUNE FINALE ===== */
  .yellow-bar-section img {
    display: block;
    width: 100%;
    height: auto;
  }

  .genset-left,
  .genset-right {
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    text-align: center;
  }

  .genset-box {
    margin-bottom: 30px;
    max-width: 100%;
  }

  .textresp{
    font-size: 8px;line-height: 1.1 !important;
  }

  /* cacher les versions mobiles par défaut */
  .img-mobile {
    display: none !important;
  }
  .img-desktop {
    display: block !important;
  }

    @media screen and (max-width:1080px){
      .hero-section {
        background: none !important;
        min-height: auto;
      }
      /* afficher la div image */
      .hero-img-mobile {
        display: block;
      }

      .hero-img-mobile img {
        width: 100%;
        display: block;
        object-fit: cover;
        max-height: 729px; /* 🔸 adapte la hauteur ici */
      }
      
      .hero-overlay{
        padding: 10px 0;
        min-height:auto
      }

      /* formulaire en bloc */
      .hero-form-wrapper {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
        margin-top: 20px;
        margin-bottom: 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
        z-index: 2;
      }

      #mc_embed_signup{
        clear:left;
        font-size:1.7em;
      }
      #mc_embed_signup h2{font-size:1.1em !important;}
      #myBtn{ display: none;}

      .d-flex.flex-column {
        text-align: center;
      }
      .big_form h1{
        font-size: xx-large;
      }
      .disp-flex-lapt{
        display: block;
      }
      p.top-text{
        font-size: unset;
      }
      p{
        font-size: 14px;
      }
      .pad-70{
        padding: 0;
        padding-top: 30px;
        padding-bottom: 30px;
      }
      .float-center-mobile{
        float: unset !important;
      }
      .custom-flex-mobile{
        display: flex;
        flex-direction: column;
      }
      .custom-flex-mobile-reverse{
        display: flex;
        flex-direction: column-reverse;
      }
      .min-width-100{
        min-width: 100%;
      }
      .row {
          text-align: center;
      }
      h3:after{
        margin: 15px auto;
      }
      .pad-right-5{
        padding-right: unset;
      }
      .pad-right-4{
        padding-right: 15px !important;
        margin-left: unset;
      }
      .marg-bot-20{
        margin-bottom: 20px;
      }
      .pad-right-0{
        padding-right: 15px !important;
        margin-left: unset;
      }
      .marg-right-0{
        margin-right: -15px !important;
      }
      .marg-r-20{
        margin-right: 0;
        margin: 0 auto;
        margin-top: 50px;
      }
      p{
        text-align: center;
      }
      br{
        display: none;
      }
      p.black-text.Knockout-67.f-s-125em.d-flex.align-items-center,p.white-text.Knockout-67.f-s-125em.d-flex.align-items-center{
        width: fit-content;
        margin: 0 auto;
      }
      .hero-title {
        font-size: 2em;
      }
      .hero-subtitle {
        font-size: 1.3em;
      }
      .hero-badge {
        max-width: 180px;
        margin: 0 auto 20px;
      }
    }

    @media screen and (max-width:991px){
      h3.yellow-title{
        padding-right: unset;
        font-size: xx-large;
      }
      p.top-text{
        padding-right: unset;
      }
      .condition_txt{
        margin-left: 0px;
      }
      .table tbody td{
        vertical-align: middle !important;
      }
      .fsz-25 {
        font-size: 16px !important;
      }
      .univers-59{
        font-size: 24px;
        padding: 10px !important;
      }
      .univers-47 {
        font-size: 14px;
        padding: 15px !important;
      }
      h3.yellow-title{
        font-size: 3em;
      }
      #mc_embed_signup{
        clear:left;
        font-size:1.1em;
      }
      #mc_embed_signup h2{font-size:1.2em !important;}
      #myBtn{ display:block;}
    }
    @media screen and (max-width:767px) and (orientation: portrait){
      .top-3{
        display: block;
        margin: 0;
      }
      iframe{
        max-width: max-content;
      }
      .hero-section {
        background: none !important;
        min-height: auto;
      }
      /* afficher la div image */
      .hero-img-mobile {
        display: block;
      }

      .hero-img-mobile img {
        width: 100%;
        display: block;
        object-fit: cover;
        max-height: 350px; /* 🔸 adapte la hauteur ici */
      }
      
      .hero-overlay{
        padding: 20px 0;
      }

      /* formulaire en bloc */
      .hero-form-wrapper {
        position: relative;
        top: auto;
        right: auto;
        transform: none;
        margin-top: 0;
        margin-bottom: 0;
        padding: 0;
        width: 100%;
        max-width: 100%;
        z-index: 2;
      }

      /* remplacer les images desktop */
      .img-desktop {
        display: none !important;
      }
      .img-mobile {
        display: block !important;
      }

      /* espacement entre sections */
      .product-box {
        margin-bottom: 25px;
      }

    }
    @media (min-width: 500px) {
      #myBtn {
        margin: 30px;
      }
    }
    @media screen and (max-width:445px){
      .table{
        display: none;
      }
      .img-table{
        display: block
      }
      h2.yellow-title{
        font-size: 2em;
      }
    }




    /* New css content */
    /* ===== LP 320 GX / 323 GX ===== */

:root {
  /* Desktop tuning knobs */
  --gx-form-max: 370px;
  --gx-form-nudge-right: -7%;
  --gx-product-max: 360px;
}

.hero-320gx-section {
  position: relative;
  background-image: url('../img/hero-lp.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 711px;
}

.hero-en {
  background-image: url('../img/hero-lp_en.webp') !important;
}

.hero-320gx-section .hero-form-wrapper {
  position: absolute;
  top: 18px;
  right: 0;
  max-width: var(--gx-form-max);
  width: 100%;
  z-index: 2;
}

@media screen and (min-width: 1081px) {
  .hero-320gx-section .hero-form-wrapper {
    right: var(--gx-form-nudge-right);
  }
}

/* Make the form sit closer to the hero's right edge */
.hero-320gx-section .hero-overlay > .container {
  padding-right: 0;
}

.gx-products-section {
  background: transparent;
  padding: 30px 0 10px;
}

.gx-products-container {
  max-width: 1120px;
}

.gx-product-card {
  max-width: var(--gx-product-max);
  margin: 0 auto;
  text-align: center;
}

.gx-product-card img {
  display: block;
  width: 100%;
  height: auto;
  max-width: var(--gx-product-max);
  margin: 0 auto;
}

.gx-product-title {
  font-family: "Knockout-67";
  font-size: 2.2rem;
  line-height: 1;
  color: #111;
  margin-top: 12px;
  margin-bottom: 0;
  text-transform: uppercase;
}

.gx-argument-section {
  padding: 10px 0 45px;
}

.gx-argument-box {
  background: #f4c400;
  border-radius: 14px;
  padding: 28px 32px;
  color: #111;
  max-width: 1080px;
  margin: 0 auto;
}

.gx-argument-box p {
  color: #111 !important;
  text-align: left !important;
  font-size: 1.15rem;
  line-height: 1.55;
  margin-bottom: 12px;
}

.gx-features-section {
  padding: 20px 0 50px;
}

.gx-section-title-wrap {
  margin-bottom: 30px;
}

.gx-section-title {
  font-family: "Knockout-67";
  font-size: 3rem;
  line-height: 1;
  color: #111;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.gx-section-line {
  width: 90px;
  height: 5px;
  background: #111;
  margin: 0 auto;
}

.gx-feature-card {
  height: 100%;
  text-align: center;
}

.gx-feature-card img {
  width: 100%;
  height: auto;
  display: block;
}

.gx-feature-dark {
  background: transparent;
}

.gx-feature-yellow {
  background: transparent;
}

/* desktop hide mobile imgs */
.img-mobile {
  display: none !important;
}

.img-desktop {
  display: block !important;
}

/* tablette */
@media screen and (max-width:1080px) {
  .hero-320gx-section {
    background: none !important;
    min-height: auto;
  }

  .hero-img-mobile {
    display: block;
  }

  .hero-img-mobile img {
    width: 100%;
    display: block;
    object-fit: cover;
    max-height: 720px;
  }

  .hero-320gx-section .hero-form-wrapper {
    position: relative;
    top: auto;
    right: auto;
    max-width: 100%;
    margin-top: 20px;
  }

  .gx-product-title {
    font-size: 1.8rem;
  }

  .gx-section-title {
    font-size: 2.4rem;
  }

  .gx-argument-box {
    padding: 24px 20px;
  }

  .gx-argument-box p {
    font-size: 1rem;
  }
}

/* mobile */
@media screen and (max-width:767px) and (orientation: portrait) {
  .hero-320gx-section {
    background: none !important;
    min-height: auto;
  }

  .hero-img-mobile {
    display: block;
  }

  .hero-img-mobile img {
    width: 100%;
    display: block;
    object-fit: cover;
    max-height: 360px;
  }

  .hero-320gx-section .hero-form-wrapper {
    position: relative;
    top: auto;
    right: auto;
    max-width: 100%;
    margin-top: 0;
  }

  .img-desktop {
    display: none !important;
  }

  .img-mobile {
    display: block !important;
  }

  .gx-products-section {
    padding: 15px 0 0;
  }

  .gx-product-title {
    font-size: 1.6rem;
    margin-top: 10px;
    margin-bottom: 18px;
  }

  .gx-argument-section {
    padding: 5px 0 30px;
  }

  .gx-argument-box {
    border-radius: 10px;
    padding: 18px 16px;
  }

  .gx-argument-box p {
    text-align: left !important;
    font-size: 0.98rem;
    line-height: 1.5;
  }

  .gx-features-section {
    padding: 10px 0 30px;
  }

  .gx-section-title {
    font-size: 2rem;
  }

  .gx-section-line {
    width: 70px;
    height: 4px;
  }
}

/* ===== Desktop form + products layout tweaks (202603-320gx-323gx) ===== */

/* RGPD checkbox validation feedback */
#rgpd-error {
  color: #dc3545;
  font-size: 0.875em;
  margin-top: 4px;
  display: block;
}

@media screen and (min-width: 1081px) {
  /* Make RGPD paragraph more compact */
  .hero-320gx-section .textresp {
    line-height: 1.15;
    margin-top: 6px;
  }

  /* Remove internal scrolling/sticky: let the form be taller */
  .hero-320gx-section #mc_embed_signup_scroll {
    max-height: none;
    overflow: visible;
    padding-bottom: 0;
  }

  .hero-320gx-section #mc_embed_signup_scroll > h2,
  .hero-320gx-section #mc_embed_signup_scroll > .indicates-required,
  .hero-320gx-section #mc_embed_signup_scroll > .clear:last-of-type {
    position: static;
    z-index: auto;
  }

  /* Labels next to inputs for all fields (except RGPD checkbox block) */
  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group {
    display: flex;
    align-items: center;
    gap: 10px;
    /*margin-bottom: 0.45rem;*/
  }

  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group > label {
    flex: 0 0 34%;
    max-width: 34%;
    margin: 0;
  }

  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group > input,
  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group > select,
  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group > textarea {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Products: 2 columns on the left + 1 empty column for the form */
  .gx-products-section .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--gx-form-max);
    column-gap: 36px;
    align-items: start;
    justify-content: start;
  }

  .gx-products-section .row > [class*="col-"] {
    width: auto;
    max-width: none;
  }

  .gx-product-card {
    max-width: var(--gx-product-max);
    margin: 0 auto;
    text-align: center;
  }

  .gx-product-card img {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* Remove decorative lines under product titles */
h3.gx-product-title::after {
  content: none !important;
  display: none !important;
}

@media screen and (max-width: 1080px) {
  /* Back to stacked labels on tablet/mobile */
  .hero-320gx-section #mc_embed_signup_scroll {
    max-height: none;
    overflow: visible;
    padding-bottom: 0;
  }

  .hero-320gx-section #mc_embed_signup_scroll > h2,
  .hero-320gx-section #mc_embed_signup_scroll > .indicates-required,
  .hero-320gx-section #mc_embed_signup_scroll > .clear {
    position: static;
  }

  .hero-320gx-section #mc_embed_signup_scroll .mc-field-group.form-group {
    display: block;
  }

  /* Reset products layout back to Bootstrap flex behavior */
  .gx-products-section .row {
    display: flex;
  }
}
