/* main.css */
@import url('./block-notre-offre.css');
@import url('./block-bg.css');
@import url('./style-button.css');
@import url('./style-tablet.css');
@import url('./style-mobile.css');
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}
body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: Open Sans,sans-serif;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:Cormorant Garamond,serif;
  letter-spacing:0em
}
.font-Cormorant {
  font-family:Cormorant Garamond,Georgia,serif;
}
.bg-navy {
  background: hsl(var(--navy-color-hls));
}

.bg-accent {
  background: hsl(var(--accent-color-hls));
}.bg-accent-op {
    background-color: hsl(var(--accent) / .1);
}
.bg-light-white {
        background: linear-gradient(to bottom, #f8f9fa, #ffffff);
    }
.bg-color-white {
  --tw-bg-opacity: 1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.bg-card-color {
  background-color: hsl(var(--card));
}
.secondary-bg-color {
  background-color:hsl(var(--secondary-bg-color));
}
    
  
/*  TEXT color */
.text-accent-color-op {
  color: hsl(var(--accent-color-hls) / .8) !important;
}.text-accent-color {
  color: hsl(var(--accent-color-hls));
}.text-letter-spacing {
  letter-spacing: .05em;
}.text-foreground {
    color: hsl(var(--foreground));
}.text-muted-foreground {
    color: hsl(var(--muted-foreground))
}.line-he {
    line-height: 1.625;
}.smaller{
    font-size:0.75rem;
}

.tiny{
    font-size:0.65rem;
}
/*  Width */
.w-60 {
  width: 60% !important;
}.w-58 {
  width: 58% !important;
}
/*  Padding */
.py-7 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}
.mtb3-0 {
  margin-top: 3rem !important;
  margin-bottom: 0rem !important;
}


/*  header */
.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  background: hsl(var(--navy-color-hls));
  transform: translateZ(0);
}


/* Header line */
.main-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  /* gradient line */
  background: linear-gradient(
    90deg,
    transparent,
    hsl(var(--accent-color-hls) / .8),
    transparent
  );
  /* soft shadow under it */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

/* =========================
   NAVBAR BASE
========================= */

.navbar {
  padding-top: 1px;
  padding-bottom: 1px;
}



/* Shrink effect */
.navbar.navbar-shrink {
  padding-top: 1px;
  padding-bottom: 1px;
  box-shadow: 0 5px 18px rgba(0,0,0,0.08);
}


/* =========================
   MOBILE GRADIENTS
========================= */

.mobile-gradient {
  height: 1px;
  margin: 0 16px;
  background: linear-gradient(
    to right,
    transparent,
    hsl(var(--accent-color-hls) / .8),
    transparent
  );
}

.line-gradient {
  width: 100%;
  height: 1px;
  margin-top: 12px;
  background: linear-gradient(
    to right,
    transparent,
    hsl(var(--accent-color-hls) / .8),
    transparent
  );
}

/* =========================
   NAV LINKS
========================= */

.nav-link-custom {
  color: hsl(var(--primary-foreground-color-hls) / .8);
  letter-spacing: .3px;
  font-size: 16px;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.navbar-nav .nav-link-custom.active,
.navbar-nav .nav-link-custom.show {
  color: hsl(var(--accent-color-hls) / .8);
  font-weight: 500;
}

/* =========================
   TOGGLER
========================= */

.toggler-style:hover,
.toggler-style:focus,
.toggler-style:active {
  border: 0 none;
  box-shadow: none;
}

/* =========================
   RAPPEL LINK
========================= */

.rapple,
.rapple:hover,
.rapple:focus,
.rapple:active {
  color: hsl(var(--primary-foreground-color-hls) / .8) !important;
  white-space: nowrap;
}

.rapple:hover {
  color: hsl(var(--accent-color-hls) / .8) !important;
}

/* =========================
   TOGGLER ICON
========================= */

.toggler-icon {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
}

.toggler-icon i {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2rem;
  transition: opacity 0.25s ease, transform 0.25s ease;
  color: hsl(var(--accent-color-hls) / .8);
}

.toggler-icon .bi-x {
  opacity: 0;
  transform: rotate(90deg);
}

/* When menu is OPEN */
.navbar-toggler[aria-expanded="true"] .bi-list {
  opacity: 0;
  transform: rotate(90deg);
}

.navbar-toggler[aria-expanded="true"] .bi-x {
  opacity: 1;
  transform: rotate(0);
}
/* =========================
   VIDEO
========================= */
.video-banner {
    min-height: 100vh;
    padding-top: 180px;
    padding-bottom:0px;
    background: #0a0a1a;
}


/* OVERLAY */
.overlay-main {
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.60) 0%,
        rgba(0,0,0,0.30) 45%,
        rgba(0,0,0,0.08) 75%,
        rgba(0,0,0,0) 100%
    );
    z-index: 1;
}

.overlay-bottom {
    height: 120px;
    background: linear-gradient(
        to top,
        rgba(11,12,15,0.6) 0%,
        transparent 100%
    );
    z-index: 1;
}

/* TITLE */
.video-banner-title {
    font-size: clamp(2.0rem, 6vw, 2.7rem);
    line-height: 1.05;
    text-shadow:
        0 2px 14px rgba(0,0,0,0.7),
        0 1px 3px rgba(0,0,0,0.55);
}

/* SUBTITLE */
.video-banner-subtitle {
    color: #d5c190;
    font-size: clamp(1.4rem, 3vw, 1.8rem);
    font-weight: 500;
}

/* TEXT */
.video-banner-text {
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    max-width: 650px;
    color: #eae7e1;
    line-height: 1.7;
}

/* STATS */
.stat-number {
    font-size: 2.75rem;
    font-weight: 500;
    color: hsl(var(--text-golden-color-hls));
    line-height: 1.2;
}

.stat-text {
    font-size: 19px;
    color: rgb(217, 212, 201);
}

/* QUOTE */
.quote-text {
    color: #e6e2db;
    font-size: 20px;
    font-style: italic;
}
  /* =========================
   Block 4 Avis Google
========================= */

    .title-underline {
      width: 3rem;
      height: .125rem;
    }


/* Quote Icon */
.quote-icon-avis {
    position: absolute;
    top: 2px;
    right: 18px;
    color: hsl(var(--accent) / .3);
}
/* Left circle icon with text */
.icon-text-bg {
    border-radius: 50%;
    background-color: hsl(var(--accent) / .1);
    transition: all 0.25s ease;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: hsl(var(--accent));
    font-size: 14px;
}
/* Right radius icon google */
.icon-avis-bg {
    font-size: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background-color: hsl(var(--accent) / .1);
    color: hsl(var(--accent));
    padding: 5px 8px;
    border-radius: 6px;
}
.avis-google-link:hover{
  color: hsl(var(--accent-color-hls) / .8) !important;
}


/* Gradient container */
.bg-gradient-to-br {
  background-image: linear-gradient(
    to bottom right,
    hsl(var(--navy)),
    hsl(var(--navy-dark))
  );
}
.bg-gradient-to-br {
  background-image: linear-gradient(
    to bottom right,
    var(--tw-gradient-stops)
  );
}

/* Start color */
.from-navy {
  --tw-gradient-from: hsl(var(--navy));
  --tw-gradient-to: hsl(var(--navy) / 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

/* End color */
.to-navy-dark {
  --tw-gradient-to: hsl(var(--navy-dark));
}

.case-card {    
    background-color:hsl(var(--card));
    border:1px solid hsl(var(--accent-color-hls) / .1);
    border-radius: 1.25rem;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);    
    padding: 1.5rem;
    transition: all 0.3s ease;
    height: 100%;
  }

  .case-card:hover {
    box-shadow: 0 3px 5px rgba(0,0,0,0.06);
    border: 1px solid hsl(var(--accent-color-hls) / .3);
  }

  .case-card:hover h3 {
    color: hsl(var(--accent))
  }

 /* =========================
   block 5 Vertically centered modal on click
========================= */
.modal-header.modal-header-line{
  border-bottom: hsl(var(--accent-color-hls) / .2) 1px solid}
.modal-header .btn-close.model-close-button{
        border-radius: 25%;border: hsl(var(--accent-color-hls) / .9) 2px solid;
    font-size: 9px;
    padding: 6px;}
  

/* =========================
   Footer
========================= */

footer{font-size: 14px;}
.sm-logo{height:44px;}
.text-primary-foreground{color: hsl(var(--primary-foreground-color-hls) / .8);line-height: 2rem;}  
.text-primary-foreground-light{color:hsl(var(--primary-foreground-color-hls) / .5)}
.color-accent {color: hsl(var(--accent-color-hls) / .8);}
/* =========================
   LARGE SCREENS (1400px+)
========================= */

@media (min-width: 992px) {
    /* Logo */
.logo-img {
  height: 46px;
  transition: all 0.35s ease;
}
.lg-w-58{width: 58% !important;}
.navbar.navbar-shrink .logo-img {
  height: 40px;
}
/* =========================
   NAV LINKS
========================= */

.nav-link-custom {
  color: hsl(var(--primary-foreground-color-hls) / .8);
  letter-spacing: .1px;
  font-size: 14px;
  transition: all 0.3s ease;
  white-space: nowrap;
}


  .nav-link-custom {
    position: relative;
    transition: color 0.3s ease;
  }

  .navbar-expand-lg .navbar-nav .nav-link-custom {
    padding: 5px 0;
  }

  /* underline */
  .nav-link-custom::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: hsl(var(--accent-color-hls) / .8);
    transition: width 0.3s ease;
  }

  .nav-link-custom.active {
    color: hsl(var(--accent-color-hls) / .8);
  }

  .nav-link-custom.active::after {
    width: 100%;
  }

  .nav-link-custom:hover,
  .nav-link-custom:focus {
    color: hsl(var(--accent-color-hls) / .8);
  }
  header .button-accent-color, header .rapple{font-size: 14px;}  
}

/* =========================
   MOBILE (≤991px)
========================= */

@media (max-width: 991.98px) {

  .logo-img {
    height: 44px;
    transition: all 0.35s ease;
  }

  .navbar.navbar-shrink .logo-img {
    height: 40px;
  }

  .navbar-nav .nav-link-custom.active,
  .navbar-nav .nav-link-custom:focus {
    font-weight: 500;
    border-radius: 6px;
    background-color: hsl(var(--navy-light) / .5);
  }

  .navbar-nav .nav-link-custom {
    transition: all 0.2s ease;
    padding: 10px 16px;
    display: block;
    text-align: left;
  }

  .navbar-nav li {
    margin: 4px 0;
  }

  .right-actions {
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .right-actions .rapple,
  .right-actions .button-accent-color{
    display: inline-flex;
    align-items: center;
    padding: 6px 22px;
    border-radius: 999px;
    white-space: nowrap;
    border: 2px solid hsl(var(--accent-color-hls));
  }

  .phone-icon,
  .map-icon {
    font-size: 1rem;
    color: hsl(var(--accent-color-hls) / .8);
  }

  .phone-text {
    font-size: 13.5px;
    font-weight: 500;
    color: hsl(var(--accent-color-hls) / .8);
  }

  .cont-text {
    font-size: 13.5px;
    font-weight: 500;
    color: hsl(var(--primary-foreground-color-hls) / .8);
  }
}
/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 
  /* Logo */
  .logo-img {
    height: 64px;
    transition: all 0.35s ease;
  }
  .navbar.navbar-shrink .logo-img {
    height: 54px;
  }
}
/* MOBILE */
@media (max-width: 767px) {

    .video-banner {
        padding-top: 20px;
    }

    .video-banner-title {
        font-size: 2.3rem;
    }

    .video-banner-subtitle {
        font-size: 1.25rem;
    }

    .video-banner-text {
        font-size: 1rem;
    }

    .stat-number {
        font-size: 1.4rem;
    }

    .quote-text {
        font-size: 1rem;
    }
}





 



