/*
 Theme Name: Divi Child
 Theme URI: http://localhost/dorian-graphique
 Description: Thème enfant pour Divi
 Author: Dorian Curti
 Template: Divi
 Version: 1.0
*/

html {
    scroll-behavior: smooth;
}

img {
	pointer-events: none;
}

/* Conteneur de la flèche */
.scroll-down-arrow {
    display: inline-block;
    position: absolute;
    bottom: 30px;
    /* ajuste selon ton design */
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    text-decoration: none;
}

/* La flèche style caret */
.scroll-down-arrow span {
    display: block;
    width: 24px;
    height: 24px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(-45deg);
    margin: 0 auto;
    animation: arrow-bounce 1.5s infinite ease-in-out;
}

/* Animation légère haut-bas */
@keyframes arrow-bounce {
    0% {
        transform: translateY(0) rotate(-45deg);
    }

    50% {
        transform: translateY(6px) rotate(-45deg);
    }

    100% {
        transform: translateY(0) rotate(-45deg);
    }
}

.hero-header {
    opacity: 1;
    z-index: 101;
    transition: all 0.3s ease-in-out;
}

.main-header {
    z-index: 100;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.header-mask {
	z-index: 100 !important;
    opacity: 0;
}

.header-unmask {
	z-index: 101 !important;
    position: sticky;
    top: 0;
    opacity: 1;
}

.portfolio-card {
    overflow: hidden;
}

.portfolio-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(45, 17, 101, 0.6);
    /* équivalent à ton #fdfaf168 */
    opacity: 0;
    z-index: 1;
    /* pour être AU-DESSUS de l’image */
    pointer-events: none;
    /* pour ne pas bloquer le hover */
    transition: opacity 0.3s ease;
}

.portfolio-card:hover::before {
    opacity: 1;
}

.portfolio-title {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.portfolio-card:hover .portfolio-title {
    opacity: 1;
}

.portfolio-card:hover .portfolio-image {
    transition: all 0.5s ease-in-out;
    transform: scale(1.05);
}

.project-categories {
    opacity: 0;
    transition: opacity 0.5s ease;
    width: 100%;
    padding-bottom: 40px;
    z-index: 3;
}

.portfolio-card:hover .project-categories {
    opacity: 1;
}

.categories-container {
    display:flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
}

.category-button {
    font-size: 20px;
    font-family : "Roboto", sans-serif;
    font-weight: 200;
    color:#ffffff;
    padding: 7px 16px;
    border: 1px solid #ffffff;
    border-radius: 15px;
}

.top-menu ul li a {
	border-bottom: 1px solid transparent;
}

.top-menu ul li a:hover {
	border-bottom: 1px solid #fff;
}

.scroll-menu ul li a {
	border-bottom: 1px solid transparent;
}

.scroll-menu ul li a:hover {
	color: #111 !important;
	border-bottom: 1px solid #E04178;
}

.second-menu ul li a {
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s ease; /* ou border-bottom-color */
}

.second-menu ul li a:hover {
    border-bottom: 1px solid #fff;
}

/* LABELS */
.fluentform .ff-el-input--label label {
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 300 !important;
    color: #fefefe !important;
    font-size: 18px;
    margin-bottom: 6px;
}

/* INPUTS + TEXTAREA */
.fluentform .ff-el-form-control {
    width: 100%;
    padding: 16px;
    border-radius: 10px;
    border: 1px solid #ffffff40;
    background: rgba(233, 229, 251, 0.35);
    color: #fefefe !important;
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 300 !important;
    font-size: 1rem;
    transition: all .3s ease;
}

/* Placeholder blanc léger */
.fluentform .ff-el-form-control::placeholder {
    color: #ffffff90 !important;
    font-weight: 300 !important;
}

/* FOCUS */
.fluentform .ff-el-form-control:focus {
    border-color: #e04178 !important;
    background-color: rgba(233, 229, 251, 0.35); !important;
    box-shadow: 0 0 0 2px #e0417840 !important;
    outline: none !important;
}

/* BOUTON ENVOYER */
.fluentform .ff-btn-submit {
    padding: 6px 25px !important;
    color: #fefefe !important;
    background-color: var(--gcid-secondary-color);
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 300 !important;
    text-transform: uppercase;
    font-size: 20px !important;
    border-radius: 25px !important;
    border-width: 1px !important;
    border-color: var(--gcid-heading-color) !important;
    border-style: solid !important;
    transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease;
    cursor: pointer;
}

/* Hover */
.fluentform .ff-btn-submit:hover {
    background-color: hsl(from var(--gcid-secondary-color) calc(h + 0) calc(s + 0) calc(l + 0) / 0.7) !important;
}

/* ERREURS */
.fluentform .ff-el-is-error .ff-el-form-control {
    border-color: #ff4d4d !important;
    background: rgba(233, 229, 251, 0.35) !important;
    color: #fefefe !important;
}

.fluentform .ff-el-error-message {
    color: #ff4d4d !important;
    font-size: 13px;
    margin-top: 4px;
	font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 500;
}

/* Désactiver la poignée de redimensionnement du textarea */
.fluentform textarea {
    resize: none !important;
}

/* Message de succès Fluent Forms */
.fluentform .ff-message-success {
    background: #ffffff15; /* léger translucide blanc */
    border: 1px solid #ffffff30;
    padding: 18px 22px;
    border-radius: 18px;
    color: #fefefe !important;
    font-family: 'Roboto', Helvetica, Arial, sans-serif !important;
    font-weight: 300 !important;
    font-size: 18px;
    line-height: 1.5;
    margin-top: 25px;
    text-align: center;
    backdrop-filter: blur(4px); /* effet premium */
}

/* Animation d’apparition */
.fluentform .ff-message-success {
    opacity: 0;
    transform: translateY(10px);
    animation: ffSuccessFade .4s ease forwards;
}

@keyframes ffSuccessFade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Neutraliser le style autofill de Chrome */
.fluentform input:-webkit-autofill,
.fluentform input:-webkit-autofill:hover,
.fluentform input:-webkit-autofill:focus,
.fluentform textarea:-webkit-autofill,
.fluentform textarea:-webkit-autofill:hover,
.fluentform textarea:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #ffffff15 inset !important; /* même fond que tes champs */
    box-shadow: 0 0 0 1000px #ffffff15 inset !important;
    -webkit-text-fill-color: #fefefe !important; /* texte blanc */
    caret-color: #fefefe !important;
    transition: background-color 9999s ease-in-out 0s; /* hack Chrome */
}

/* Supprimer les flèches des champs type number (Chrome, Edge, Safari) */
.fluentform input[type=number]::-webkit-inner-spin-button,
.fluentform input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.fluentform input[type=number] {
    -moz-appearance: textfield;
}
