/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==========================================================
   CHALLENGE SPORT CARNOULES
   Contact Form 7
   Parent : .block-form
   ========================================================== */

.block-form {
    --form-primary: #0A4D5C;
    --form-accent: #E05A6E;
    --form-text: #37474F;
    --form-muted: #6B7478;
    --form-border: #DCE5E7;
    --form-background: #FFFFFF;
    --form-field-background: #F7FAFA;

    color: var(--form-text);
}


/* ------------------------------
   Labels
   ------------------------------ */

.block-form .wpcf7 label {
    display: block;
    margin-bottom: 8px;

    color: var(--form-primary);

    font-size: 14px;
    font-weight: 600;
}


/* ------------------------------
   Espacement entre les champs
   ------------------------------ */

.block-form .wpcf7 p {
    margin: 0;
}


/* ------------------------------
   Champs
   ------------------------------ */
.block-form .wpcf7 label .wpcf7-form-control-wrap {
    display: block;
    margin-top: 10px;
}

.block-form .wpcf7 input[type="text"],
.block-form .wpcf7 input[type="email"],
.block-form .wpcf7 input[type="tel"],
.block-form .wpcf7 input[type="url"],
.block-form .wpcf7 input[type="number"],
.block-form .wpcf7 input[type="date"],
.block-form .wpcf7 select,
.block-form .wpcf7 textarea {

    width: 100%;
    box-sizing: border-box;

    padding: 14px 16px;

    border: 1px solid var(--form-border);
    border-radius: 10px;

    background: var(--form-field-background);

    color: var(--form-text);

    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}


/* ------------------------------
   Hauteur des champs
   ------------------------------ */

.block-form .wpcf7 input[type="text"],
.block-form .wpcf7 input[type="email"],
.block-form .wpcf7 input[type="tel"],
.block-form .wpcf7 input[type="url"],
.block-form .wpcf7 input[type="number"],
.block-form .wpcf7 input[type="date"],
.block-form .wpcf7 select {
    min-height: 50px;
}


/* ------------------------------
   Textarea
   ------------------------------ */

.block-form .wpcf7 textarea {
    min-height: 150px;
    resize: vertical;
}


/* ------------------------------
   Placeholder
   ------------------------------ */

.block-form .wpcf7 ::placeholder {
    color: #98A4A8;
    opacity: 1;
}


/* ------------------------------
   Focus
   ------------------------------ */

.block-form .wpcf7 input:focus,
.block-form .wpcf7 select:focus,
.block-form .wpcf7 textarea:focus {

    border-color: var(--form-primary);

    background: #FFFFFF;

    box-shadow:
        0 0 0 3px rgba(10, 77, 92, 0.10);
}


/* ------------------------------
   Checkbox / Radio
   ------------------------------ */

.block-form .wpcf7 .wpcf7-list-item {
    margin: 0 20px 8px 0;
}

.block-form .wpcf7 .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin: 0;

    color: var(--form-text);
    font-weight: 400;

    cursor: pointer;
}

.block-form .wpcf7 input[type="checkbox"],
.block-form .wpcf7 input[type="radio"] {

    width: 18px;
    height: 18px;

    margin: 0;

    accent-color: var(--form-accent);

    cursor: pointer;
}


/* ------------------------------
   Bouton Envoyer
   ------------------------------ */

.block-form .wpcf7 input[type="submit"],
.block-form .wpcf7 button[type="submit"] {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 13px 28px;

    border: 2px solid var(--form-accent);
    border-radius: 10px;

    background: var(--form-accent);

    color: #FFFFFF;

    font-family: inherit;
    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Hover bouton */

.block-form .wpcf7 input[type="submit"]:hover,
.block-form .wpcf7 button[type="submit"]:hover {

    background: transparent;

    color: var(--form-accent);

    transform: translateY(-1px);

    box-shadow:
        0 5px 15px rgba(224, 90, 110, 0.15);
}


/* ------------------------------
   Champs invalides
   ------------------------------ */

.block-form .wpcf7 .wpcf7-not-valid {

    border-color: var(--form-accent);

    background:
        rgba(224, 90, 110, 0.04);
}


/* Message sous le champ */

.block-form .wpcf7 .wpcf7-not-valid-tip {

    margin-top: 6px;

    color: var(--form-accent);

    font-size: 13px;
    font-weight: 500;
}


/* ------------------------------
   Message global CF7
   ------------------------------ */

.block-form .wpcf7 .wpcf7-response-output {

    margin: 25px 0 0;
    padding: 14px 18px;

    border: 0;
    border-left: 4px solid var(--form-primary);
    border-radius: 6px;

    background: rgba(10, 77, 92, 0.07);

    color: var(--form-primary);

    font-size: 14px;
}


/* Erreur */

.block-form .wpcf7.invalid .wpcf7-response-output,
.block-form .wpcf7.failed .wpcf7-response-output {

    border-left-color: var(--form-accent);

    background: rgba(224, 90, 110, 0.08);

    color: #A63849;
}


/* Succès */

.block-form .wpcf7.sent .wpcf7-response-output {

    border-left-color: var(--form-primary);

    background: rgba(10, 77, 92, 0.08);

    color: var(--form-primary);
}


/* ------------------------------
   Spinner Contact Form 7
   ------------------------------ */

.block-form .wpcf7 .wpcf7-spinner {
    background-color: var(--form-primary);
}


/* ------------------------------
   Responsive
   ------------------------------ */

@media (max-width: 767px) {

    .block-form .wpcf7 input[type="submit"],
    .block-form .wpcf7 button[type="submit"] {
        width: 100%;
    }

}



/* ------------------------------
   BACK TO TOP
   ------------------------------ */
#back-top-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);

    transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        visibility 0.3s ease;
}

#back-top-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.site-header .site-navigation ul.menu li a {
    position: relative;

    display: inline-flex;
    align-items: center;

    padding: 12px 16px;

    color: #0A4D5C;

    font-weight: 600;
    text-decoration: none;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


/* Trait animé sous le lien */
.site-header .site-navigation ul.menu li a::after {
    content: "";

    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 5px;

    height: 2px;

    background: #E05A6E;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.25s ease;
}


/* Hover */
.site-header .site-navigation ul.menu li a:hover {
    color: #E05A6E;
}


/* Affichage du trait au hover */
.site-header .site-navigation ul.menu li a:hover::after {
    transform: scaleX(1);
}


/* Page active */
.site-header .site-navigation ul.menu li.current-menu-item > a,
.site-header .site-navigation ul.menu li.current_page_item > a {
    color: #E05A6E;
}

.site-header .site-navigation ul.menu li.current-menu-item > a::after,
.site-header .site-navigation ul.menu li.current_page_item > a::after {
    transform: scaleX(1);
}

.site-header {
	padding-block-end: 0;
    padding-block-start: 0;
}

