@charset "UTF-8";
/* ==================================================
   HERO – Linobase
   ================================================== */
/* ---- Espacements ---- */
:root {
  --lb-color-primary: #360675;
  --lb-color-secondary: #5dbcb4;
  --lb-color-success: #28a745;
  --lb-color-danger: #dc3545;
  --lb-site-bg: #FFF;
  --lb-site-color: #212529;
  --lb-heading-color: #360675;
  --lb-heading-after-bg: #5dbcb4;
  --lb-nav-bg: #ffffff;
  --lb-nav-color: #212529;
  --lb-nav-link-color: #212529;
  --lb-nav-link-hover: #360675;
  --lb-header-bg: #ffffff;
  --lb-header-color: #212529;
  --lb-prefooter-bg: #e3e9ec;
  --lb-prefooter-color: #360675;
  --lb-footer-bg: #262626;
  --lb-footer-color: #ffffff;
  --lb-footer-link: #ffffff;
  --lb-footer-link-hover: #cccccc;
  --lb-card-bg: #ffffff;
  --lb-card-border: rgba(54, 6, 117, 0.1);
  --lb-content-bg: #ffffff;
  --lb-wrapper-bg: #f9f9f9;
  --lb-link-color: #360675;
  --lb-link-hover: rgb(27.1317073171, 3.0146341463, 58.7853658537);
  --bs-primary: var(--lb-color-primary);
  --bs-secondary: var(--lb-color-secondary);
  --bs-success: var(--lb-color-success);
  --bs-danger: var(--lb-color-danger);
  --bs-heading-color: var(--lb-heading-color);
  --bs-bg-opacity: 1;
}

/* Base */
.c-hero {
  min-height: clamp(220px, 45vh, 600px);
  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 ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -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;
  gap: 0.75rem;
  margin: 1.5rem auto;
  padding: 0;
  list-style: none;
}
.c-hero--centered li {
  position: relative;
  padding-left: 1.5rem;
  text-align: left;
}
.c-hero--centered li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #5dbcb4;
}
.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 {
    min-height: auto;
  }
  .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-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -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;
  }
}