/* ============================================================
   WEB APP DESKTOP - FINAL V97 (FR)
   (TABS CLEAN + CAROUSEL GOLD)
   ============================================================ */

/* 1. SÉCURITÉ MOBILE */
/* On cache le menu mobile si jamais il tente d'apparaître sur PC */
.mobile-app-menu { display: none !important; }


/* 2. CONFIG GLOBALE */
html, body {
    scroll-behavior: auto !important; 
    -webkit-font-smoothing: antialiased;
    width: 100% !important; max-width: 100% !important; overflow-x: hidden !important;
}
#sp-page-builder { overflow-x: hidden !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }


/* 3. HEADER FIXE SOMBRE */
#sp-header {
    position: fixed !important; top: 0; left: 0; width: 100%; z-index: 99999;
    background: #292929 !important; border-bottom: 1px solid #333;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3); height: 90px;
    display: block !important; transition: none !important;
}
body { padding-top: 90px !important; }
#sp-header .row { position: relative !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }


/* POSITIONNEMENT HEADER */
#sp-logo { position: absolute !important; left: 30px !important; top: 0 !important; height: 100% !important; display: flex !important; align-items: center !important; z-index: 30; width: auto !important; margin: 0 !important; }
#sp-top1 { position: absolute !important; right: 30px !important; top: 0 !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; z-index: 30; width: auto !important; min-width: 140px !important; margin: 0 !important; }
#sp-menu { position: absolute !important; left: 50% !important; top: 0 !important; height: 100% !important; transform: translateX(-50%) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 20; width: auto !important; margin: 0 !important; }
#sp-menu, #sp-menu .sp-column, #sp-menu .sp-megamenu-wrapper { visibility: visible !important; opacity: 1 !important; }


/* VISUELS HEADER */
#sp-header .logo img { height: 75px !important; width: auto !important; display: block; object-fit: contain; }
.sp-megamenu-parent > li > a { color: #ffffff !important; font-weight: 700; font-size: 15px !important; text-transform: uppercase; padding: 0 20px !important; line-height: 90px !important; display: block; white-space: nowrap; }
.sp-megamenu-parent > li:hover > a, .sp-megamenu-parent > li.active > a { color: #fccb06 !important; }
.sp-megamenu-parent > li > a.hidden-home { display: none !important; }


/* GTRANSLATE */
.floating-lang, .gt_float_switcher, .gt_float_switcher .gt-selected { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.floating-lang div.switcher div.selected a, .gt_float_switcher .gt-selected a { font-size: 0 !important; padding: 5px 0 !important; display: block; }
.floating-lang div.switcher div.selected a img, .gt_float_switcher .gt-selected a img { width: 24px !important; height: auto !important; display: inline-block !important; }
.gt_float_switcher .gt_options { top: 45px !important; right: 0 !important; width: 160px !important; background: #ffffff !important; box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important; position: absolute !important; text-align: left; margin-top: 10px !important; border-radius: 4px; }
.gt_float_switcher .gt_options a { color: #333 !important; font-size: 13px !important; padding: 8px 12px !important; display: block !important; }
.gt_float_switcher .gt_options a:hover { background: #eee !important; }


/* HERO HOME */
.hero-fullscreen { height: calc(100vh - 90px) !important; display: flex; justify-content: center; align-items: center; overflow: hidden !important; }
.medieval-hero-card { border: 4px double #d4af37; padding: 60px 50px; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); text-align: center; max-width: 1400px; width: 90%; margin: 20px auto; }
.medieval-hero-text { font-family: 'Montserrat', sans-serif !important; color: #f0f0f0; font-size: 1.15rem; }


/* WHATSAPP */
.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 30px; right: 30px; background-color: #25d366; color: #FFF; border-radius: 50px; text-align: center; font-size: 35px; box-shadow: 2px 2px 10px rgba(0,0,0,0.2); z-index: 100000; display: flex; align-items: center; justify-content: center; }
.whatsapp-float:hover { background-color: #d4af37; color: #000; }


/* ============================================================
   STYLE TABS PC - VERSION SÉPARATION (FOND FONCÉ + BORDER BAS)
   ============================================================ */

/* 1. Structure Flex */
.medieval-tabs .sppb-nav-tabs {
    display: flex !important; width: 100% !important; border-bottom: 0px solid #e5e5e5 !important;
    margin: 0 !important; padding: 0 !important;
}

/* 2. Les Onglets Individuels */
.medieval-tabs .sppb-nav-tabs > li {
    flex-grow: 1 !important; flex-basis: 0 !important; width: auto !important;
    margin: 0 !important; padding: 0 !important; text-align: center !important;
    background-color: #fff !important; /* Fond Blanc par défaut */
    
    /* Bordures Grises Standard */
    border-top: 1px solid var(--border-color-alert, #e5e5e5) !important;
    border-bottom: 1px solid var(--border-color-alert, #e5e5e5) !important;
    border-left: 1px solid var(--border-color-alert, #e5e5e5) !important;
    border-right: none !important;
}

/* 3. ARRONDIS ET FERMETURE CADRE */
.medieval-tabs .sppb-nav-tabs > li:first-child {
    border-top-left-radius: 10px !important;
}
.medieval-tabs .sppb-nav-tabs > li:last-child {
    border-right: 1px solid var(--border-color-alert, #e5e5e5) !important;
    border-top-right-radius: 10px !important;
}

/* 4. Liens Texte */
.medieval-tabs .sppb-nav-tabs > li > a {
    display: block !important; width: 100% !important; padding: 15px 6px !important;
    font-size: 16px !important; font-weight: 600 !important; color: #333 !important;
    text-decoration: none !important; background: transparent !important; border: none !important;
    transition: all 0.3s ease;
}

/* 5. ONGLET ACTIF (STYLE FONCÉ + SÉPARATION) */
.medieval-tabs .sppb-nav-tabs > li.active > a { 
    color: var(--maincolor, #d4af37) !important; 
}

.medieval-tabs .sppb-nav-tabs > li.active {
    /* Teinte de fond pour différencier (Gris clair/moyen) */
    background-color: #f2f2f2 !important; 
    
    /* Bordure du BAS visible pour séparer du contenu */
    border-bottom: 1px solid var(--border-color-alert, #e5e5e5) !important;
    
    /* Suppression de la surépaisseur haute (si elle existait) */
    border-top: 1px solid var(--border-color-alert, #e5e5e5) !important; 
    
    z-index: 1; /* Reste au même niveau que les autres */
    margin-bottom: 0 !important; /* Pas de chevauchement */
}

/* 6. Contenu (Le Cadre Principal) */
.medieval-tabs .sppb-tab-content {
    margin-top: 0 !important; padding: 70px !important;
    background-color: #fff !important;
    
    /* Cadre Complet */
    border: 1px solid var(--border-color-alert, #e5e5e5) !important;
    /* La bordure du haut est gérée par le bas des onglets */
    border-top: none !important; 
    
    /* Arrondis du bas uniquement */
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-top-left-radius: 0 !important; 
    border-top-right-radius: 0 !important;
    
    box-shadow: 0 5px 15px rgba(0,0,0,0.03) !important;
}

/* 7. Image Carrousel PC */
.medieval-tabs .sppb-carousel-pro-item img {
    width: 100% !important; height: auto !important; object-fit: contain !important; border-radius: 4px !important;
}
/* Texte Carrousel PC (Sans bordure gauche) */
.medieval-tabs .sppb-carousel-pro-text {
    background: rgba(255,255,255,0.9); padding: 20px; 
    border-left: none !important; /* SUPPRESSION BORDURE GAUCHE */
    margin-top: 20px;
}

/* 8. FLÈCHES CARROUSEL (JUSTE LA FLÈCHE, PAS DE CERCLE) */
.medieval-tabs .sppb-carousel-pro-controls .sppb-carousel-control,
.sppb-carousel-arrow {
    background: transparent !important; /* Fond transparent (plus de cercle blanc) */
    box-shadow: none !important;        /* Plus d'ombre portée */
    border: none !important;            /* Plus de bordure */
    
    width: 50px !important; 
    height: 50px !important;
    top: 50% !important; 
    transform: translateY(-50%) !important;
    
    /* Centrage de l'icône */
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important;
    opacity: 1 !important;
}

/* Style de l'icône Flèche elle-même */
.medieval-tabs .sppb-carousel-pro-controls .sppb-carousel-control i,
.medieval-tabs .sppb-carousel-pro-controls .sppb-carousel-control span,
.sppb-carousel-arrow i, 
.sppb-carousel-arrow span {
    color: #d4af37 !important; /* Couleur Dorée */
    font-size: 40px !important; /* Flèche bien visible */
    line-height: 1 !important;  /* Évite le décalage vertical */
    margin: 0 !important;
    padding: 0 !important;
}

/* Hover (Optionnel : léger effet de zoom ou couleur plus foncée) */
.medieval-tabs .sppb-carousel-pro-controls .sppb-carousel-control:hover i,
.sppb-carousel-arrow:hover i {
    color: #b39020 !important; /* Doré plus foncé au survol */
    transform: scale(1.1); /* Petit effet dynamique */
}


/* 9. INDICATEURS CARROUSEL (DOTS) */
.medieval-tabs .sppb-carousel-indicators li {
    border: 1px solid #d4af37 !important;
    background-color: transparent !important;
    width: 10px !important; height: 10px !important;
    border-radius: 50% !important;
}
.medieval-tabs .sppb-carousel-indicators .active {
    background-color: #d4af37 !important;
}


/* ============================================================
   FIX RESPONSIVE OLD PC / TABLETTE (1024px - 1300px)
   ============================================================ */
@media (min-width: 992px) and (max-width: 1350px) {
    #sp-header .logo img { height: 55px !important; }
    .sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
        font-size: 13px !important; padding: 0 12px !important;
    }
    .hero-fullscreen { height: 60vh !important; min-height: 500px !important; }
    .medieval-hero-card { padding: 40px 30px !important; width: 80% !important; }
    .medieval-hero-text { font-size: 1rem !important; }
}

/* ADAPT MEGA MENU DESKTOP SOUS MENU*/

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a, .sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge) {
  font-size: 18px!important;}