/* ============================================
   ALTIDRONE 2026 - CSS GLOBAL
   ============================================ */

/* --- HEADER & NAVIGATION --- */
#branding-header {
    background: #fff !important;
    background-image: none !important;
    position: fixed !important;
    top: 0 !important;
    z-index: 1000 !important;
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid #e0e0e0 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
}

#branding-header .phone-container,
#branding-header .d-none.d-lg-block {
    margin-left: 20px !important;
}

#branding-header::before {
    display: none !important;
    background: none !important;
    content: none !important;
}

#branding-header .navbar-nav .nav-link,
#branding-header.navbar-dark .navbar-nav .nav-link,
#branding-header .navbar-dark .navbar-nav .nav-link {
    color: #111 !important;
}

#branding-header .navbar-nav .nav-link:hover,
#branding-header .navbar-nav .nav-link.active,
#branding-header.navbar-dark .navbar-nav .nav-link:hover,
#branding-header .navbar-dark .navbar-nav .nav-link:hover {
    color: #c31e1e !important;
}

#branding-header .navbar-toggler {
    border-color: #111 !important;
}

#branding-header .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

#branding-header .navbar-brand {
    padding: 0 !important;
    line-height: 1 !important;
}

#branding-header .navbar-brand img,
#branding-header .navbar-brand svg {
    max-height: 100px !important;
    min-height: 100px !important;
    height: 100px !important;
    width: auto !important;
    max-width: none !important;
}

.admin-bar #branding-header {
    top: 32px !important;
}

.service-intro-principale {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333 !important;
    justify-content: start;
} 

/* --- BANNER HERO --- */
.region-banner,
.region-banner.bg-black,
div.region-banner {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

.region-banner .page-title,
.region-banner .title,
.region-banner h1 {
    color: #111111 !important;
    font-size: 2.8rem !important;
    line-height: 1.2 !important;
}

.region-banner .introduction,
.region-banner p {
    color: #444444 !important;
}

.home .region-banner + .region-banner {
    display: none !important;
}

/* --- ACCUEIL : BLOCS SERVICES --- */
.home .section-services .custom-card-service {
    background-color: transparent !important;
    border: 2px solid #c31e1e !important;
    border-radius: 25px !important;
    padding: 40px 25px !important;
    color: #111 !important;
    text-align: left;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.home .section-services .custom-card-service .card-link {
    margin-top: auto !important;
    color: #c31e1e !important;
    text-decoration: none;
}

.home .section-services .custom-card-service:hover {
    background-color: #c31e1e !important;
    color: #fff !important;
}

.home .section-services .custom-card-service:hover h3,
.home .section-services .custom-card-service:hover p,
.home .section-services .custom-card-service:hover .card-link {
    color: #ffffff !important;
}


/* --- SECTION AVANTAGES DRONE --- */
.drone-section-wrapper {
    position: relative !important;
    display: inline-block !important;
    width: 100% !important;
}

.drone-main-img {
    display: block !important;
    margin: 0 auto !important;
}

.benefits-cards-row {
    position: absolute !important;
    bottom: 40% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.benefit-card-box {
    background: #ffffff !important;
    border: 2px solid #c31e1e !important;
    border-radius: 12px !important;
    padding: 22px 30px !important;
    font-weight: 700 !important;
    color: #111 !important;
    font-size: 1.3rem !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

.benefit-card-box:hover {
    background: #c31e1e !important;
    color: #ffffff !important;
}

/* --- SECTION CONTACT --- */
.section-contact,
.section-contact.bg-black-custom,
.section.section-contact {
    background: #fff !important;
}

.section-contact .section-title,
.section-contact .info,
.section-contact .info a,
.section-contact .label,
.section-contact .catchphrase {
    color: #111 !important;
}

.section-contact .contact-form-wrapper {
    background: #f5f5f5 !important;
}

.section-contact>.content-container .catchphrase>strong {
    font-size: 2em;
    font-weight: 700;
    color: #c31e1e !important;
}

.section-contact>.content-container .form-container .wpforms-field-label,
.section-contact>.content-container .form-container label {
    color: #000 !important;
}

/* --- FOOTER --- */
#branding-footer {
    clear: both !important;
    position: relative !important;
    display: block !important;
    margin-top: 50px !important;
    background: #fff !important;
}

#branding-footer.bg-black {
    background: #fff !important;
}

#branding-footer p,
#branding-footer a,
#branding-footer li,
#branding-footer .legal {
    color: #111 !important;
}

#branding-footer a:hover {
    color: #c31e1e !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
    color: #c31e1e !important;
}

#branding-footer .bg-primary {
    background-color: #c31e1e !important;
}

#branding-footer .bg-primary a,
#branding-footer .bg-primary li {
    color: #fff !important;
}

/* --- PAGES SERVICES : BANNIÈRE OVERLAY --- */
.single-service .banner-service-overlay {
    position: relative;
    width: 100%;
    height: 80vh !important;
    background-color: #000;
    overflow: hidden;
}

.banner-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.banner-text-z {
    position: relative;
    z-index: 10;
    height: 100%;
    display: flex;
    align-items: center;
}

.page-title-force {
    font-size: 3rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8);
    position: relative;
    top: 50px;
}

/* --- PAGES SERVICES : BLOCS TEXTE ROUGES --- */
.single-service .service-text-wrapper {
    background-color: #c31e1e !important;
    padding: 35px !important;
    border-radius: 25px !important;
    color: #ffffff !important;
}

.single-service .service-text-wrapper * {
    color: #ffffff !important;
}

.single-service .post-content-sections.container.py-5::before {
    display: none !important;
    content: none !important;
}

/* --- ENCARTS SERVICE --- */
.service-encarts-section {
    text-align: center !important;
}

.service-encarts-section .titre-avant-encarts {
    text-align: center !important;
}

.service-encarts-section .row {
    justify-content: center !important;
}

.encart-card {
    background-color: transparent !important;
    border: 2px solid #c31e1e !important;
    border-radius: 25px !important;
    padding: 40px 25px !important;
    color: #111 !important;
    text-align: center !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

.encart-card:hover {
    background-color: #c31e1e !important;
    color: #fff !important;
}

.encart-card:hover h3,
.encart-card:hover .encart-body,
.encart-card:hover .encart-body * {
    color: #ffffff !important;
}

/* --- BLOC INTRO PHOTO PLEINE LARGEUR --- */
.photo-intro-block {
    width: 100%;
    position: relative;
    margin-top: 40px !important;
}

.photo-intro-img-wrapper {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
}

.photo-intro-img {
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 12px !important;
}

.photo-intro-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 40px !important;
    text-align: center !important;
}

.photo-intro-text-top {
    color: #ffffff !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    text-shadow: 1px 1px 6px rgba(0,0,0,0.8) !important;
    margin-bottom: 20px !important;
}

.photo-intro-text-bottom {
    color: #ffffff !important;
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.7) !important;
    max-width: 700px !important;
    text-align: center !important;
}

/* --- PAGE CONTACT --- */
.page-template-page-contact .region-banner {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    min-height: auto !important;
}

.page-template-page-contact .region-banner .page-title {
    font-size: 2rem !important;
    margin-bottom: 0 !important;
}

.page-template-page-contact .bg-secondary {
    background: #ffffff !important;
}

.page-template-page-contact .pb-8 {
    padding-bottom: 0 !important;
}

.page-template-page-contact .position-absolute.bottom-0 {
    display: none !important;
}

.page-template-page-contact .form-container {
    margin-top: 10px !important;
}

.page-template-page-contact .form-container h2.section-title {
    margin-bottom: 8px !important;
}

/* Bouton Envoyer rouge */
.page-template-page-contact .wpforms-submit {
    background-color: #c31e1e !important;
    border-color: #c31e1e !important;
    color: #fff !important;
}

.section-question-centered {
    font-size: 2.2rem !important;
}

.encart-card h3,
.encart-card .encart-body,
.encart-card .encart-body * {
    color: #111 !important;
}

.titre-avant-encarts {
    color: #111 !important;
}

.single-service .service-text-wrapper.no-image {
    max-width: 700px !important;
    margin: 0 auto !important;
}

.encart-card-inline span {
    color: #111 !important;
}

.encart-card-inline {
    justify-content: center !important;
    text-align: center !important;
}


/*REALISATIONS*/

.avant-apres-slider {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    cursor: ew-resize;
    user-select: none;
    height: 400px;
    max-width: 900px;
    margin: 0 auto;
}
.aa-avant {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    overflow: hidden;
    z-index: 1;
}
.aa-avant .aa-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.aa-apres {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    height: 100%;
    width: 50%;
    overflow: hidden;
    border-left: 3px solid #c31e1e;
    border-right: none;
    z-index: 4;
}
.aa-apres .aa-img {
    position: absolute;
    top: 0; left: 0;
    width: auto;
    height: 100%;
    max-width: none;
    min-width: 100vw;
}

.aa-label {
    position: absolute !important;
    bottom: 14px !important;
    background: rgba(0,0,0,0.55) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    letter-spacing: 0.05em !important;
    pointer-events: none !important;
}

.aa-label-avant {
    left: 14px !important;
    z-index: 2 !important;
}

.aa-label-apres {
    right: 14px !important;
    z-index: 5 !important;
}



/* --- FOOTER : LOGO QUALIFICATIONS & ICÔNES RS --- */
#branding-footer .widget img {
    max-width: 180px !important;
    height: auto !important;
}

/* Icônes réseaux sociaux en blanc */
#branding-footer a.altidrone-icon {
    background-color: #c31e1e !important;
    color: #ffffff !important;
}

#branding-footer a.altidrone-icon svg,
#branding-footer a.altidrone-icon i,
#branding-footer a.altidrone-icon * {
    fill: #ffffff !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
}


.aa-slider {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    max-width: 900px;
    height: 420px;
    margin: 0 auto;
    user-select: none;
}

.aa-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aa-after-wrapper {
    position: absolute;
    inset: 0;
    width: 50%;
    overflow: hidden;
}

.aa-handle {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: ew-resize;
    z-index: 10;
}

.aa-line {
    flex: 1;
    width: 2px;
    background: #c31e1e;
}

.aa-circle {
    width: 38px;
    height: 38px;
    background: #c31e1e;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.aa-label {
    position: absolute;
    bottom: 15px;
    background: rgba(0,0,0,0.55);
    color: #fff;
    padding: 5px 14px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
    z-index: 20;
}

.aa-label-before {
    left: 15px;
}

.aa-label-after {
    right: 15px;
}