/* (C) */
body {
  background-color: var(--bs-paper-bg);
}

@media (max-width: 337px) {
    .app-brand-link-header {
        display: none !important;
    }
}

/* Styles CSS supplémentaires pour assurer le centrage parfait */
@media (min-width: 992px) {
  .landing-navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .landing-navbar .navbar-brand {
    flex: 0 0 auto;
  }
  
  .landing-navbar .navbar-collapse {
    flex-grow: 1;
    display: flex !important;
    justify-content: center;
  }
  
  .landing-navbar .navbar-nav.mx-auto {
    margin: 0 auto !important;
  }
  
  .landing-navbar > .navbar-nav:last-child {
    flex: 0 0 auto;
  }
}

/* Pour mobile, garde le comportement par défaut */
@media (max-width: 991px) {
  .landing-navbar .navbar-nav.mx-auto {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.section-py {
  padding-block: 6.25rem;
  padding-inline: 0;
}
@media (max-width: 1199.98px) {
  .section-py {
    padding-block: 4rem;
    padding-inline: 0;
  }
}
@media (max-width: 767.98px) {
  .section-py {
    padding-block: 3rem;
    padding-inline: 0;
  }
}

.first-section-pt {
  padding-block-start: 11.28rem;
}
@media (max-width: 1199.98px) {
  .first-section-pt {
    padding-block-start: 7.5rem;
  }
}

.card {
  /* card hover border color */
}
.card[class*=card-hover-border-] {
  transition: all 0.2s ease-in-out;
}

.banner-bg-img {
  position: absolute;
  block-size: 100%;
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
  object-fit: cover;
  object-position: left;
}

.section-title-img {
  block-size: 100%;
  inline-size: 120%;
  inset-block-start: 10px;
  inset-inline-start: -12%;
}

nav.layout-navbar {
  backdrop-filter: unset;
  background-color: transparent;
  block-size: auto;
}
nav.layout-navbar::before {
  position: absolute;
  display: block;
  block-size: 100%;
  content: "";
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
}
nav.layout-navbar .navbar.landing-navbar {
  --bs-front-navbar-bg: #ffffff;
  --bs-front-navbar-border-color: var(--bs-front-navbar-bg);
  border: 2px solid var(--bs-front-navbar-border-color);
  background-color: var(--bs-front-navbar-bg);
  margin-block-start: 1rem;
  padding-block: 0.614rem;
  transform: unset;
  transition: all 0.2s ease-in-out;
  border-radius: 0.375rem;
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
  color: var(--bs-heading-color);
  margin-inline-end: 0.625rem;
  padding-block: 0.5rem;
  padding-inline: 0.625rem;
}
@media (max-width: 1199.98px) {
  nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link {
    margin-inline-end: 0;
    padding-inline: 0.5rem;
  }
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item:last-child .nav-link {
  margin-inline-end: 0;
}
@media (min-width: 992px) {
  nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
    inset-block-start: 100%;
    inset-inline-start: 50%;
    max-inline-size: 1300px;
    transform: translateX(-50%);
  }
  :dir(rtl) nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
    transform: translateX(50%);
  }
}
@media (max-width: 991.98px) {
  nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu {
    border: none;
    background: transparent;
    box-shadow: none;
  }
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu .mega-dropdown-link {
  margin: 0;
  font-weight: 400;
  padding-inline: 0;
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu .mega-dropdown-link .icon-base {
  block-size: 1rem;
  color: var(--bs-body-color);
  font-size: 1rem;
  inline-size: 1rem;
  margin-block-start: -0.125rem;
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item.mega-dropdown > .dropdown-menu .mega-dropdown-link:hover {
  color: var(--bs-primary);
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item .nav-img-col,
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-item .nav-img-col img {
  border-radius: 0.625rem;
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .show > .nav-link,
nav.layout-navbar .navbar.landing-navbar .navbar-nav .active > .nav-link,
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.show,
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.active,
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link:hover {
  color: var(--bs-primary);
}
nav.layout-navbar .navbar.landing-navbar .navbar-nav .nav-link.active{
  color: #D00032;
}
@media (max-width: 991.98px) {
  nav.layout-navbar .navbar.landing-navbar .landing-nav-menu {
    background-color: var(--bs-paper-bg);
  }
}
@media (max-width: 991.98px) {
  nav.layout-navbar .navbar.landing-navbar .landing-menu-overlay {
    position: fixed;
    z-index: 9998;
    display: none;
    background-color: rgba(var(--bs-black-rgb), 0.78);
    block-size: 100%;
    inline-size: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    transition: all 0.2s ease-in-out;
  }
  nav.layout-navbar .navbar.landing-navbar .landing-nav-menu {
    position: fixed;
    z-index: 9999;
    display: block;
    padding: 1rem;
    block-size: 100%;
    inline-size: 80%;
    inset-block-start: 0;
    inset-inline-start: -100%;
    max-inline-size: 300px;
    overflow-y: auto;
    transition: all 0.3s ease-in-out;
  }
  nav.layout-navbar .navbar.landing-navbar .landing-nav-menu.show {
    inset-inline-start: 0;
  }
  nav.layout-navbar .navbar.landing-navbar .landing-nav-menu.show ~ .landing-menu-overlay {
    display: block;
  }
}
nav.layout-navbar.navbar-active::before {
  backdrop-filter: saturate(100%) blur(6px);
}
nav.layout-navbar.navbar-active .landing-navbar {
  background-color: var(--bs-paper-bg);
  box-shadow: var(--bs-box-shadow-sm);
}
nav.layout-navbar .menu-text {
  color: var(--bs-heading-color);
}

.landing-footer {
  --bs-footer-text: var(--bs-white);
  --bs-footer-bottom-text: #d3d4dc;
  --bs-footer-bottom-bg: #282c3e;
  --bs-footer-top-bg: #241d31;
  /* use dark variables as front footer having dark background */
}
.landing-footer .footer-link,
.landing-footer .footer-text {
  color: var(--bs-footer-text);
  opacity: 0.78;
}
.landing-footer .footer-title {
  color: var(--bs-footer-text);
  opacity: 0.92;
}
.landing-footer .footer-bottom-text {
  color: var(--bs-footer-bottom-text);
}
.landing-footer .footer-bottom {
  background-color: #D00032;
}
.landing-footer .footer-link {
  transition: all 0.2s ease-in-out;
}
.landing-footer .footer-link:hover {
  opacity: 1;
}
.landing-footer .footer-top {
  padding-block: 3.6875rem 2.4375rem;
  border-top-left-radius: 3.75rem;
  border-top-right-radius: 3.75rem;
  background-color: #073a4feb;
}
@media (max-width: 767.98px) {
  .landing-footer .footer-top {
    padding-block: 3rem;
    padding-inline: 0;
  }
}
.landing-footer .footer-top .footer-bg {
  object-position: center;
}
@media (min-width: 992px) {
  .landing-footer .footer-logo-description {
    max-inline-size: 385px;
  }
}
.landing-footer .footer-form {
  max-inline-size: 22.25rem;
}
.landing-footer .footer-form input {
  background-color: transparent;
  color: var(--bs-footer-text);
}
.landing-footer .footer-form input, .landing-footer .footer-form input:hover:not(:focus):not(:disabled) {
  border-color: #ffffff;
}
.landing-footer .footer-form input:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0.125rem 0.25rem color-mix(in srgb, var(--bs-primary) 0.1, #2f3349);
}
.landing-footer .footer-form input::placeholder {
  color: rgba(var(--bs-white-rgb), 0.5);
}
.landing-footer .footer-form label {
  color: #cfcde4;
}

/* Bulles flottantes */
.floating-bubbles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.bubble {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
  backdrop-filter: blur(5px);
}

.bubble:nth-child(1) { width: 40px; height: 40px; left: 10%; top: 20%; animation-delay: 0s; animation-duration: 8s; }
.bubble:nth-child(2) { width: 60px; height: 60px; left: 85%; top: 30%; animation-delay: -2s; animation-duration: 6s; }
.bubble:nth-child(3) { width: 30px; height: 30px; left: 20%; top: 70%; animation-delay: -4s; animation-duration: 10s; }
.bubble:nth-child(4) { width: 50px; height: 50px; left: 75%; top: 60%; animation-delay: -1s; animation-duration: 7s; }
.bubble:nth-child(5) { width: 25px; height: 25px; left: 50%; top: 15%; animation-delay: -3s; animation-duration: 9s; }
.bubble:nth-child(6) { width: 35px; height: 35px; left: 15%; top: 50%; animation-delay: -5s; animation-duration: 8s; }
.bubble:nth-child(7) { width: 45px; height: 45px; left: 90%; top: 80%; animation-delay: -6s; animation-duration: 6s; }
.bubble:nth-child(8) { width: 28px; height: 28px; left: 60%; top: 85%; animation-delay: -2.5s; animation-duration: 7s; }
.bubble:nth-child(9) { width: 38px; height: 38px; left: 5%; top: 90%; animation-delay: -1.5s; animation-duration: 8s; }
.bubble:nth-child(10) { width: 32px; height: 32px; left: 80%; top: 10%; animation-delay: -4.5s; animation-duration: 9s; }

/* Animation de flottement */
@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
    opacity: 0.7;
  }
  25% {
    transform: translateY(-20px) rotate(90deg);
    opacity: 1;
  }
  50% {
    transform: translateY(-10px) rotate(180deg);
    opacity: 0.8;
  }
  75% {
    transform: translateY(-30px) rotate(270deg);
    opacity: 0.9;
  }
}

/* Effets spéciaux */
.bubble.pulse {
  animation: pulse 4s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.1); opacity: 1; }
}

.bubble.shine {
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.3), rgba(255,255,255,0.05));
  box-shadow: 0 4px 15px rgba(255,255,255,0.1);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .bubble {
    opacity: 0.5;
  }
}

.home-clinic-img {
  border-top-left-radius: 60px;
  border-bottom-right-radius: 60px;
}

.service-img {
  width: 50%;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.bg-landing-gradient {
  background: linear-gradient(#073a4feb, #073a4f);
}

.content-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
}

.section-header {
  background: linear-gradient(135deg, #073a4f 0%, #073a4f 100%);
  color: white;
  padding: 1.5rem;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.content-title {
  background: linear-gradient(135deg, #073a4f 0%, #073a4f 100%);
  color: white;
  padding: 1rem 1.5rem;
  margin: 0 0 1.5rem 0;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 8px;
}

.section-content {
  padding: 2rem;
}

.storage-info, .right-card {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.2rem;
  margin-bottom: 1rem;
  border-left: 4px solid #073a4f;
}

.storage-info h5, .right-card h5 {
  color: #1f2937;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.contact-info {
  background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
  border-radius: 12px;
  padding: 2rem;
  margin: 1rem 0;
  border: 1px solid #d1d5db;
}

.contact-info h5 {
  color: #073a4f;
  margin-bottom: 1rem;
  font-weight: 600;
}

.lead {
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .section-content {
    padding: 1.5rem;
  }
  
  .content-title, .section-header {
    padding: 1rem;
    font-size: 1.1rem;
  }
  
  .storage-info, .right-card {
    padding: 1rem;
  }
}


.section-header {
  background: linear-gradient(135deg, #073a4f 0%, #0a4c63 100%);
  color: white;
  padding: 1.5rem;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.content-title {
  background: linear-gradient(135deg, #073a4f 0%, #085d75 100%);
  color: white;
  padding: 1rem 1.5rem;
  margin: 0 0 1.5rem 0;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 8px;
}

.section-content {
  padding: 2rem;
}

.content-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
}

.section-content h5 {
  color: #073a4f;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.section-content ul {
  margin-bottom: 1rem;
}

.section-content li {
  margin-bottom: 0.5rem;
}

.contact-info {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 2rem;
  margin: 1rem 0;
  border: 1px solid #dee2e6;
}

.contact-info h5 {
  color: #073a4f;
  margin-bottom: 1rem;
  font-weight: 600;
}

.important-note {
  background: #e8f4f8;
  border-left: 4px solid #073a4f;
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 0 8px 8px 0;
}

.important-note p {
  margin-bottom: 0.5rem;
}

.lead {
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .section-content {
    padding: 1.5rem;
  }
  
  .content-title, .section-header {
    padding: 1rem;
    font-size: 1.1rem;
  }
  
  .contact-info {
    padding: 1.5rem;
  }
  
  .important-note {
    padding: 1rem;
  }
}

.content-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
}

.section-header {
  background: linear-gradient(135deg, #073a4f 0%, #0a4c63 100%);
  color: white;
  padding: 1.5rem;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.content-title {
  background: linear-gradient(135deg, #073a4f 0%, #085d75 100%);
  color: white;
  padding: 1rem 1.5rem;
  margin: 0 0 1.5rem 0;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 8px;
}

.section-content {
  padding: 2rem;
}

.section-content h5 {
  color: #073a4f;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.section-content h6 {
  color: #073a4f;
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.company-info {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.5rem;
  margin: 1rem 0;
  border-left: 4px solid #073a4f;
}

.conservation-table .conservation-item {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.2rem;
  margin-bottom: 1rem;
  border-left: 4px solid #073a4f;
}

.conservation-item h6 {
  margin-bottom: 0.5rem;
  color: #073a4f;
  font-weight: 600;
}

.cookie-category {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 1.2rem;
  margin-bottom: 1rem;
  border-left: 4px solid #073a4f;
}

.contact-info {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 12px;
  padding: 2rem;
  margin: 1rem 0;
  border: 1px solid #dee2e6;
}

.contact-info h5 {
  color: #073a4f;
  margin-bottom: 1rem;
  font-weight: 600;
}

.version-info {
  background: #e8f4f8;
  border-left: 4px solid #073a4f;
  padding: 1.5rem;
  border-radius: 0 8px 8px 0;
}

.version-info p {
  margin-bottom: 0.5rem;
}

.lead {
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .section-content {
    padding: 1.5rem;
  }
  
  .content-title, .section-header {
    padding: 1rem;
    font-size: 1.1rem;
  }
  
  .company-info, .conservation-item, .cookie-category {
    padding: 1rem;
  }
  
  .contact-info {
    padding: 1.5rem;
  }
  
  .version-info {
    padding: 1rem;
  }
}

.section-title-img {
  max-width: 100px;
  height: auto;
}

.contact-img-box {
  border-radius: 12px;
}

.contact-img {
  border-radius: 8px;
}

.contact-border-img {
  top: -10px;
  left: -10px;
  z-index: -1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .section-title-img {
    max-width: 80px;
  }
  
  .contact-img-box {
    margin-bottom: 2rem;
  }
}

.img-fluid-about {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
}