/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/
/*FONTS*/
/* Regular (400) */
@font-face {
    font-family: 'KleinCondensed';
    src: url('assets/Fonts/KleinCondensed-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Bold (700) */
@font-face {
    font-family: 'KleinCondensed';
    src: url('assets/Fonts/KleinCondensed-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Black (900) - La graisse la plus épaisse */
@font-face {
    font-family: 'KleinCondensed';
    src: url('assets/Fonts/KleinCondensed-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
/* Titres Principaux (H1, H2) - On utilise le "Black" pour un impact fort */
h1, .nectar-milestone .number, .vc_custom_heading h1 {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

h2, .vc_custom_heading h2 {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 700 !important; /* Bold */
    letter-spacing: 0px;
}

/* Titres Secondaires et Menu (H3, H4) */
h3, .vc_custom_heading h3, 
header#top nav > ul > li > a {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 700 !important; /* Bold */
}

h4, h5, h6, .vc_custom_heading h4 {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 400 !important; /* Regular */
    text-transform: none;
}

/* Corps de texte (Body) */
body, p, span:not(.sr-year) {
    font-family: 'KleinCondensed', sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 1.6;
}
.upc-fluid-black {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 900 !important; /* Utilise la KleinCondensed-Black */
    text-transform: uppercase;
    line-height: 0.9;
    display: block;
    width: 100%;
    white-space: normal; /* Empêche le retour à la ligne */
    /* Calcul de la taille : 
       - Minimum : 32px
       - Idéal : 8.5% de la largeur de l'écran (ajustez ce % selon vos besoins)
       - Maximum : 120px 
    */
    font-size: clamp(32px, 7.5vw, 100px);
}
.upc-fluid-black2 {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 700 !important; /* Utilise la KleinCondensed-Black */
    text-transform: uppercase;
    line-height: 1;
    display: block;
    width: 100%;
    white-space: normal; /* Empêche le retour à la ligne */
    /* Calcul de la taille : 
       - Minimum : 32px
       - Idéal : 8.5% de la largeur de l'écran (ajustez ce % selon vos besoins)
       - Maximum : 120px 
    */
    font-size: clamp(32px, 8.5vw, 50px);
}
.upc-fluid-bold {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 700 !important; /* Utilise la KleinCondensed-Black */
    text-transform: uppercase;
    line-height: 0.9;
    display: block;
    width: 100%;
    white-space: nowrap; /* Empêche le retour à la ligne */
    /* Calcul de la taille : 
       - Minimum : 32px
       - Idéal : 8.5% de la largeur de l'écran (ajustez ce % selon vos besoins)
       - Maximum : 120px 
    */
    font-size: clamp(32px, 7.5vw, 100px);
}
.upc-home-minimal {
    font-family: 'KleinCondensed', sans-serif !important;
    font-weight: 400 !important; /* Force le mode Regular */
    font-size: 20px !important;   /* Limite stricte à 20px */
    line-height: 1.4 !important;
    text-transform: none;         /* Garde la casse naturelle (ou utilisez uppercase si vous préférez) */
    letter-spacing: 0.02em;       /* Un léger espacement pour la lisibilité */
    color: #fff;               /* À ajuster selon votre charte */
}

/* Optionnel : Ajustement pour mobile pour s'assurer que ça ne dépasse jamais */
@media only screen and (max-width: 690px) {
    .upc-home-minimal {
        font-size: 18px !important;
    }
}
/* HEADER LOGO */
/* Bouton RS*/
/* --- ESPACEMENT DES BOUTONS UPC --- */

/* 1. On définit l'espace via le conteneur Flex */
.upc-buttons-container .wpb_wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 15px !important; /* Augmente l'espace horizontal entre les boutons */
    margin-top: 5px !important;
}

/* 2. Sécurité pour les anciens navigateurs ou structures rigides */
.upc-buttons-container .wpb_content_element {
    width: auto !important;
    display: inline-block !important;
    margin-right: 15px !important; /* Espace de secours */
    margin-bottom: 10px !important; /* Espace vertical si retour à la ligne */
}

/* 3. On retire la marge du dernier bouton pour un alignement parfait */
.upc-buttons-container .wpb_content_element:last-child {
    margin-right: 0 !important;
}

/* 4. On s'assure que le texte interne des boutons est bien lisible */
.upc-buttons-container .nectar-button span {
    padding-left: 10px !important;
    padding-right: 10px !important;
}
/* Programme */

/* Alignement de l'emoji et du titre sur une ligne */
.upc-title-flex {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important; /* Aligne l'emoji au milieu de la hauteur du texte */
    gap: 15px; /* Espace entre l'urne et le texte */
    margin-bottom: 20px; /* Espace sous le bloc */
}

/* Style de l'emoji */
.upc-icon-title {
    font-size: 35px; /* Un peu plus grand que 30px pour s'équilibrer avec le gras */
    line-height: 1;
}

/* On s'assure que le titre ne prend pas toute la ligne pour laisser de la place */
.upc-title-flex h3.upc-fluid-bold {
    margin: 0 !important; /* Supprime les marges par défaut qui décalent l'alignement */
    display: inline-block !important;
}
/*Sous Menu Header*/
/* 1. Forcer le conteneur du Mega Menu à utiliser toute la largeur disponible */
#header-outer .nectar-megamenu-menu-item > ul.sub-menu {
    width: 100% !important; /* Largeur pour loger les 4 colonnes */
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: block !important;
    white-space: normal !important;
}

/* 2. Créer la grille de 4 colonnes en ignorant les calculs de Salient */
#header-outer .nectar-megamenu-menu-item > ul.sub-menu > li {
    width: 23% !important; /* Environ 1/4 avec de la marge */
    display: inline-block !important;
    float: left !important;
    margin-bottom: 5px !important;
    padding: 5px !important;
    clear: none !important;
}

/* 3. NOUVEAU : Affichage intégral du texte (Remplace les anciens 3 et 4) */
#header-outer .nectar-megamenu-menu-item > ul.sub-menu > li > a {
    display: block !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    text-overflow: clip !important;
    height: auto !important;
    min-height: 4em !important; /* Aligne les blocs verticalement */
    line-height: 1em !important;
    font-size: 13px !important;
    padding-bottom: 5px !important;
}

/* 4. Alignement des icônes (Optionnel mais recommandé) */
#header-outer .nectar-megamenu-menu-item > ul.sub-menu > li > a i {
    margin-right: 8px !important;
    font-size: 16px !important;
}
/* --- ALIGNEMENT FORMULAIRE UPC --- */
.upc-form-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 20px; /* Espace entre les deux colonnes */
    margin-bottom: 15px;
}

.upc-form-col {
    flex: 1; /* Chaque colonne prend 50% de la largeur */
    min-width: 200px; /* Sur petit mobile, ils repasseront l'un sous l'autre */
}

/* Ajustement des labels pour qu'ils ne prennent pas trop de place */
.wpcf7 label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 0.9em;
}

/* Largeur complète pour les champs à l'intérieur des colonnes */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select {
    width: 100% !important;
    padding: 8px !important;
    box-sizing: border-box;
}