/* ==========================================================================

   1. BASE

   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;

  overflow-x: hidden;
}

#content {
  margin-bottom: -43px;
}

.skyscraper {
  display: none;
}

/* ==========================================================================

   2. LAYOUT



   #MATemplate is full-width. Regular sections are centered with max-width.

   Full-bg sections stretch edge-to-edge; their children are constrained.

   ========================================================================== */

#MATemplate {
  font-family: "Poppins", sans-serif;
}

#MATemplate .MAHeader {
  margin-top: -2px;
  height: 400px;
  width: 100dvw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-bottom: 30px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  padding: 75px 0;
    background-image: url(https://business.alternate.be/download/b2c_be_nl/pic/b2b/MediaArchitect/SSD.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.3);
}

.MAHeader p {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: #fff !important;
}

#MATemplate section {
  margin: 50px 0;
}

#MATemplate .section--full-bg {
  position: relative;

  margin-top: 0;

  margin-bottom: 0;

  padding: 50px 0;
}

#MATemplate .section--full-bg-contact {
  position: relative;

  margin-top: 0;

  margin-bottom: 0;

  padding: 50px 0;
}

#MATemplate .section--full-bg::before {
  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 50%;

  width: 100vw;

  margin-left: -50vw;

  background-color: #ececec;

  z-index: -1;
}


#MATemplate .section--full-bg-contact::before {
  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 50%;

  width: 100vw;

  margin-left: -50vw;

  background-color: #ddd;

  z-index: -1;
}

/* ==========================================================================

   3. TYPOGRAPHY

   ========================================================================== */

#MATemplate h1 {
  font-size: 28px;

  font-weight: 700;

  color: #000;

  line-height: 1.3;
}

#MATemplate h2 {
  font-size: 24px;

  font-weight: 700;

  color: #000;

  line-height: 1.3;
}

#MATemplate h3:not(.promoTitle) {
  font-size: 18px;

  font-weight: 700;

  color: #000;

  line-height: 1.3;
}

#MATemplate p {
  font-size: 16px;

  font-weight: 400;

  color: #000;
}

#MATemplate ul {
  font-size: 1rem;

  padding: 0 2rem;
}

#MATemplate li {
  margin: 0.5rem 0;
}

/* ==========================================================================

   4. LINKS

   ========================================================================== */

#MATemplate a:not(.btn) {
  color: #ad0109;

  font-weight: 700;

  text-decoration: none;
}

#MATemplate a:not(.btn):not(.promoCard a):hover {
  text-decoration: underline;
}

/* ==========================================================================

   5. HERO

   ========================================================================== */

#MATemplate .hero img {
  width: 100%;

  height: auto;

  display: block;

  border-radius: 5px;
}

#MATemplate .hero--desktop {
  display: block;
}

#MATemplate .hero--mobile {
  display: none;
}

@media (max-width: 760px) {
  #MATemplate .hero--desktop {
    display: none;
  }

  #MATemplate .hero--mobile {
    display: block;
  }
}

/* ==========================================================================

   6. TABLE

   ========================================================================== */

#MATemplate .table-wrapper {
  overflow-x: auto;
  max-width: 100%;
  margin: 1.5rem 0 1rem;
  background-color: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
}

#MATemplate table {
  width: 100%;

  border-collapse: collapse;

  margin: 0;

  font-size: 15px;
}

#MATemplate th {
  background-color: #ad0109;

  color: #fff;

  padding: 12px 16px;

  text-align: left;

  font-weight: 600;
}

#MATemplate td {
  padding: 10px 16px;

  border-bottom: 1px solid #e0e0e0;
}

#MATemplate tbody tr:last-child td {
  border-bottom: none;
}

#MATemplate tr:nth-child(even) {
  background-color: #f9f9f9;
}

#MATemplate tr:hover {
  background-color: #fff0f0;
}

/* ==========================================================================

   7. FAQ ACCORDION



   Overrides Bootstrap defaults to match ALTERNATE brand.

   ========================================================================== */

#MATemplate .accordion-item {
  margin-bottom: 15px;

  border: 1px solid #e0e0e0;

  border-radius: 8px;

  overflow: hidden;
}

#MATemplate .accordion-button {
  width: 100%;

  padding: 15px 20px;

  background-color: #fff;

  border: none;

  text-align: left;

  font-size: 14px;

  font-weight: 600;

  color: #000;

  cursor: pointer;

  display: flex;

  justify-content: space-between;

  align-items: center;

  transition: background-color 0.3s ease;
}

/* Override Bootstrap's blue highlight on open accordion buttons */

#MATemplate .accordion-button:not(.collapsed) {
  background-color: #fff;

  color: #000;

  box-shadow: none;
}

#MATemplate .accordion-body {
  padding: 20px;
  background: white;
}

#MATemplate .accordion-body p {
  margin: 0;

  font-size: 14px;

  font-weight: 400;

  line-height: 1.6;
}

#MATemplate .accordion-body ul {
  margin: 0.5rem 0;
}

/* FAQ sur 2 colonnes quand il y a plus de 5 questions (1 colonne en mobile).
   Activé par les wrappers HTML .faq-grid > .faq-column (voir agent-blog-maker / agent-faq). */

#MATemplate .faq-grid {
  display: flex;

  gap: 30px;

  align-items: flex-start;
}

#MATemplate .faq-column {
  flex: 1 1 0;

  display: flex;

  flex-direction: column;
}

@media (max-width: 768px) {
  #MATemplate .faq-grid {
    flex-direction: column;

    gap: 0;
  }
}

/* ==========================================================================

   8. RESPONSIVE

   ========================================================================== */

@media (max-width: 760px) {
  #MATemplate h1 {
    font-size: 24px;
  }

  #MATemplate h2 {
    font-size: 20px;
  }

  #MATemplate h3:not(.promoTitle) {
    font-size: 16px;
  }

  #MATemplate p {
    font-size: 14px;
  }

  #MATemplate section {
    margin: 30px auto;
  }

  #MATemplate .section--full-bg {
    padding: 30px 0px;
  }
}

/* ==========================================================================

   9. CARROUSEL PRODUITS

   Copie conforme du Template.css du blog Powerbanks (2026-08-18).
   Ces styles ne sont PAS dans le CSS global du site: chaque blog embarque
   les siens. Sans eux, les cartes produits s'affichent sans mise en forme.

   ========================================================================== */

/* Cadrage du carrousel — repris de powerbanks.
   #MATemplate .row (specificite 1,1,0) bat .promoCards (0,1,0): c'est cette regle
   qui neutralise le "margin: 20px 100px" plus bas et cale la largeur a 1300px.
   Sans elle: conteneur 1100px, cartes 548px, 2 visibles au lieu de 4.
   Dans ce blog, .row et .col-12 n'existent QUE dans les carrousels. */

#MATemplate .row {
  margin: 0 auto;
  max-width: 1300px;
}

#MATemplate .col-12 {
  padding: 0;
}

/*Product row swiper css*/
/*niet alles zal nodig zijn*/

.promoCards {
  margin: 0 -5px;
  justify-content: flex-end;
}

.promoCards.row {
  margin-bottom: 20px !important;
}

.promoCard {
  border: unset;
}

.promoCard a {
  background: #ffffff;
  display: block;
  margin: 7px;
  padding: 14px;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.2s;
}

.promoCard a:hover,
.promoSky a:hover,
.promoHeaderOutlet a:hover,
.promoLogos a:hover {
  opacity: 0.9;
  transition: opacity 0.2s;
}

.promoCard img {
  max-width: 100%;
}

.promoTitle {
  color: #000000;
  font-size: 1rem !important;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 2.4em;
  text-wrap: balance;
  margin-top: 4px;
  margin-bottom: 11px;
}

@media only screen and (max-width: 600px) {
  .promoTitle {
    font-size: 0.8rem;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 3.5em;
  }
}

.promoPrices {
  position: relative;
  text-align: right;
  padding-top: 1.5rem !important;
}

.promoPrice {
  display: inline-block;
  color: #ad0109 !important;
  text-align: right;
  font-size: 14px;
  font-style: normal;
  font-weight: 700 !important;
  line-height: normal;
  margin: 0;
}

@media only screen and (max-width: 600px) {
  .promoPrice {
    display: block;
    margin: 10px 0 0 0;
    padding: 0.1rem 0.5rem;
    font-size: 1.15rem;
  }
  .promoPrice span span {
    font-size: 0.5rem;
  }
}

@media only screen and (max-width: 1120px) and (min-width: 992px) {
  .promoPrice {
    display: block;
    margin: 5px 0 0 0;
    padding: 0.1rem 0.5rem;
    line-height: 45px;
    font-size: 1.1rem;
  }
}

.promoStrikeprice {
  position: absolute;
  bottom: 22px;
  text-decoration: line-through;
  font-size: 0.8rem !important;
  margin-bottom: 0px !important;
}

@media only screen and (max-width: 600px) {
  .promoStrikeprice {
    bottom: 25px;
    right: 5px;
  }
}

.promoStrikeprice:empty,
.promoStrikeprice:has(span:empty) {
  display: none;
}

.promoCards {
  margin: 20px 100px;
}

.promoCards .highlight-carousel-container {
  position: relative;
  padding: 0px;
}

.promoCards .swiper {
  position: static;
  user-select: none;
}

.promoCards a.card {
  background-color: #ffffff;
  border: 1px solid rgba(242, 175, 66, 0.5) !important;
}

.promoCards a.card {
  opacity: 1;
  transition: opacity 0.1s;
}

.promoCards a.card:hover {
  opacity: 0.8;
  transition: opacity 0.1s;
}

.promoCards .promoTitle {
  color: black;
  font-size: 1rem;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 3.6em;
}

.promoCards .promoCard a {
  margin: 5px;
  border-radius: 2px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.promoCards .promoCard img {
  max-width: 85%;
}

.promoCards .eyecatcher-container div span {
  line-height: 1.5;
}

.promoCards .promoPrices {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.promoPriceDifference {
  font-weight: 900;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next,
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  margin: 0 5px;
  color: #ffffff;
  background-color: #ad0109;
  height: 35px;
  width: 35px;
  /* padding: 0 9px; */
  border-radius: 20px;
  top: 170px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 14px !important;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  margin-left: -4px;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 14px !important;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  margin-left: 4px;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  transform: scale3d(0.5, 0.4, 0.5);
}

@media only screen and (max-width: 1300px) {
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: 8px !important;
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: 8px !important;
  }
}

@media only screen and (max-width: 650px) {
  .promoCards .promoPrices {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
  }
  .promoCards .promoPrices div {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media only screen and (min-width: 767px) and (max-width: 992px) {
  .promoCards .promoPrices {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
  }
  .promoCards .promoPrices div {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media (max-width: 920px) {
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next,
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    top: 155px;
  }
  .promoCards {
    margin: 20px 50px;
  }
}

@media (max-width: 620px) {
  .promoTitle {
    font-size: 0.8rem !important;
  }

  .promoCards {
    margin: 20px;
  }

  .promoCards.row {
    margin-bottom: 20px !important;
    justify-content: flex-end;
  }

  .product-carousel {
    min-height: auto !important;
  }

  .promoStrikeprice {
    margin-bottom: 0px !important;
  }

  .promoStrikeprice {
    bottom: 15px;
    right: 8px;
  }

  .promoPrices {
    padding-top: 1rem !important;
  }
}

@media (max-width: 450px) {
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next,
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    top: 130px;
  }
}

