/* Inter heberge en local (RGPD : aucun transfert d'IP vers Google) */
@import url('inter.css');

html, body {
    height: 100%;
    overflow: hidden;
}

main{
    /* height:100%; */
    /* background-image: url("/verycard/frontend/web/images/VC_1.png"); */
    /* background: #FFF; */
    height: 90%;
    
}

/* main > .container { */
    /* padding: 70px 15px 20px; */
    /* margin-bottom: auto; */
    /* height:100%; */
    /* padding-right: auto !important; */
    /* overflow: auto;
    overflow-y: hidden; */
    /* overflow-y: scroll; */
/* } */

header{
    transition: transform 0.5s ease-in-out;
    background-color: #000;
    height: 10%;
}

.header{
    display: flex;
    /* width: 1920px; */
    height: 100%;
    padding: 0px var(--Abonnement-Professionnel-Prix_Professionnel-abonnement, 60px);
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    box-sizing: border-box;

}

.rightSection{
    display: flex;
    align-items: center;
    gap: 99px;
}

.logoImageheader{
    width: 46px;
    height: 46px;
}

.linkPositionALL{
    display: flex;
    padding: var(--Style-ions-New-group-Radius, 10px);
    justify-content: center;
    align-items: center;
    gap: var(--Style-ions-New-group-Font-size-H2, 24px);
}

.linkPosition{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
}

.NavbarDisabled a{
    color: #626262;
    text-decoration: none;
    cursor: pointer;
}

.navItem{
    color: var(--Style-ions-New-group-Grey-01, #F4F4F4);
    text-align: center;
    font-family: var(--Style-ions-New-group-Font-Family-inter, Inter);
    font-size: var(--Style-ions-New-group-Font-size-p, 16px);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.leftSection{
    display: flex;
    align-items: center;
    gap: var(--Abonnement-Professionnel-Prix_Professionnel-abonnement, 60px);
}

.navItemSub{
    color: var(--Style-ions-New-group-Primary-yellow-01, #F07D00);
    text-align: center;
    font-family: Inter;
    font-size: var(--Style-ions-New-group-Font-size-p, 16px);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.not-set {
    color: #c55;
    font-style: italic;
}

.nav-link:hover, .nav-link:focus {
    color: var(--Style-ions-New-group-Primary-yellow-01, #F07D00);
}

.linkPosition:hover > .nav-link{
    color: var(--Style-ions-New-group-Primary-yellow-01, #F07D00);
}

.linkPosition:hover > #canvas{
    color: var(--Style-ions-New-group-Primary-yellow-01, #F07D00);
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem;
}

form{
    width: 100%;
}


body, footer{
    background-color: #F4F4F4;
}



/* Début du css pour la gestion du la barre de navigation ainsi que du footer */

#footer {
    display: flex;
    /* width: var(--Breakpoint-Tablette, 744px); */
    height: 8%;
    padding: var(--space-100, 10px) var(--space-400, 40px);
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;

    background: var(--background-default-tertiary, #2F2F2F);

    transition: transform 0.5s ease-in-out;
}

.footerMessagesdiv, .footerContactsdiv, .footerEntreprisesdiv, .footerEnvoyerdiv, .footerActivitediv{
    display: flex;
    width: 61.5px;
    height: var(--height-230, 52px);
    padding: var(--space-80, 6px);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--space-50, 4px);
    flex-shrink: 0;
    border-radius: var(--border-md, 8px);
}

.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 1000px) {
    #footer {
        display: none;
    }

}

@media (max-width: 1000px) {
    .MiddleSection {
        display: none;
    }
    /* main{
        height: calc(100vh - 180px) !important;
    } */
}


@media (max-width: 500px) {
    #footer {
        display: flex;
        /* width: var(--Breakpoint-Mobile, 360px); */
        height: 8%;
        padding: var(--space-100, 10px) var(--space-200, 20px);
        justify-content: space-between;
        align-items: center;
        flex-shrink: 0;
        background: var(--background-default-tertiary, #2F2F2F);
        position: fixed;
        bottom: 0;
        width: 100%;
    }
    
    .header{
        padding: 0px var(--Abonnement-Professionnel-Prix_Professionnel-abonnement, 20px) !important;
    }

    .leftSection{
        gap: var(--Abonnement-Professionnel-Prix_Professionnel-abonnement, 10px);
    }
}

@media (max-width: 420px) {
    .footerText{
        display: none;
    }
}

@media (max-width: 1155px){
    .leftSection{
        gap: var(--Abonnement-Professionnel-Prix_Professionnel-abonnement, 20px) !important;
    }

    /* .svgHeader, #canvas{
        display: none !important;
    } */
}

@media (max-width: 360px) {
    .svgHeaderLeft{
        display: none;
    }
}







/* Page Login - Champ "Numéro de téléphone" de la même taille que le champ "Mot de passe" */
.iti {
    width: 100%;
}

.imageProfile{
    width : 150px !important;
    height : 150px !important;
}

.placementScroll{
    overflow-y: scroll;
}

.ImageUser{
    max-width: 200px;
    max-height: 150px;
}


/* Debut du css de la page amis */

.friend_main{
    display:inline-block;
    vertical-align:top;
}

.friend_main{
    display:inline-block;
    margin: 1em;
}

.GlobalFriend{
    margin: 1em;
}

.chat-container {
    max-width: 400px;
    margin: 50px auto;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    display:none;
}

.chat-header {
    background-color: #4CAF50;
    color: white;
    padding: 10px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.chat-messages {
    max-height: 400px;
    overflow-y: auto;
    padding: 10px;
}

.message {
    margin-bottom: 10px;
    display: flex;
}

.message-content {
    padding: 8px;
    border-radius: 5px;
}

.sent .message-content {
    background-color: #4CAF50;
    color: white;
    border-top-right-radius: 0;
    border-bottom-right-radius: 5px;
    margin-left: auto;
}

.received .message-content {
    background-color: #f2f2f2;
    color: black;
    border-top-left-radius: 0;
    border-bottom-left-radius: 5px;
    margin-right: auto;
}

.input-container {
    display: flex;
    align-items: center;
    padding: 10px;
}

.input-message {
    flex: 1;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-right: 10px;
}

.btn-send-message {
    padding: 8px 15px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-send-message:hover {
    background-color: #45a049;
}

.userContainerParent {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
}

.userContainer {
    margin-bottom: 20px;
    padding: 10px;
    background-color: #ffffff;
    border-radius: 10px;
    border: 1px solid #dbdbdb;
    width: 300px; /* ajustez la largeur selon vos besoins */
}

.userContainer:last-child {
    margin-bottom: 0;
}

.userImage {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
    float: left;
}

.userDetails {
    overflow: hidden;
}

.userDetails p {
    margin: 0;
    font-size: 14px;
    color: #262626;
}

.userDetails p:first-child {
    font-weight: bold;
}

.userDetails p:last-child {
    font-weight: normal;
    color: #8e8e8e;
}

.userContainer:hover {
    background-color: #fafafa;
}

.userContainer.active {
    background-color: #f0f0f0; /* Couleur de fond lorsque l'élément est actif */
    border: 1px solid #ddd; /* Bordure lorsque l'élément est actif */
}

p{
    margin: inherit;
}





















/* Debut CSS FITA */

.siteVcardfita{
    display: flex;
    align-items: center;
    flex-direction: column;
    height:100%;
    overflow-y:scroll;

}

.containerflex{
    display:flex;
    padding:10px;
    gap:20px;
    width:80%;
    flex-wrap: wrap;

}

.containerbasecolor{
    flex: 1;
    background-color: #e0e0e0;
    border-radius: 10px;
    padding:20px;
    width: 100%;
}

.containeruser{
    display:flex;
    align-items: flex-start;
    padding: 20px;
    gap:20px;
}

.containeruser-img{
    width:20%;
}
.containeruser-img img{
    width:100%;
}
.columns{
    display: flex;
    flex-direction: column;
}

.container-flex-row{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap:20px;
}

.pictures img{
    width:20%;
}

.icon-container{
    display: flex;
    flex-direction: row;
    gap:10px;
    background-color: #a94442;
    border-radius: 10px;
    align-items: center;
    color:white;
    padding: 10px;
}

.company-container{
    display: flex;
    gap:20px;
    width:30%;
    flex-direction: column;
    background-color: #373e46;
    padding: 20px;
    color:white;
    border-radius: 10px;
}

.hr{
    height:25px;
    width: 500px;
    color:red;
}

@media only screen and (max-width:767px){
    .containerflex{
        display:flex;
        flex-direction: column;
        padding: 10px 0px;
        width:90%;
    }

    .pictures img{
        width:40%;
    }

    .company-super-container{
        width:45%;
    }

    .icon-container{
        padding: 2px 10px;
    }

    .containeruser-img{
        width:30%;
    }

    .container-grid{
        grid-template-columns: auto auto !important;
        width: 90% !important;
    }

}

@media only screen and (max-width:450px){
    .pictures img{
        width:100%;
    }

    .icon-text-visibility{
        display:none;
    }

    .icon-container{
        align-items:center;
        justify-content:center;
    }

    .container-flex-row .icon-mobile-version p{
        display:none;
    }

    .company-super-container{
        width:100%;
    }

    .containeruser{
        align-items: center;
        justify-content: center;
    }

    .containerbasecolor-research{
        width:100%!important;
    }

}

/*partie entreprise*/
.company-profil-picture{
    width: 20%;
    border-radius: 10px;
}

.presentation-video{
    display: flex;
    justify-content: center;
    width: 100%;
    border-radius: 10px;
}

.presentation-video img{
    width: 50%;
}

/*partie résultats des recherches*/
.containerbasecolor-research{
    background-color: #e0e0e0;
    display: flex;
    flex-direction: column;
    gap:20px;
    border-radius: 10px;
    align-items: flex-start;
    color:rgb(32, 6, 6);
    padding: 20px;
    flex: 0 1 auto;

}

.company-profil-picture-research{
    width: 50%;
    border-radius: 10px;
}

.items-left{
    justify-content: left;
}

.container-grid{
    display: grid;
    grid-template-columns: auto auto auto;
    grid-auto-flow: row;
    width: 80%;
    gap: 20px;
}

/* .square{
    position: relative;
    width: 10%;
    height: 10%;
    border: #c55 2px solid;
    right:20px;
    top:20px;
} */


/* Page error */

.site_error{
    display: flex;
    width: 100%;
    padding-bottom: 324.518px;
    flex-direction: column;
    align-items: center;
    /* gap: 154px; */
}

.nav_section{
    display: flex;
    width: 100%;
    /* padding: var(--Space-700, 28px) var(--Space-1500, 60px); */
    justify-content: space-between;
    align-items: center;
    padding-left: 20px;
    padding-top: 20px;
}

.main_section{
    display: flex;
    flex-direction: column-reverse;
    width: 80%;
    max-width: 1100px;
    justify-content: space-between;
    align-items: center;
}

.site_error_type{
    display: flex;
    width: 389px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--Space-900, 36px);
    flex-shrink: 0;
}

.site_error_illustration{
    display: flex;
    width: 470.878px;
    height: 449.482px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}


.site_error_type_title h1 {
    color: var(--text-primary, #0C0C0C);
    text-align: center;

    
    /* Heading/h1 */
    font-family: var(--type-font-family-primary, Inter);
    font-size: var(--font-size-heading-h1, 49px);
    font-style: normal;
    font-weight: var(--type-font-weight-bold, 700);
    line-height: 120%; /* 58.8px */
}

.site_error_type_title span {
    color: #F07D00;
}

.site_error_type_title p {
    color: var(--text-primary, #0C0C0C);

    /* Body/Bold/large */
    font-family: Inter;
    font-size: var(--font-size-body-large, 19px);
    font-style: normal;
    font-weight: var(--type-font-weight-bold, 700);
    line-height: 120%; /* 22.8px */
}

.HeaderProfilImg {
  object-fit: cover;   /* recadre l’image si elle n’est pas carrée */
  border-radius: 50%;  /* rend l’image ronde */
  display: inline-block;
}


/* Début de format tablette */
@media screen and (max-width: 991px) {
    .main_section {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 40px;
        padding: 0 20px;
        text-align: center;
    }

    .site_error_type {
        width: 100%;
        align-items: center;
        gap: 24px;
    }

    .site_error_illustration {
        width: 200px;
        height: auto;
    }

    .site_error_type_title h1 {
        font-size: 32px;
    }

    .site_error_type_title p {
        font-size: 16px;
    }

    .site_error_type a {
        display: inline-block;
        padding: 12px 24px;
        background-color: #F07D00;
        color: black;
        font-weight: bold;
        text-decoration: none;
        border-radius: 8px;
        margin-top: 16px;
    }
}


.site_error_type_illustration svg {
    width: 100%;
    height: auto;
    max-width: 300px;
}

@media screen and (max-width: 767px) {
    .site_error_type_illustration svg {
        max-width: 200px;
    }
    main{
        height: 82%;
    }
}


/* // Section pour le css de la page parrainage */


.site_parrainage{
    display: flex;
    width: 100%;
    padding-bottom: 324.518px;
    flex-direction: column;
    align-items: center;
    gap: 154px;
}

.main_section_parrainage{
    display: flex;
    width: 500px;
    max-width: 500px;
    padding: var(--Space-1500, 60px);
    flex-direction: column;
    align-items: center;
    gap: 36px;

    border-radius: var(--border-radius-200, 12px);
    background: var(--neutral-400, #DDD);
}

.site_parrainage_type{
    display: flex;
    width: 389px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--Space-900, 36px);
    flex-shrink: 0;
}

.site_parrainage_type_title{
    color: var(--text-primary, #0C0C0C);
    text-align: center;

    /* Heading/h5 */
    font-family: var(--type-font-family-primary, Inter);
    font-size: var(--font-size-heading-h5, 26px);
    font-style: normal;
    font-weight: var(--type-font-weight-bold, 700);
    line-height: 120%; /* 31.2px */
}

.site_parrainage_type_buttons{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--Space-200, 8px);
    align-self: stretch;
}

.site_parrainage_type_buttons_filleul{
    display: flex;
    padding: var(--Space-500, 20px);
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;

    border-radius: var(--border-radius-100, 8px);
    background: var(--surface-primary, #0C0C0C);
    
}

.site_parrainage_type_buttons_parrain{
    display: flex;
    padding: var(--Space-500, 20px);
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;

    border-radius: var(--border-radius-100, 8px);
    background: var(--surface-tertiary, #F07D00);
}

/* ===== Styles communs aux deux liens ===== */
.site_parrainage_type_buttons_filleul{
    display: flex;
    justify-content: center;
    align-items: center;

    /* Texte */
    color: var(--text-secondary, #F5F5F5) !important; /* héritage bootstrap, on force */
    text-decoration: none !important;

    /* Typographie Body/Bold/medium */
    font-family: var(--type-font-family-primary, Inter);
    font-size: var(--font-size-body-medium, 16px);
    font-style: normal;
    font-weight: var(--type-font-weight-bold, 700);
    line-height: 120%; /* 19.2px */

}

.site_parrainage_type_buttons_parrain{
    display: flex;
    justify-content: center;
    align-items: center;

    /* Texte */
    color: var(--text-primary, #0C0C0C)!important; /* héritage bootstrap, on force */
    text-decoration: none !important;

    /* Typographie Body/Bold/medium */
    font-family: var(--type-font-family-primary, Inter);
    font-size: var(--font-size-body-medium, 16px);
    font-style: normal;
    font-weight: var(--type-font-weight-bold, 700);
    line-height: 120%; /* 19.2px */
}

.site_parrainage_type_buttons_filleul:hover,
.site_parrainage_type_buttons_parrain:hover {
  text-decoration: none;
}

/* Gestion de la pastille de notification dans le header et le footer */

.header-notification-badge {
    position: absolute;
    top: -5px;
    right: 15px; /* Ajuste selon la position de ton icône */
    width: 12px;
    height: 12px;
    background-color: #FF3B30;
    border-radius: 50%;
    border: 2px solid #000; /* Ou la couleur de fond de ton header */
    z-index: 10;
}

.header-notification-badge {
    position: absolute;
    width: 12px;
    height: 12px;
    background-color: #FF3B30;
    border-radius: 50%;
    border: 2px solid #000;
    z-index: 99;
}

/* Ajustement spécifique pour le header desktop si besoin */
#global-unread-badge-header {
    top: -5px;
    right: 15px;
}


/* Début de la section du responsive */

@media screen and (max-width: 600px) {
    .main_section_parrainage {
        width: 280px;
        padding: var(--Space-1500, 20px);
    }

    .site_parrainage_type{
        width: 90%;
        gap: var(--Space-900, 10px);
    }

    .site_parrainage_type_title{
        font-family: var(--type-font-family-primary, Inter);
        font-size: var(--font-size-heading-h5, 20px);
        font-style: normal;
        font-weight: var(--type-font-weight-bold, 700);
        line-height: 120%; /* 26.4px */
    }

    .site_parrainage_type_buttons_filleul, .site_parrainage_type_buttons_parrain{
        text-align: center;   
    }
}

.navbarAnimation{
    background-color: turquoise;
    display: flex;
    height: 10%;
    width: 100%;
}

.canvasNavbar{
    /* display: flex; */
    height: 100%;
    width: 100%;
}

/* Section pour les activations ou non des notification */

/* Container fixé en haut à droite */
.notification-prompt-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    background-color: #f6f6f6; /* Fond gris très clair comme ta photo */
    padding: 20px 25px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15); /* Ombre pour l'effet flottant */
    text-align: center;
    font-family: Arial, sans-serif;
    display: none; /* Masqué par défaut, le JS gère l'affichage */
}

/* Titre */
.notification-prompt-title {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin-top: 0;
    margin-bottom: 15px;
}

/* Flexbox pour aligner les boutons */
.notification-prompt-actions {
    display: flex;
    gap: 10px;
}

/* Style commun des boutons */
.btn-notif {
    flex: 1;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: opacity 0.2s ease-in-out;
}

.btn-notif:hover {
    opacity: 0.8;
}

/* Couleurs spécifiques basées sur ta maquette */
.btn-oui {
    background-color: #5fba7d; /* Vert */
    color: #1a3a26; /* Vert très foncé pour le texte */
}

.btn-non {
    background-color: #e2e2e2; /* Gris */
    color: #222; /* Noir/Gris foncé */
}