 .abc-section-1 {
  background-image: none;
}

.abc-section-1 .abc-image-1 {
  min-height: 780px;
  background-image: url("images/pexels-nemuel-6424583.jpg");
  background-position: 50% 50%;
}

.abc-section-1 .abc-group-1 {
  width: 1142px;
  min-height: 682px;
  --animation-custom_in-translate_x: 300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  height: auto;
  margin: 8px -1px 60px;
}

.abc-section-1 .abc-container-layout-1 {
  padding: 0;
}

.abc-section-1 .abc-text-1 {
  letter-spacing: 3px;
  font-weight: 900;
  font-style: normal;
  --text-color-var: #ffffff;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  margin: 42px 610px 0 27px;
}

.abc-section-1 .abc-image-2 {
  width: 665px;
  height: 464px;
  margin: 61px 0 0 auto;
}

.abc-section-1 .abc-group-2 {
  width: 548px;
  min-height: 546px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.2);
  height: auto;
  --color-var: #ff6300;
  margin: -505px auto 0 0;
}

.abc-section-1 .abc-container-layout-2 {
  padding: 28px 51px 30px;
}

.abc-section-1 .abc-text-2 {
  font-size: 1.25rem;
  font-weight: 700;
  font-style: normal;
  margin: 32px 0 0;
}

.abc-section-1 .abc-btn-1 {
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 2px;
  align-self: center;
  font-weight: 700;
  background-image: none;
  --color-var: #ff6300;
  box-shadow: 5px 5px 5px 0 rgba(0,0,0,0.4);
  --text-active-color-var: #ff6300;
  margin: -66px 194px 0 auto;
  padding: 15px 41px 16px;
}

@media (max-width: 1199px) {
  .abc-section-1 .abc-image-1 {
    min-height: 643px;
  }

  .abc-section-1 .abc-group-1 {
    width: 940px;
    min-height: 813px;
    margin-left: 0;
    margin-right: 0;
    height: auto;
  }

  .abc-section-1 .abc-text-1 {
    margin-right: 435px;
    margin-left: 0;
  }

  .abc-section-1 .abc-group-2 {
    height: auto;
  }

  .abc-section-1 .abc-text-2 {
    width: 303px;
  }

  .abc-section-1 .abc-btn-1 {
    text-align: center;
    border-style: solid;
    margin-top: -62px;
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .abc-section-1 .abc-image-1 {
    min-height: 694px;
  }

  .abc-section-1 .abc-group-1 {
    min-height: 682px;
    margin-top: 0;
    margin-bottom: 12px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-1 .abc-text-1 {
    width: auto;
    margin-top: 32px;
    margin-right: 215px;
  }

  .abc-section-1 .abc-image-2 {
    margin-top: 161px;
  }

  .abc-section-1 .abc-group-2 {
    margin-top: -585px;
  }

  .abc-section-1 .abc-container-layout-2 {
    padding-right: 30px;
    padding-left: 30px;
  }

  .abc-section-1 .abc-text-2 {
    width: auto;
    margin-left: 12px;
    margin-right: 12px;
  }

  .abc-section-1 .abc-btn-1 {
    margin-top: 12px;
    margin-right: 13px;
  }
}

@media (max-width: 767px) {
  .abc-section-1 .abc-image-1 {
    min-height: 521px;
  }

  .abc-section-1 .abc-text-1 {
    margin-right: 35px;
  }

  .abc-section-1 .abc-image-2 {
    width: 540px;
    height: 377px;
  }

  .abc-section-1 .abc-group-2 {
    width: 540px;
    margin-top: -524px;
  }

  .abc-section-1 .abc-container-layout-2 {
    padding-right: 10px;
    padding-left: 10px;
  }

  .abc-section-1 .abc-text-2 {
    font-size: 1.1111111111111112rem;
  }

  .abc-section-1 .abc-btn-1 {
    margin-right: 0;
  }
}

@media (max-width: 575px) {
  .abc-section-1 .abc-image-1 {
    min-height: 813px;
  }

  .abc-section-1 .abc-group-1 {
    margin-bottom: 60px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .abc-section-1 .abc-text-1 {
    margin-top: 45px;
    margin-right: 0;
  }

  .abc-section-1 .abc-image-2 {
    width: 400px;
    height: 279px;
    margin-top: 108px;
  }

  .abc-section-1 .abc-group-2 {
    margin-top: -377px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-1 .abc-container-layout-2 {
    padding-top: 10px;
  }

  .abc-section-1 .abc-text-2 {
    margin-left: 0;
    margin-right: 0;
  }

  .abc-section-1 .abc-btn-1 {
    margin-top: 64px;
    margin-right: 91px;
  }
} .abc-section-2 {
  background-image: none;
}

.abc-section-2 .abc-sheet-1 {
  min-height: 780px;
}

.abc-section-2 .abc-image-1 {
  height: 524px;
  width: 651px;
  --animation-custom_in-translate_x: -300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  object-position: 100% 50%;
  margin: 0 0 0 auto;
}

.abc-section-2 .abc-shape-1 {
  width: 239px;
  height: 239px;
  background-image: none;
  --animation-custom_in-translate_x: 50px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 0.3;
  margin: -524px auto 0 0;
}

.abc-section-2 .abc-shape-2 {
  width: 207px;
  height: 173px;
  background-image: none;
  margin: 285px auto 0;
}

.abc-section-2 .abc-group-1 {
  width: 462px;
  min-height: 598px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.2);
  height: auto;
  margin: -539px auto 0 37px;
}

.abc-section-2 .abc-container-layout-1 {
  padding: 30px 20px;
}

.abc-section-2 .abc-text-1 {
  font-weight: 700;
  margin: 23px 4px 0 32px;
}

.abc-section-2 .abc-text-2 {
  font-size: 1.25rem;
  font-weight: 700;
  font-style: normal;
  margin: 19px 32px 0;
}

.abc-section-2 .abc-btn-1 {
  background-image: none;
  border-style: none;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  --hover-color-var: #ff6300;
  margin: 58px auto 0 96px;
  padding: 18px 55px 18px 54px;
}

.abc-section-2 .abc-shape-3 {
  width: 395px;
  height: 323px;
  --animation-custom_in-translate_x: 50px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 0.3;
  margin: -335px 40px 36px auto;
}

@media (max-width: 1199px) {
  .abc-section-2 .abc-sheet-1 {
    min-height: 857px;
  }

  .abc-section-2 .abc-image-1 {
    height: 459px;
    width: 590px;
    margin-top: -66px;
    margin-right: 52px;
  }

  .abc-section-2 .abc-shape-1 {
    margin-top: -538px;
  }

  .abc-section-2 .abc-shape-2 {
    margin-top: 383px;
  }

  .abc-section-2 .abc-group-1 {
    margin-top: -636px;
    height: auto;
  }

  .abc-section-2 .abc-text-2 {
    margin-right: 31px;
    width: 329px;
  }

  .abc-section-2 .abc-shape-3 {
    margin-top: -270px;
    margin-bottom: 60px;
  }
}

@media (max-width: 991px) {
  .abc-section-2 .abc-sheet-1 {
    min-height: 919px;
  }

  .abc-section-2 .abc-image-1 {
    height: 416px;
    width: 534px;
    margin-top: 0;
    margin-right: 0;
  }

  .abc-section-2 .abc-shape-1 {
    margin-top: -346px;
  }

  .abc-section-2 .abc-shape-2 {
    margin-top: 437px;
    margin-right: 119px;
  }

  .abc-section-2 .abc-group-1 {
    min-height: 646px;
    margin-top: -646px;
    margin-left: 0;
  }

  .abc-section-2 .abc-text-1 {
    width: auto;
    margin-top: 102px;
    margin-right: 0;
    margin-left: 93px;
  }

  .abc-section-2 .abc-text-2 {
    width: auto;
    margin-top: 27px;
    margin-right: 89px;
    margin-left: 4px;
  }

  .abc-section-2 .abc-btn-1 {
    margin-top: 27px;
    margin-right: 0;
    margin-left: auto;
  }

  .abc-section-2 .abc-shape-3 {
    margin-top: -450px;
  }
}

@media (max-width: 767px) {
  .abc-section-2 .abc-sheet-1 {
    min-height: 1213px;
  }

  .abc-section-2 .abc-image-1 {
    height: 321px;
    width: 462px;
    margin-top: -375px;
  }

  .abc-section-2 .abc-shape-1 {
    margin-top: 20px;
  }

  .abc-section-2 .abc-shape-2 {
    margin-top: 272px;
  }

  .abc-section-2 .abc-group-1 {
    margin-top: -582px;
    margin-right: 0;
    margin-left: auto;
  }

  .abc-section-2 .abc-text-2 {
    margin-left: 32px;
    margin-right: 31px;
    font-size: 1.1111111111111112rem;
  }

  .abc-section-2 .abc-shape-3 {
    width: 201px;
    height: 201px;
    margin-top: -741px;
    margin-right: 21px;
  }
}

@media (max-width: 575px) {
  .abc-section-2 .abc-sheet-1 {
    min-height: 615px;
  }

  .abc-section-2 .abc-image-1 {
    height: 236px;
    margin-top: -255px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-2 .abc-shape-1 {
    width: 174px;
    height: 174px;
    margin-top: 19px;
  }

  .abc-section-2 .abc-shape-2 {
    height: 366px;
    width: 241px;
    margin-top: 74px;
    margin-right: 11px;
  }

  .abc-section-2 .abc-group-1 {
    min-height: 414px;
    margin-top: -533px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-2 .abc-container-layout-1 {
    padding-bottom: 0;
  }

  .abc-section-2 .abc-text-1 {
    margin-top: 11px;
    margin-left: 0;
  }

  .abc-section-2 .abc-text-2 {
    width: 320px;
    margin-right: 12px;
    margin-left: 0;
  }

  .abc-section-2 .abc-btn-1 {
    margin: 129px auto -95px 58px;
  }

  .abc-section-2 .abc-shape-3 {
    width: 168px;
    height: 168px;
    margin-top: -226px;
    margin-right: 5px;
  }
} .abc-section-3 {
  background-image: none;
}

.abc-section-3 .abc-sheet-1 {
  min-height: 780px;
}

.abc-section-3 .abc-shape-1 {
  width: 639px;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  background-image: none;
  left: 501px;
  --color-var: #ff6300;
  right: 0;
  top: 0;
}

.abc-section-3 .abc-group-1 {
  width: 501px;
  height: auto;
  --animation-custom_in-translate_x: -300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 0.3;
  min-height: 680px;
  margin: 55px auto 0 69px;
}

.abc-section-3 .abc-container-layout-1 {
  padding: 0;
}

.abc-section-3 .abc-group-2 {
  width: 747px;
  height: auto;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  min-height: 643px;
  margin: 10px auto 0 -68px;
}

.abc-section-3 .abc-container-layout-2 {
  padding: 15px 30px;
}

.abc-section-3 .abc-group-elements-1 {
  width: 450px;
  min-height: 371px;
  margin: 40px auto 0 23px;
}

.abc-section-3 .abc-text-1 {
  font-size: 2.25rem;
  font-weight: 700;
  margin: 0 15px;
}

.abc-section-3 .abc-text-2 {
  font-size: 1.25rem;
  line-height: 1.8;
  font-weight: 700;
  margin: 43px 0 0;
}

.abc-section-3 .abc-btn-1 {
  background-image: none;
  border-style: none;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  --hover-color-var: #ff6300;
  margin: 109px auto 0 208px;
  padding: 18px 55px 18px 54px;
}

.abc-section-3 .abc-group-3 {
  width: 626px;
  height: auto;
  min-height: 546px;
  margin: -735px 0 0 auto;
}

.abc-section-3 .abc-container-layout-3 {
  padding-bottom: 30px;
}

.abc-section-3 .abc-image-1 {
  width: 516px;
  height: 446px;
  --animation-custom_in-translate_x: 300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  margin: 50px auto 0;
}

.abc-section-3 .abc-image-2 {
  width: 431px;
  height: 243px;
  margin: -29px 55px 20px auto;
}

@media (max-width: 1199px) {
  .abc-section-3 .abc-shape-1 {
    left: 301px;
  }

  .abc-section-3 .abc-group-1 {
    height: auto;
  }

  .abc-section-3 .abc-group-2 {
    width: 501px;
    margin-left: 0;
    height: auto;
  }

  .abc-section-3 .abc-group-elements-1 {
    width: 441px;
    margin-left: 0;
  }

  .abc-section-3 .abc-text-1 {
    width: 420px;
  }

  .abc-section-3 .abc-btn-1 {
    margin-left: 0;
  }

  .abc-section-3 .abc-group-3 {
    height: auto;
  }
}

@media (max-width: 991px) {
  .abc-section-3 .abc-shape-1 {
    left: 81px;
  }

  .abc-section-3 .abc-btn-1 {
    margin-top: 69px;
    margin-left: 62px;
  }

  .abc-section-3 .abc-container-layout-3 {
    padding-top: 0;
  }
}

@media (max-width: 767px) {
  .abc-section-3 .abc-shape-1 {
    width: 540px;
    left: 0;
  }

  .abc-section-3 .abc-group-1 {
    margin-left: 39px;
  }

  .abc-section-3 .abc-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .abc-section-3 .abc-text-2 {
    font-size: 1.1111111111111112rem;
  }

  .abc-section-3 .abc-group-3 {
    width: 540px;
  }
}

@media (max-width: 575px) {
  .abc-section-3 .abc-sheet-1 {
    min-height: 763px;
  }

  .abc-section-3 .abc-shape-1 {
    width: 400px;
  }

  .abc-section-3 .abc-group-1 {
    width: 400px;
    margin-left: 0;
  }

  .abc-section-3 .abc-container-layout-1 {
    padding-top: 14px;
  }

  .abc-section-3 .abc-group-2 {
    margin-top: 186px;
    min-height: 561px;
    width: 400px;
  }

  .abc-section-3 .abc-container-layout-2 {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .abc-section-3 .abc-group-elements-1 {
    width: 360px;
    min-height: 345px;
    margin-top: 85px;
    margin-left: 20px;
  }

  .abc-section-3 .abc-text-1 {
    font-size: 1.875rem;
    width: auto;
    margin-top: 9px;
    margin-right: 67px;
    margin-left: 1px;
  }

  .abc-section-3 .abc-text-2 {
    width: auto;
    margin-top: 24px;
  }

  .abc-section-3 .abc-btn-1 {
    margin-top: 42px;
    margin-left: auto;
  }

  .abc-section-3 .abc-group-3 {
    width: 400px;
  }

  .abc-section-3 .abc-image-1 {
    width: 400px;
    height: 346px;
  }

  .abc-section-3 .abc-image-2 {
    width: 400px;
    height: 226px;
    margin-right: 0;
  }
} .abc-section-4 {
  background-image: none;
}

.abc-section-4 .abc-sheet-1 {
  min-height: 780px;
}

.abc-section-4 .abc-group-elements-1 {
  width: 620px;
  min-height: 780px;
  height: auto;
  margin: 0 0 0 auto;
}

.abc-section-4 .abc-image-1 {
  background-image: url("images/Sans-titre-1.png");
  background-position: 50% 50%;
  --animation-custom_in-translate_x: 50px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 0.3;
  background-size: cover;
  margin-top: 0;
  margin-bottom: 0;
}

.abc-section-4 .abc-image-2 {
  width: 459px;
  height: 459px;
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.4);
  background-image: url("images/Sans-titre-11.png");
  background-position: 50% 50%;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 1;
  transform-origin: center center 0px;
  transform: scaleX(-1) scaleY(-1);
  margin: -299px 0 0 auto;
}

.abc-section-4 .abc-image-3 {
  width: 316px;
  height: 317px;
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.4);
  background-image: url("images/err-min.jpg");
  background-position: 50% 50%;
  --animation-custom_in-translate_x: 0px;
  --animation-custom_in-translate_y: 300px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 180deg;
  --animation-custom_in-scale: 1;
  margin: -317px auto 0 7px;
}

.abc-section-4 .abc-group-1 {
  width: 527px;
  min-height: 780px;
  --animation-custom_in-translate_x: 300px;
  --animation-custom_in-translate_y: 0px;
  --animation-custom_in-opacity: 0;
  --animation-custom_in-rotate: 0deg;
  --animation-custom_in-scale: 1;
  height: auto;
  margin: -780px auto 0 0;
}

.abc-section-4 .abc-container-layout-1 {
  padding: 29px 0 30px;
}

.abc-section-4 .abc-group-elements-2 {
  width: 450px;
  min-height: 343px;
  height: auto;
  margin: 111px auto 0;
}

.abc-section-4 .abc-text-1 {
  font-weight: 700;
  font-size: 2.25rem;
  margin: 0;
}

.abc-section-4 .abc-text-2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 47px 3px 0 20px;
}

.abc-section-4 .abc-btn-1 {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 1rem;
  align-self: center;
  font-weight: 700;
  background-image: none;
  --hover-color-var: #ff6300;
  --active-color-var: #ff6300;
  margin: 114px auto 0;
  padding: 20px 46px 20px 44px;
}

@media (max-width: 1199px) {
  .abc-section-4 .abc-sheet-1 {
    min-height: 797px;
  }

  .abc-section-4 .abc-image-1 {
    height: 426px;
    width: 426px;
  }

  .abc-section-4 .abc-image-2 {
    margin-top: -105px;
  }

  .abc-section-4 .abc-image-3 {
    width: 317px;
    margin-top: -595px;
  }

  .abc-section-4 .abc-group-1 {
    height: auto;
  }

  .abc-section-4 .abc-btn-1 {
    text-align: center;
    border-style: solid;
  }
}

@media (max-width: 991px) {
  .abc-section-4 .abc-sheet-1 {
    min-height: 763px;
  }

  .abc-section-4 .abc-group-elements-1 {
    width: 557px;
    margin-top: 173px;
    margin-right: auto;
    margin-left: 0;
  }

  .abc-section-4 .abc-image-1 {
    margin-top: -92px;
    width: auto;
  }

  .abc-section-4 .abc-image-2 {
    height: auto;
    transform-origin: center center;
    margin-top: -203px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-4 .abc-group-1 {
    margin: -861px 0 60px auto;
  }

  .abc-section-4 .abc-group-elements-2 {
    margin-top: 24px;
  }

  .abc-section-4 .abc-btn-1 {
    margin-top: 50px;
  }
}

@media (max-width: 767px) {
  .abc-section-4 .abc-sheet-1 {
    min-height: 909px;
  }

  .abc-section-4 .abc-group-elements-1 {
    width: 540px;
  }

  .abc-section-4 .abc-image-1 {
    margin-top: -109px;
    width: auto;
  }

  .abc-section-4 .abc-image-2 {
    margin-top: -186px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .abc-section-4 .abc-container-layout-1 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .abc-section-4 .abc-text-2 {
    font-size: 1.1111111111111112rem;
  }
}

@media (max-width: 575px) {
  .abc-section-4 .abc-sheet-1 {
    min-height: 718px;
  }

  .abc-section-4 .abc-group-elements-1 {
    margin-top: 42px;
    min-height: 676px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-4 .abc-image-1 {
    margin-top: 3px;
    width: auto;
  }

  .abc-section-4 .abc-image-2 {
    height: 402px;
    margin-top: -429px;
    width: auto;
    margin-right: initial;
    margin-left: initial;
  }

  .abc-section-4 .abc-image-3 {
    margin-top: -35px;
    margin-left: auto;
  }

  .abc-section-4 .abc-group-1 {
    min-height: 452px;
    margin-top: -676px;
    margin-right: initial;
    margin-left: initial;
    width: auto;
  }

  .abc-section-4 .abc-container-layout-1 {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 5px;
  }

  .abc-section-4 .abc-group-elements-2 {
    width: 362px;
    min-height: 290px;
    margin-top: 11px;
    margin-left: 12px;
  }

  .abc-section-4 .abc-text-1 {
    font-size: 1.875rem;
    margin-right: 9px;
    margin-left: 17px;
  }

  .abc-section-4 .abc-text-2 {
    width: auto;
    margin-top: 30px;
    margin-left: 0;
    margin-right: 0;
  }

  .abc-section-4 .abc-btn-1 {
    margin-top: 25px;
  }
}

/* ================================================================
   RESPONSIVE — allègement des grands fonds décoratifs sur tablette
   et smartphone. Les images de contenu ne sont pas masquées.
   ================================================================ */
@media (max-width: 991px) {
  .abc-section-1 .abc-image-1 {
    background-image: none;
  }
}

/* ABC PointCom — Correction ciblée de la section Web Ar.
   Le cadre du texte reste à l'intérieur de sa colonne, reprend une largeur
   cohérente avec les autres sections et conserve les coins arrondis définis
   par la classe .abc-radius-15. Le bloc de texte est repoussé vers la droite. */
#section-web .abc-group-2 {
  width: 450px;
  margin: 10px auto 0 20px;
  border-radius: 15px;
}

#section-web .abc-group-elements-1 {
  width: 430px;
  margin: 40px 0 0 auto;
}

#section-web .abc-text-1,
#section-web .abc-text-2 {
  width: 100%;
}

/* Sur les écrans intermédiaires, le cadre reste contenu dans sa colonne. */
@media (max-width: 1199px) {
  #section-web .abc-group-2 {
    width: 450px;
    margin-left: 20px;
    margin-right: 0;
  }

  #section-web .abc-group-elements-1 {
    width: 410px;
    margin-left: auto;
    margin-right: 0;
  }
}

/* Sur tablette, on conserve le même principe sans déformer le cadre. */
@media (max-width: 991px) {
  #section-web .abc-group-2 {
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
  }

  #section-web .abc-group-elements-1 {
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: 0;
  }
}

/* Sur smartphone, le cadre occupe la largeur disponible avec des marges
   régulières et garde les mêmes coins arrondis. */
@media (max-width: 575px) {
  #section-web .abc-group-2 {
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 15px;
  }

  #section-web .abc-group-elements-1 {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: 0;
  }
}


/* ABC PointCom — V21 : Section Web Ar.
   Le cadre du texte traduit est étiré horizontalement pour reprendre
   exactement l'alignement des cadres des sections Services voisines.
   Les coins arrondis restent identiques et aucun autre élément n'est modifié. */
#section-web .abc-group-2 {
  width: 747px;
  margin: 10px auto 0 -68px;
  border-radius: 15px;
}

@media (max-width: 1199px) {
  #section-web .abc-group-2 {
    width: 501px;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  #section-web .abc-group-2 {
    width: 540px;
    margin-left: 39px;
    margin-right: 0;
  }
}

@media (max-width: 575px) {
  #section-web .abc-group-2 {
    width: 400px;
    margin-left: 0;
    margin-right: 0;
  }
}


/* ABC PointCom AR — V23 : alignement final des cadres Design et Web.
   Les deux cadres sont alignés sur le bord de référence de Développement.
   Le contenu interne est recentré sans déplacer la section Développement. */
@media (min-width: 768px) {
  /* Design : extension du cadre vers la gauche jusqu'au bord de référence. */
  #section-design .abc-group-1 {
    width: 499px;
    margin-left: 0;
    margin-right: auto;
    box-sizing: border-box;
  }

  /* Web : le bord gauche du cadre rejoint le même bord de référence. */
  #section-web .abc-group-2 {
    width: 747px;
    margin-left: 0;
    margin-right: auto;
    box-sizing: border-box;
  }

  /* Design : texte et bouton centrés dans le nouveau cadre. */
  #section-design .abc-container-layout-1 {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #section-design .abc-text-1,
  #section-design .abc-text-2 {
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  #section-design .abc-btn-1 {
    margin-left: auto;
    margin-right: auto;
  }

  /* Web : texte et bouton centrés dans le cadre étendu. */
  #section-web .abc-group-elements-1 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  #section-web .abc-text-1,
  #section-web .abc-text-2 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  #section-web .abc-btn-1 {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Sur tablette et smartphone, conserver la structure responsive existante
   sans imposer les dimensions desktop. */
@media (max-width: 767px) {
  #section-design .abc-group-1,
  #section-web .abc-group-2 {
    box-sizing: border-box;
  }
  #section-design .abc-text-1,
  #section-design .abc-text-2,
  #section-web .abc-text-1,
  #section-web .abc-text-2 {
    text-align: center;
  }
  #section-design .abc-btn-1,
  #section-web .abc-btn-1 {
    margin-left: auto;
    margin-right: auto;
  }
}


/* ABC PointCom AR — V24 : Section Web calquée sur la Section Design validée.
   Le cadre-fond Web reprend la même largeur de référence que Design et son
   bord gauche est aligné sur le même repère horizontal. Le texte et le bouton
   restent centrés dans ce cadre. Aucun autre bloc de la page Services n'est modifié. */
@media (min-width: 1200px) {
  #section-web .abc-group-2 {
    width: 499px;
    margin-left: -69px;
    margin-right: auto;
    box-sizing: border-box;
    border-radius: 15px;
  }

  #section-web .abc-group-elements-1 {
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #section-web .abc-text-1,
  #section-web .abc-text-2 {
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #section-web .abc-btn-1 {
    display: block;
    align-self: center;
    margin: 58px auto 0;
    padding: 18px 55px 18px 54px;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 2px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  /* At this breakpoint Design uses its 462px base frame. */
  #section-web .abc-group-2 {
    width: 462px;
    margin-left: -69px;
    margin-right: auto;
    box-sizing: border-box;
    border-radius: 15px;
  }

  #section-web .abc-group-elements-1 {
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #section-web .abc-text-1,
  #section-web .abc-text-2 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #section-web .abc-btn-1 {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 55px 18px 54px;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 2px;
  }
}


/* ABC PointCom — correction PC demandée : bouton Contact us de Web Services. */
@media (min-width: 992px) {
  .abc-section-3 .abc-btn-1 {
    display: block;
    width: max-content;
    margin: 70px auto 0 !important;
    padding: 14px 38px !important;
  }
}
