/* ============================================
   MAIN.CSS — Bertin Winlight
   Feuille de style globale (fusionnée & dédupliquée)
   ============================================ */


/* --- Logo header --- */
.logo-header {
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* --- Couleurs Bertin (#0f1de8) --- */
.text-bg-primary {
  background-color: #0f1de8 !important;
  color: white !important;
}

.btn-primary,
a.btn-primary,
.btn.btn-primary {
  background-color: #0f1de8 !important;
  border-color: #0f1de8 !important;
  color: white !important;
}

.icon-link {
  color: #0f1de8 !important;
  text-decoration-color: #0f1de8 !important;
}


/* --- Accordéon --- */
.accordion-button:not(.collapsed) {
  background-color: #0f1de8 !important;
  color: white !important;
  box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
  filter: brightness(0) invert(1);
}


/* --- Carousel --- */
.carousel-caption {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  width: 100%;
}


/* --- Icônes & features --- */
.feature-icon {
  width: 4rem;
  height: 4rem;
  border-radius: .75rem;
}

.feature-icon-small {
  width: 3rem;
  height: 3rem;
}

.icon-square {
  width: 3rem;
  height: 3rem;
  border-radius: .75rem;
}

.text-shadow-1 { text-shadow: 0 .125rem .25rem rgba(0, 0, 0, .25); }
.text-shadow-2 { text-shadow: 0 .25rem .5rem rgba(0, 0, 0, .25); }
.text-shadow-3 { text-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25); }


/* --- Cards avec image de fond --- */
.card-cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height: 320px;
}

.card-cover h3 {
  hyphens: auto;
  -webkit-hyphens: auto;
}


/* --- SVG & icônes Bootstrap --- */



.bi {
  vertical-align: -0.125em;
  fill: currentColor;
}

.btn .bi {
  width: 1em;
  height: 1em;
}

.bd-mode-toggle { z-index: 1500; }
.bd-mode-toggle .bi { width: 1em; height: 1em; }
.bd-mode-toggle .dropdown-menu .active .bi { display: block !important; }


/* --- Placeholder images --- */
.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg { font-size: 3.5rem; }
}


/* --- Divers Bootstrap --- */
.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, 0.1);
  border: solid rgba(0, 0, 0, 0.15);
  border-width: 1px 0;
  box-shadow:
    inset 0 0.5em 1.5em rgba(0, 0, 0, 0.1),
    inset 0 0.125em 0.5em rgba(0, 0, 0, 0.15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

/* ============================================
   ASTRONOMY PAGE
   Compact spacing, controlled card images and
   a footer that remains in the normal flow.
   ============================================ */
.intro-section {
  padding-top: 2.5rem;
  padding-bottom: 1.75rem;
}

.intro-section .lead {
  margin-bottom: 0;
  font-size: 1.15rem;
  line-height: 1.65;
}

.product-ranges {
  padding-top: 1rem;
  padding-bottom: 3.5rem;
}

.product-ranges .feature {
  min-width: 0;
}

.product-ranges .range-card {
  width: 100%;
  min-height: 0;
  height: 280px;
  flex: 0 0 auto;
}

.product-ranges .range-card > .d-flex {
  height: 100%;
}

.product-ranges .range-title {
  margin-top: 1rem;
  margin-bottom: .5rem;
}

.product-ranges article > p {
  margin-bottom: 1rem;
}

.product-ranges .icon-link {
  margin-top: auto;
  align-self: flex-start;
}

.footer-divider {
  margin: 0;
}

footer {
  position: relative;
  clear: both;
  background: #fff;
}

@media (max-width: 991.98px) {
  .product-ranges .range-card {
    height: 250px;
  }
}

@media (max-width: 767.98px) {
  .intro-section {
    padding-top: 2rem;
    padding-bottom: 1.25rem;
  }

  .product-ranges {
    padding-top: .75rem;
    padding-bottom: 2.5rem;
  }

  .product-ranges .range-card {
    height: 220px;
  }
}

 .product-ranges--wide {
        width: 100%;
        max-width: none;
        padding-inline: clamp(1.25rem, 4vw, 5rem);
      }

      .product-ranges--wide .row {
        width: 100%;
        margin-inline: 0;
      }

      .product-ranges--wide .feature {
        min-width: 0;
      }

      /* Image overlay: the pseudo-element darkens the image only. */
      .product-ranges--wide .range-card {
        position: relative;
        isolation: isolate;
        min-height: 0;
        height: clamp(260px, 26vw, 430px);
        flex: 0 0 auto;
        background-position: center;
        background-size: cover;
      }

      .product-ranges--wide .range-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0.18) 0%,
          rgba(0, 0, 0, 0.30) 48%,
          rgba(0, 0, 0, 0.68) 100%
        );
        pointer-events: none;
      }

      .product-ranges--wide .range-card > .d-flex {
        position: relative;
        z-index: 1;
        justify-content: flex-end;
        height: 100%;
        padding: clamp(1.5rem, 3vw, 3rem) !important;
      }

      .product-ranges--wide .range-card-title {
        margin: 0;
        max-width: 24ch;
        color: #fff;
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
      }

      .product-ranges--wide .range-title {
        margin-top: 1rem;
      }

      .product-ranges--wide article > p {
        margin-bottom: 1rem;
      }

      .product-ranges--wide .icon-link {
        margin-top: auto;
        align-self: flex-start;
      }

      @media (max-width: 991.98px) {
        .product-ranges--wide {
          padding-inline: 1.25rem;
        }

        .product-ranges--wide .range-card {
          height: 300px;
        }
      }

      @media (max-width: 575.98px) {
        .product-ranges--wide .range-card {
          height: 240px;
        }
      }
	  
	   /* Astronomy product cards: dark overlay for improved title contrast */
      .product-ranges .range-card {
        position: relative;
        isolation: isolate;
      }

      .product-ranges .range-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0.18) 0%,
          rgba(0, 0, 0, 0.30) 48%,
          rgba(0, 0, 0, 0.68) 100%
        );
        pointer-events: none;
      }

      .product-ranges .range-card > .d-flex {
        position: relative;
        z-index: 1;
        justify-content: flex-end;
        height: 100%;
        padding: clamp(1.5rem, 3vw, 3rem) !important;
      }

      .product-ranges .range-card-title {
        margin: 0;
        max-width: 22ch;
        color: #fff;
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
      }
	  
	  /* ==========================================

/* ==========================================
   Hero banner overlay
   ========================================== */

.carousel-item {
  position: relative;
}

.carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.15) 0%,
    rgba(0, 0, 0, 0.30) 45%,
    rgba(0, 0, 0, 0.65) 100%
  );

  pointer-events: none;
}

.carousel-caption {
  z-index: 2;
}

.carousel-caption h1,
.carousel-caption p {
  position: relative;
  z-index: 3;
}

/* ==========================================
   Homepage - Product ranges overlay
   ========================================== */

.card-cover {
  position: relative;
  isolation: isolate;
}

.card-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.30) 45%,
    rgba(0,0,0,0.70) 100%
  );

  pointer-events: none;
}

.card-cover > .d-flex {
  position: relative;
  z-index: 1;
  justify-content: flex-end;
}

.card-cover h3 {
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.55);
}

.hs-form {
    font-family: inherit;
}

.hs-form input,
.hs-form textarea,
.hs-form select {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.hs-form .hs-button {
    background: #0f1de8;
    border: none;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.375rem;
}

.hs-form .hs-button:hover {
    background: #0813b0;
}