/* assets/styles.css */

/* Prevent Multiple Contact Form 7 Submissions */

.wpcf7-form.submitting .wpcf7-submit {
    pointer-events: none;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root {
    --noir: #121212;
    --gris-pale: #F2F2F2;
    --gris-fonce: #262626;
    --blanc: #FFFFFF;
    --gold: #CFC8BB;
}

/*  Boxed Element In Fullwidth Section (with container) */

:root {
    --padding: 20px;
    --container: 1440px;
    --scroll-bar-width-windows: 17px;
    --scroll-bar-width-mac: 15px;
}

@media only screen and (min-width : 1140px) {

    .boxed_left {
        padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    .boxed_left_no_padding {
        padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ) !important;
    }

    .boxed_right {
        padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    .boxed_right_no_padding {
        padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) ) !important;
    }

    body.mac .boxed_left {
        padding-left: calc( ( (  100vw - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    body.mac .boxed_left_no_padding {
        padding-left: calc( ( (  100vw - var(--container) ) / 2 ) ) !important;
    }

    body.mac .boxed_right {
        padding-right: calc( ( ( 100vw - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    body.mac .boxed_right_no_padding {
        padding-right: calc( ( ( 100vw - var(--container) ) / 2 ) ) !important;
    }

    body.mac.scrollbars-visible .boxed_left {
        padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-mac)  ) - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    body.mac.scrollbars-visible .boxed_left_no_padding {
        padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-mac)  ) - var(--container) ) / 2 ) ) !important;
    }

    body.mac.scrollbars-visible .boxed_right {
        padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-mac) ) - var(--container) ) / 2 ) - var(--padding) ) !important;
    }

    body.mac.scrollbars-visible .boxed_right_no_padding {
        padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-mac) ) - var(--container) ) / 2 ) ) !important;
    }
}

.elementor-nav-menu--main .hide_desktop,
.elementor-nav-menu--dropdown .hide_desktop {
    display: none !important;
}

@media only screen and (max-width : 767px) {
    .elementor-nav-menu--main .hide_desktop,
    .elementor-nav-menu--dropdown .hide_desktop {
        display: block !important;
    }
}



/* */

.ligne_gold_titre {
    position: relative;
}

.ligne_gold_titre::after {
    content: '';
    position: absolute;
    left: -50px;
    top: 0;
    border-left: 1px solid var(--gold);
    width: 50px;
    height: 100%;
}

.elementor-location-footer .lowercase .elementor-item {
    text-transform: none !important;
    font-size: 16px !important;
}

.smaller {
    font-size: 60% !important;
}


/* fenetres */

.caract_list_two_columns ul {
	-webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
	-webkit-column-gap: 100px;
	   -moz-column-gap: 100px;
			column-gap: 100px;
}

.caract_list_two_columns li {
	break-inside: avoid-column;
	page-break-inside: avoid;
	-webkit-margin-before: 0;
    -webkit-margin-after: 0;
}

.caract_list .elementor-icon-list-icon svg {
    height: 2px;
}

@media only screen and (min-width : 768px) {
    .caract_list .elementor-icon-list-item::after {
        display: none !important;
    }
}

@media only screen and (max-width : 767px) {

    .caract_list_two_columns ul {
        -webkit-column-count: 1;
            -moz-column-count: 1;
                column-count: 1;
    }

    .caract_list .elementor-icon-list-icon {
        display: none !important;
    }
}

.performance_table th,
.performance_table td {
    line-height: 1.3 !important;
}

.performance_table thead th:nth-child(1),
.performance_table thead th:nth-child(2) {
    border-right: 3px solid var(--gris-pale) !important;
}

.performance_table thead th:nth-child(1) {
    width: 30% !important;
}

.performance_table thead th:nth-child(2),
.performance_table thead th:nth-child(3) {
    width: 35% !important;
}

.performance_table tbody td {
    border-top: 3px solid var(--gris-pale) !important;
    border-right: 3px solid var(--gris-fonce) !important;
}

@media only screen and (max-width : 1199px) {

    .performance_table td,
    .performance_table th {
        padding: 12px !important;
    }
}

@media only screen and (max-width : 767px) {

    .performance_table td,
    .performance_table th {
        padding: 9cqiimportant;
    }

    .performance_table table {
        display: block !important;
    }

    .performance_table thead {
        display: block !important;
    }

    .performance_table tbody {
        display: block !important;
    }

    .performance_table tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        justify-content: space-between !important;
    }

     .performance_table thead th {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 50% !important;
        width: 50% !important;
    }

    .performance_table thead th:nth-child(1) {
        display: none !important;
    }

    .performance_table thead th:nth-child(2) {
        border-right: 1px solid var(--gris-pale) !important;
    }

    .performance_table tbody td {
        flex: 0 0 50% !important;
        width: 50% !important;
        justify-content: flex-start !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-top: 1px solid var(--gris-pale) !important;
        border-right: 1px solid var(--gris-fonce) !important;
    }

    .performance_table tbody td:nth-child(1) {
        flex: 0 0 100% !important;
        width: 100% !important;
        border-top: 0px solid var(--gris-pale) !important;
    }

    .performance_table tbody {
        border-top: 1px solid var(--gris-pale) !important;
    }

    .performance_table tbody td:nth-child(2) {
        border-right: 1px solid var(--gris-fonce) !important;
    }

    .performance_table_fixe tr:nth-child(10) td:nth-child(1),
    .performance_table_fixe tr:nth-child(13) td:nth-child(1),
    .performance_table_fixe tr:nth-child(16) td:nth-child(1),
    .performance_table_fixe tr:nth-child(17) td:nth-child(1),
    .performance_table_fixe tr:nth-child(18) td:nth-child(1),
    .performance_table_fixe tr:nth-child(19) td:nth-child(1),
    .performance_table_fixe tr:nth-child(20) td:nth-child(1),
    .performance_table_fixe tr:nth-child(21) td:nth-child(1),
    .performance_table_fixe tr:nth-child(22) td:nth-child(1),
    .performance_table_fixe tr:nth-child(23) td:nth-child(1),
    .performance_table_fixe tr:nth-child(24) td:nth-child(1),
    .performance_table_fixe tr:nth-child(14) td:nth-child(1) {
        flex: 0 0 50% !important;
        width: 50% !important;
    }
}

.text_editor_box h2 {
    margin-top: .5em !important;
}

.text_editor_box p {
    margin-bottom: 20px !important;
}

.text_editor_box p:last-child {
    margin-bottom: 0 !important;
}

.text_editor_box li {
    margin-bottom: 10px !important;
}

.text_editor_box li:last-child {
    margin-bottom: 0 !important;
}

.carrieres_form {
    input[type=file] {
        width: 100%;
    }
}

.carrieres_loop_grid .e-loop-item:nth-of-type(3n+1) .carrieres_loop_item {
  background-image: url(/wp-content/uploads/2025/11/accueil-performance-bg-1.jpg) !important;
}

.carrieres_loop_grid .e-loop-item:nth-of-type(3n+2) .carrieres_loop_item {
  background-image: url(/wp-content/uploads/2025/11/accueil-performance-bg-2.jpg) !important;
}

.carrieres_loop_grid .e-loop-item:nth-of-type(3n) .carrieres_loop_item {
  background-image: url(/wp-content/uploads/2025/11/accueil-performance-bg-3.jpg) !important;
}

@media only screen and (max-width : 767px) {

    .carrieres_form .elementor-col-50 {
        width: 100% !important;
    }
}

/* Normal fields */
input, textarea, select {
  --field-bg: var(--noir);
  background: var(--field-bg);
  color: var(--gris-pale);
  caret-color: var(--gris-pale);
}

/* Chrome autofill override */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  box-shadow: 0 0 0px 1000px var(--field-bg) inset;
  -webkit-box-shadow: 0 0 0px 1000px var(--field-bg) inset;
  -webkit-text-fill-color: var(--gris-pale); /* force text color on autofill */
  caret-color: var(--gris-pale);
  transition: background-color 9999s ease-out 0s;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  text-transform: uppercase;
}
::-moz-placeholder { /* Firefox 19+ */
  text-transform: uppercase;
}
:-ms-input-placeholder { /* IE 10+ */
  text-transform: uppercase;
}
:-moz-placeholder { /* Firefox 18- */
  text-transform: uppercase;
}
::placeholder {
  text-transform: uppercase;
}



/* contact_form */

.contact_form p {
    margin: 0 !important;
}

.contact_form .elementor-field-type-acceptance .elementor-field-option,
.carrieres_form .elementor-field-type-acceptance .elementor-field-option {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-left: 0;
}
.contact_form .elementor-field-type-acceptance .elementor-field-option input,
.carrieres_form .elementor-field-type-acceptance .elementor-field-option input {
    margin-right: 12px;
    margin-top: 6px;
}

.contact_form .elementor-field-type-acceptance .elementor-field-option label,
.carrieres_form .elementor-field-type-acceptance .elementor-field-option label {
    line-height: 1.3;
}


.contact_form .elementor-field-type-acceptance .elementor-field-option label a,
.carrieres_form .elementor-field-type-acceptance .elementor-field-option label a {
    text-decoration: underline;
}


.contact_form input[type=text],
.contact_form input[type=email],
.contact_form textarea  {
    background-color: var(--noir);
    border-bottom: 1px solid var(--gris-pale);
    color: var(--gris-pale);
    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    font-weight: 500;
    height: 57px;
    letter-spacing: normal;
    line-height: 1.3;
    margin: 0px;
    min-height: 40px;
    padding: 0 30px 0 0;
}

.contact_form textarea {
    height: 160px;
}

.contact_form {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
}

.contact_form label {
    display: block;
    margin: 0 0 12px 0;
}

.contact_form .full {
    flex: 0 0 100%;

    margin-bottom: 25px;
}

.contact_form .half {
    flex: 0 0 calc(50% - 25px );

    margin-bottom: 25px;
}

.contact_form .submit {
    margin-bottom: 0;
}


/* acceptance_form */

.contact_form .wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0 !important;
}
.contact_form .wpcf7-acceptance label {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    line-height: 1.3;
}

.contact_form .wpcf7-acceptance label a {
    color: var(--gold);
    text-decoration: underline;
    line-height: 1.3;
}

.contact_form .wpcf7-acceptance label input {
    flex: 0 0 12px;
    margin-top: 6px;
}

.contact_form .wpcf7-acceptance label span {
    flex: 0 0 calc(100% - 12px);
    padding-left: 12px;
}

.contact_form input[type=submit] {
    box-sizing: border-box;
    background-color: var(--noir);
    border: 1px solid var(--gris-pale);
    color: var(--gris-pale);
    cursor: pointer;
    display: block;
    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.0;
    margin: 0;
    padding: 15px 40px;
    text-transform: uppercase;
}


.contact_form input[type=submit]:hover,
.contact_form input[type=submit]:focus,
.contact_form input[type=submit]:active {
    background-color: var(--gris-pale);
    color: var(--noir);
}

@media only screen and (max-width : 767px) {


    .contact_form .half {
        flex: 0 0 100%;
    }
}


.contact_form .wpcf7-spinner {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    border-radius: 0;
    z-index: 1000;
    margin: 0;
    transition: all .3s ease;
}

.contact_form .wpcf7-spinner::before {
    position: initial;
    width: 24px;
    height: 24px;
    transform-origin: 24px 24px;
}

form.submitting .contact_form .wpcf7-spinner {
    visibility: visible;
}

@media only screen and (max-width : 1199px) {

    .contact_form input[type=text],
    .contact_form input[type=email],
    .contact_form input[type=submit],
    .contact_form textarea  {
        font-size: 18px;
    }

}

@media only screen and (max-width : 767px) {

    .contact_form input[type=text],
    .contact_form input[type=email],
    .contact_form input[type=submit],
    .contact_form textarea  {
        font-size: 16px;
    }
}




.hover_gold:hover {
    background-color: var(--gold) !important;
    background-image: none !important;
}

.hover_gold:hover .elementor-heading-title {
    color: var(--noir);
    transition: all .3s ease;
}

.hover_gold:hover svg path {
    fill: var(--noir) !important;
    transition: all .3s ease;
}


.carrieres_loop_grid .e-loop-item:nth-of-type(3n+1) .carrieres_loop_item.hover_gold:hover {
  background-image: none !important;
}

.carrieres_loop_grid .e-loop-item:nth-of-type(3n+2) .carrieres_loop_item.hover_gold:hover {
  background-image: none !important;
}

.carrieres_loop_grid .e-loop-item:nth-of-type(3n) .carrieres_loop_item.hover_gold:hover {
  background-image: none !important;
}



.accordeon_fix .e-n-accordion-item-title {
    /* max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px; */

    /* padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) + var(--padding) ) !important; */
    /* padding-left: calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) - var(--padding) ) !important; */


    padding-left: clamp( 20px, calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ), calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ) ) !important;


    /* padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) + var(--padding) ) !important; */
    /* padding-right: calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) - var(--padding) ) !important; */


    padding-right: clamp( 20px, calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) ), calc( ( ( ( 100vw - var(--scroll-bar-width-windows)) - var(--container) ) / 2 ) ) ) !important;



}


.accordeon_content_left_fix {
    padding-left: clamp( 20px, calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ), calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ) ) !important;

}

.accordeon_content_right_fix {
    padding-right: clamp( 20px, calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ), calc( ( ( ( 100vw - var(--scroll-bar-width-windows) ) - var(--container) ) / 2 ) ) ) !important;

}

.e-n-accordion-item-title-icon {
    padding: 10px;
    border: 1px solid var(--gris-pale);
}



/* politique_text */

.politique_text h2 {
    font-size: 24px !important;
    line-height: 1.5 !important;
}

.politique_text p,
.politique_text blockquote,
.politique_text li,
.politique_text a {
    font-size: 18px !important;
    line-height: 1.5 !important;
}

.politique_text ul,
.politique_text ol {
	margin-bottom: 1em;
	margin-left: 0;
	list-style-position: outside;
}


.politique_text ul ul,
.politique_text ul ol,
.politique_text ol ul,
.politique_text ol ol {
	margin-top: .5em;
}


.politique_text li {
	margin-bottom: 1em;
}

.politique_text li p {
	margin-bottom: 0.5em;
}

.politique_text li:last-child {
	margin-bottom: 0;
}

.politique_text a {
	color: var(--gold) !important;
}

@media only screen and (max-width : 1439px) {

    .politique_text h2 {
        font-size: 22px !important;
    }

    .politique_text p,
    .politique_text blockquote,
    .politique_text li,
    .politique_text a {
        font-size: 17px !important;
    }
}

@media only screen and (max-width : 767px) {

    .politique_text h2 {
        font-size: 18px !important;
    }

    .politique_text p,
    .politique_text blockquote,
    .politique_text li,
    .politique_text a {
        font-size: 16px !important;
    }
}

.policy_table {
	overflow-x:auto;
	border-collapse: collapse;
}

.policy_table table {
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	border-right: none;
	border-bottom: none;
}

.policy_table th {
	font-weight: 700;
	text-align: left;
	vertical-align: top;
	padding: 6px;
	border-top: none;
	border-left: none;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	background-color: #212121 !important;
	font-size: 18px !important;
	color: #fff !important;
}

.policy_table th:first-child {
	border-top: 0;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

.policy_table td {
	font-weight: 400;
	text-align: left;
	vertical-align: top;
	padding: 6px;
	border-top: none;
	border-left: none;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size: 18px !important;
	color: #fff !important;
}

@media only screen and (max-width : 1023px) {

	.policy_table th,
	.policy_table td {
		white-space: nowrap;
	}
}

@media only screen and (max-width : 1439px) {

    .policy_table th,
    .policy_table td {
        font-size: 17px !important;
    }
}

@media only screen and (max-width : 767px) {

    .policy_table th,
    .policy_table td {
        font-size: 16px !important;
    }
}


/* contact_form */
.contact_form .elementor-field-type-acceptance .elementor-field-option {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-left: 0;
}
.contact_form .elementor-field-type-acceptance .elementor-field-option input {
    margin-right: 12px;
    margin-top: 3px;
}

.contact_form .elementor-field-type-acceptance .elementor-field-option label {
    line-height: 1.3;
}