@charset "UTF-8";
/* ==================================================
   HERO – Linobase
   ================================================== */
/* ============================
   VARIABLES SCSS & CSS
   ============================ */
/* ---- Fonts ---- */
/* ---- Couleurs ---- */
/* ---- Typographie ---- */
/* ---- Espacements ---- */
/* ---- CKEditor / contenu éditorial ---- */
/* Base */
.c-hero {
  padding: calc(1rem * 4) 0;
  font-family: "Outfit", sans-serif;
  color: #360675;
}
.c-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(1rem * 3);
}
.c-hero__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
  max-width: 42rem;
}
.c-hero__media {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 480px;
          flex: 0 1 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform: translateY(1.5rem);
          transform: translateY(1.5rem);
  /* évite l’image trop massive */
  max-width: 480px;
  margin-left: auto;
}
.c-hero__media img {
  width: 100%;
  height: auto;
  display: block;
}
.c-hero__title {
  font-family: "Outfit", sans-serif;
  line-height: 1.2;
  /* impact visuel */
  font-weight: 800;
  letter-spacing: -0.02em;
  /* taille responsive simple */
  font-size: clamp(2rem, 3vw, 3.25rem);
  margin-bottom: calc(1rem * 1.25);
  /* accent discret */
  position: relative;
}
.c-hero {
  /* Accent “trait” sous le titre */
}
.c-hero__title::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 0.35rem;
  margin-top: calc(1rem * 0.75);
  border-radius: 999px;
  background-color: #5dbcb4;
}
.c-hero__text {
  font-size: calc(1rem * 1.05);
  line-height: 1.55;
  margin-bottom: calc(1rem * 1.75);
}
.c-hero__points {
  list-style: none;
  padding: 0;
  margin: 0 0 calc(1rem * 2.25);
  margin-bottom: calc(1rem * 2.25);
  background-color: rgba(93, 188, 180, 0.08);
  padding: calc(1rem * 1.25);
  border-radius: 0.75rem;
}
.c-hero__points li {
  position: relative;
  padding-left: calc(1rem * 1.5);
  margin-bottom: calc(1rem * 0.5);
}
.c-hero__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #5dbcb4;
}
.c-hero__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/* ==================================================
   VARIANTS
   ================================================== */
/* Image à droite (default) */
.c-hero--default .c-hero__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

/* Image à gauche */
.c-hero--alt .c-hero__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.c-hero--alt .c-hero__media {
  margin-left: 0;
  margin-right: auto;
}

/* Contenu centré */
.c-hero--centered {
  text-align: center;
}
.c-hero--centered .c-hero__content {
  max-width: 48rem; /* on peut élargir un peu au centre */
  margin-left: auto;
  margin-right: auto;
}
.c-hero--centered .c-hero__title::after {
  margin-left: auto;
  margin-right: auto;
}
.c-hero--centered .c-hero__media {
  -webkit-transform: none;
          transform: none;
  margin-left: auto;
  margin-right: auto;
  max-width: 420px;
}
.c-hero--centered .c-hero__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-hero--centered .c-hero__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; /* puces alignées correctement */
  text-align: left; /* évite les retours bizarres */
}
.c-hero--centered .c-hero__points li {
  /* on garde la mécanique des puces, mais on stabilise l’alignement */
  padding-left: calc(1rem * 1.5);
}
.c-hero--centered .c-hero__points li::before {
  left: 0;
}
.c-hero--centered .c-hero__cta {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Version compacte */
.c-hero--compact {
  padding: calc(1rem * 2) 0;
}
.c-hero--compact .c-hero__media {
  display: none;
}

/* ==================================================
   RESPONSIVE
   ================================================== */
@media (max-width: 768px) {
  .c-hero .c-hero__inner,
  .c-hero--default .c-hero__inner,
  .c-hero--alt .c-hero__inner,
  .c-hero--centered .c-hero__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-hero .c-hero__content,
  .c-hero--default .c-hero__content,
  .c-hero--alt .c-hero__content,
  .c-hero--centered .c-hero__content {
    max-width: 100%;
  }
  .c-hero .c-hero__media,
  .c-hero--default .c-hero__media,
  .c-hero--alt .c-hero__media,
  .c-hero--centered .c-hero__media {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    -webkit-transform: none;
            transform: none;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 992px) {
  .c-hero__media {
    -webkit-transform: none;
            transform: none;
  }
}