@charset "UTF-8";
@import url(main.css);
.video-background-holder { display: none; }

.b-bloc-divider { height: 40px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border-radius: 10px !important; color: white !important; font-weight: 600; letter-spacing: 0.02rem; padding: 10px !important; }

strong { font-weight: 600 !important; }

.fs-6.lead.mt-4.mb-4 { color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; }

.spacer { display: none; }

.lh-1.mb-3.titles { text-align: left; margin-left: 100px; }

.lh-1.mb-3.titles p { color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; margin-top: 24px; }

@media (max-width: 900px) { .lh-1.mb-3.titles { text-align: center; margin-left: 0px; margin-bottom: 40px !important; } }

button.w-100.btn.btn-outline-dark { border: none; background: #2bb7d6; color: #ffffff; font-weight: 700; padding: 8px; letter-spacing: 0.02rem; border-radius: 10px; }

button.w-100.btn.btn-outline-dark:hover { border: none; color: #fff; font-weight: 700; background: #239db8; }

form#formContact { box-shadow: 0 18px 45px rgba(0, 0, 0, 0.1); }

/*------------------------------------------PAGES SEO------------------------------*/
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { color: white !important; border-radius: 10px; }

a.button_homepageDoubleScreen.first-banner-seo-page-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { color: white !important; border-radius: 10px; }

h2.display-6.fw-bold.p-3.pt-lg-3.m-0.titles { color: #0d2336; }

h2.display-6.fw-bold.p-3.pt-lg-3.titles { color: #0d2336; }

.px-5.pt-5.display-6.text-color-primary.titles { font-weight: 600; color: #0d2336 !important; }

div#logo-seo-page { background: linear-gradient(135deg, #39c3df 0%, #1faed0 50%, #1496bd 100%); }

div#contact img.logo-seo-page { display: none; }

span.display-4.fw-bold.lh-1.text-body-emphasis.mb-3.titles { color: #0d2336; }

p.fs-5.mt-4 { color: #0d2336; }

.px-4.py-5.my-5.text-center.cta_banner.bg-sixthColor { background: linear-gradient(135deg, #39c3df 0%, #1faed0 50%, #1496bd 100%); }

span.display-5.fw-bold.text-body-emphasis.titles { color: white; }

img.logo_nav.mx-2 { display: none; }

h1.display-4.fw-bold.bandeauTitre.titles.text-color-seventh { color: white !important; font-size: 3rem; }

.bandeau.border-bottom-1.row { background: #0d2336; }

.row.row-cols-1.row-cols-lg-3.g-5.py-2 { color: #0d2336; }

a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { display: none; }

a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button { border-radius: 10px !important; color: white !important; font-weight: 600 !important; }

.fs-6.lead { color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; }

a.p-3.fw-bold.fs-6.m-2.phone-number-button.text-decoration-none { background-color: white; border-radius: 10px; color: #1fa1c5; }

.maps-section.position-relative.bg-primaryColor { background-color: #efefef; }

.col-sm-12.col-lg-6.col-xl-4.py-5.content.text-color-primary { color: #0d2336 !important; }

/*------------------------------------------Bouton Fixe en bas à droite------------------------------*/
.btnFixe { position: fixed; bottom: 20px; right: 20px; z-index: 10; width: 160px; transition: width 0.5s ease; }

.btnFixe:hover { width: 170px; transition: width 0.5s ease; }

@media (max-width: 991px) { .btnFixe { right: -5px; } }

/* =========================== BLOC DEPANNAGE URGENCE =========================== */
.ab-urgency-section { font-family: 'Montserrat', sans-serif; background-color: #f4f7f9; padding: 80px 0; }

.ab-urgency-container { max-width: 1140px; margin: 0 auto; padding: 0 20px; }

/* --- En-tête --- */
.ab-urgency-header { text-align: center; max-width: 800px; margin: 0 auto 60px auto; }

.ab-urgency-main-title { font-size: 2.5rem; font-weight: 800 !important; color: #0286a4; margin-bottom: 20px; }

.ab-urgency-intro-text { color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; }

/* --- Grille --- */
.ab-urgency-grid { display: flex; gap: 30px; justify-content: center; margin-bottom: 60px; }

/* --- Cartes avec préfixe unique --- */
.ab-urgency-card { flex: 1; background-color: #ffffff; border-radius: 15px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; }

.ab-urgency-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); }

.ab-urgency-card-img-box { width: 100%; height: 300px; overflow: hidden; }

.ab-urgency-card-img { width: 100%; height: 100%; object-fit: cover; }

.ab-urgency-card-body { padding: 30px; flex-grow: 1; }

.ab-urgency-card-title { font-size: 1.4rem; font-weight: 700 !important; color: #184266; margin-bottom: 15px; margin-top: 15px; }

.ab-urgency-card-desc { font-size: 1rem; color: #555; line-height: 1.6; }

/* --- Boutons --- */
.ab-urgency-action-area { display: flex; justify-content: center; gap: 20px; margin-top: 40px; }

.ab-urgency-action-area1 { display: flex; justify-content: left; gap: 20px; margin-top: 20px; }

.ab-urgency-btn-contact { padding: 15px 35px; background-color: #ffb84d; color: #fff; text-decoration: none; font-weight: 700; border-radius: 5px; transition: 0.3s; }

.ab-urgency-btn-tarifs { padding: 15px 35px; background-color: #0073aa; color: #fff; text-decoration: none; font-weight: 700; border-radius: 5px; transition: 0.3s; }

@media (max-width: 991px) { .ab-urgency-grid { flex-direction: column; align-items: center; } .ab-urgency-card { width: 100%; max-width: 400px; } .ab-urgency-action-area { flex-direction: column; /* Aligne les boutons verticalement */ align-items: center; /* Les centre horizontalement */ gap: 15px; /* Espace réduit entre les boutons sur mobile */ } .ab-urgency-action-area1 { flex-direction: column; /* Aligne les boutons verticalement */ align-items: center; /* Les centre horizontalement */ gap: 15px; /* Espace réduit entre les boutons sur mobile */ } }

/* =========================== BLOC PAIEMENT =========================== */
.ab-payment-section { background: linear-gradient(135deg, #39c3df 0%, #1faed0 50%, #1496bd 100%); padding: 60px 0; /* Marges verticales */ }

.ab-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; /* Marges de sécurité sur les côtés pour mobile */ display: flex; flex-direction: column; }

.ab-payment-full-width { text-align: center; /* Centre le titre par rapport à la page */ margin-bottom: 50px; /* Espace avant les colonnes */ }

.ab-payment-flex { display: flex; gap: 100px; align-items: flex-start; /* Aligne le haut des deux blocs */ }

/* --- CÔTÉ GAUCHE : INFOS & PAIEMENT --- */
.ab-payment-left { flex: 1; }

.ab-payment-title { font-size: 2.2rem; font-weight: 800 !important; line-height: 1.2; color: #fff; margin-bottom: 20px; }

.ab-payment-text { font-size: 1rem; color: #fff; line-height: 1.7; margin-bottom: 25px; }

.ab-payment-modes { background-color: #f8f9fa; padding: 20px; border-left: 4px solid #0073aa; margin-bottom: 30px; }

.ab-payment-modes ul { list-style: none; padding: 0; margin: 0; }

.ab-payment-modes li { font-weight: 600; margin-bottom: 5px; display: flex; align-items: center; }

.ab-no-check { color: #d9534f; /* Rouge pour l'alerte chèque */ font-size: 0.85rem; margin-top: 10px; display: block; font-weight: 700; }

.ab-contact-btn { display: inline-block; padding: 15px 35px; background-color: #ffb84d; color: #fff; text-decoration: none; font-weight: 700; border-radius: 5px; transition: 0.3s; }

.ab-contact-btn:hover { background-color: #e6a642; transform: translateY(-2px); }

/* --- CÔTÉ DROIT : LISTE MAJORATIONS --- */
.ab-payment-right { flex: 1.2; }

.ab-major-item { margin-bottom: 25px; }

.ab-major-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 5px; }

.ab-major-name { font-weight: 700; font-size: 1.1rem; color: #fff; white-space: nowrap; }

.ab-major-dots { flex: 1; border-bottom: 1px solid #ccc; margin: 0 10px; position: relative; top: -4px; }

.ab-major-value { font-weight: 800; color: #0e3455; font-size: 1.1rem; }

.ab-major-desc { font-size: 1rem; color: #f3f3f3; }

.ab-major-note { margin-top: 30px; font-size: 0.8rem; font-style: italic; color: #f3f3f3; border-top: 1px solid #eee; padding-top: 15px; }

/* --- RESPONSIVE --- */
@media (max-width: 900px) { .ab-payment-section { flex-direction: column; padding: 20px; } .ab-payment-flex { flex-direction: column; gap: 50px; } .ab-payment-full-width { text-align: center; margin-top: 50px; margin-bottom: 20px; } .ab-payment-text { text-align: center; } .ab-container { margin-bottom: 50px; } }

/* =========================== BLOC TABLEAU PRIX =========================== */
.ab-pricing-wrapper { font-family: 'Montserrat', sans-serif; max-width: 900px; /* Plus étroit pour une colonne centrale élégante */ margin: 40px auto; padding: 20px; background-color: #fff; }

.ab-pricing-header { text-align: center; margin-bottom: 40px; }

.ab-pricing-main-title { font-size: 2rem; font-weight: 800 !important; color: #0286a4; margin-bottom: 10px; }

/* Conteneur des items */
.ab-pricing-list { display: flex; flex-direction: column; gap: 15px; /* Espace entre les cartes */ }

/* La carte de tarif */
.ab-pricing-item { background: #f4f4f4; border-radius: 15px; padding: 25px 30px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); transition: transform 0.2s ease; }

.ab-pricing-item:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); }

/* Côté gauche : Texte */
.ab-item-info { flex: 1; padding-right: 20px; }

.ab-item-title { font-size: 1.15rem; font-weight: 600 !important; color: #0d2336; margin: 0 0 8px 0; }

.ab-item-description { font-size: 1rem; color: #4a4a4a; margin: 0; line-height: 1.7; }

/* Côté droit : Prix */
.ab-item-price { font-size: 1.2rem; font-weight: 700; color: #2bb7d6; white-space: nowrap; }

/* Responsive */
@media (max-width: 600px) { .ab-pricing-item { flex-direction: column; align-items: flex-start; padding: 20px; } .ab-item-price { margin-top: 15px; align-self: flex-end; } }

/* =========================== BLOC HEADER SERVICES =========================== */
.ab-header-section { position: relative; height: 450px; /* Ajustable selon vos besoins */ display: flex; align-items: center; justify-content: center; color: #ffffff; font-family: 'Montserrat', sans-serif; background-size: cover; }

/* Overlay sombre pour faire ressortir le texte blanc */
.ab-header-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(8, 28, 43, 0.9) 0%, rgba(8, 28, 43, 0.82) 38%, rgba(8, 28, 43, 0.45) 65%, rgba(8, 28, 43, 0.3) 100%); z-index: 1; }

.ab-header-container { position: relative; z-index: 2; display: flex; align-items: center; width: 90%; max-width: 1200px; margin-top: 40px; }

/* Côté gauche : Logo */
.ab-header-logo-box { flex: 1; display: flex; justify-content: flex-end; padding-right: 50px; }

.ab-header-logo { max-height: 140px; width: auto; }

/* Barre de séparation verticale */
.ab-header-divider { width: 3px; height: 120px; background-color: #ffffff; opacity: 0.8; }

/* Côté droit : Titre */
.ab-header-content { flex: 1.5; padding-left: 50px; }

.ab-header-title { font-size: 3.2rem; font-weight: 800 !important; line-height: 1.1; margin: 0; }

/* Adaptabilité pour les mobiles */
@media (max-width: 768px) { .ab-header-container { flex-direction: column; text-align: center; } .ab-header-logo-box { padding-right: 0; justify-content: center; margin-bottom: 20px; } .ab-header-divider { width: 80px; height: 3px; } .ab-header-content { padding-left: 0; margin-top: 20px; } .ab-header-title { font-size: 2.2rem; } .ab-header-overlay { background: linear-gradient(90deg, rgba(8, 28, 43, 0.7) 0%, rgba(8, 28, 43, 0.55) 38%, rgba(8, 28, 43, 0.48) 65%, rgba(8, 28, 43, 0.3) 100%); } .ab-header-logo { max-height: 100px; } }

/* =========================== BLOC ENGAGEMENTS =========================== */
.ab-engagements { background-color: #0d2336; color: #ffffff; padding: 80px 20px; }

.ab-engagements__container { max-width: 1300px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }

.ab-engagements__left { flex: 1; padding-right: 80px; }

.ab-engagements__left h2 { font-size: 2.5rem; font-weight: 800 !important; margin-bottom: 20px; }

.ab-engagements__left p { font-size: 1.05rem; margin-bottom: 30px; font-weight: 400; }

.ab-engagements__right { flex: 2; display: grid; grid-template-columns: repeat(1, 3fr); gap: 30px; }

.ab-engagements__item { background-color: #102638; padding: 25px; border-radius: 10px; text-align: center; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08); display: flex; gap: 30px; }

.ab-engagements__icon { font-size: 3rem; }

.ab-engagements__icon img { max-width: 100px; height: 100px; }

.ab-engagements__item h3 { font-size: 1.5rem; font-weight: 600 !important; margin-bottom: 10px; }

.ab-engagements__item p { font-size: clamp(1rem, 1.3vw, 1rem); line-height: 1.6; font-weight: 400; color: #ffffff; }

@media (max-width: 1024px) { .ab-engagements__container { flex-direction: column; align-items: center; } .ab-engagements__right { grid-template-columns: 1fr; } .ab-engagements__left { text-align: center; margin-bottom: 50px; padding-right: 0px; } }

/* =========================== BLOC SERVICES =========================== */
.custom-cards-2-intro { text-align: center; margin-bottom: 50px; /* Espacement entre cette section et les cartes */ padding-top: 80px; }

.cards-title { margin: 0 0 24px; font-size: 2.5rem; font-weight: 800 !important; line-height: 1.2; color: #144668; }

.cards-paragraph { margin: 0 auto; color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; max-width: 1150px; }

.custom-cards-2 { width: 100%; display: flex; display: -webkit-flex; justify-content: center; -webkit-justify-content: center; max-width: 1300px; margin-left: auto; margin-right: auto; padding-bottom: 100px; }

.card__img { visibility: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; width: 100%; height: 235px; border-top-left-radius: 12px; border-top-right-radius: 12px; }

.card__img--hover { transition: 0.2s all ease-out; background-size: cover; background-position: center; background-repeat: no-repeat; width: 100%; position: absolute; height: 235px; border-top-left-radius: 12px; border-top-right-radius: 12px; top: 0; }

.custom-card-2 { margin-right: 25px; transition: all 0.4s cubic-bezier(0.175, 0.885, 0, 1); background-color: #fff; width: 33.3%; position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0px 13px 10px -7px rgba(0, 0, 0, 0.1); }

.custom-card-2:hover { box-shadow: 0px 30px 18px -8px rgba(0, 0, 0, 0.1); transform: scale(1.05, 1.05); }

.card__info { z-index: 2; background: linear-gradient(135deg, #39c3df 0%, #1faed0 50%, #1496bd 100%); border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; padding: 24px 24px 24px 24px; color: #ffffff; text-decoration: none; }

.card__info h3 { margin-bottom: 15px; }

a.card_link { text-decoration: none; }

.custom-card-2:hover .card__img--hover { height: 100%; opacity: 0.3; }

.custom-card-2:hover .card__info { background: none; position: relative; color: #00a6cf; }

.custom-card-2:hover .card__info-hover { opacity: 1; }

@media (max-width: 1024px) { .custom-cards-2 { flex-wrap: wrap; /* Permet aux cartes de passer à la ligne */ padding: 20px; } .custom-card-2 { width: 48%; /* Deux cartes par ligne sur tablette */ margin-bottom: 20px; } }

@media (max-width: 768px) { .custom-card-2 { width: 100%; /* Une carte par ligne sur mobile */ margin-right: 0; /* Supprime les marges */ } }

/* =========================== BLOC A PROPOS =========================== */
.ab-about { padding: 100px 20px; background: #f7f7f7; }

.ab-about__container { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }

.ab-about__media { position: relative; }

.ab-about__media img { display: block; width: 100%; height: 640px; object-fit: cover; border-radius: 26px; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.1); }

.ab-about__media1 img { display: block; width: 100%; height: 500px; object-fit: cover; border-radius: 26px; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.1); }

.ab-about__content { justify-content: center; display: flex; flex-direction: column; height: 100%; }

.ab-about__content h2 { margin: 0 0 24px; font-size: 2.5rem; font-weight: 800 !important; line-height: 1.2; color: #144668; }

.ab-about__content h3 { margin: 40px 0 24px; font-size: 2rem; font-weight: 800 !important; line-height: 1.2; color: #2bb7d6; }

.ab-about__content p { margin: 0 0 0; color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; max-width: 640px; }

.ab-about__content .ab-about__contentp { margin: 0 0 15px; color: #4a4a4a; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; max-width: 640px; }

.ab-about__grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 22px 28px; margin-top: 35px; }

.ab-about__item { display: flex; align-items: center; gap: 16px; color: #144668; font-size: 1.05rem; font-weight: 700; line-height: 1.5; }

.ab-about__icon { width: 46px; height: 46px; min-width: 46px; border-radius: 12px; background: #39c3df; color: #ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; font-weight: 700; }

/* Responsive */
@media (max-width: 991px) { .ab-about { padding: 80px 20px; } .ab-about__container { grid-template-columns: 1fr; gap: 40px; } .ab-about__media img { height: 500px; } .ab-about__content h2 { font-size: 2.2rem; } .ab-about__content { text-align: center; margin-top: 10px; } }

@media (max-width: 767px) { .ab-about { padding: 65px 16px; } .ab-about__media img { height: 360px; border-radius: 20px; } .ab-about__media1 img { height: 300px; } .ab-about__content h2 { font-size: 2rem; } .ab-about__grid { grid-template-columns: 1fr; gap: 18px; padding-left: 55px; text-align: left; } .ab-about__item { font-size: 1rem; } .ab-about__icon { width: 42px; height: 42px; min-width: 42px; border-radius: 10px; font-size: 1.15rem; } }

/* =========================== BLOC BANDEAU =========================== */
.ab-banner { position: relative; overflow: hidden; padding: 80px 20px 80px; background: linear-gradient(135deg, #39c3df 0%, #1faed0 50%, #1496bd 100%); text-align: center; }

/* léger effet de fond pour donner du relief */
.ab-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.12) 0, rgba(255, 255, 255, 0) 32%), radial-gradient(circle at 75% 25%, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0) 28%), radial-gradient(circle at 50% 75%, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0) 30%); pointer-events: none; }

.ab-banner__overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)); pointer-events: none; }

.ab-banner__inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; }

.ab-banner h2 { margin: 0 0 24px; color: #ffffff; font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.2; font-weight: 800 !important; text-transform: none; }

.ab-banner p { max-width: 1050px; margin: 0 auto; color: #ffffff; font-size: clamp(1rem, 1.3vw, 1.05rem); line-height: 1.75; font-weight: 400; }

.ab-banner__btn { display: inline-block; margin-top: 32px; padding: 15px 32px; background: #1d4f73; color: #ffffff; text-decoration: none; font-size: 1rem; font-weight: 600; border-radius: 10px; transition: all 0.3s ease; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); }

.ab-banner__btn:hover { background: #143b56; transform: translateY(-2px); }

/* responsive */
@media (max-width: 768px) { .ab-banner { padding: 90px 20px 110px; } .ab-banner h2 { margin-bottom: 18px; font-size: 1.8rem; } .ab-banner p { line-height: 1.6; } .ab-banner__btn { margin-top: 26px; padding: 14px 24px; } .ab-banner::after { height: 55px; } .ab-banner__buttons { margin-top: 20px; } }

/* =========================== BLOC ACCUEIL =========================== */
.ab-hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; font-family: 'Montserrat', sans-serif; background: #0d2336; }

.ab-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.ab-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 28, 43, 0.9) 0%, rgba(8, 28, 43, 0.82) 38%, rgba(8, 28, 43, 0.45) 65%, rgba(8, 28, 43, 0.3) 100%); }

.ab-hero__container { position: relative; z-index: 2; width: 100%; max-width: 1280px; margin: 0 auto; padding: 80px 40px; }

.ab-hero__content { max-width: 850px; color: #ffffff; }

.ab-hero__logo { max-width: 250px; height: auto; margin-bottom: 30px; display: block; }

.ab-hero h1 { margin: 0 0 24px; font-size: clamp(2.4rem, 5vw, 3.2rem); line-height: 1.1; font-weight: 800; color: #ffffff; }

.ab-hero p { margin: 0; max-width: 800px; font-size: 1.08rem; line-height: 1.8; font-weight: 400; color: rgba(255, 255, 255, 0.92); }

.ab-hero__buttons { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 34px; }

.ab-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border-radius: 10px; text-decoration: none; font-size: 0.98rem; font-weight: 700; letter-spacing: 0.02rem; transition: all 0.3s ease; }

.ab-btn--primary { background: #2bb7d6; color: #ffffff !important; border: 2px solid #2bb7d6; }

.ab-btn--primary:hover { background: #239db8; border-color: #239db8; color: #fff; transform: translateY(-2px); }

.ab-btn--secondary { background: transparent; color: #ffffff !important; border: 2px solid rgba(255, 255, 255, 0.75); }

.ab-btn--secondary:hover { background: #ffffff; color: #144668 !important; border-color: #ffffff; transform: translateY(-2px); }

.ab-btn--secondary1 { background: transparent; color: #ffffff !important; border: 2px solid rgba(255, 255, 255, 0.75); margin: 40px 10px 0; }

.ab-btn--secondary1:hover { background: #ffffff; color: #144668 !important; border-color: #ffffff; transform: translateY(-2px); }

.ab-btn--secondary2 { background: #173a59; color: #ffffff !important; }

.ab-btn--secondary2:hover { background: #ffffff; color: #144668 !important; border-color: #ffffff; transform: translateY(-2px); }

.ab-btn--secondary3 { background: transparent; color: #2bb7d6 !important; border: 2px solid #2bb7d6; }

.ab-btn--secondary3:hover { background: #efefef; color: #2bb7d6 !important; border-color: #2bb7d6; transform: translateY(-2px); }

/* Responsive */
@media (max-width: 991px) { .ab-hero { min-height: 620px; } .ab-hero__container { padding: 70px 28px; } .ab-hero__logo { max-width: 200px; margin-bottom: 24px; } .ab-hero p { font-size: 1rem; line-height: 1.7; } .ab-btn--secondary1 { margin: 20px 0px 0; } }

@media (max-width: 767px) { .ab-hero { height: 100vh; } .ab-hero__overlay { background: linear-gradient(180deg, rgba(8, 28, 43, 0.88) 0%, rgba(8, 28, 43, 0.5) 100%); } .ab-hero__container { padding: 60px 20px; } .ab-hero__content { max-width: 100%; } .ab-hero h1 { margin-bottom: 18px; } .ab-hero__buttons { flex-direction: column; align-items: stretch; } .ab-btn { width: 100%; } }

.navbar { transition: all 0.3s ease; }

.navbar.scrolled { background-color: rgba(20, 70, 104, 0.5) !important; backdrop-filter: blur(1rem); }

/* 📱 Responsive : navbar TOUJOURS visible */
@media (max-width: 991px) { .navbar { background-color: rgba(20, 70, 104, 0.5) !important; backdrop-filter: blur(1rem); } }

.navbar-brand { height: 9vh !important; width: 9vw !important; }

.logo_nav { height: 8vh !important; }

@media (max-width: 991px) { .navbar-brand { height: 9vh !important; width: 25vw !important; } }

/*# sourceMappingURL=custom.css.map */