body {
    font-family: 'Roboto', sans-serif;
}

/* Flouter le fond lorsqu'on ajoute la classe .blurred au #page-container */
#page-container.blurred {
    filter: blur(15px);
    overflow: hidden; /* Empêche le scroll en arrière-plan */
}

/* Style pour l'overlay du popup */
.popup-overlay-credits {
    position: fixed;
    top: 50px; /* Ajustez selon vos besoins */
    left: 5%; /* Ajustez selon vos besoins */
    width: 90%; /* Ajustez selon vos besoins */
    height: 100vh;; /* Ajustez selon vos besoins */
    /*background: rgba(0, 0, 0, 0.8); /* Fond semi-transparent */
    z-index: 11000; /* Assurez-vous que cette valeur est supérieure à tous les autres z-index */
    display: none;
    align-items: center;
    justify-content: center;
    filter: none; /* Empêche le flou sur le popup */
	border-radius: 15px;
}



/* Styles pour le contenu du popup */
.popup-content-credits {
    /*background-color: rgba(23, 21, 21, 0.8); /* Fond foncé transparent */
	background-image: url('/images/background_credits.webp');
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    border-radius: 15px;
	border: 1px solid var(--message-box-bg);
}

/* Style pour la grille des offres */
.offers-container {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    margin-top: 20px;
}

/* Style pour chaque offre */
.offer-box {
    background-color: #13051ECC;
    border-radius: 10px;
	border: 1px solid #FFFFFF70 !important;
    padding: 20px;
    flex: 1;
    text-align: center;
}

.offer-box h2 {
    font-size: 2em !important;
    margin-bottom: 10px !important;
	color: white !important;
	width: 100%;
}

.offer-box p {
    font-size: 1em;
    margin-bottom: 25px;
}

.offer-box ul {
	padding-top: 20px;
	padding-right: 30px;
	padding-bottom: 10px;
	padding-left: 30px;
    font-size: 1em;
	margin-top: 0px !important;
	text-align: left;
	list-style-position: outside;
}

.offer-box ul li {
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 10px; /* Espace entre la puce et le texte */
}

.free-title {
	margin-top: 100px;
}

/* Style pour la croix de fermeture */
.close-popup-f-credits {
    position: absolute;
    top: 7px; /* Ajustez selon vos besoins */
    right: 15px; /* Ajustez selon vos besoins */
    background: rgba(128, 128, 128, 0.5); /* Fond gris transparent */
    border: none;
    width: 30px; /* Largeur pour faire un cercle */
    height: 30px; /* Hauteur pour faire un cercle */
    border-radius: 50%; /* Crée un fond circulaire */
    font-size: 30px; /* Taille de la croix */
    color: white; /* Couleur de la croix */
    cursor: pointer;
    z-index: 12000; /* Assurez que le bouton est au-dessus de tout le reste */
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease, color 0.3s ease; /* Transition pour l'effet de survol */
}

.close-popup-f-credits:hover {
    background: rgba(128, 128, 128, 0.7); /* Fonce légèrement la couleur au survol */
    color: #DF1366; /* Change la couleur de la croix au survol */
}

.close-popup-f-credits:active {
    transform: scale(1); /* Désactive l'effet de redimensionnement lors du clic */
    border-radius: 50%; /* Garde le border-radius constant */
    background: rgba(128, 128, 128, 0.7); /* Change légèrement le fond lors du clic */
}

.close-popup-f-credits:focus {
    outline: none; /* Supprime le contour bleu de focus */
}


/* Style pour la partie supérieure avec l'image de fond */
.popup-header-credits {
    position: relative; /* Crée un nouveau contexte de positionnement */
    background-image: url('/images/first_popup_h.webp'); /* Remplacez par votre image */
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto; /* Laisser la hauteur s'adapter au contenu */
    padding: 20px 0; /* Ajouter du padding pour respirer */
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Pseudo-élément pour la superposition semi-transparente */
.popup-header-credits::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
	border-bottom: 1px solid white !important;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Noir transparent */
    z-index: 1; /* Au-dessus de l'image de fond, mais en-dessous du contenu */
}


.popup-header-credits .header-content-credits {
    position: relative;
    z-index: 2; /* Au-dessus de la superposition */
    text-align: center;
    color: white;
}

.popup-header-credits h1 {
    font-size: 2em;
    margin-bottom: 0.5em;
}

.picnosia-logo-credits {
    width: 75px;
    margin-bottom: 0.5em;
	margin-top: -25px;
	margin-right: 10px;
}

.popup-header-titre-credits {
    font-size: 4.4em;
	font-weight: 600;
	font-family: 'Roboto', sans-serif;
}

.subtitle {
    font-size: 2.2em;
    margin-top: 0;
}

/* Style pour le corps du popup */
.popup-body-credits {
    padding: 40px;
    background-image: url('/images/background_credits.webp');
    background-size: cover; /* Ajuste l'image pour couvrir tout l'espace */
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 0px;
    color: white;
    min-height: 100%;  /* Assure que le conteneur occupe toute la hauteur disponible */
    height: auto;      /* Laisse l'image s'ajuster en fonction de la taille du contenu */
    width: 100%;       /* Assure que le conteneur prend toute la largeur */
    box-sizing: border-box; /* Inclut le padding dans les calculs de taille */
}

/* Style pour le corps du popup */
.popup-body-packs {
    padding: 60px;
    /*background-image: url('/images/background_credits.webp');*/
    background-size: cover; /* Ajuste l'image pour couvrir tout l'espace */
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 0px;
    color: white;
    min-height: 100%;  /* Assure que le conteneur occupe toute la hauteur disponible */
    height: auto;      /* Laisse l'image s'ajuster en fonction de la taille du contenu */
    width: 100%;       /* Assure que le conteneur prend toute la largeur */
    box-sizing: border-box; /* Inclut le padding dans les calculs de taille */
}

.popup-header-soustitre {
    font-size: 1.2em;
	color: #DF1366;
}


/* Style pour le bouton de fermeture */
.popup-footer-credits {
    text-align: center;
    margin-bottom: 20px;
}

.back-home-button-credits {
    width: 50%;
    padding: 10px;
    background-image: linear-gradient(to right, #E50A62, #5F84C2) !important;
    border: none;
    border-radius: 25px;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s, box-shadow 0.3s;
    margin-top: 1px;
	margin-bottom: 30px;
    font-family: 'Roboto', sans-serif;
}

.back-home-button-credits:hover {
    background-image: linear-gradient(to right, #ff3399, #9933ff) !important;
    box-shadow: 0 0 8px 2px rgba(255, 255, 255, 0.6) !important;
}

.price{
	font-size: 68px;
}

.nbr-credits{
	font-size: 26px !important;
}

.contact-us-info {
    /* Fond transparent/demi-transparent pour le contraste */
    background-color: rgba(0, 0, 0, 0.6); 
    padding: 15px;
    border-radius: 8px;
    /* Centrage et style */
    text-align: center;
    font-size: 1em;
    font-weight: 500;
    line-height: 1.4em; /* Améliore la lisibilité */
}

.contact-cta {
    color: #DF1366;  /* Coloration rose/rouge pour la question ou la phrase accroche */
}

.contact-text {
    color: #fff;     /* Texte blanc pour le reste */
    margin-left: 6px;
}

.contact-email {
    color: #DF1366;  /* On remet l’email en rose/rouge pour la faire ressortir */
    font-weight: 600;
}


.pro-label {
    background-color: #DF1366;
    color: white;
    border-radius: 15px;
    padding: 4px 10px;
    font-size: 1em;
    display: inline-block;
}

.ht-class {
    font-size: 0.8em !important;
    margin-top: -45px; /* Réduit l'espace au-dessus */
    margin-bottom: 10px; /* Ajuste l'espace en dessous si nécessaire */
    color: #999999; /* Couleur ajustée pour différencier légèrement */
}

@media (max-width: 810px) {
	
	.offers-container {
        flex-direction: column;
    }

    .offer-box {
        margin-bottom: 20px;
    }
	
	.popup-header-titre-credits {
		font-size: 3em;
	}
	
    .popup-header-credits h1 {
        font-size: 2em;
    }
    .picnosia-logo-credits {
        width: 60px;
    }
    .subtitle {
        font-size: 1.2em;
    }
}

/* =============== PACKS PARTIAL ONLY =============== */

/* Le conteneur principal */
.packs-popup-wrapper {
    /* Vous pouvez mettre des styles si besoin, ou laisser vide */
}

/* Le content du popup (fond, taille, etc.) */
.packs-content-credits {
    background-image: url('/images/background_credits.webp');
    border-radius: 15px;
    border: 1px solid var(--message-box-bg);
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

/* Le body principal du popup packs */
.packs-body {
    padding: 40px;
    /* Couleur du texte plus petite */
    font-size: 0.9em; /* Réduit pour tout le texte à l’intérieur */
    color: #fff;
}

/* Sous-titre principal (réduit) */
.packs-subtitle {
    font-size: 1.6em;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
}

/* Conteneur flex pour 5 packs - polices plus petites, etc. */
.packs-offers-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

/* Chaque box */
.packs-offer-box {
	position: relative;
    background-color: rgba(19,5,30,0.8);
    border-radius: 10px;
    border: 1px solid #FFFFFF70;
    padding: 20px;
    text-align: center;
	overflow: hidden;

    /* Contrôle des largeurs (ex. ~220px) */
    flex: 1 0 220px;
    max-width: 260px;
    margin-bottom: 20px; /* si besoin de marge en bas */
}

/* Titre de l'offre plus petit */
.packs-offer-box h2 {
    font-size: 1.4em; /* plus petit que 2.5em */
    margin-bottom: 10px;
    color: #fff;
}

.packs-ribbon {
    position: absolute;
    background-color: yellow;
    color: black;
    font-weight: bold;
    font-size: 0.85em;
    z-index: 2;
    transform: rotate(45deg);
    transform-origin: top right;
    
    /* Ajustez top/right pour le positionnement */
    top: 86px;        /* recule un peu vers le bas */
    right: -44px;     /* sort le ruban vers la droite */
    padding: 5px 60px; /* large padding horizontal pour l'inclinaison */
    text-align: center;
}

/* Le prix (ex. $5) en plus petit */
.packs-price {
    font-size: 2.9em; /* au lieu de 68px */
}

/* Classe pour la mention "HT" ou taxes */
.packs-ht-class {
    font-size: 0.8em;
    color: #999999;
    margin-top: -25px;
    margin-bottom: 10px;
}

/* Nombre de crédits en plus petit */
.packs-nbr-credits {
    font-size: 1.2em;
    margin-bottom: 15px;
}

/* Le bouton d'achat plus petit */
.packs-button {
    width: 60%;
    padding: 8px;
    background-image: linear-gradient(to right, #E50A62, #5F84C2);
    border: none;
    border-radius: 25px;
    color: #fff;
    font-size: 1em;
    cursor: pointer;
    margin: 0 auto 10px auto;
    display: inline-block;
    transition: background-color 0.3s, box-shadow 0.3s;
}
.packs-button:hover {
    background-image: linear-gradient(to right, #ff3399, #9933ff);
    box-shadow: 0 0 8px 2px rgba(255, 255, 255, 0.6);
}

/* Contact info en bas (fond sombre, polices plus petites) */
.packs-contact-info {
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
    border-radius: 8px;
    text-align: center;
	margin-top: 15px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.4em;
}

.packs-contact-cta {
    color: #DF1366;
}

.packs-contact-text {
    color: #fff;
    margin-left: 6px;
}

.packs-contact-email {
    color: #DF1366;
    font-weight: 600;
}

/* Bouton de fermeture */
.packs-close-btn {
    top: 7px;
    right: 15px;
    background: rgba(128, 128, 128, 0.5);
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 30px;
    color: white;
    cursor: pointer;
    z-index: 12000;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.packs-close-btn:hover {
    background: rgba(128, 128, 128, 0.7);
    color: #DF1366;
}

/* Responsive (mobile) */
@media (max-width: 810px) {
    .packs-offers-container {
        flex-direction: column;
        align-items: center;
    }
    .packs-offer-box {
        max-width: 300px;
		width: 100%;
		padding: 6px;
		margin-bottom: 0px;
    }
    .packs-offer-box h2 {
        font-size: 1.2em;
    }
}
