/*
Theme Name: Bridge Child
Theme URI: http://demo.qodeinteractive.com/bridge/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: http://www.qodethemes.com/
Version: 1.0.0
Template: bridge
*/
@import url("../bridge/style.css");

html, body
{
    font-family: 'Chakra Petch', sans-serif !important;
}

/*.content a, .content p a {
    color: #0000ff !important;
}*/

.breadcrumb {

    position: relative;

    top: auto;

    height: auto;

    right: auto;

    margin: 8px 0 0;

}

 

.breadcrumb, .breadcrumb .current, .breadcrumb a {

    color: #909090;

    transition: color 0.3s ease;

}

.portfolio_detail {

    display: flex;

    flex-direction: column;

}

 

.portfolio_detail > * {

    order: 3;

}

 

.portfolio_detail > h6 {

    order: 1;

    margin: 0 0 16px;


    font-weight: 600;

    text-transform: uppercase;

    color: #000;

    font-size: 55px;

    line-height: 1.1em;

}

 

.portfolio_detail > .portfolio_content {

    order: 2;

}

.portfolio_navigation {

    padding-bottom: 164px;

}

.portfolio_detail .info {

    margin: 0;

}

 

.portfolio_detail .info a {

    color: inherit;

}

 

.portfolio_detail .info > span {

    color: #909090;

    font-size: 16px;

    line-height: 25px;

    font-style: normal;

    font-weight: 400;

}

 

.social_share_title {

        color: #000000;


    font-size: 19px;

    line-height: 21px;

    font-style: normal;

    font-weight: 600;

    letter-spacing: 0px;

    text-transform: uppercase;

}

 

.social_share_holder {display: flex;align-items: baseline;gap: 7px;}

 

 

 

.social_share_dropdown {

 

    position: relative;

 

    top: auto;

 

    visibility: visible;

 

    opacity: 1;

 

    transform: none;

 

    width: auto;

 

    padding: 0;

 

    left: auto;

 

}

 

 

 

.social_share_holder:hover .social_share_dropdown {

 

    top: auto;

 

    left: auto;

 

}

 

 

 

.social_share_dropdown .inner_arrow {

 

    display: none;

 

}

 

 

 

.social_share_dropdown ul {background-color: transparent;border-radius: 0;width: auto;display: flex;align-items: center;padding: 0 !important;gap: 6px;}

 

 

 

.social_share_dropdown ul li i {font-size: 15px;color: #000;}

 

 

 

.social_share_dropdown ul li :hover i {

 

    color: #000;

 

}

 

.portfolio_single.portfolio_template_5 .portfolio_container {

    margin: 35px 0 0;

}

 

.portfolio_detail {

    padding-top: 8px;

}

 

.portfolio_detail .info > h6 {

    margin: 0 0 6px;

}

.portfolio_single h3 {

    margin: 0 0 16px;

}

 

.portfolio_navigation {

    padding-top: 101px;

}

.widget #searchform {

    position: relative;

}

 

.widget #searchform input[type=text] {

    width: 100%;

    vertical-align: top;

    padding-left: 15px;

    padding-right: 60px;

    font-size: 15px;

    color: #909090;

    background-color: #f5f5f5;

    border: 1px solid transparent;

    transition: border-color .25s ease;

    position: relative;

    height: 39px;

}

 

.widget #searchform input[type=text]::placeholder {

    color: #909090;

}

 

#searchform.wp-block-search input[type=submit], .header_top #searchform input[type=submit], .widget.widget_search form input[type=submit] {

    position: absolute;

    top: 0;

    right: 0;

    color: #000;

    height: 100%;

    font-size: 17px;

    transform: scaleX(-1);

}

 

.widget .tagcloud a, .widget .wp-block-tag-cloud a {

    position: relative;

    margin: 0 8px 11px 0;

}

 

.widget .tagcloud a:after, .widget .wp-block-tag-cloud a:after {

    content: '';

    position: absolute;

    left: 0;

    bottom: 3px;

    width: 100%;

    height: 1px;

    background-color: currentColor;

    -webkit-transform-origin: 0 50%;

    -ms-transform-origin: 0 50%;

    transform-origin: 0 50%;

    -webkit-transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);

    transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);

    -o-transition: transform .3s cubic-bezier(.165,.84,.44,1);

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

    transition: transform .3s cubic-bezier(.165,.84,.44,1),-webkit-transform .3s cubic-bezier(.165,.84,.44,1);

}

.blog_single.blog_holder article .post_text .post_text_inner {

    display: flex;

    flex-direction: column;

}

 

.blog_single.blog_holder article .post_text .post_text_inner > * {

    order: 3;

}

 

.blog_single.blog_holder article .post_text .post_text_inner > h2 {

    order: 2;

    margin: 0 0 14px;

}

 

.blog_single.blog_holder article .post_text .post_text_inner > .post_info {

    order: 1;

    margin: 6px 0 0;

}

 

.blog_holder.blog_single article h2 {

    font-size: 55px;

    line-height: 1.1em;

}

 

blockquote {

    padding: 20px 0;

}

 

blockquote i.fa {

    display: none;

}

 

blockquote h5 {


    font-weight: 600;

    text-transform: uppercase;

    color: #000;

    font-size: 19px;

    line-height: 1.1em;

    padding: 0 !important;

}

 

.single_tags {

    text-align: right;

}

 

.single_tags h5 {

    display: none;

}

 

.single_tags .tags_text {

    font-size: 0;

}

 

.single_tags a {

    position: relative;

    margin-right: 11px;

}

 

.single_tags a:last-child {

    margin-right: 0;

}

 

.single_tags a:before {

    content: '';

    position: absolute;

    left: 0;

    bottom: 3px;

    width: 100%;

    height: 1px;

    background-color: currentColor;

    transform-origin: 0 50%;

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

}

 

.author_description {

    padding: 0;

    margin: 40px 0 60px;

}

 

.author_description_inner .image {

    float: none;

    border-radius: 0;

    flex-shrink: 0;

}

 

.author_description_inner {

    display: flex;

    align-items: center;

    gap: 25px;

}

 

.author_text_holder {

    padding: 0;

    min-height: auto;

}

 

.author_text_holder .author_email {

    display: none;

}

 

#respond input[type=text], #respond input[type=email], #respond textarea, .contact_form input[type=text], .contact_form textarea {

    background-color: #f5f5f5;

    border: 1px solid transparent;

    border-radius: 0;

    color: #909090;

    cursor: pointer;

    font-size: 15px;

    font-weight: inherit;

    line-height: 24px;

    margin: 0 0 15px;

    outline: 0;

    padding: 5.5px 15px;

    transition: color .25s ease,background-color .25s ease,border-color .25s ease;

}

 

div.comment_form form p.form-submit, div.comment_holder .comment p.form-submit {

    text-align: left;

    margin: 0 0 130px;

}

 

div.comment_form form p.form-submit #submit_comment {

    padding: 0 38px;

    color: #000001;

    background-color: transparent;

    border: 2px solid #000001;

    height: 46px;

}

 

div.comment_form .comment-form-cookies-consent {

    margin: 10px 0 18px;

}

 

.comment_holder .comment {

    padding: 0;

    display: flex;

    gap: 25px;

}

 

.comment_holder .comment .image {

    border-radius: 0;

    width: 64px;

    height: 64px;

    float: none;

    flex-shrink: 0;

}

 

.comment_holder .comment .text {

    padding: 0;

}

 

.comment_holder .comment-list li ul.children {

    padding: 0 0 0 89px;

    margin: 33px 0 0;

}

 

.comment_holder .comment .text .name {

    font-size: 19px;

    line-height: 1.1em;

}

 

.comment_holder .comment .text {

    /*font-family: Hind, sans-serif;*/

    font-size: 16px;

    font-weight: 400;

    line-height: 25px;

}

 

.comment_holder .comment .text .comment-reply-link, .comment_holder .comment .text .replay {

    padding: 0;

    /*font-family: "Barlow Condensed", sans-serif;*/

    font-size: 17px;

    font-weight: 600;

    line-height: 25px;

    margin: 0 0 10px;

    float: right;

}

.latest_post_holder.minimal>ul>li {

    padding-top: 65px;

}

 

.latest_post_holder.minimal>ul>li:first-child {

    padding-top: 0;

}

 

.latest_post_holder.minimal .latest_post_inner .post_infos {

    display: flex;

    flex-direction: row-reverse;

    justify-content: flex-end

}

 

.latest_post_inner .post_infos a, .latest_post_inner .post_infos span {

    font-family: Hind, sans-serif;

    font-size: 16px;

    font-weight: 400;

    line-height: 25px;

    color: #909090;

    margin: 0;

}

 

.latest_post_holder .post_infos .dots i {

    display: none;

}

 

.latest_post_holder .post_infos .dots:before {

    content: '/';

    padding: 0 4px;

}

.qode_clients .qode_client_holder_inner {

    margin: 0;

}

 

.qode_clients .qode_client_holder {

    transition: opacity 0.3s ease;

    margin: 0;

}

 

.qode_clients:hover .qode_client_holder {

    opacity: 0.5;

}

 

.qode_clients:hover .qode_client_holder:hover {

    opacity: 1;

    animation: qode-client-hover 0.5s ease;

}

 

.qode_clients .qode_client_holder a:hover {

    opacity: 1;

}

 

@keyframes qode-client-hover {

    0%   {

      transform: translateY(0)

    }

    50%   {

      transform: translateY(-8px)

    }

    100% {

      transform: translateY(0)   

    }

}

.qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-icon {

    display: none;

}

 

.qode-accordion-holder .qode-title-holder .qode-tab-title {

    height: auto;

    z-index: 9999;

}

 

.qode-accordion-holder .qode-title-holder {

    border: none;

    background-color: transparent !important;

    margin: 9px 0 0;

    padding: 0 8px 1px 5px;

    line-height: 1.1em;

    display: flex;

    color: #000 !important;

    position: relative;

}

 

.qode-accordion-holder .qode-title-holder:after {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background-color: #000;

    transform-origin: 0 50%;

    transform: scaleX(0);

    transition: transform .5s cubic-bezier(.54,.07,0,.95);

}

 

.qode-accordion-holder .qode-title-holder:hover:after, .qode-accordion-holder .qode-title-holder.ui-state-active:after {

    transform: scaleX(1);

}

 

.qode-accordion-holder .qode-title-holder:hover, .qode-accordion-holder .qode-title-holder.ui-state-active {

    color: #fff !important;

}

 

.qode-accordion-holder .qode-title-holder .qode-tab-title span.qode-tab-title-inner {

    padding: 0;

}

 

.qode-accordion-holder .qode-title-holder:first-child {

    margin: 0;

}

 

.qode-accordion-holder .qode-accordion-content {

    padding: 18px 0 5px 4px;   

}

 

.qode-accordion-holder .qode-title-holder .qode-accordion-mark {

    z-index: 9999;

    right: 0;

    top: -2px;

}

 

.qode-accordion-holder .qode-title-holder .qode-accordion-mark-icon {

    font-size: inherit;

}

 

.qode-accordion-holder .qode-title-holder .qode-accordion-mark-icon .icon_plus, .qode-accordion-holder .qode-title-holder .qode-accordion-mark-icon .icon_minus-06 {

    font-family: inherit;

    font-weight: inherit;

    font-size: inherit;

}

 

.qode-accordion-holder .qode-title-holder .qode-accordion-mark-icon .icon_plus:before {

    content: '+';

    font-family: inherit;

    font-size: inherit;

}

 

.qode-accordion-holder .qode-title-holder .qode-accordion-mark-icon .icon_minus-06:before {

    content: '-';

    font-family: inherit;

    font-weight: inherit;

}

.blog_holder article .post_text .post_text_inner {

    display: flex;

    flex-direction: column;

}

 

.blog_holder article .post_text .post_text_inner > * {

    order: 3;

}

 

.blog_holder article .post_text .post_text_inner > .post_info {

    order: 1;

    margin: 6px 0 2px;

}

 

.blog_holder article .post_text .post_text_inner > h2 {

    order: 2;

    margin: 0 0 15px;

}

 

.blog_holder article .post_more .qbutton {

    font-family: "Barlow Condensed", sans-serif;

    font-size: 16px;

    font-weight: 600;

    letter-spacing: -0.32px;

    padding: 0;

}

 

.blog_holder article .post_more {

    margin: 20px 0 0;

}

 

.blog_holder article:not(.format-quote):not(.format-link) {

    margin: 0 0 66px;

}

 

.caroufredsel-direction-nav a, .flex-direction-nav a {

    border: none;

}

 

.blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover, .blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover, .flexslider:hover .flex-direction-nav a.flex-next:hover, .flexslider:hover .flex-direction-nav a.flex-prev:hover, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover, .portfolio_slider:hover .flex-direction-nav a.flex-next:hover, .portfolio_slider:hover .flex-direction-nav a.flex-prev:hover {

    background-color: transparent;

}

 

.blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover, .flexslider:hover .flex-direction-nav a.flex-prev:hover, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover, .portfolio_slider:hover .flex-direction-nav a.flex-prev:hover {

    transform: translateX(-10px);    

}

 

.blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover, .flexslider:hover .flex-direction-nav a.flex-next:hover, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover, .portfolio_slider:hover .flex-direction-nav a.flex-next:hover {

    transform: translateX(10px);    

}

 

.blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover i, .blog_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover i, .flexslider:hover .flex-direction-nav a.flex-next:hover i, .flexslider:hover .flex-direction-nav a.flex-prev:hover i, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-next:hover i, .portfolio_slider:hover .caroufredsel-direction-nav a.caroufredsel-prev:hover i, .portfolio_slider:hover .flex-direction-nav a.flex-next:hover i, .portfolio_slider:hover .flex-direction-nav a.flex-prev:hover i {

    color: #fff;

}

 

.caroufredsel-direction-nav a i, .flex-direction-nav a i {

    font-size: 40px;

}

 

.blog_holder.blog_large_image article.format-quote .post_info, .blog_holder.blog_large_image article.format-quote .post_info, .blog_holder.blog_large_image article.format-link .post_info, .blog_holder.blog_single article.format-quote .post_info, .blog_holder.blog_single article.format-link .post_info, .blog_holder article.format-link .post_text i.link_mark, .blog_holder article.format-quote .post_text i.qoute_mark {

    display: none;

}

 

.blog_holder article.format-link .post_text .post_title, .blog_holder article.format-quote .post_text .post_title {

    padding: 0;

}

 

.blog_holder article.format-link .post_text .post_text_inner, .blog_holder article.format-quote .post_text .post_text_inner {

    background-color: #000;

    padding: 13% 18% 13% 13.5%;

}

 

.blog_holder article.format-quote .post_text .post_title p, .blog_holder article.format-quote .post_text .post_title p a, .blog_holder article.format-link .post_text .post_title p, .blog_holder article.format-link .post_text .post_title p, .blog_holder article.format-link .post_text .post_title p, .blog_holder article.format-link .post_text .post_title p a {

    font-family: "Barlow Condensed",sans-serif;

    font-weight: 600;

    text-transform: uppercase;

    color: #fff;

    font-size: 26px;

    line-height: 1.1em;

}

 

.blog_holder article.format-quote .post_text .quote_author {

    color: #fff;

    display: block;

    font-size: 17px;

    margin: 20px 0 0;

    font-family: Hind, sans-serif;   

}

 

.blog_holder.blog_large_image article.format-quote .post_info, .blog_holder.blog_large_image article.format-link .post_info, .blog_holder.blog_single article.format-quote .post_info, .blog_holder.blog_single article.format-link .post_info {

    display: none;

}

 

.blog_holder article.format-link, .blog_holder article.format-quote {

    margin: 0 0 133px;

}

 

.pagination {

    text-align: left;

}

 

.pagination ul li a, .pagination ul li span {

    font-family: "Barlow Condensed",sans-serif;

    font-size: 17px;

    font-weight: 600;

    text-transform: uppercase;

    color: #000;

    width: auto;

    height: auto;

    margin: 0 19px;

}

 

.pagination ul li span {

    color: #909090;

}

 

.pagination ul li:first-child a {

    margin-left: 0;

}

 

.pagination ul li:last-child a {

    margin-right: 0;

}

 

.pagination ul li.prev a, .pagination ul li.next a {

    font-size: 30px;

    position: relative;

    top: -1px;

}

.qode-cf-newsletter-outer {

    display: flex;

    gap: 14px;

}

 

.qode-cf-newsletter-mail {

    flex-grow: 1;

}

 

.qode-cf-newsletter-mail input.wpcf7-form-control.wpcf7-text {

    margin: 0;

    padding: 13px 15px;

}

 

.qode-cf-newsletter-submit {

    flex-shrink: 0;

}

 

span.wpcf7-spinner {

    display: none;

}

.q_team.info_on_hover .q_team_text_holder .q_team_title_holder {

    display: flex;

    flex-direction: column-reverse;

    text-align: left;

    margin: 0 0 18px;

}

 

.q_team .q_team_title_holder .q_team_name {

    margin: 0;

}

 

.q_team.info_on_hover .q_team_title_holder span {

    font-family: Hind, sans-serif;

    font-size: 16px;

    font-weight: 400;

    line-height: 25px;

}

 

.q_team.info_on_hover .q_team_text_holder {

    display: flex;

    align-items: center;

    justify-content: center;

    transform: translate3d(-40px,0,0) skewX(-15deg);

    transition: transform 0s .3s;

}

 

.q_team.info_on_hover .q_team_text_holder_inner {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    height: 100%;

}

 

.q_team.info_on_hover .q_team_social_holder {

    text-align: left;

}

 

.q_social_icon_holder.normal_social {

    margin: 0 10px;

}

 

.q_team.info_on_hover .q_team_social_holder .q_social_icon_holder.normal_social:first-child {

    margin-left: 0;

}

 

.q_team.info_on_hover .q_team_image img {

    transform: scale(1.1);   

}

 

.q_team.info_on_hover .q_team_image:hover img {

    transform: translateX(5%) skewX(2deg);

    transition: .5s;

}

 

.q_team.info_on_hover .q_team_image:hover .q_team_text_holder {

    transform: translate3d(0,0,0);

    transition: transform .4s cubic-bezier(.165,.84,.44,1);

}

 

.q_team.info_on_hover .q_social_icon_holder:hover .simple_social {

    opacity: 0.6;

}

.gallery_holder ul li img {

    display: block;

}

.testimonials_c_holder .testimonial_content_inner {

    padding: 0;

    text-align: left;

}

 

.testimonials_c_holder .testimonial_content_inner .testimonial_author {

    margin-top: 26px;

}

 

.testimonials_c_holder .flex-control-nav {

    text-align: left;

    margin: 19px 0 0;

}

 

.testimonials_c_holder .flex-control-nav li {

    width: auto;

    height: auto;

    box-sizing: border-box;

    display: inline-flex;

    align-items: center;

    margin: 0 4px;

    padding: 4px 0;

    background-color: transparent;

    cursor: pointer;

}

 

.testimonials_c_holder .flex-control-nav li a {

    border-radius: 0;

    height: 4px;

    width: 35px;

    background-color: #fff;

    transition: width .3s ease;

}

 

.testimonials_c_holder .flex-control-nav li a.flex-active {

    background-color: #fff;

    width: 60px;

}

 

.testimonials_c_holder .flex-control-nav li:hover {

    animation: qodeBlink .65s infinite;

}

 

@keyframes qodeBlink {

    0%,100% {

        opacity: 1

    }

 

    50% {

        opacity: 0

    }

}

.cf7_custom_style_2 input.wpcf7-form-control.wpcf7-submit, .cf7_custom_style_2 input.wpcf7-form-control.wpcf7-submit:not([disabled]) {

    margin: 4px 0 0;

}

footer .q_icon_with_title.tiny .icon_text_holder {

    padding-left: 30px;

}

 

footer .q_icon_with_title .icon_with_title_link {

    margin: 2px 0 0;

}

 

footer .q_icon_with_title .icon_text_inner {

    padding: 0 0 5px;

}

 

.qode-cf-footer-newsletter-outer {

    display: flex;

}

 

.qode-cf-footer-newsletter-outer input.wpcf7-form-control.wpcf7-text {

    background-color: #282828;

    color: #fff;

    padding: 5px 12px;

    font-family: Hind, sans-serif;

    font-size: 15px;

    line-height: 24px;

    margin: 0;

}

 

.qode-cf-footer-newsletter-outer input.wpcf7-form-control.wpcf7-text::placeholder {

    color: #fff;

}

 

.qode-cf-footer-newsletter-outer input.wpcf7-form-control.wpcf7-submit, input.wpcf7-form-control.wpcf7-submit:not([disabled]) {

    background-color: #282828;

    color: #fff;

    height: 34px;

    line-height: 24px;

    margin: 0;

    padding: 4px 12px 0;

    box-sizing: border-box;

    font-family: 'Font Awesome 5 Free';

    font-size: 15px;

}

 

.qode-cf-footer-newsletter-mail {

    flex-grow: 1;

}

 

.qode-cf-footer-newsletter-outer input.wpcf7-form-control.wpcf7-submit:hover, input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover {

    background-color: #282828;

    color: #fff;

}

 

footer figure {

    margin: 0;

}

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

    .full_width .projects_masonry_holder.gs4 .qode-portfolio-masonry-gallery-grid-sizer, .projects_masonry_holder.gs4 .qode-portfolio-masonry-gallery-grid-sizer, .full_width .projects_masonry_holder.gs4 .portfolio_masonry_item, .projects_masonry_holder.gs4 .portfolio_masonry_item, .full_width .projects_masonry_holder.gs4 .portfolio_masonry_item, .full_width .projects_masonry_holder.gs4 .portfolio_masonry_item.large_height {

        width: 100% !important;;

    }

}

.qode-btn.qode-btn-solid {

    border: 2px solid #000;

}

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

    .title.has_background {

        background-size: cover !important;

    }

}

nav.main_menu ul li a span.underline_dash, nav.vertical_menu ul li a span.underline_dash {

    bottom: -6px;

    transform: scaleX(0);

    left: 0;

    opacity: 1;

    transform-origin: left;

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

}

 
nav.main_menu ul li.active a span.underline_dash, nav.main_menu ul li:hover a span.underline_dash, nav.vertical_menu ul li.active a span.underline_dash, nav.vertical_menu ul li:hover a span.underline_dash {

    transform: scaleX(1);

}

 

.mobile_menu_button span:hover, .side_menu_button>a:hover, header:not(.with_hover_bg_color) nav.main_menu>ul>li:hover>a {

    opacity: 1;

}

.blog_single.blog_holder article.format-link .post_text .post_text_inner, .blog_single.blog_holder article.format-quote .post_text .post_text_inner {

    background-color: #000;

    padding: 13% 18% 13% 13.5%;

}

.blog_holder article .post_text h2 .date {

    display: none;

}

.pagination {

    margin: 0 0 115px;

}

/*nav.mobile_menu ul li, nav.mobile_menu ul li ul li {

    border: none;

}

nav.mobile_menu > ul > li > a > span {

    position: relative;

}

 

nav.mobile_menu > ul > li > a > span:after {

    content: '';

    position: absolute;

    left: 0;

    bottom: -6px;

    width: 100%;

    height: 4px;

    background-color: currentColor;

    transform-origin: 0 50%;

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

    transform: scaleX(0);

}

 

nav.mobile_menu ul li.active > a > span:after, nav.mobile_menu ul li.current-menu-item > a > span:after, nav.mobile_menu ul li.current-menu-ancestor > a > span:after {

    transform: scaleX(1);

}

nav.mobile_menu ul>li.has_sub>span.mobile_arrow {

    height: 42px;

    line-height: 39px;

}*/

 /*nav.mobile_menu>ul {

    padding-bottom: 23px;

}*/

/*@media only screen and (max-width: 1000px) {

    .header_inner_right {

        display: none;

    }

}*/

/*header.centered_logo .header_inner_right{
  float: initial !important;
  display: initial !important;
  position: initial !important;
  vertical-align: initial !important;
}*/

.header_inner_right {

    display: none;

}


.side_menu_slide_from_right .side_menu {

    width: 490px;

    padding: 120px 75px 35px;

    box-sizing: border-box;

    text-align: center;

}

 

.right_side_menu_opened .wrapper, .right_side_menu_opened footer.uncover {

    left: auto;

}

 

.side_menu_slide_from_right .wrapper .cover {

    background-color: transparent;

}

 

figure {

    margin: 0;

}

 

.side_menu .wp-block-image img {

    margin: 0 auto;

}

/*header.transparent:not(.sticky) .drop_down .second {

    top: 100%;

}

.drop_down .narrow .second .inner ul li a {

    padding: 4px 10px 4px 40px;

}*/

 

/*li.narrow .second .inner ul {

    padding: 33px 0 29px;

}*/



.latest_post_title a {

    display: inline;

    position: relative;

    background-image: linear-gradient(#000,#000);

    background-position: 0 100%;

    background-repeat: no-repeat;

    background-size: 0 100%;

    transition: background-size .3s cubic-bezier(.165,.84,.44,1),color .1s;

    padding-right: 5px;        

}

 

.latest_post_title a:hover {

    color: #fff;

    background-size: 100% 100%;

    transition: background-size .6s cubic-bezier(.165,.84,.44,1),color .35s;

}

.cf7_custom_style_2 input.wpcf7-form-control.wpcf7-submit, .cf7_custom_style_2 input.wpcf7-form-control.wpcf7-submit:not([disabled]) {

    line-height: 46px;

}

footer .wp-block-image {

    overflow: hidden;

}

 

footer .wp-block-image img {

    transition: all 0.3s ease;

}


.footer_top .custom-footer-shape
{
     margin: auto;
}
 

.footer_top .wp-block-image:hover img {

    transform: scale(1.1);

}


.author_text_holder .author_name {

    margin: 0 0 17px;

}

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

    .title.has_fixed_background {

        background-size: cover !important;

    }   

}

.projects_masonry_wrapper .portfolio_masonry_item .hover_feature_holder_title_inner {

    transform: translate3d(-40px,0,0) skewX(-15deg);

    transition: transform .3s;

}

 

.projects_masonry_holder article.portfolio_masonry_item:hover .hover_feature_holder_title_inner {

    transform: translate3d(0,0,0);

    transition: transform .4s cubic-bezier(.165,.84,.44,1);

}

 

.projects_masonry_holder .text_holder {

    transition: opacity .25s ease;

}


.blog_single.blog_holder .single_tags {

    text-align: left;

}

 

.author_description_inner .image {

    display: block;

    width: 100px;

    height: 100px;

    flex-shrink: 0;

}

 

.author_description_inner .image img {

    width: 100%;

}

 

.author_text_holder .author_name {

    font-family: "Barlow Condensed",sans-serif;

    font-weight: 600;

    text-transform: uppercase;

    color: #000;

    font-size: 19px;

    line-height: 1.1em;

    margin: 0 0 10px;

}

 

.author_description {

    margin: 90px 0 60px;

}

 

.blog_holder.blog_single article {

    margin: 0 !important;

}

 

.comment_holder {

    padding: 31px 0 70px;

}

 

#respond .comment-form {

    margin-top: 46px;    

}

 

.comment-form .three_columns {

    display: flex;

    gap: 15px;

}

 

.comment-form .three_columns:before,

.comment-form .three_columns:after {

    display: none;

}

 

.comment-form .three_columns>.column1, 

.comment-form .three_columns>.column2, 

.comment-form .three_columns>.column3 {

    float: none;

}

 

.comment-form .three_columns .column_inner {

    padding: 0;

}

 

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

    .comment-form .three_columns {

        flex-direction: column;

        gap: 0;

    }

}

.projects_masonry_holder .portfolio_masonry_item .text_holder {

    pointer-events: none;

}

.portfolio_detail .info.portfolio_content {

    padding-bottom: 47px;

}

 

.portfolio_navigation .portfolio_next a, .portfolio_navigation .portfolio_prev a {

    width: auto;

    height: auto;

    line-height: 1em;

    border: none;

    color: #000;

    font-size: 26px;

}

 

.portfolio_navigation .portfolio_next a:hover, .portfolio_navigation .portfolio_prev a:hover {

    color: #909090;

    background-color: transparent;

    background-image: none !important;

}

 

.portfolio_detail .info a {

    transition: color .25s ease;

}

 

.portfolio_detail .info a:hover {

    color: #000;

}


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

    .footer_responsive_adv .footer_top .three_columns .column1,

    .footer_responsive_adv .footer_top .three_columns .column2 {

        margin: 0 0 70px;

    }

}

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

    div.comment_form {

        padding-top: 0;

        border-top: none;

    }    

}

 

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

    .author_description_inner {

        flex-wrap: wrap;

    }    

}

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

    .qode-cf-newsletter-outer {

        flex-direction: column;

    }

}

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

    .two_columns_50_50>.column1, .two_columns_50_50>.column2 {

        width: 50%;

    }

}

 

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

    .column2.footer_bottom_column .footer_bottom {

        padding-top: 57px;

    }

}

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

    .qode_clients.five_columns .qode_client_holder,

    .qode_clients.four_columns .qode_client_holder,

    .qode_clients.six_columns .qode_client_holder,

    .qode_clients.three_columns .qode_client_holder {

        width: 50%;

    }

}

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

    .container aside {

        margin-bottom: 120px;

    }

}

.side_menu_button>a.qode-side-menu-button-svg {

    width: 30px;

    height: 14px;

    display: block;

}

 

.side_menu_button .qode-side-menu-button-svg svg>* {

    stroke: none;

}

 

.side_menu_button>a.qode-side-menu-button-svg svg {

    display: block;

    overflow: visible;

}

 

.side_menu_button>a.qode-side-menu-button-svg svg g rect {

    display: block;

        transition: top .3s ease,transform .3s cubic-bezier(.165,.84,.44,1),-webkit-transform .3s cubic-bezier(.165,.84,.44,1);

}

 

.side_menu_button>a.qode-side-menu-button-svg:hover svg g rect:first-child {

    transform: translateY(5px);

}

 

.side_menu_button>a.qode-side-menu-button-svg:hover svg g rect:last-child {

    transform: translateY(22px) translateX(3px) rotate(-90deg);

}

 

.side_menu a.close_side_menu.qode-side-menu-close-svg {

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

}

 

.side_menu a.close_side_menu.qode-side-menu-close-svg:hover {

    transform: rotate(90deg);

}

 

.side_menu a.close_side_menu.qode-side-menu-close-svg svg {

    display: block;

    width: 24px;

    height: 24px;

    stroke: none;

}

/*@media only screen and (max-width: 1000px) {

    .mobile_menu_button {

        height: 70px;

    }


    .logo_wrapper {

        height: 70px !important;

    }

}*/

a.qbutton.default {

    height: auto;
    line-height: 1.85em;
    padding: 10px;
    border: 0px;
    font-size: 30px;
    border-radius: 10px;
    margin: 0px;
}

 

a.qbutton.default:after {

    content: '';

    display: block;

    position: absolute;

    left: 0;

    bottom: 0;

    width: 100%;

    height: 4px;

    background-color: currentColor;

    transform-origin: left;

    transition: transform .3s cubic-bezier(.165,.84,.44,1);

}

 

a.qbutton.default:hover:after {

    transform: scaleX(0); 

}

.footer_inner .qode_latest_posts_widget .latest_post_holder>ul>li {

    padding-top: 25px;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_holder>ul>li:first-child {

    padding-top: 0;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_image {

    display: none;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_holder.image_in_box .latest_post_text {

    padding: 0;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_holder.image_in_box .latest_post_text_inner {

    display: flex;

    flex-direction: column-reverse;

    gap: 5px;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_holder.image_in_box .latest_post_text .latest_post_title {

    margin: 0;

}

 

.footer_inner .qode_latest_posts_widget .latest_post_holder.image_in_box .latest_post_text .latest_post_title a {

    font-family: 'Barlow Condensed', sans-serif;

    font-size: 19px;

    line-height: 21px;

    font-style: normal;

    font-weight: 600;

    letter-spacing: 0px;

    text-transform: uppercase;

    padding: 0;

}

aside.sidebar .wp-block-image {

    overflow: hidden;

}

 

aside.sidebar .wp-block-image img {

    transform: scale(1.01);

    transition: all 0.3s ease;

}

 

aside.sidebar .wp-block-image:hover img {

    transform: scale(1.1);

}

div.comment_form form p.form-submit #submit_comment:hover {

    background-color: #000;

    color: #fff;

}

 

#rev_slider_2_1_wrapper a.qode-btn.qode-btn-solid.qode-btn-custom-hover-bg.qode-btn-custom-hover-color:hover {

    background-color: transparent !important;

    color: #fff !important;

    border-color: #fff;

}

 

.qode-contact-form-7 .qode-cf-newsletter-submit input[type="submit"] {

    border: 2px solid transparent !important;

    line-height: 46px !important;

}

 

.qode-contact-form-7 .qode-cf-newsletter-submit input[type="submit"]:hover {

    background-color: transparent !important;

    color: #fff !important;

    border-color: #fff !important;

}

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

    .latest_post_holder.minimal>ul>li {

        margin: 0 !important;

    }

}

/*nav.mobile_menu ul li.open_sub>ul {

    border: none;

}

 

nav.mobile_menu ul li > ul li a {

    position: relative;

    display: inline-block;

    width: 100%;

    vertical-align: top;

    padding: 3px 0;

    font-family: Hind,sans-serif;

    font-size: 16px;

    line-height: 25px;

    font-weight: 400;

    text-transform: initial;

    color: #909090;

}*/

 
 

.q_team.info_on_hover .q_team_text_holder {

    will-change: transform;

}



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

    #rev_slider_2_1_forcefullwidth {

        margin-top: -70px;

    }

}

.qode-advanced-image-gallery.qode-aig-masonry-type.qode-aig-images-fixed .qode-aig-image {

    overflow: hidden;

}

 

.qode-advanced-image-gallery.qode-aig-masonry-type.qode-small-space .qode-outer-space {

    margin: 0 -5px;

}

 

.qode-advanced-image-gallery.qode-aig-masonry-type.qode-small-space .qode-outer-space .qode-item-space {

    padding: 0 5px;

    margin: 0 0 10px;

}

.qode-advanced-image-gallery.qode-aig-masonry-type.qode-aig-images-fixed .qode-aig-image-inner, 

.qode-advanced-image-gallery.qode-aig-masonry-type.qode-aig-images-fixed .qode-aig-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.projects_masonry_wrapper .portfolio_masonry_item .hover_feature_holder_title_inner {

    will-change: transform;

}

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

    .qode-content-sidebar-responsive .content .container>.container_inner.default_template_holder>.grid2>* {

        width: 100%;

    }

 

    .container aside {

        margin-bottom: 120px;

    }

}

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

    .comment_holder .comment_number, .portfolio_navigation.navigation_title .post_info {

        display: block;

    }

}

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

    aside.sidebar .wp-block-gallery.has-nested-images figure.wp-block-image img {

        width: 100%;

    }

}

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

    nav.main_menu>ul>li>a {

        padding: 0 10px;

    }

}

@media only screen and (max-width: 1024px) and (min-width: 769px) {

    aside.sidebar {

        width: 50%;

    }

}


.content.content_top_margin {
    margin-top: 120px !important;
}

/*nav.main_menu > ul > li > a {
    text-transform: inherit;
    font-size: 1em;
}*/

.drop_down .second .inner ul li a, .drop_down .second .inner ul li h5 {
    font-weight: 600;
}

/*.drop_down .narrow .second .inner ul, .drop_down .narrow .second .inner ul li {
    width: 450px;
    max-width: 100%;
}*/

#losange-90{
  width  : 0;
  height : 0;
  position : relative;
  top : -25px;
  border : 25px solid transparent;
  border-bottom-color : green;
}

#losange-90:after {
  width  : 0;
  height : 0;
  content : '';
  position : absolute;
  left : -25px;
  top  : 25px;
  border : 25px solid transparent;
  border-top-color : green; 
}

/* Base li needs to be relative for absolute positioning */
#menu-menu-principale > li,
#menu-menu-persan > li 
{
  position: relative;
}

/* Losange */
#menu-menu-principale > li::after,
#menu-menu-persan > li::after  
{
    content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%) translateX(8px) rotate(45deg);
  width: 8px;
  height: 8px;
  background-color: white;
  z-index: 1;
  display: inline-block;
  transition: transform 0.3s ease;
}


a.qbutton.default:after {
    content : inherit;
}

#qode-silder-home {
  min-height: 600px;
  display: block;
  visibility: visible;
  opacity: 1;
}

#logo-villa-zadig img
{
    width: 1100px;
    max-width: 100%;
}

#raindrop-results
{
    display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  /*padding: 20px;*/
  box-sizing: border-box;
  margin-bottom: 80px;
  margin-top: 30px;
}

.raindrop-grid .item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  /*border: 8px solid black;*/ /* Default frame */
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
  transition: all 0.3s ease-in-out;
  max-width: 320px;
}

/*.raindrop-item::before,
.raindrop-item::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #b3003a; /* Example: dark red */
  /*clip-path: polygon(0 0, 100% 0, 0 100%);
}*/

.raindrop-grid .item::after {
  top: auto;
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}

.raindrop-grid .item::before {
  top: 0;
  left: 0;
}

.raindrop-grid .item .category-label {
  position: absolute;
  top: 0;
  width: 100%;
  text-align: center;
  background-color: black;
  color: white;
  font-weight: bold;
  padding: 6px 0;
  font-size: 1.1em;
  z-index: 2;
}

.raindrop-grid .item .hover-info {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 255, 0.8); /* bright blue */
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 3;
}

.raindrop-item:hover .hover-info {
  opacity: 1;
}


/*****Animation raindrop********/

.raindrop-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; /* Alignement à gauche */
  gap: 20px; /* Espace entre les éléments si besoin */
}


.raindrop-grid .item {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease; /* 👈 Smooth transition */
}

/* When hidden: */
/*.raindrop-grid .item.hide {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none; /* Prevent clicking hidden items */
/*}*/

#raindrop-results .item, .villa-section .villa-image-wrapper
{
    overflow: hidden;
  display: inline-block;
}

#raindrop-results .item img, .villa-section .villa-image-wrapper .villa-img {
  transition: transform 0.3s ease;
}

#raindrop-results .item:hover img, .villa-section .villa-image-wrapper:hover .villa-img{
  transform: scale(1.1); /* Agrandit l'image à 110% */
}

.discipline-tag.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}
/*
.item.hidden {
    display: none !important;
}
*/
#raindrop-results .item {
  /*transition: all 0.3s ease;*/
  opacity: 1;
  transform: scale(1);
}

/*#raindrop-results .item.hidden {
  opacity: 0;
  transform: scale(0.8);
  pointer-events: none;
  position: absolute; /* Optional: helps avoid taking up space */
/*}*/

.item.disappearing {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.item.hidden {
  display: none !important;
}

#raindrop-results .item .title {
  display: -webkit-box;
  -webkit-line-clamp: 4; /* Nombre de lignes visibles max */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/************Footer**************/

.footer_inner 
{
    background-color: #0000ea !important;
}

.custom-footer-shape {
  background-color: #d8e1da;
  clip-path: polygon(
    60px 0%,                       /* top-left angle */
    calc(100% - 60px) 0%,          /* top-right angle */
    100% 60px,                     /* start right vertical side */
    100% calc(100% - 10px),        /* bottom-right corner start */
    calc(100% - 10px) 100%,        /* bottom-right rounded cut */
    10px 100%,                     /* bottom-left rounded cut */
    0% calc(100% - 10px),          /* bottom-left corner start */
    0% 60px                        /* start left vertical side */
  );
  padding: 60px;
  max-width: 1200px;
  margin: auto;
  color: #000;
}


.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.footer-links li::before {
  content: '';
  width: 10px;
  height: 10px;
  background-color: #0000ea;
  transform: rotate(45deg);
  display: inline-block;
  margin-right: 10px;
  flex-shrink: 0;
  position: relative;
  top: -2px;
}

.footer-links a {
    font-size: 1.2rem !important;
    color: #0017e6;
    font-weight: 700 !important;
    text-decoration: none;
    transition: color 0.3s ease;
    font-family: 'Chakra Petch', sans-serif;
}

/* Couleur dorée au hover et si actif */
.footer-links a:hover,
.footer-links a.active {
  color: #b38b00 !important; /* doré (tu peux remplacer par #c3a43d ou autre nuance si tu veux) */
}

.footer-links li:hover::before,
.footer-links li:has(a.active)::before {
  background-color: #b38b00;
}


.footer-logo img {
  max-width: 300px;
  height: auto;
  margin-bottom: 10px;
}

.footer-logo .copyright {
  font-size: 1.5rem;
  color: #0017e6;
  text-align: left;
}


/*********Bannière animée*************/
.partenaire-banner {
  background-color: #c5ac7b;
  padding: 20px 0;        /* padding horizontal retiré ici */
  margin-bottom: 40px;
  width: 100vw;           /* largeur pleine fenêtre */
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;     /* "triche" pour sortir du flux et dépasser le container */
  margin-right: -50vw;
}

.partenaire-content {
  display: flex;
  justify-content: space-between;
  align-items: center; /* 👈 this is the key! */
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 40px;
}

.partenaire-message {
  color: #0017e6;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
  text-align: left;
  flex: 1 1 60%;
}

.partenaire-logos img {
  max-height: 60px;
  object-fit: contain;
}

.footer_top .textwidget, .footer_top a, .footer_top li, .footer_top p, .footer_top span {
    color: #0017e6;
    word-wrap: break-word;
    font-weight: 700;
    font-size: 1.3rem;
}

.footer_top, .footer_top p, .footer_top span:not(.q_social_icon_holder):not(.fa-stack):not(.qode_icon_shortcode):not(.qode_icon_font_elegant):not(.qode-icon-kiko), .footer_top li, .footer_top .textwidget, .footer_top .widget_recent_entries>ul>li>span {
    font-family: 'Chakra Petch', sans-serif !important;
    font-size: 1.4rem;
    line-height: 25px;
    font-weight: 700;
    text-transform: none;
    font-style: normal;
}


@media screen and (max-width: 768px) {
  .partenaire-content {
    flex-direction: column;
    text-align: center;
  }

  .partenaire-message {
    flex: 1 1 100%;
    margin-bottom: 20px;
  }

  .partenaire-logos img {
    max-height: 50px;
  }
}

.footer_top, .footer_top.footer_top_full {
    padding-top: 30px;
    padding-bottom: 113px;
}

.footer_top, .footer_top.footer_top_full {
    padding-top: 30px;
    padding-bottom: 50px;
}


/*************Instagram banner***************/

.insta-feed-container {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #d8e1da;
  padding: 60px 0;
}

.insta-feed-wrapper {
    width: 100%;
   max-width: 100%;
   margin: 0 auto;
   padding: 40px 0;
}

.instagram-banner {
  background-color: #db2347;
  color: white;
  overflow: hidden;
  white-space: nowrap;
  width: 100vw;
  height: 70px;
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: sans-serif;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  z-index: 10;
}

.scrolling-text {
  display: inline-block;
  padding-left: 0; /* plus de retard au départ */
  animation: scroll-left 90s linear infinite;
}


.scrolling-text span {
  display: inline-block;
  margin-right: 60px;
}

.scrolling-text i {
  margin-right: 10px;
  color: white;
}

.scrolling-text::after {
  content: attr(data-text);
  margin-left: 60px;
}


@keyframes scroll-left {
  from {
    transform: translateX(0); /* démarre collé à gauche */
  }
  to {
    transform: translateX(-100%);
  }
}


/* Set relative context */
/* Hide loading and header */
#sbi_load, .sb_instagram_header {
  display: none !important;
}

/*.sbi_photo_wrap .sbi-screenreader {
  position: absolute;
  top: 10px; /* adapte selon design */
  /*left: 10px;
  z-index: 2; /* au-dessus de la déco */
  /*color: white;
  background: rgba(0, 0, 0, 0.5); /* optionnel pour lisibilité */
  /*padding: 4px 6px;
  font-size: 14px;
  border-radius: 3px;
}*/

.sbi_photo_wrap .sbi-screenreader {
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: white;
    padding: 4px 6px;
    font-size: 20px;
    border-radius: 3px;
    text-align: center;
    font-weight: 800;
}



body .sbi_item .sbi-screenreader {
  text-indent: 0 !important;
    display: block !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  overflow: visible !important;

}

#sb_instagram #sbi_images {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    padding: 12px 0;
    grid-template-columns: repeat(3, 1fr); /* Add this here instead of only targeting .sbi_col_3 */
    gap: 12px; /* Optional: for space between images */
}

.sbi_photo {
  position: relative;
}
.sbi_photo::before {
  content: "";
  position: absolute;
  top: 30px;
    left: 20px;
    right: 30px;
    bottom: 20px;
  background-image: url('...');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-3.png');
  z-index: 1; /* behind the text */
}

.sbi_item:nth-child(1) .sbi_photo::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png');
}

.sbi_item:nth-child(2) .sbi_photo::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-2.png');
}

.sbi_item:nth-child(3) .sbi_photo::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-3.png');
}

/*.sbi_item {
  margin: 5px; /* adjust spacing here */
  /*max-width: 340px;
}*/


/*.sbi_item {
  margin: 10px; /* adjust spacing here */
/*}*/


/* Top-level item container */
/*.sbi_item {
  position: relative;
  overflow: hidden;
}

..sbi_photo_wrap {
  position: relative;
  display: block;
  z-index: 0;
}

.sbi_photo_wrap img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 0; /* image en dessous */

/* L'image est dans le flux normal */

/*.sbi_photo_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png);
  background-size: cover;
  background-position: center;
  z-index: 1; /* juste au-dessus de l'image */
  /*pointer-events: none;*/

/* Le texte doit être absolument positionné au-dessus de tout */

/*.sbi_photo_wrap .sbi-screenreader {
  position: absolute;
  top: 10px; /* adapte selon design */
  /*left: 10px;
  z-index: 2; /* au-dessus de la déco */
  /*color: white;
  background: rgba(0, 0, 0, 0.5); /* optionnel pour lisibilité */
  /*padding: 4px 6px;
  font-size: 14px;
  border-radius: 3px;
}

body .sbi_item .sbi-screenreader {
  text-indent: 0 !important;
    display: block !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  overflow: visible !important;

}

/* Decorations per post */
/*.sbi_item:nth-child(1) .sbi_photo_wrap::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png');
}
.sbi_item:nth-child(2) .sbi_photo_wrap::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-2.png');
}
.sbi_item:nth-child(3) .sbi_photo_wrap::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-3.png');
}

/* Caption that should always be on top */
/*.sbi_item .sbi-screenreader {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  color: #0017e6;
  font-weight: 600;
  font-size: 1.2rem;
  padding: 0.5em 1em;
  text-align: center;
  white-space: nowrap;
  z-index: 999; /* higher than decoration and image */
  /*pointer-events: none;
  background: none; /* transparent or use a color */
/*}

/* Wrap for image and decoration */
/*.sbi_photo_wrap {
  position: relative;
  z-index: 0; /* base context */
}
/*}

/* Image */
/*.sbi_photo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

/* Decoration layer */
/*.sbi_photo_wrap::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 2; 
  opacity: 1;
}



/**************Test Instrgam***********/

/*.sbi_photo .sbi-screenreader {
  position: absolute;
  top: 10px; /* adjust as needed */
  /*left: 10px;
  z-index: 5;
  color: white;
  padding: 5px 10px;
  border-radius: 4px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png');
}

/*.sbi_photo:nth-child(1) .sbi-screenreader {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png');
}

.sbi_photo:nth-child(2) .sbi-screenreader {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-2.png');
}

.sbi_photo:nth-child(3) .sbi-screenreader {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-3.png');
}*/

/*.sbi_photo {
  position: relative;
}
.sbi_photo::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/decoration-insta-post-1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1; /* behind the text */
}


/*******Accordeon*********/

/* Remove all native borders and spacing */

.e-n-accordion {
  margin: 0 auto;
  width: 800px;
  padding: 20px;
  box-sizing: border-box;
}

.e-n-accordion-item {
  border: none !important;
  margin-bottom: 30px;
  background: transparent;
  box-shadow: none;
}


.e-n-accordion-item-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  font-size: 1.5rem;
font-weight: 700;
  background: transparent;
  border: none !important;
  box-shadow: none;
  cursor: pointer;
  color: #0017e6;

}

.e-n-accordion-item-title:hover, .e-n-accordion-item-title:hover  {
  color: #0017e6;

}

.e-n-accordion-item-title-text {
display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  font-size: 1.5rem !important;
font-weight: 700 !important;
  background: transparent;
  border: none !important;
  box-shadow: none;
  cursor: pointer;
  font-family: 'Chakra Petch', sans-serif !important;
}

/* Remove Elementor icons */
.e-n-accordion-item-title-icon svg {
  display: none !important;
}

.e-n-accordion-item:nth-child(1) .e-n-accordion-item-title {
  border-top: 10px solid #DC143C !important;
}

.e-n-accordion-item:nth-child(2) .e-n-accordion-item-title {
  border-top: 10px solid #B98C21 !important;
}

.e-n-accordion-item:nth-child(3) .e-n-accordion-item-title {
  border-top: 10px solid #6A1221 !important;
}

/* Reset default icon and insert our custom shape */
.e-n-accordion-item-title-icon::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background: linear-gradient(to bottom right, white 50%, currentColor 50%);
  transform: rotate(45deg);
  transition: transform 0.3s ease, background 0.3s ease;
}

/* CLOSED = arrow pointing down = white top, color bottom */
.e-n-accordion-item:not([open]) .e-n-accordion-item-title-icon::before {
  background: linear-gradient(to top right, white 50%, currentColor 50%);
}

/* OPEN = arrow pointing right = white left, color right */
.e-n-accordion-item[open] .e-n-accordion-item-title-icon::before {
  background: linear-gradient(to bottom right, white 50%, currentColor 50%);
}

/* Section-specific coloring */
.e-n-accordion-item:nth-child(1) .e-n-accordion-item-title-icon::before {
  color: #DC143C;
}
.e-n-accordion-item:nth-child(2) .e-n-accordion-item-title-icon::before {
  color: #B98C21;
}
.e-n-accordion-item:nth-child(3) .e-n-accordion-item-title-icon::before {
  color: #6A1221;
}

/* Closed state — white text */
.e-n-accordion-item .e-n-accordion-item-title-text {
  color: white;
  transition: color 0.3s ease;
}

/* Open state — blue text */
.e-n-accordion-item[open] .e-n-accordion-item-title-text {
  color: #0000FF; /* Or whatever blue you prefer */
}
ox-sizing: border-box;
}

.elementor-element-5770f47 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}


/* Conteneur principal */
.elementor-element-7325994 {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: center !important;
}

/* Inner wrapper */
.elementor-element-7325994 > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.elementor-element:where(.e-con-full,.elementor-widget) {
    justify-content: center !important;
}

.elementor-element-4518f99
{
    padding-top: 40px;
}

.elementor-widget-n-accordion {
  width: 100%;
  display: flex;
  justify-content: center;
}

.e-n-accordion-item-title {
  padding: 0; /* remove padding here */
}

.e-n-accordion-item-title-text {
  padding: 20px 24px; /* only keep padding here */
}




/**********button**********/
/* Base style for all Elementor buttons */
/* BOUTON DIAGONALEMENT STYLÉ */
.elementor-button {
  /*background: linear-gradient(135deg, #0017e6 0%, #00E6D8 100%);*/
  color: #fff !important;
  border: none !important;
  padding: 16px 32px;
  border-radius: 10px;
  font-family: 'Chakra Petch', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: none;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: none;
  z-index: 1;
}

/* TEXTE BLANC PERSISTANT */
.elementor-button .elementor-button-text {
  color: #fff !important;
  position: relative;
  z-index: 2;
  font-weight: 600;
  text-transform: uppercase;
}

/* ON ENLÈVE TOUTE BORDURE NATIVEMENT */
.elementor-button:hover,
.elementor-button:focus,
.elementor-button:active {
  border: none !important;
  outline: none !important;
}

/* EFFET DIAGONALE DE LUMIÈRE AU SURVOL */
.elementor-button::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0.2) 30%,
    transparent 60%
  );
  transform: rotate(25deg);
  opacity: 0;
  transition: all 0.5s ease;
  z-index: 0;
}

.elementor-button:hover::before {
  left: -20%;
  top: -20%;
  opacity: 1;
  transition: all 0.6s ease-in-out;
}

#menu-menu-principale > li::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    /*transform: translateY(-50%) translateX(8px) rotate(45deg);*/
    width: 8px;
    height: 8px;
    background-color: white;
    z-index: 1;
    display: inline-block;
}


/***********Contact Form**************/

/* Container général */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* --------- STRUCTURE GÉNÉRALE --------- */
.wpcf7-form > label {
  display: flex;
  align-items: stretch;
  margin-bottom: 20px;
}

/* --------- LABEL ARRONDI À GAUCHE --------- */
/* --------- STRUCTURE GÉNÉRALE --------- */
.wpcf7-form > label {
  display: flex;
  align-items: stretch;
  margin-bottom: 20px;
}

/* --------- LABEL SVG DÉCORATIF À GAUCHE --------- */
.wpcf7-form > label::before {
  content: attr(data-label); /* ✅ The fix */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 54px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox=\'0 0 226.31 78.24\'><polygon points=\'226.31 0 14.3 0 0 14.3 0 63.92 14.32 78.24 226.28 78.24 226.31 0\' fill=\'%23c92b40\'/></svg>') no-repeat center / contain;
  color: white;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  padding: 0 10px;
  line-height: 1;
  box-sizing: border-box;
  pointer-events: none;

  /* Remove rounded corners (SVG already handles shape) */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  clip-path: none;
}

/* --------- LABEL SVG DÉCORATIF À GAUCHE --------- */
#wpcf7-f16438-p12-o1> label::before {
  content: attr(data-label); /* ✅ The fix */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 54px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox=\'0 0 226.31 78.24\'><polygon points=\'226.31 0 14.3 0 0 14.3 0 63.92 14.32 78.24 226.28 78.24 226.31 0\' fill=\'%7f9072\'/></svg>') no-repeat center / contain;
  color: white;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  padding: 0 10px;
  line-height: 1;
  box-sizing: border-box;
  pointer-events: none;

  /* Remove rounded corners (SVG already handles shape) */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  clip-path: none;
}

/* --------- CHAMPS --------- */
.wpcf7-form-control-wrap {
  flex: 1;
}

.wpcf7-form-control {
  width: 100%;
  padding: 16px;
  font-size: 1rem;
  border: none;
  background: white;
  height: 100%;
  box-sizing: border-box;
  border-radius: 0;
  font-family: 'Chakra Petch', sans-serif;
}

/* Supprime les marges entre label/inputs */
.wpcf7-form > label > span {
  margin: 0;
  padding: 0;
}

.wpcf7-form input.wpcf7-form-control.wpcf7-submit {
  width: 220px;
  height: 78px;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  color: white !important;
  border: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 203.46 78.24'><polygon fill='%23DA143C' fill-rule='evenodd' clip-rule='evenodd' points='199.64,20.22 185.82,9.15 16.66,9.15 2.83,20.23 2.83,58.69 16.68,69.79 185.8,69.79 199.64,58.7'/></svg>") no-repeat center / contain;
  background-color: transparent;
  padding: 0;
  line-height: 78px;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  background-size: cover;
}

.wpcf7-form input.wpcf7-form-control.wpcf7-submit:hover {
    transform: scale(1.05); /* Slight zoom on hover */
}

.wpcf7-textarea {
  height: 200px; /* Ou plus selon ton besoin */
  min-height: 150px;
  width: 100%;
  resize: vertical; /* Permet à l'utilisateur d'agrandir */
  line-height: 1.5;
}


input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover {
    background-color: transparent;
}

.form-submit-wrapper {
  text-align: right;
}

.wpcf7 {
  margin: 40px 0px;
}

input.wpcf7-form-control.wpcf7-date,
input.wpcf7-form-control.wpcf7-number,
input.wpcf7-form-control.wpcf7-quiz,
input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
textarea.wpcf7-form-control.wpcf7-textarea {
  margin: 0px;
}

.elementor-element-5be8b5e {
  margin: 0;
  padding: 0;
}


.wpcf7-form select.wpcf7-form-control.wpcf7-select {
  color: #c92b40; /* style the visible value */
  font-size: 1.2rem;
  font-family: 'Chakra Petch', sans-serif;
  font-weight: bold;
}

/* This applies to dropdown options */
.wpcf7-form select.wpcf7-form-control.wpcf7-select option {
  color: #f5c518; /* yellow */
  background-color: #ffffff; /* optional: white background */
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
}

.wpcf7-form-control {
  font-size: 1.4rem;
  color: #c92b40; /* same red as your label */
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  background-color: white;
  border: none;
  padding: 16px;
}

.wpcf7-form-control,
.wpcf7-form-control:focus {
  color: #c92b40 !important;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  height: 54px;
  font-weight: 800;
}

input.wpcf7-form-control.wpcf7-date, input.wpcf7-form-control.wpcf7-number, input.wpcf7-form-control.wpcf7-quiz, input.wpcf7-form-control.wpcf7-text, select.wpcf7-form-control.wpcf7-select, textarea.wpcf7-form-control.wpcf7-textarea {
    font-weight: 800;
}

/*******Général********/

.title_without_animation .title h1
{
    font-size: 2.5rem;
    text-transform: inherit;
    color: white;
}


h2 {
    text-transform: inherit;
    font-size: 2.1rem;
    line-height: 1.8;
    font-weight: 800;
}

.breadcrumb, .breadcrumb .current, .breadcrumb a {
    color: white
    transition: color 0.3s ease;
}

.breadcrumb
{
    top: 10px;
    position: relative;
}



/*****Logo close to tile******/

/*.custom-title-with-logo {
  display: flex;
  align-items: center; /* 👈 CENTER instead of flex-start */
  /*gap: 20px;
  flex-wrap: nowrap;
}*/

.logo-link {
  display: block;
  max-width: 150px;
  flex-shrink: 0;
}

.logo-link svg {
  width: 100%;
  height: auto;
  display: block;
}

/*.title-text-wrapper {
  display: flex;
  align-items: flex-start;
}*/

.title-text {
  font-size: 2.5rem;
  color: #fff;
  line-height: 1.2;
  margin: 0;
}


/*******Logo svg animtation*******/

.title-logo path {
  transition: fill 0.3s ease;
}

.title-logo:hover .st0 {
  fill: #ff0000;
}

/*.custom-title-with-logo svg {
  max-width: 130px;
  height: auto;
  display: block;
}

.custom-title-with-logo svg {
  width: 130px;
  height: auto;
  display: block;
}



@media (max-width: 768px) {
  .custom-title-with-logo {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}*/


/*******démarches visa**********/

body.page-id-40 {
  --theme-bg: #d8e3de;
  --theme-text: #222;
  --theme-accent: #b1143c;
  background-color: var(--theme-bg);
  color: var(--theme-text);
}


body.page-id-40 .main_menu > ul > li:hover > a > span,
body.page-id-40 .main_menu > ul > li.current-menu-item > a > span {
  color: #b1143c !important; /* accent hover ou actif */
}

/*body.page-id-40 .header_bottom,
body.page-id-40 .header_top,
body.page-id-40 .fixed_top_header .bottom_header {
    background-color: #d8e3de !important;
}*/


/*******Try animation**********/

/* Animate fill on all logo paths */

@keyframes colorBounce {
  0%   { fill: #40DECE; }   /* Mint */
  50%  { fill: #E2D3C5; }   /* Sand */
  100% { fill: #40DECE; }   /* Mint again */
}



/* Default fill colors */
.logo-link svg .st0 { fill: #B1143C; }    /* Original red */
.logo-link svg .st1 { fill: #9E8000; }    /* Original mustard */
.logo-link svg .st2 { fill: #0000FF; }    /* Original blue */
.logo-link svg .st3 { fill: #40DECE; }    /* Original mint */

.logo-link:hover svg .st0 { fill: #DC143C; }  /* Red - Édition / Cinéma */

.logo-link svg .st0 {
  fill: #B1143C; /* original red */
  transition: fill 1s ease-in-out 1s; /* duration + delay */
}

/*.logo-link:hover svg .st1 { fill: #7A1F36; }  /* Dark wine - Traduction / Arts de la scène */
/*.logo-link:hover svg .st2 { fill: #000000; }  /* Black - Cinéma */
.logo-link:hover svg .st3 
{ 
    animation: colorBounce 1s ease-in-out forwards; 
}  /* Beige - Traduction */

/*.logo-link:hover svg .st0 { fill: #7A9170; }  /* Soft green - Développement durable */
/*.logo-link:hover svg .st1 { fill: #E2D3C5; }  /* Beige - Développement durable / Traduction */
/*.logo-link:hover svg .st2 { fill: #FFFFFF; }  /* White - Écritures */
/*.logo-link:hover svg .st3 { fill: #9DB3C6; }  /* Blue-gray - Sciences */

/*.logo-link:hover svg .st0 { fill: #9DB3C6; }  /* Blue-gray - Sciences */
/*.logo-link:hover svg .st1 { fill: #7E7E7E; }  /* Neutral gray - Architecture */
/*.logo-link:hover svg .st2 { fill: #E2D3C5; }  /* Beige - Développement durable */
/*.logo-link:hover svg .st3 { fill: #FFFFFF; }  /* White - Écritures */

/*.logo-link:hover svg .st0 { fill: #FF6F61; }   /* Coral rose – Humanités */
/*.logo-link:hover svg .st1 { fill: #C99700; }   /* Moutarde dorée – Archéologie/Édition */
/*.logo-link:hover svg .st2 { fill: #7A1F36; }   /* Bourgogne – Arts de la scène */
/*.logo-link:hover svg .st3 { fill: #E2D3C5; }   /* Beige sable – Traduction */

/*.logo-link:hover svg .st0 { fill: #9DB3C6; }   /* Bleu grisé – Sciences */
/*.logo-link:hover svg .st1 { fill: #7A9170; }   /* Vert doux – Développement durable */
/*.logo-link:hover svg .st2 { fill: #E2D3C5; }   /* Beige clair – Traduction */
/*.logo-link:hover svg .st3 { fill: #FFFFFF; }   /* Blanc – Écritures */

/*.logo-link:hover svg .st0 { fill: #FF5930; }   /* Orange punchy – Design */
/*.logo-link:hover svg .st1 { fill: #000000; }   /* Noir – Cinéma/Arts de la scène */
/*.logo-link:hover svg .st2 { fill: #C99700; }   /* Jaune ocre – Archéologie */
/*.logo-link:hover svg .st3 { fill: #40E0D0; }   /* Menthe flashy – Design */

/*.logo-link:hover svg .st0 { fill: #FFDACF; }   /* Rose poudré – Humanités */
/*.logo-link:hover svg .st1 { fill: #E2D3C5; }   /* Beige – Traduction */
/*.logo-link:hover svg .st2 { fill: #9DB3C6; }   /* Bleu grisé – Sciences */
/*.logo-link:hover svg .st3 { fill: #FFFFFF; }   /* Blanc – Écritures */




/* Transition animation */
.logo-link svg path,
.logo-link svg rect,
.logo-link svg polygon {
  transition: fill 0.3s ease;
}

.logo-link svg .st0,
.logo-link svg .st1,
.logo-link svg .st2,
.logo-link svg .st3 {
  transition: fill 0.3s ease;
}




/******Accordeon Qode from Bridge**************/

/* GLOBAL CONTAINER */
.q_accordion_holder, .qode-accordion-holder {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* TITRE ACCORDÉON */
.qode-title-holder, .title-holder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: 'Chakra Petch', sans-serif;
  color: white;
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

/* TEXT COLOR OPENED */
.qode-title-holder.ui-state-active .qode-tab-title-inner,
.title-holder.ui-state-active .tab-title {
  color: #0000FF;
}

/* HOVER COLOR */
.qode-title-holder:hover .qode-tab-title-inner,
.title-holder:hover .tab-title {
  color: #0000FF;
}

/* REMOVE DEFAULT MARKERS */
.qode-accordion-mark-icon .icon_plus,
.qode-accordion-mark-icon .icon_minus-06,
.accordion_mark_icon {
  display: none !important;
}

.qode-accordion-mark::before,
.accordion_mark::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background: linear-gradient(to top right, white 50%, #DC143C 50%);
  transform: rotate(45deg);
  transition: transform 0.3s ease, background 0.3s ease;
}

/* OPEN STATE */
.qode-title-holder.ui-state-active .qode-accordion-mark::before,
.title-holder.ui-state-active .accordion_mark::before {
  background: linear-gradient(to bottom right, white 50%, #DC143C 50%);
}

/* SECTION-SPECIFIC COLORS */
/*.qode-accordion-holder .qode-title-holder:nth-child(1),
.q_accordion_holder .title-holder:nth-of-type(1) {
  border-top: 20px solid #DC143C;
}
.qode-accordion-holder .qode-title-holder:nth-child(3),
.q_accordion_holder .title-holder:nth-of-type(3) {
  border-top: 20px solid #B98C21;
}
.qode-accordion-holder .qode-title-holder:nth-child(5),
.q_accordion_holder .title-holder:nth-of-type(5) {
  border-top: 20px solid #6A1221;
}*/

/* ACCORDION CONTENT */
.qode-accordion-content, .accordion_content {
  background: transparent;
  padding: 20px 24px;
  color: #333;
}


.q_accordion_holder.accordion .ui-accordion-header.ui-state-active .accordion_mark {
    background-color:transparent;
}

.qode-accordion-holder .qode-title-holder:after {
  background: transparent !important;
  box-shadow: none !important;
}


/*#intro-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #c6b08d;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(0);
  opacity: 1;
  transition: transform 1.5s ease, opacity 1.5s ease;
}

#intro-loader.fade-out {
  transform: translateX(100%); /* ou -100% pour glisser vers la gauche */
  /*opacity: 0;
}

.logo-wrapper svg,
.logo-wrapper img {
  width: 60vw;
  max-width: none;
  height: auto;
  opacity: 0;
  animation: simpleFadeIn 2.5s ease forwards;
}


@keyframes simpleFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}*/


body.page-transition {
  opacity: 0;
  transform: translateX(50px); /* or -50px for opposite direction */
  transition: opacity 0.8s ease, transform 0.8s ease;
}

body.page-transition-loaded {
  opacity: 1;
  transform: translateX(0);
}


header {
    z-index: 999999;
}


/*.home .content_inner {
    margin-top: 30px;
    z-index: 99999;
}*/

a.qbutton.default {
    height: auto;
    line-height: 1.85em;
    padding: 0px 12px;
    border: 0px;
    font-size: 30px;
    border-radius: 10px;
    margin: 0px;
}

.qbutton:hover
{
    background-color: transparent;
}

.border-frame {
  position: relative;
  display: inline-block;
  padding: 0; /* important */
  background: none;
}

/*.qbutton {
  border: 40px solid transparent;
  border-image-source: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/button.svg');
  border-image-slice: 80 fill;
  border-image-width: 40px;
  border-image-repeat: stretch;
  background-color: transparent;
  color: white;
  font-weight: bold;
  font-size: 1rem;
  padding: 0.5em 1.2em;
}*/


/*.qbutton {
  position: relative;
  z-index: 1;
  background-color: #fcdede;
  color: #0000FF;
  font-weight: bold;
  font-size: 1rem;
  border: none;
  padding: 0.6em 1.2em;
  border-radius: 16px;
  font-family: inherit;
  transition: all 0.3s ease;
  overflow: hidden;
}

/* ::before = border on hover */
/*.qbutton::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/border-hover.png') center / cover no-repeat;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: 16px;
}

.qbutton:hover::before {
  opacity: 1;
}*/
/* ✅ WRAPPER: flex container centered */
.wrapper-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem; /* spacing between buttons */
  padding: 2rem;
  text-align: center;
}

/* ✅ BUTTON CONTAINER: required if needed, else optional */
/*.button-container {
  display: flex;
  justify-content: center;
  align-items: center;
}*/

/* ✅ BASE BUTTON STYLE */
.qbutton,
a.qbutton.default {
  color: #0000FF;
  background-color: #fde2de;
  border: none;
  padding: 1.5rem 3rem;
  clip-path: polygon(
    20px 0%, calc(100% - 20px) 0%, 100% 20px,
    100% calc(100% - 20px), calc(100% - 20px) 100%,
    20px 100%, 0% calc(100% - 20px), 0% 20px
  );
  text-align: center;
  cursor: pointer !important;
  transition: all 0.3s ease;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid transparent;
}

/* ✅ HOVER EFFECT */
.qbutton:hover {
  background-color: #fff0f0;
  color: #0000cc;
  border-image-source: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/btn-zadig-border.png');
  border-image-slice: 30;
  border-image-width: 16px;
  border-image-repeat: stretch;
  border-image-outset: 0;
    background-color: #fff0f0;
  color: #0000cc;
  border-image-width: 16px;
}


/* ✅ RESPONSIVE for MOBILE */
@media (max-width: 768px) {
  .qbutton {
    font-size: 1.2rem;
    padding: 7px 17px;
    border-width: 8px;
  }

  .qbutton:hover {
    border-image-slice: 20;
    border-image-width: 8px;
  }
}



/*****Parrallax try*********/

/*.qodef-m-images {
  position: relative;
  overflow: hidden; /* optional: clips overflow during scroll */
/*}

/*.qodef-e-parallax-image {
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2;
  pointer-events: none; /* optional: prevents them from blocking clicks */
/*}*/

/* Element 1 – Top left */
/*.elementor-15618 .elementor-element.elementor-element-855b2b1 .elementor-repeater-item-b42d00e.qodef-position--top-left {
    top: 45% !important;
    left: 25%;
    transform: translate(-50%, -50%);
}

/* Element 2 – Bottom left */
/*.elementor-15618 .elementor-element.elementor-element-855b2b1 .elementor-repeater-item-b7e89be.qodef-position--bottom-left {
    bottom: auto;  /* override default if needed */
    /*top: 70% !important;
    left: 20%;
    transform: translate(-50%, -50%);
}

/* Element 3 – Center */
/*.elementor-15618 .elementor-element.elementor-element-855b2b1 .elementor-repeater-item-8f3f969.qodef-position--bottom-left {
    top: 95% !important;
    left: 50%;
    transform: translate(-50%, -50%);
}


/*.qodef-e-parallax-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important; /* override Elementor's inline style */
  /*will-change: transform;
  transition: transform 0.05s linear;
  pointer-events: none;
  z-index: 5;
}*/


/* Optionally: specific images if you want to tweak size or z-index */
.elementor-repeater-item-b42d00e img,
.elementor-repeater-item-b7e89be img,
.elementor-repeater-item-8f3f969 img {
  max-width: 300px;
}


.elementor-element.elementor-element-432321a
{
    padding: 0;
    margin: 0;
}

.elementor-button-text
{
    font-weight: 700;
}


/*button:hover {
    border: none;
}*/


/*************Raindroio io *******************/
.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Desktop: 3 columns */
    gap: 20px;
  }

  @media (max-width: 1024px) {
    .grid {
      grid-template-columns: repeat(2, 1fr); /* Tablet: 2 columns */
    }
  }

  @media (max-width: 600px) {
    .grid {
      grid-template-columns: 1fr; /* Mobile: full width */
      gap: 16px;
    }

    .item {
      max-width: 100%;
    }
  }


.overlay {
  position: relative;
  top: 50px;
  left: 50px;
  right: 50px;
  bottom: 50px; /* or per item */
  color: white;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  border-radius: 4px; /* optional */
  max-width: 100%;
  box-sizing: border-box;
}

.item:hover .overlay {
  opacity: 1;
  cursor: pointer;
  border-radius: 20px;
}

.item .tag {
  position: absolute;
  top: -3px;        /* align to the top of the block */
  left: 0;
  right: 0;
  height: 35px;   /* or the actual height of your top border image */
  display: flex;
  align-items: center;   /* vertical centering */
  justify-content: center; /* horizontal centering */
  font-size: 1em;
  font-weight: bold;
  color: white;
  z-index: 3;
  background: transparent;
  pointer-events: none;  /* if you want clicks to go through */
  text-align: center;
  white-space: nowrap;
}

/* Date placement (top-left and top-right) */
.overlay .dates {
  display: flex;
  justify-content: space-between;
  font-size: 0.8em;
  font-weight: bold;
  width: 100%;
}

.overlay .date {
  text-align: left;
}

.overlay .title {
  bottom: 20px; /* ajuste selon le padding général */
  left: 5px;
  right: 20px;
  font-size: 1.1em;
  line-height: 1.3em;
  text-align: left;
  white-space: normal;     /* permet les retours à la ligne */
  word-wrap: break-word;   /* force le retour à la ligne si un mot est trop long */
  overflow-wrap: break-word;
}

/* base */
.raindrop-grid .item{
  --thick:30px;               /* fixed frame thickness */
  position:relative;
}

.raindrop-grid .item::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;  /* frame above the image */
  background:
    /* LEFT side — mirror of RIGHT (matches ribbon-left) */
    linear-gradient(-45deg,  var(--corner) 50%, transparent 0) left   top    / var(--thick) var(--thick) no-repeat,
    linear-gradient(-135deg, var(--corner) 50%, transparent 0) left   bottom / var(--thick) var(--thick) no-repeat,

    /* RIGHT side triangles (same as RIGHT ribbon in your square) */
    linear-gradient(45deg,  var(--corner) 50%, transparent 0)  right  top    / var(--thick) var(--thick) no-repeat,
    linear-gradient(135deg, var(--corner) 50%, transparent 0)  right  bottom / var(--thick) var(--thick) no-repeat,

    /* full green bars (top/bottom/left/right) */
    linear-gradient(var(--frame), var(--frame)) top    / 100%       var(--thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) bottom / 100%       var(--thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) left   / var(--thick) 100%      no-repeat,
    linear-gradient(var(--frame), var(--frame)) right  / var(--thick) 100%      no-repeat;
}


.raindrop-grid .item img{
  position:relative;
  z-index:0; /* below ::before */
  display:block;
  width:100%;
  height:auto;
}

/* content on top of frame */
.raindrop-grid .item .overlay{ z-index:2; position:absolute; inset: var(--thick); }
.raindrop-grid .item .tag{ z-index:3; }

/* remove this rule if present (it was pushing all children above the frame)
.raindrop-grid .item > * { position: relative; z-index: 1; }
*/

/* color variants — set vars on the ITEM (not only on ::before) */
/*
.raindrop-grid .item.design{    --frame:#FE5930; --corner:#40e0D0; }
.raindrop-grid .item.archeo{    --frame:#D4B483; --corner:#C99700; }
.raindrop-grid .item.numerique{ --frame:#9809BA; --corner:#0000FF; }
.raindrop-grid .item.sciences{ --frame:#9DB3C6; --corner:#ffffff; }
.raindrop-grid .item.editions{ --frame:#DC143C; --corner:#C99700; }
.raindrop-grid .item.sante{ --frame:#2e5961; --corner:#FFDACF; }
.raindrop-grid .item.scene{ --frame:#7A1F36; --corner:#000000; }
.raindrop-grid .item.cinema{ --frame:#000000; --corner:#DC143C; }
.raindrop-grid .item.durable{ --frame:#7A9170; --corner:#dfd2c6; }
.raindrop-grid .item.ecritures{ --frame:#ffffff; --corner:#9DB3C6; }
.raindrop-grid .item.musique{ --frame:#33cccc; --corner:#9809BA; }
.raindrop-grid .item.archi{ --frame:#7E7E7E; --corner:#9DB3C6; }
.raindrop-grid .item.humanites{ --frame:#FF6F61; --corner:#FFDACF; }
.raindrop-grid .item.traduction{ --frame:#e2D3C5; --corner:#7A1F36; }
.raindrop-grid .item.francais{ --frame:#002366; --corner:#DC143C; }
.raindrop-grid .item.visuels{ --frame:#0000FF; --corner:#FE5930; }
.raindrop-grid .item.pluri{ --frame:#C99700; --corner:#caefeb; }
*/
.raindrop-grid .item.design, .appel.appel-design { --frame:#FE5930; --corner:#40e0D0; }
.raindrop-grid .item.archeo, .appel.appel-archeo { --frame:#D4B483; --corner:#C99700; }
.raindrop-grid .item.numerique, .appel.appel-numerique { --frame:#9809BA; --corner:#0000FF; }
.raindrop-grid .item.sciences, .appel.appel-sciences { --frame:#9DB3C6; --corner:#ffffff; }
.raindrop-grid .item.editions, .appel.appel-editions { --frame:#DC143C; --corner:#C99700; }
.raindrop-grid .item.sante, .appel.appel-sante { --frame:#2e5961; --corner:#FFDACF; }
.raindrop-grid .item.scene, .appel.appel-scene { --frame:#7A1F36; --corner:#000000; }
.raindrop-grid .item.cinema, .appel.appel-cinema { --frame:#000000; --corner:#DC143C; }
.raindrop-grid .item.durable, .appel.appel-durable { --frame:#7A9170; --corner:#dfd2c6; }
.raindrop-grid .item.ecritures, .appel.appel-ecritures { --frame:#ffffff; --corner:#9DB3C6; }
.raindrop-grid .item.musique, .appel.appel-musique { --frame:#33cccc; --corner:#9809BA; }
.raindrop-grid .item.archi, .appel.appel-archi { --frame:#7E7E7E; --corner:#9DB3C6; }
.raindrop-grid .item.humanites, .appel.appel-humanites { --frame:#FF6F61; --corner:#FFDACF; }
.raindrop-grid .item.traduction, .appel.appel-traduction { --frame:#e2D3C5; --corner:#7A1F36; }
.raindrop-grid .item.francais, .appel.appel-francais { --frame:#002366; --corner:#DC143C; }
.raindrop-grid .item.visuels, .appel.appel-visuels { --frame:#0000FF; --corner:#FE5930; }
.raindrop-grid .item.pluri, .appel.appel-pluri { --frame:#C99700; --corner:#caefeb; }


/* Category color variants */


/* Example: design */
.raindrop-grid .item.numerique::before {
  --frame:  yellow; /* teal */
  --corner: blue; /* rose */
}

/* Each specific border style */

/*.numerique::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/numeriques.png');
}*/

.overlay-numerique
{
  background-color: #0000e6;
}

/*.archeo::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/archeologie.png');
}*/

.overlay-archeo
{
  background-color: #c79500;
}

/*.sciences::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/sciences.png');
}*/

.overlay-sciences
{
  background-color: #ffffff;
  color: black !important;
}


/*.editions::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/edition.png');
}*/

.overlay-editions
{
  background-color: #d2b281;
  color: white;
}

/*.sante::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/sante.png');
}*/

.overlay-sante
{
  background-color: #ffd8cd;
  color: black !important;
}

/*****manquant*******/

/*.scene::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/sciences.png');
}*/

.overlay-scene
{
  background-color: #000000;
  color: white;
}
/*****manquant*******/


/*.cinema::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/cinema.png');
}*/

.overlay-cinema
{
  background-color: #b1143c;
}


/*.pluri::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/pluridiscinplinaire.png');
}

.durable::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/dev-durable.png');
}*/

.overlay-durable
{
  background-color: #e2d3c5;
  color: black !important;
}

/*.design::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/design.png');
}*/

.overlay-design
{
  background-color: #40dece;
}


/*.ecritures::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/ecritures.png');
}*/

.overlay-ecritures
{
  background-color: #9db3c6;
  color: black;
}


/*.musique::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/musique.png');
}*/

.overlay-musique
{
  background-color: #9809ba;
}

/*.archi::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/architecture.png');
}*/

.overlay-archi
{
  background-color: #9db3c6;
  color: black;
}

/*.humanites::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/humanites.png');
}*/

.overlay-humanites
{
  background-color: #ffd8cd;
  color: black !important;
}

/*.traduction::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/traduction.png');
}*/

.overlay-traduction
{
  background-color: #7a1f36;
  color: white;
}

/*.francais::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/langue-francaise.png');
}*/

.overlay-francais
{
  background-color: #da143c;
  color: white;
}


/*.visuels::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/arts-scene.png');
}*/

.overlay-visuels
{
  background-color: #FE5930;
  color: white;
}



/*.cinema::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_1.png');
}

.archi::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_2.png');
}

.francais::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_3.png');
}

.archeo::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_4.png');
}

.durable::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_5.png');
}

.design::before {
  background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/bordure_6.png');
}*/


/*.discipline-tag.active {
  background-color: #333;
  color: white;
  border-radius: 20px;
}*/


#no-results {
  display: none;
  position: relative;
  padding: 60px 30px;
  text-align: center;
  border-radius: 16px;
  /*background: linear-gradient(to right, #f9f9f9, #f9f9f9);*/
  background-color: #ece4d6;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  color: #444;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  transition: all 0.3s ease;
}

#no-results .icon {
  font-size: 48px;
  margin-bottom: 20px;
  color: #bbb;
}

#no-results p {
  font-size: 1.3em;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1.6;
  color: #0000ff;
}

#reset-filters {
  /*padding: 12px 24px;
  font-weight: bold;
  font-size: 0.95em;
  color: white;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;*/
    background-color: #f3d6cf;
    color: #0000ff;
    padding: 0px 15px;
    font-size: 1.5rem;
    font-weight: bold;
    border: none;
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0% calc(100% - 10px), 0% 10px);
    text-align: center;
    z-index: 2;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    transition: transform 0.3s ease, box-shadow 0.3s ease, scale 0.3s ease;
    cursor: pointer;
}

#reset-filters:hover {
  /*transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(49, 200, 162, 0.2);*/
  background-color: #f3d6cf;
    color: #0000ff;
}


/*******Test button***********/
/*.custom-button-tag {
  display: inline-block;
  font-size: 16px;
  padding: 10px 20px;
  text-align: center;
  background-color: #d2b281;
  color: #0000f4;
  font-family: 'Chakra Petch', sans-serif;
  font-weight: 600;
  text-transform: inherit;
  border: none;
  border-radius: 10px;
  letter-spacing: -0.2px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}

.custom-button-tag:hover {
  background-color: #0000f4;
  color: #fcdfda;
}

.custom-button-tag.active {
  background-color: #0000f4;
  color: d2b281;
}*/


.custom-button-tag {
    background-color: #d2b281;
    color: #0000ff;
    padding: 0px 15px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0% calc(100% - 10px), 0% 10px);
    text-align: center;
    z-index: 2;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    transition: transform 0.3s ease, box-shadow 0.3s ease, scale 0.3s ease;
    cursor: pointer;
}

.custom-button-tag:hover {
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0% calc(100% - 10px), 0% 10px);
  background-color: #0000ff;
  color: #f3d6cf;
}

.custom-button-tag.active {
  background-color: #0000ff;
  color: white;
}

.choices-button-wrapper
{
    margin-bottom: 20px;
}


/*.choices-button-wrapper {
    display: inline-block;
}*/

.choices-button-wrapper:hover {
    animation: jump-and-return 0.6s ease-out;
}

@keyframes jump-and-return {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(-6px); }
    60%  { transform: translateY(0); }
    100% { transform: translateY(0); }
}


/*********Fin raindrop.Io***************/


.elementor-widget-image img {
    display: inline-block;
    vertical-align: middle;
    margin-top: 50px;
}


/*******Homepage**********/


/*.page-id-15985 .content_inner .title, .page-id-16457 .content_inner .title
{
    height: 350px;
    display: none;
    margin-top: 100px;
}

.page-id-15985 .page_container_inner,
.page-id-15985 .container_inner.default_template_holder,
.page-id-16457 .page_container_inner,
.page-id-16457 .container_inner.default_template_holder,
 {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.page-id-15985  .vc_parallax-content-moving, .page-id-16457  .vc_parallax-content-moving
{
    min-height: 450px;
}

.page-id-15985  .interactive-path h2, .page-id-16457  .interactive-path h2 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 2rem;
    color: white;
}*/

/*********Actuel Bouton tags***********/

.btn-zadig {
  font-family: 'Arial Black', sans-serif;
  font-size: 1.8rem;
  color: #0000FF;
  background-color: #fde2de;
  border: none;
  padding: 0.8rem 1.3rem;
  position: relative;
  clip-path: polygon(
    20px 0%, calc(100% - 20px) 0%, 100% 20px,
    100% calc(100% - 20px), calc(100% - 20px) 100%,
    20px 100%, 0% calc(100% - 20px), 0% 20px
  );
  cursor: pointer;
  transition: all 0.3s ease;
  overflow: hidden;
  margin: 10px;
  transform: scale(1);
  box-shadow: 0 0 0 transparent;
  text-transform: inherit;
}


.btn-zadig::before {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  background: radial-gradient(circle at center, rgba(255,255,255,0.4) 0%, transparent 70%);
  transform: rotate(25deg);
  transition: all 0.6s ease;
  opacity: 0;
  pointer-events: none;
}

.btn-zadig:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  background-color: #fff0f0;
  color: #0000cc;
  border-image-source: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/btn-zadig-border.png');
  border-image-slice: 30;
  border-image-width: 16px;
  border-image-repeat: stretch;
  border-image-outset: 0;
}

.btn-zadig:hover::before {
  top: 0;
  left: 0;
  opacity: 1;
}



/*******new buttton tags*******/


/*.button-zadig-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 1.2rem; /* vertical spacing between rows */
/*}

.button-zadig-wrapper
{
    max-width: 1000px;
    margin: auto;
    margin-bottom: 30px;
}


.button-zadig-container {
    display: flex;
    align-items: stretch;
    position: relative;
    width: fit-content;
    z-index: 2;
}

.button-zadig-container::before,
.button-zadig-container::after {
    content: '';
    display: block;
    width: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

.button-zadig-container::before {
    background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/btn-zadig-left.jpg');
}

.button-zadig-container::after {
    background-image: url('https://dgtl-staging.fr/wp-content/uploads/2025/04/btn-zadig-right.jpg');
}

.button-zadig-container:hover::before,
.button-zadig-container:hover::after {
    opacity: 1;
}

.button-zadig-container .button-cut-corners {
    background-color: #f3d6cf;
    color: #0000ff;
    padding: 0px 10px;
    font-size: 22px;
    font-weight: bold;
    border: none;
    clip-path: polygon(
        10px 0%, calc(100% - 10px) 0%, 
        100% 10px, 100% calc(100% - 10px), 
        calc(100% - 10px) 100%, 10px 100%, 
        0% calc(100% - 10px), 0% 10px
    );
    text-align: center;
    z-index: 2;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    transition: transform 0.3s ease, box-shadow 0.3s ease, scale 0.3s ease;
    cursor: pointer;
}

.button-zadig-container .button-cut-corners:hover {
    border-top-color: #7a1f36;
    border-bottom-color: #da143c;
    clip-path: inset(0%);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: scale(1.03);
}*/



/*****New test******/
/*.button-zadig-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 1.2rem;
  column-gap: 16px; /* 👈 ajoute ceci */
  /*max-width: 1000px;
  margin: auto;
  margin-bottom: 30px;
}

.button-zadig-container {
  position: relative;
  display: inline-flex;
  z-index: 2;
}

/* Triangles décoratifs au survol */
/*.button-zadig-container::before,
.button-zadig-container::after {
  content: '';
  position: absolute;
  top: 0;
  width: 20px;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  background-size: 24px 50%;
  background-repeat: no-repeat;
  z-index: 3;
}

.button-zadig-container::before {
  left: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolygon fill='%23003DA5' points='0,0 20,0 0,20'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolygon fill='%23ff5722' points='0,0 20,20 0,20'/%3E%3C/svg%3E");
  background-position: top, bottom;
}

.button-zadig-container::after {
  right: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolygon fill='%237a1f36' points='0,0 20,0 20,20'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolygon fill='%2300d5c2' points='0,20 20,0 20,20'/%3E%3C/svg%3E");
  background-position: top, bottom;
}

.button-zadig-container:hover::before,
.button-zadig-container:hover::after {
  opacity: 1;
}

/* Bouton central */
/*.button-cut-corners {
  background-color: #f3d6cf;
  color: #0000ff;
  padding: 16px;
  font-size: 22px;
  font-weight: bold;
  border: none;
  cursor: pointer;
  text-align: center;
  clip-path: polygon(
    10px 0%, calc(100% - 10px) 0%, 
    100% 10px, 100% calc(100% - 10px), 
    calc(100% - 10px) 100%, 10px 100%, 
    0% calc(100% - 10px), 0% 10px
  );
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 2;
}

.button-cut-corners:hover {
  clip-path: inset(0%);
  transform: scale(1.03);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}*/

.button-zadig-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 50px;
padding: 0px 100px
}

@media (max-width: 792px) {
    .button-zadig-wrapper {
        margin-top: 30px;
        margin-bottom: 10px;
    }
}

.button-zadig-container {
  position: relative;
  display: inline-flex;
  text-align: center;
}

.button-cut-corners {
  position: relative;
  z-index: 2;
  background-color: #f3d6cf;
  color: #0000ff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 15px;
  text-align: center;
  border: none;
  cursor: pointer;
  clip-path: polygon(
    10px 0%, calc(100% - 10px) 0%,
    100% 10px, 100% calc(100% - 10px),
    calc(100% - 10px) 100%, 10px 100%,
    0% calc(100% - 10px), 0% 10px
  );
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  text-decoration: none !important;
}

.button-cut-corners:hover {
  transform: scale(1.03);
  clip-path: inset(0%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.button-cut-corners::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;

  background:
    /* Triangles (dessinés en dernier pour apparaître au-dessus) */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon fill='%23003DA5' points='0,0 32,0 0,32'/%3E%3Cpolygon fill='%2300d5c2' points='32,0 32,32 0,32'/%3E%3C/svg%3E") top left no-repeat,
    
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon fill='%23003DA5' points='32,0 0,0 32,32'/%3E%3Cpolygon fill='%2300d5c2' points='0,0 0,32 32,32'/%3E%3C/svg%3E") top right no-repeat,
    
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon fill='%23003DA5' points='0,32 32,32 0,0'/%3E%3Cpolygon fill='%2300d5c2' points='32,32 32,0 0,0'/%3E%3C/svg%3E") bottom left no-repeat,
    
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon fill='%23003DA5' points='32,32 0,32 32,0'/%3E%3Cpolygon fill='%2300d5c2' points='0,32 0,0 32,0'/%3E%3C/svg%3E") bottom right no-repeat,

    /* Bordures */
    linear-gradient(to top, #da143c 10px, transparent 10px) bottom center no-repeat,
    linear-gradient(to bottom, #7a1f36 10px, transparent 10px) top center no-repeat,
    linear-gradient(to right, #ff5722 10px, transparent 10px) left center no-repeat,
    linear-gradient(to left,  #ff5722 10px, transparent 10px) right center no-repeat;

  background-size:
    10px 10px, 10px 10px, 10px 10px, 10px 10px, /* triangles réduits */
    100% 10px, 100% 10px, 10px 100%, 10px 100%;  /* bordures */
}

.button-cut-corners:hover::before {
  opacity: 1;
}

.button-cut-corners::after {
  display: none; /* plus utilisé */
}


@media (max-width: 768px) {
  .button-zadig-wrapper {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth scroll iOS */
    gap: 16px;
    justify-content: flex-start;
    padding: 16px;
    scroll-snap-type: x mandatory;
  }

  .button-zadig-container {
    flex: 0 0 auto;
    scroll-snap-align: start;
    margin-top: 30px;
  }
}

.button-cut-corners {
  border-radius: 8px;
  padding: 12px 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.button-cut-corners:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}


/*@media (max-width: 768px) {
  .button-zadig-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* centre visuellement les rangées */
    /*gap: 16px;
    padding: 16px;

    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .button-zadig-container {
    flex: 0 0 auto; /* ne pas étirer, ne pas rétrécir */
    /*display: flex;
    justify-content: center; /* centre le lien à l’intérieur */
  /*}
}*/


/*********Bouton tags***********/

.section-tags
{
  text-align: center;
  max-width: 1200px;
  margin: auto;
  margin-top: 40px;
  margin-bottom: 100px;
}



/*******Formulaire Zadig**********/

    .interactive-path {
  padding: 4rem 2rem;
  text-align: center;
  color: white;
}

.interactive-path h2 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.dropdowns {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
  cursor: pointer;
}

.dropdown-fake {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  /*box-shadow: 0 2px 8px rgba(0,0,0,0.1);*/
  border-radius: 0;
  overflow: hidden;
}

.dropdown-fake img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

/* Garde la barre au moins à 50px, mais elle peut grandir si 2 lignes */
.dropdown-fake span{
  display: flex;
  align-items: center;          /* centre verticalement */
  justify-content: center;      /* centre horizontalement */
  min-height: 50px;             /* taille mini (au lieu de height) */
  padding: 6px 10px;            /* un peu d’air autour du texte */
  line-height: 1.25;            /* multi-lignes OK */
  font-size: clamp(12px, 1.5vw, 16px);  /* réduit un peu si très long */
  text-align: center;
  white-space: normal;
  word-break: break-word;
  width: 100%;
  background: #0000ff;
  color: #fff;
  font-weight: bold;
  border-radius: 0;
  margin-top: -2px;             /* remets-le si tu veux coller au SVG */
  overflow: hidden;             /* coupe proprement si >2 lignes */
}

/* Option mobile : un poil plus compact */
@media (max-width: 480px){
  .dropdown-fake span{
    min-height: 46px;
    padding: 4px 8px;
    font-size: clamp(12px, 3.8vw, 15px);
  }
}

.dropdown-fake span {
    font-size: 1.2rem;
    line-height: 20px;
}

.hidden-select {
  position: absolute;
  left: -9999px;
}


.dropdown-fake-wrapper {
  position: relative;
  width: 100%;
  max-width: 300px;
  margin: 0 1rem;
}


@media (max-width: 480px) {
  .dropdown-fake-wrapper {
    margin: 0 0.5rem;
  }
}

/* Style de base pour les numéros d'étape */
.step-number {
  display: inline-block;
  width: 2em;               /* Largeur du cercle (exemple) */
  height: 2em;              /* Hauteur du cercle (exemple) */
  line-height: 2em;         /* Hauteur de ligne pour centrer le texte */
  text-align: center;       /* Centrer le numéro à l'intérieur */
  border-radius: 50%;       /* Forme circulaire */
  font-weight: bold;
  font-size: 1rem;
  background: transparent;            /* Par défaut : transparent (en attente) */
  border: 2px solid #fff;            /* Contour blanc pour l'attente */
  color: #fff;                       /* Texte blanc par défaut */
}

/* Étape active (courante) */
.step-number.active {
  background: #fff;                  /* Fond blanc */
  border: 2px solid #db2347;        /* Optionnel : bordure rose pour contraste */
  color: #db2347;               /* Numéro en rose (visible sur fond blanc) */
}

/* Étape remplie (complétée) */
.step-number.completed {
  background: #db2347;               /* Fond rose (#e54b69) */
  border: 2px solid #db2347;      /* Fond couvrant le contour (on peut garder la même couleur) */
  color: #fff;                       /* Numéro en blanc (sur fond rose) */
}

/* Étape en attente */
.step-number.waiting {
  /* (Facultatif si on utilise le style par défaut .step-number)
     Fond transparent, contour blanc et texte blanc déjà définis ci-dessus */
}


.progress-bar-container {
  position: relative;
  width: 100%;
  max-width: 540px;
  height: 10px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  margin: 3rem auto 3rem;
  /*overflow: hidden;*/
}

/* Fill of the progress bar */
.progress-bar-fill {
  height: 100%;
  width: 0%;
  background-color: #db2347;
  transition: width 0.4s ease;
  border-radius: inherit;
}

/* Step circles container above progress bar */
.progress-steps {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 2;
}

/* Step circle styling */
.step-circle {
  width: 38px;
  height: 38px;
  background-color: #ccb288;
  border: 3px solid white;
  color: white;
  font-weight: bold;
  font-size: 1.1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);

  /* 👇 Ajoute ces deux lignes */
  line-height: 1;
  font-family: 'Segoe UI', sans-serif;
  cursor: pointer;
  pointer-events: auto; /* ✅ This re-enables clicks */
}

/* Étape active */
.step-circle.active {
  background-color: white;
  color: #db2347;
  border-color: #db2347;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.3);
}

/* Étape complétée */
.step-circle.completed {
  background-color: #db2347;
  border-color: #db2347;
  color: white;
}

.step-circle {
  opacity: 0;
  transform: scale(0.9);
  animation: fadeIn 0.5s ease forwards;
  cursor: pointer;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.search_btn {
  padding: 1rem 2.5rem;
  background-color: #db2347;
  color: white;
  border: none;
  border-radius: 40px;
  font-size: 1.2rem;
  font-weight: bold;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  position: relative;
  z-index: 10;
}

.search_btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.search_btn:active {
  transform: translateY(1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

@keyframes halo-loop {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
  }
  100% {
    box-shadow: 0 0 0 25px rgba(255, 255, 255, 0);
  }
}

@keyframes bounce-once {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.1); }
  50%  { transform: scale(0.95); }
  70%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.halo-loop {
  animation: halo-loop 2s ease-in-out infinite;
}

.bounce-hint {
  animation: bounce-once 0.6s ease;
}


.search_btn
{
  padding: 20px 40px; 
  background-color: white
  color: white; 
  border: none; 
  border-radius: 5px; 
  font-weight: bold; 
  cursor: pointer;
}

.selected-text {
  color: white;
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  min-height: 1.2em; /* avoid jump on first render */
  background-color: #db2347;
  padding: 20px;
}

.slider-container {
  width: 100%;
  overflow: hidden;
  max-width: 100%;
}

.slider {
  display: flex;
  flex-wrap: wrap; /* allow wrapping on small screens */
  justify-content: center;
  width: 100%;
}

.slide {
  flex: 1 1 300px; /* grow and shrink, with a min width */
  flex: 1 1 250px; /* grow and shrink, with a min width */
  max-width: 33.3333%; /* default: 3 per row */
  max-width: 30%; /* default: 3 per row */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.3s ease;
}

/* Tablet (2 per row) */
@media (max-width: 900px) {
  .slide {
    max-width: 50%;
  }
}

/* Mobile (1 per row) */
@media (max-width: 600px) {
  .slide {
    max-width: 100%;
  }
}


.dropdown-fake-wrapper.disabled {
  opacity: 0.6;
  pointer-events: none; /* Prevent interaction */
  position: relative;
}

/* Optional: Add a "not allowed" cursor */
.dropdown-fake-wrapper.disabled .dropdown-fake,
.dropdown-fake-wrapper.disabled select,
.dropdown-fake-wrapper.disabled span {
  cursor: not-allowed;
}

/* Optional: Overlay a subtle lock or message */
/*.dropdown-fake-wrapper.disabled::after {
  content: "Non disponible";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0,0,0,0.6);
  color: white;
  font-size: 0.85rem;
  padding: 0.4em 1em;
  border-radius: 4px;
  pointer-events: none;
}*/





.choices__list--dropdown .choices__item--choice {
  background: #ffe8ec;
  color: #d3365c;
  padding: 12px 16px;
  font-weight: bold;
  border-bottom: 1px solid #f3cdd6;
  transition: background 0.2s ease;
}

.choices__list--dropdown .choices__item--choice:hover {
  background: #fdd1dc;
  color: #b12548;
  cursor: pointer;
}

.fake-options-menu {
  position: absolute;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin-top: 8px;
  padding: 0;
  list-style: none;
  overflow: hidden;
  z-index: 999;
  width: 100%;
  max-width: 220px;
}

.fake-options-menu li {
  padding: 12px 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s ease;
}

.fake-options-menu li:hover {
  background: #db2347;
  color: white;
}

/* Example per-option color */
.fake-options-menu li[data-color="rose"] { background-color: #f8d7da; }
.fake-options-menu li[data-color="green"] { background-color: #d4edda; }
.fake-options-menu li[data-color="blue"] { background-color: #d1ecf1; }


.step-number
{
  visibility: hidden;
}


.select-overlay {
  all: unset;               /* reset all inherited styles */
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 2;
  pointer-events: auto;
  background-color: blue;
}



/*******For the modal**********/
.custom-modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal-content {
  background: white;
  border-radius: 20px;
  padding: 2rem 2.5rem;
  max-width: 600px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3);
  text-align: center;
  font-size: 1.15rem;
  color: #333;
  position: relative;
  animation: popIn 0.3s ease-out;
}

.modal-title {
  color: #db2347;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.3rem;
}

.modal-content p {
  margin: 0;
  font-weight: normal;
  line-height: 1.5;
}

.modal-close {
  position: absolute;
  top: 1rem; right: 1rem;
  cursor: pointer;
  font-size: 1.6rem;
  color: #999;
  transition: color 0.2s ease;
}

.modal-close:hover {
  color: #db2347;
}

.hidden {
  display: none;
}

@keyframes popIn {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/*.slider-container .slide:nth-child(2) .dropdown-fake span {
  height: 80px !important; /* ou la valeur que tu veux */
/*}*/

.dropdown-fake,
.dropdown-fake-wrapper,
.dropdown-fake span,
.dropdown-fake svg {
  cursor: pointer;
}

/* Default fill colors */
.dropdown-fake svg .cls-1 { fill: #7A1F36; }    /* Original red */
.dropdown-fake svg .cls-2 { fill: #DA143C; }    /* Original mustard */
.dropdown-fake svg .cls-3 { fill: #0000FF; }    /* Original blue */
.dropdown-fake svg .cls-4 { fill: #FFD8CD; }    /* Original mint */

.dropdown-fake svg:hover .cls-1 { fill: red !important; }
.dropdown-fake:hover svg .cls-2 { fill: orange !important; }
.dropdown-fake:hover svg .cls-3 { fill: cyan !important; }
.dropdown-fake:hover svg .cls-4 { fill: pink !important; }


.st0{fill:#7A1F36;}
.st1{fill:#DA143C}
.st2{fill:#0000FF;}
.st3{fill:#FFD8CD;}


.st0{fill:#7A1F36;}
.st1{fill:#DA143C;}
.st2{fill:#0000FF;}
.st3{fill:#FFD8CD;}

.dropdown-fake svg .cls-1 { fill: #7A1F36; }
.dropdown-fake svg .cls-2 { fill: #DA143C; }

.dropdown-fake:hover svg .cls-1 { fill: red !important; }
.dropdown-fake:hover svg .cls-2 { fill: orange !important; }

.dropdown-fake:hover svg .st0 { fill: red !important; }
.dropdown-fake:hover svg .st1 { fill: orange !important; }
.dropdown-fake:hover svg .st2 { fill: cyan !important; }
.dropdown-fake:hover svg .st3 { fill: pink !important; }

.dropdown-fake svg path {
  transition: fill 0.3s ease;
}

.dropdown-fake-wrapper.reset-zoom {
  animation: zoomReset 0.3s ease;
}

@keyframes zoomReset {
  0% {
    transform: scale(0.95);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.03);
    opacity: 0.8;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.dropdown-fake-wrapper {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  will-change: transform;
}

.dropdown-fake-wrapper:hover {
  transform: scale(1.04);
}

/**********Fin formulaire hOMEPAGE********/


.q_accordion_holder.accordion .ui-accordion-header, .q_accordion_holder.accordion.with_icon .ui-accordion-header
{
    text-transform: inherit;
}

.q_accordion_holder .tab-title, .q_accordion_holder .accordion_mark
{
    padding-top: 20px !important;

}

.tab-title
{
    font-size: 1.5rem;
}

.accordion_content_inner p
{
    color: #0000FF;
}

.q_accordion_holder a
{
    color: ;
}
.ui-accordion-header .tab-title{color: white;}
.ui-accordion-header-active .tab-title {color: #0000FF;}


/*****Contactez-nous******/
.page-id-14
{
    background-color: #DAE5E0;
}

.page-id-14 .header_bottom, .header_top, .fixed_top_header .bottom_header {
    background-color:  #DAE5E0;
}

/*****Version iranienne*******/

.page-id-16554 {
    background-color: #ece4d6;
}


/**************/
.page-id-24
{
    background-color: #f9d8cc;
}

.page-id-24 .header_bottom, .header_top, .fixed_top_header .bottom_header {
    background-color:  #f9d8cc;
}

#text-intro-contact
{
    padding: 100px;
    margin: 20px;
    color: white;
}

.text-wrapper {
  display: flex;
  align-items: flex-end; /* Aligns children to the bottom */
  justify-content: center; /* Optional: centers content horizontally */
  height: 100%; /* Or a fixed height like 300px */
}


/*.custom-title-with-logo {
  display: flex;
  align-items: flex-end; /* alignement vertical */
  /*gap: 1rem; /* optionnel : espacement entre logo et texte */
/*}*/

.logo-link {
  display: flex;
  align-items: flex-end; /* s'assurer que le SVG reste en bas */
}

.logo-link svg {
  display: block;
  height: 170px; /* Prend toute la hauteur du conteneur */
}

/*.title-text-wrapper {
  display: flex;
  align-items: flex-end; /* texte en bas */
  /*height: 100%; /* optionnel si tu veux le texte calé au bas du logo */
/*}*/

p, body.qode-overridden-elementors-fonts .elementor-widget-heading p.elementor-heading-title {
    font-family: 'Chakra Petch', sans-serif;
    font-size: 1.2rem;
    line-height: 25px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8rem;
}

/*******Démarches de vidas********/

.page-id-40 .qode-accordion-holder .qode-title-holder, .q_accordion_holder .title-holder,
.page-id-16566 .qode-accordion-holder .qode-title-holder, .q_accordion_holder .title-holder
{
    border-top: 10px solid #DC143C;
}

.page-id-40 .accordion_content_inner,
.page-id-16566 .accordion_content_inner
{
    margin-bottom: 20px;
}

.page-id-40  .q_accordion_holder.accordion.without_icon .ui-accordion-header span.tab-title,
.page-id-16566 .q_accordion_holder.accordion.without_icon .ui-accordion-header span.tab-title
{
    padding: 20px;
    margin-left: 40px;
    font-weight: 800;
    font-size: 1.7rem;
}


.page-id-40 .q_accordion_holder.accordion h5.ui-accordion-header,
.page-id-16566 .q_accordion_holder.accordion h5.ui-accordion-header
{
    font-size: 14px;
    padding-top: 8px;
    padding-bottom: 8px;
}


.page-id-40 .title.title_size_small h1,
.page-id-16566 .title.title_size_small h1
{
    font-size: 5rem;
    line-height: 77px;
    font-weight: 800;
}

.page-id-16566
{
    background-color: #d8e3de;
}

.q_accordion_holder.accordion div.accordion_content_inner
{
    margin-right: 10px;
}

/********Couleuur pour chaque bloc**********/

.page-id-40 .ui-accordion-header .tab-title,
.page-id-16566 .ui-accordion-header .tab-title 
{
    color: #0000FF; /* ou la couleur de base, ex: black */
    transition: color 0.3s ease; /* durée + type d'animation */
}

.page-id-40 .wpb-content-wrapper,
.page-id-16566 .wpb-content-wrapper,
{
    margin: 20px;
}

.qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner
{
    color: #0000ff;
}


.page-id-40 #visa-bloc1 .q_accordion_holder .title-holder,
.page-id-16566 #visa-bloc1 .q_accordion_holder .title-holder,
.page-id-22 #visa-bloc1 .qode-accordion-holder .qode-title-holder
{
    border-top: 20px solid #DC143C;
}

.vc_custom_1755014245324 .qode-accordion-holder .qode-title-holder
{
    border-top: 20px solid #DC143C;
}


#visa-bloc1 h2,
#visa-bloc1 .q_accordion_holder .title-holder
{
    color: #DC143C !important;
}

#visa-bloc1 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover,
#visa-bloc1 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover  {
    color: #DC143C;
}

#visa-bloc1 .qode-accordion-mark::before, .page-id-40 #visa-bloc1 .accordion_mark::before,
#visa-bloc1 .qode-accordion-mark::before, .page-id-40 #visa-bloc1 .accordion_mark::before,
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#visa-bloc1 .qode-title-holder.ui-state-active .qode-accordion-mark::before, 
#visa-bloc1 .title-holder.ui-state-active .accordion_mark::before,
 {
    background: linear-gradient(to bottom right, white 50%, #DC143C 50%);
}




#visa-bloc2 .q_accordion_holder .qode-title-holder, 
#visa-bloc2 .q_accordion_holder .qode-title-holder
{
    border-top: 20px solid #c09632 !important;
}

#visa-bloc2 .qode-accordion-holder .qode-title-holder, .q_accordion_holder .title-holder {
    border-top: 20px solid #c09632 !important;
}

#visa-bloc2 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #c09632;
}


#visa-bloc2 .qode-accordion-mark::before, #visa-bloc2 .accordion_mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #c09632 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#visa-bloc2 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc2 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #c09632 50%);
}

#visa-bloc2 h2, #visa-bloc2 h2 b {
    color: #c09632 !important;
}


#visa-bloc3 .q_accordion_holder .title-holder
{
    border-top: 20px solid #FE5930;
}

#visa-bloc3 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #FE5930;
}

#visa-bloc3 .qode-accordion-mark::before, #visa-bloc3 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #FE5930 50%);
}

#visa-bloc3 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc3 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%);
}

#visa-bloc3 h2 {
    color: #FE5930 !important;
}

#visa-bloc3 .qode-accordion-holder .qode-title-holder, .q_accordion_holder .title-holder {
    border-top: 20px solid  #FE5930 !important;
}



#visa-bloc4 .q_accordion_holder .title-holder
{
    border-top: 20px solid #2e5961;
}

#visa-bloc4 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #2e5961 !important;
}

#visa-bloc4 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #2e5961;
}

#visa-bloc4 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #2e5961 50%);
}

#visa-bloc4 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #2e5961 50%);
}

#visa-bloc4 h2 {
    color: #2e5961 !important;
}




#visa-bloc5 .q_accordion_holder .title-holder
{
    border-top: 20px solid #99003d;
}

#visa-bloc5 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #99003d !important;
}

#visa-bloc5 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #99003d;
}

#visa-bloc5 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #99003d 50%);
}

#visa-bloc5 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #99003d 50%);
}

#visa-bloc5 h2 {
    color: #99003d !important;
}



#visa-bloc6 .q_accordion_holder .title-holder
{
    border-top: 20px solid #D4B483;
}

#visa-bloc6 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #D4B483 !important;
}

#visa-bloc6 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #D4B483
}

#visa-bloc6 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #D4B483 50%);
}

#visa-bloc6 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #D4B483 50%);
}

#visa-bloc6 h2 {
    color: #D4B483 !important;
}



#visa-bloc7 .q_accordion_holder .title-holder
{
    border-top: 20px solid #77dbcc;
}

#visa-bloc7 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #77dbcc !important;
}

#visa-bloc7 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #77dbcc;
}

#visa-bloc7 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #77dbcc 50%);
}

#visa-bloc7 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #77dbcc 50%);
}

#visa-bloc7 h2 {
    color: #77dbcc !important;
}



#visa-bloc8 .q_accordion_holder .title-holder
{
    border-top: 20px solid #9a8127;
}

#visa-bloc8 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #9a8127 !important;
}

#visa-bloc8 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #9a8127;
}

#visa-bloc8 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #9a8127 50%);
}

#visa-bloc8 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #9a8127 50%);
}

#visa-bloc8 h2 {
    color: #9a8127 !important;
}




#visa-bloc9 .q_accordion_holder .title-holder
{
    border-top: 20px solid #702435;
}

#visa-bloc9 .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #702435 !important;
}

#visa-bloc9 .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #702435;
}

#visa-bloc9 .qode-accordion-mark::before, #visa-bloc4 .accordion_mark::before
{
    background: linear-gradient(to top right, white 50%, #702435 50%);
}

#visa-bloc9 .qode-title-holder.ui-state-active .qode-accordion-mark::before, #visa-bloc4 .title-holder.ui-state-active .accordion_mark::before {
    background: linear-gradient(to bottom right, white 50%, #702435 50%);
}

#visa-bloc9 h2 {
    color: #702435 !important;
}





.page-id-15985 .tab-title, .page-id-16457 .tab-title
{
    margin-bottom: 30px;
}

.page-id-15985 #accordeon-home .qode-accordion-holder:nth-of-type(1) .qode-title-holder,
.page-id-16457 #accordeon-home .qode-accordion-holder:nth-of-type(1) .qode-title-holder
{
  border-top: 20px solid #DC143C !important;
}

.page-id-15985 #accordeon-home .qode-accordion-holder:nth-of-type(2) .qode-title-holder,
.page-id-16457 #accordeon-home .qode-accordion-holder:nth-of-type(2) .qode-title-holder
{
  border-top: 20px solid #c09632 !important;
}


.page-id-15985 #accordeon-home .qode-accordion-holder:nth-of-type(2) .qode-accordion-mark::before,
.page-id-16457 #accordeon-home .qode-accordion-holder:nth-of-type(2) .qode-accordion-mark::before
{
  background: linear-gradient(to top right, white 50%, #c09632 50%);
}

/***Farsi ver************/

.page-id-16566 .qode-accordion-holder .qode-tab-title
{
    margin-bottom: 30px;
}

.page-id-16566 .qode-accordion-holder .qode-accordion-content
{
    margin-bottom: 40px;
}

/*********Page contact************/

#diagonal-box {
  position: relative;
  width: 100%;
  min-height: 300px; /* Ajustable selon le contenu */
  background: linear-gradient(135deg, #cce7ee 50%, #fcd8c7 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  box-sizing: border-box;
}

.diagonal-content {
  max-width: 800px;
  color: #0000cc;
  font-family: 'Arial', sans-serif;
  font-size: 1.1rem;
  line-height: 1.6;
}

#diagonal-box p
{
    color: #0000ff;
}

/*******Travailler sur le menu*********/


.title.title_size_small h1 {
    font-size: 6rem;
    line-height: 77px;
}

.title.title_size_small h1 {
    font-size: 4.5rem;
    line-height: 70px;
}

.page-template-default
{
    height: 100px;
}

/*.title_outer.title_without_animation .title {
  height: auto !important;
  min-height: unset !important;
}*/

#intro-loader
{
    display: none;
}

.header_bottom {
    padding: 0 45px;
    background-color: transparent;
    -webkit-transition: all .2s ease 0s;
    -moz-transition: all .2s ease 0s;
    -o-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
}



#contact_bandeau .wpb_wrapper
{
    padding: 10px;
}

#contact_bandeau p
{
    color: #0000ff;
}

/*#menu-menu-principale
{
    border-bottom: 5px solid beige;
}*/

/*.drop_down ul li .second .inner ul
{
    margin-top: 5px;
}*/

/*.page_header.sticky 
{
    border-bottom: 5px solid beige;
}*/

/*.drop_down .second .inner > ul > li > a {
  position: relative;
  display: inline-block;
  color: #333;
  text-decoration: none;
  text-transform: initial !important;
  border-left: 2px solid transparent;
  transition: all 0.4s ease;
  overflow: hidden;
}*/

/* Hover : bordure beige ET texte encore plus décalé */
/*.drop_down .second .inner > ul > li > a:hover, .drop_down .second .inner > ul > li > a:hover {
  color: beige;
  padding-left: 40px; /* pousse encore plus vers la droite */
  /*border-left: 3px solid beige;
}*/

/* Fond beige clair qui glisse subtilement */
/*.drop_down .second .inner > ul > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: rgba(191, 163, 130, 0.07);
  z-index: 0;
  transition: width 0.4s ease;
}*/

/* Survol : le fond se déploie */
/*.drop_down .second .inner > ul > li > a:hover::before {
  width: 100%;
}

/* Pour s’assurer que le texte est toujours au-dessus du fond */
/*.drop_down .second .inner > ul > li > a span,
.drop_down .second .inner > ul > li > a i {
  position: relative;
  z-index: 1;
}

.drop_down .second .inner > ul > li > a {
  padding: 12px 16px 12px 28px; /* le texte est déjà bien décalé à droite */
  /*transition: all 0.3s ease;
}

.drop_down .second .inner > ul > li > a:hover {
  padding-left: 42px; /* effet “poussé” encore plus fort */
/*}*/



.page-id-14 header.sticky .header_bottom
{
    background-color: #ece4d6 !important;
}

/*********Home*********/
.page-id-15985 header.sticky .header_bottom, .page-id-16457 header.sticky .header_bottom,
.page-id-16457 header.sticky .header_bottom, .page-id-16457 header.sticky .header_bottom
{
    background-color: #ece4d6 !important;
    opacity: 1;
}

header.sticky #menu-menu-principale > li {
    height: 80px;
    line-height: 80px;
}
/*header.sticky #menu-menu-principale > li .second li {
    height: 40px;
    line-height: 40px;
}*/


.underline_dash
{
    display: none;
}

/*#menu-menu-principale a.current > span {
    color: #0500f4 !important;
    font-weight: 800;
}*/


.qode-accordion-holder .qode-title-holder .qode-accordion-mark {
    z-index: 9999;
    left: 0;
    top: -2px;
}

.qode-accordion-holder .qode-tab-title {
    margin-top: 35px;
    margin-bottom: 10px;
    font-weight: 800;
    font-size: 1.7rem;
}


.page-id-40 .qode-accordion-holder .qode-title-holder, .q_accordion_holder .title-holder {
    border-top: 20px solid #DC143C;
}


.qode-accordion-holder .qode-accordion-mark
{
    margin: 20px;
}

.qode-accordion-holder .qode-title-holder .qode-accordion-mark {
    z-index: 9999;
    left: 0;
    top: 15px;
}

.qode-accordion-holder p, .qode-tab-title-inner
{
    color: black;
    padding-left: 60px;
}

.qode-accordion-holder .qode-title-holder .qode-tab-title, .qode-tab-title-inner
{
    color: #0000ff;
}


/**********Chloé Code personnalisé // Menu *************/

/* Reveal it on scroll */
.q_logo a img.visible {
    opacity: 1;
}

/*nav.main_menu > ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.8rem; /* ajuste selon le look que tu veux */
/*}*/

nav.main_menu > ul > li {
    white-space: nowrap;
}

nav.main_menu > ul > li > a
{
    color: inherit;
}

#menu-menu-principale > li:nth-child(1) > a > span,
#menu-menu-persan > li:nth-child(1) > a > span {
    color: #0500f4 !important;
}

/*.drop_down ul li:nth-child(1) .second .inner ul {
    background-color: #0500f4 !important;
}*/


nav.main_menu ul li:nth-child(1) a span.underline_dash {
    background-color: #0500f4 !important;
    height: 4px;
}

/* Special losange for ACTIVE item */
/*#menu-menu-principale > li:nth-child(1):hover::after,
#menu-menu-persan > li:nth-child(1):hover::after
{
  background-color: blue;
}*/


#menu-menu-principale > li:nth-child(2) > a > span,
#menu-menu-persan > li:nth-child(2) > a > span
 {
    color: #FE5930;
}

/*.drop_down ul li:nth-child(2) .second .inner ul {
    background-color: #d85336 !important;
}*/

nav.main_menu ul li:nth-child(2) a span.underline_dash {
    background-color: #d85336 !important;
    height: 4px;
}

/*#menu-menu-principale > li:nth-child(2):hover::after,
#menu-menu-persan > li:nth-child(2):hover::after
{
  background-color: #d85336;
  /*: linear-gradient(to bottom right, blue 50%, white 50%);*/
/*}*/


#menu-menu-principale > li:nth-child(3) > a > span,
#menu-menu-persan > li:nth-child(3) > a > span,
{
    color: #a2263d !important;
}

#nav-menu-item-47 > a > span,
#nav-menu-item-16584 > a > span
{
    color: #a2263d !important;
}

/*.drop_down ul li:nth-child(3) .second .inner ul {
    background-color: #a2263d !important;
}*/


nav.main_menu ul li:nth-child(3) a span.underline_dash {
    background-color: #a2263d !important;
    height: 4px;
}

/*#menu-menu-principale > li:nth-child(3):hover::after,
#menu-menu-persan > li:nth-child(3):hover::after
{
  background-color: #a2263d;
  /*: linear-gradient(to bottom right, blue 50%, white 50%);*/
/*}*/

#nav-menu-item-16590-fr, #nav-menu-item-16590-fa,
#nav-menu-item-16591-fr, #nav-menu-item-16591-fa
{
    width: 10px;
}



#menu-menu-principale > li:nth-child(4) > a > span,
#menu-menu-persan > li:nth-child(4) > a > span {
    color: #275a5d !important;
}

/*.drop_down ul li:nth-child(4) .second .inner ul {
    background-color: #275a5d !important;
}*/

nav.main_menu ul li:nth-child(4) a span.underline_dash {
    background-color: #275a5d !important;
    height: 4px;
}


/*#menu-menu-principale > li:nth-child(4):hover::after,
#menu-menu-persan > li:nth-child(4):hover::after
{
  background-color: #275a5d;
  /*: linear-gradient(to bottom right, blue 50%, white 50%);*/
/*}*/

#menu-menu-principale > li,
#menu-menu-persan > li
{
    position: relative;
    margin-left: 3px;
}


#menu-menu-principale > li:nth-last-child(-n+2)::after,
#menu-menu-persan > li:nth-last-child(-n+2)::after
{
  content: none;
}
/*.page_header, .page_header .container_inner
{
    width: 800px;
    left: 15%;
}*/

#menu-menu-principale > li:nth-child(3) > a > span, #menu-menu-persan > li:nth-child(3) > a > span {
    color: #702435 !important;
    color: #b51446 !important;
}
#menu-menu-persan > li::after {
        content: '';
      position: absolute;
      top: 50%;
      right: 100%; /* place le carré à droite du li */
      transform: translate(-50%, -50%) rotate(45deg); /* centre parfaitement et fait tourner */
      width: 8px;
      height: 8px;
      background-color: white;
      z-index: 1;
      display: inline-block;
}

.title_holder
{
    padding-top: 0px !important;
}

/*body.page-id-15985 header.page_header,
body.page-id-16457 header.page_header {
    background-color: transparent !important;
}*/

header.sticky .header_bottom {
    background-color: !inherit !important;
}

@media (min-width: 1000px) {

    .header_bottom, .header_top, .fixed_top_header .bottom_header {
    background-color: transparent !important;
    }

}


body.page-id-40 header.sticky .header_bottom {
    background-color: #dfd2c6 !important;
}

nav.main_menu > ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 1.2rem;
}

/*nav.main_menu > ul > li > a {
    text-transform: inherit;
    font-size: 1.1em;
    font-weight: 800;
}*/

/****Media queries***********/


/*.custom-title-with-logo .logo-link******/


#bloc-message h1
{
    color: #0000ff;
}


/****Different colocs for all pages**/


body.page-id-15301
{
    background-color: #EFE7D8;
}

.page-id-15301 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}

/********Collaborer avec la Villa Zadig*******/
body.page-id-12
{
    background-color: #DAE5E0;
}

.page-id-12 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}

#text-intro-form-collaborer p
{
    color: #0000ff;
    font-size: 1.8rem;
    text-align: center;
}
/******Apprendre le français en Iran********/
body.page-id-16
{
    background-color: #EFE7D8;
}

.page-id-16 header.sticky .header_bottom
{
    background-color: #EFE7D8 !important;
}


/******Etudier en France********/

body.page-id-18
{
    background-color: #EFE7D8
}

.page-id-18 header.sticky .header_bottom
{
    background-color: #EFE7D8 !important;
}


/*************Laboratoires et écoles doctorales*************/

body.page-id-12
{
    background-color: #DAE5E0;
}

.page-id-12 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}



/*********Laboratoires et écoles doctorales***********/

body.page-id-20
{
    background-color: #EFE7D8;
}

.page-id-20 header.sticky .header_bottom
{
    background-color: #EFE7D8 !important;
}



/*********Les scènes artistiques***********/

body.page-id-22
{
    background-color: #EFE7D8;
}

.page-id-22 header.sticky .header_bottom
{
    background-color: #EFE7D8 !important;
}


/*********Apprendre le français en Iran***********/

body.page-id-36
{
    background-color: #DAE5E0;
}

.page-id-36 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}




/*********Certifier son niveau de Français***********/

body.page-id-38
{
    background-color: #DAE5E0;
}

.page-id-38 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}



/*********Vivre en France***********/


body.page-id-42
{
    background-color: #DAE5E0;
}

.page-id-42 header.sticky .header_bottom
{
    background-color: #DAE5E0 !important;
}

body p
{
    color: black;
}

.qbutton
{
    text-transform: inherit !important;
}

.partenaire-message
{
    color: white !important;
}

button{
    all: unset;
  display: inline-block; /* Restore basic layout */
  cursor: pointer;
}

.button-zadig {
    display: flex;
    align-items: stretch;
    position: relative;
    margin: 20px auto;
    width: fit-content;
    z-index: 2;
}

.button-zadig::before,
.button-zadig::after {
    content: '';
    display: block;
    width: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

.button-zadig::before {
    background-image: url('btn-zadig-left.jpg');
}

.button-zadig::after {
    background-image: url('btn-zadig-right.jpg');
}

.button-zadig:hover::before,
.button-zadig:hover::after {
    opacity: 1;
}

.button-zadig {
    background-color: #f3d6cf;
    color: #0000ff;
    padding: 0px 20px;
    font-size: 32px;
    font-weight: bold;
    border: none;
    clip-path: polygon(
        10px 0%, calc(100% - 10px) 0%, 
        100% 10px, 100% calc(100% - 10px), 
        calc(100% - 10px) 100%, 10px 100%, 
        0% calc(100% - 10px), 0% 10px
    );
    text-align: center;
    z-index: 2;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    cursor: pointer;
}
.button-zadig:hover {
    background-color: #e7c4bc;
    border-top-color: #7a1f36;
    border-bottom-color: #da143c;
    clip-path: inset(0%);
}

.qode-accordion-holder,
.qode-accordion-holder,

{
    margin-bottom: 20px;
}

.qode-accordion-holder .qode-accordion-content
{
    padding-bottom: 20px;
}




/*************Try loading************/

#page-loader {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background-color: #d8e3de;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

#page-loader .loader-content img {
  width: 800px;
  animation: fade-loop 2.5s infinite ease-in-out;
  max-width: 100%;
}

#page-loader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/*#page-loader.fade-out {
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.9);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out, visibility 0.4s;
}*/

#page-loader.fade-out {
  pointer-events: none;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

#page-loader.fade-out-hidden {
  visibility: hidden;
}
/*******General**********/


@keyframes fade-loop {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

* {
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
}


/*.drop_down .narrow .second .inner ul li a > span:not(.plus) {
    transition: inherit;
    background: inherit !important;
}*/

/*********Try transition page*********/

/* Bande de transition invisible par défaut */
/*#page-transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #d8e3de 80%, #DC143C 20%);
  background-size: 100% 100%;
  background-position: left center;
  background-repeat: no-repeat;
  transform: scaleX(0);
  transform-origin: left center;
  z-index: 9999;
  pointer-events: none;
  animation: none;
}

/* Lors de l'activation */
/*#page-transition.active {
  transform: scaleX(1);
  animation: gradientSlide 0.7s ease-in-out forwards;
}

@keyframes gradientSlide {
  0% {
    background: linear-gradient(to right, #d8e3de 100%, #DC143C 0%);
  }
  100% {
    background: linear-gradient(to right, #d8e3de 80%, #DC143C 20%);
  }
}*/

/*********Fin transition page*********/


body.page-id-16207
{
    background-color: #ffd8cd;
}

.page-id-16207 header.sticky .header_bottom
{
    background-color: #e2d3c5 !important;
}

body.page-id-16577
{
    background-color: #ffd8cd;
}

.page-id-16577 header.sticky .header_bottom
{
    background-color: #e2d3c5 !important;
}



/***********Bouton appels d'offres************/

/* Reset les styles par défaut */

    .grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* Desktop: 3 columns */
        gap: 20px;
      }

      @media (max-width: 1024px) {
        .grid {
          grid-template-columns: repeat(2, 1fr); /* Tablet: 2 columns */
        }
      }

      @media (max-width: 600px) {
        .grid {
          grid-template-columns: 1fr; /* Mobile: full width */
          gap: 16px;
        }

        .item {
          max-width: 100%;
        }
      }


/* Base for all items */
.item {
  position: relative;
  padding: 10px;
  box-sizing: border-box;
  background-color: white;
  overflow: hidden;
  z-index: 0;
}

/* Inner image styling */
.item img {
  width: 100%;
  display: block;
  border-radius: 4px;
}

.overlay {
  position: absolute;
  top: 50px;
  left: 50px;
  right: 50px;
  bottom: 50px;
  color: white;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* 👈 plus "stable" que space-between */
  align-items: stretch;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  border-radius: 4px;
  margin: 10px;
}

.item:hover .overlay {
  opacity: 1;
  cursor: pointer;
  border-radius: 20px;
}


/* Date placement (top-left and top-right) */
.overlay .dates {
  display: flex;
  justify-content: space-between;
  font-size: 0.8em;
  font-weight: bold;
}

.overlay .date {
  text-align: left;
}

/* Title at the bottom */
.overlay .title {
  margin-top: auto;             /* 👈 pousse vers le bas */
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  font-size: 1em;
  line-height: 1.4;
}

/* Border remains via ::before */
.item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  pointer-events: none;
}

.choices-button-wrapper {
  position: relative;
  width: 33%;
  max-width: 100%;
  font-family: inherit;
  display: inline-block;
}

@media screen and (max-width: 992px) {
    /*.choices-button-wrapper {
      width: 100%;
      margin: auto;
    }*/
    .title-text-wrapper
    {
        margin: auto;
    }

}

.choices-button-wrapper label {
  position: absolute;
  left: 50%;
  top: 64%;
  transform: translate(-50%, -50%);
  font-size: 1.8rem;
  color: white;
  font-weight: bold;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
  z-index: 2;
}

/* When the label floats up */
.choices-button-wrapper.active label {
    /*JOHN
  top: -10px;
  left: 20px;
  font-size: 1.2rem;
  color: #fff;
  transform: none;
  */
}

.choices,
.choices * {
  cursor: pointer;
}


.choices__inner
{
  background: linear-gradient(to bottom right, #da143c 50%, #c79500 50%); /* Split diagonal with blue and light color */
  color: transparent; /* hide the placeholder */
  font-weight: bold;
  transition: all 0.5s ease-in-out;
  text-decoration: none;
  width: 100%;
  height: 20px;
  line-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
  padding: 7.5px;
}

.choices-button-wrapper:nth-of-type(2) .choices__inner {
  background: #0000ff !important;
  color: white;
}

/* Hide the input and dropdown */
.choices__input{
  display: none !important;
}

.choices__list--multiple .choices__item {
    background-color: #d2b281;
    border: 1px solid #d2b281;
    color: #0000ff;
    font-weight: 700;
    font-size: 0.9rem;
}

.choices__list--multiple .choices__item.is-highlighted {
    background-color: #d2b281;
    border: 1px solid #d2b281;
    color: #0000ff;
    font-weight: 700;
    font-size: 0.9rem;
}
.choices__list--multiple .choices__item[data-deletable] {
    padding-right: 5px;
}
.choices__list--multiple .choices__item {
    display:none; /*JOHN :display: inline-block;*/
    vertical-align: middle;
    padding: 4px 10px;
    margin-right: 3.75px;
    margin-bottom: 3.75px;
    background-color: #d2b281;
    border: 1px solid #d2b281;
    color: #0000ff;
    word-break: break-all;
    box-sizing: border-box;
    color: #0000ff;
    font-weight: 700;
    font-size: 0.9rem;
}

.choices[data-type*=select-multiple] .choices__button, .choices[data-type*=text] .choices__button {
    border-left: 0px;
}

.choices {
  position: relative;
  overflow: visible;
}

/* Make the dropdown float over other content */
.choices__list--dropdown {
  position: absolute !important;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 4px;
  z-index: 10;
  background: #fce4ec;
  border: 1px solid #ddd;
  border-top: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}


/*#filters .filter_type {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}*/

/*.choices-button-wrapper {
  /*flex: 1 1 300px; /* Grow/shrink but minimum width 300px */
  /*max-width: 360px;*/
  /*box-sizing: border-box;
}*/



/*************buttton with hover effect*************/

/*.button-container {
    display: flex;
    align-items: stretch;
    position: relative;
    margin: 20px auto;
    width: fit-content;
    z-index: 2;
}

.button-container::before,
.button-container::after {
    content: '';
    display: block;
    width: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

.button-container::before {
    background-image: url('btn-zadig-left.jpg');
}

.button-container::after {
    background-image: url('btn-zadig-right.jpg');
}

.button-container:hover::before,
.button-container:hover::after {
    opacity: 1;
}

.button-cut-corners {
    background-color: #f3d6cf;
    color: #0000ff;
    padding: 0px 10px;
    font-size: 32px;
    font-weight: bold;
    border: none;
    clip-path: polygon(
        10px 0%, calc(100% - 10px) 0%, 
        100% 10px, 100% calc(100% - 10px), 
        calc(100% - 10px) 100%, 10px 100%, 
        0% calc(100% - 10px), 0% 10px
    );
    text-align: center;
    z-index: 2;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    cursor: pointer;
}
.button-cut-corners:hover {
    background-color: #e7c4bc;
    border-top-color: #7a1f36;
    border-bottom-color: #da143c;
    clip-path: inset(0%);
}*/

button, .qode-tab-title
{
    cursor: pointer !important;
}

#filters
{
    margin-bottom: 30px;
}


/**********Bannière partenaires***********/

#logo-partenaires .full_section_inner {
  display: flex;
  align-items: center;       /* Centrage vertical */
  justify-content: space-between; /* Texte à gauche, logo à droite */
  gap: 40px;                 /* Espace entre les colonnes si besoin */
}

#logo-partenaires p {
  font-size: 2rem;
  margin: 0; /* évite un décalage vertical si la ligne est haute */
  border-left: 4px solid blue;
    padding-left: 40px;
}

#logo-partenaires li img {
  width: 80%;   /* Tu peux aussi mettre max-width: 345px; */
  height: auto;
}

#logo-partenaires .vc_col-sm-4 {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* ou center si besoin */
}


.page-id-15985 .content_inner .title,
.page-id-16457 .content_inner .title
{
    display: block !important;
}

/*.page-id-15985 .title-text-wrapper {
 position: relative;
 top: 57px;
}*/

/* Align logo and title text at the bottom */
/*.page-id-15985 .custom-title-with-logo,
.page-id-16457 .custom-title-with-logo
 {
  display: flex;
  align-items: flex-end;
  gap: 1rem; /* space between logo and title */
  /*margin: 0;
  padding: 0;
}*/

/* Ensure SVG logo behaves like a block */
.page-id-15985 .logo-link svg,
.page-id-16457 .logo-link svg
 {
  display: block;
  height: auto;
}

/* Align the image inside the wrapper */
/*.page-id-15985 .title-text-wrapper,
.page-id-16457 .title-text-wrapper
{
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  height: auto;
  line-height: 1;
}*/

/*.page-id-15985 .title-text-wrapper img,
.page-id-16457 .title-text-wrapper img
 {
  display: block;
  height: auto;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
}*/


/*.page-id-15985 .title-text-wrapper img,
.page-id-16457 .title-text-wrapper img,
{
    position: relative !important;
    top: 58px !important;
}*/

.custom-title-with-logo img {
    width: 880px;
    position: relative;
    top: 53px;
}


/*.title_without_animation .title
{
    /*height: 280px !important;*/
    /*height: 220px !important;
}*/

/*.page-id-15985 .title_without_animation .title
{
    height: 220px !important;
}*/



.page-id-15985 .container_inner, 
.page-id-16457 .container_inner,
.page-id-17626 .container_inner
{
   width: 100%;
}


/*@media screen and (max-width: 999px) {
  .page-id-15985 .title-text-wrapper,
  .page-id-16457 .title-text-wrapper
    {
    top: 37px;
    }
}

@media screen and (min-width: 1000px) and (max-width: 1200px) {
  .page-id-15985 .title-text-wrapper,
  .page-id-16457 .title-text-wrapper
  {
    top: 48px;
  }
}*/



.custom-title-with-logo svg {
    display: block;
    height: 130px !important;
}


/*.page-id-15985 .title_holder,
.title-text-wrapper .title_holder
{
    padding-top: inherit !important;
    height: inherit !important;
}*/

/*.page-id-15985 .title_subtitle_holder,
.page-id-16457 .title_subtitle_holder
{
    margin-top: -65px;
    margin-bottom: 50px;
}*/

@media screen and (min-width: 1000px) and (max-width: 1200px) {
  /*#menu-menu-principale
  {
    margin-left: 180px;
  }*/
}

.mobile_menu
{
    color: #0000ff;
    text-transform: uppercase;
    font-weight: 800;
}


/*.page-id-15985 .title-text-wrapper,
.page-id-16457 .title-text-wrapper
{
  background: none;
  text-indent: 0; /* <--- reset */
  /*height: auto; /* <--- let the image size naturally */
  /*display: flex;
  justify-content: center;
  align-items: center;
}*/

.choices__list--dropdown .choices__item--choice
{
    background: blue;
    color: white;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted, .choices__list[aria-expanded] .choices__item--selectable.is-highlighted
{
    background-color: #d2b281;
    color: white;
}

.choices__item
{
    border: none;
}

@media screen and (max-width: 792px) {
  .qode-accordion-holder
  {
    max-width: 400px;
  }
}

#menu-menu-principale > li:nth-child(5), #menu-menu-persan > li:nth-child(5),  #nav-menu-item-16422 span,
#menu-menu-principale > li:nth-child(6), #menu-menu-persan > li:nth-child(6),  #nav-menu-item-16590-fa span
{
    color: #702435;
}

#menu-menu-principale > li:nth-child(5)::after {
  content: none;
}

/*#menu-menu-principale
{
    margin-left: 135px;
}*/

.custom-title-with-logo img
{
    width: 880px;
}

.lang-item-fa > a > span::before,
.lang-item-fr > a > span::before
{
    font-size: 18px !important;
}

@media screen and (max-width: 792px) {
  
  .title.title_size_small h1 {
    font-size: 3rem;
    max-width: 100%;
    }

    body.page-id-15985 header.page_header,
    body.page-id-16457 header.page_header,
    {
        background-color: #cdb389 !important;
    }

    .mobile-header-appear {
        background-color: #cdb389;
    }

    .vc_custom_1745449700663 {
        margin-top: inherit !important;
    }

    /*nav.mobile_menu > ul > li > a > span {
       color: #0000ff;
       text-transform: inherit !important;
    }

    nav.mobile_menu ul li > ul li> a span, nav.mobile_menu ul li > ul li > a span {
        position: relative;
        padding: 0 5px;
        color: blue;
    }

    nav.mobile_menu ul li a, nav.mobile_menu ul li h3
    {
        text-transform: inherit !important;
    }

    .mobile_menu {
        color: #0000ff;
        text-transform: inherit !important;
        font-weight: 800;
    }

    .vc_custom_1745449700663 {
        margin: inherit !important;
        /* margin-right: 100px !important; */
        /* margin-bottom: 80px !important; */
        /* margin-left: 100px !important; */

        /*margin-top: inherit !important;
        margin-right: inherit !important;
        margin-bottom: inherit !important;
        margin-left: inherit !important;
    }*/

    #accordeon-home .qode-accordion-holder
    {
        max-width: 100%;
    }

    #contact_bandeau .wpb_wrapper {
        padding: 10px !important
    }

    .vc_custom_1745577627278
    {
        padding: 50px;
    }

    .title.title_size_small h1 {
        font-size: 3.5rem;
        line-height: 50px;
        max-width: 100%;
    }
}

nav.mobile_menu > ul > li > a > span {
   text-transform: inherit !important;
}

.qode-accordion-holder
{
    max-width: 100%;
}

#insta-section {
    margin-top: 40px !important;
    margin-right: 20px !important;
    margin-bottom: 80px !important;
    margin-left: 20px !important;
}

body .sbi_item .sbi-screenreader {
    transition: color 0.3s ease; /* Ajoute une transition sur la couleur */
}

/*body .sbi_item:hover .sbi-screenreader {
    color: #0000ff;
}*/

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

    #insta-section {
        margin-top: 40px !important;
        margin-right: 10px !important; 
        margin-bottom: 40px !important;
        margin-left: 10px !important;
    }

    .page-id-12 h2
    {
        text-transform: inherit;
        font-size: 2.1rem;
        color: #DC143C;
        line-height: 1;
        font-weight: 800;
    }

    #wpcf7-f16438-p12-o1 .wpcf7-form-control
    {
        float: right;
    }

    #sb_instagram #sbi_images {
        /* box-sizing: border-box; */
        /* display: grid*/
        /* width: 100%; */
        /* padding: 12px 0; */
        /*grid-template-columns: repeat(1, 3fr);*/
        /*display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        padding: 12px 0;*/
        grid-template-columns: 1fr !important;
    }

    #accordeon-home .wpb_wrapper
    {   
        padding-right: 20px;
        padding-left: 20px;
    }

    .title.title_size_small h1 {
        font-size: 3rem !important;
        line-height: 40px;
        font-weight: 800;
        max-width: 100%;
    }
    .choices-button-wrapper {
        margin-bottom: 0px;
    }

    button:hover {
        border:inherit;
    }

    #filters > div {
        gap: 0px;
        max-width: 100%;
    }

    nav.mobile_menu {
        border-bottom: none;
    }

    .choices-button-wrapper.active label {
        top: -1px;
    }

    .header_bottom {
        padding: 0 20px;
    }

    /*.header_top_bottom_holder .q_logo
    {
        display: none;
    }*/

    .mobile-header-appear .q_logo {
        display: block;
        top: inherit;
    }

    .mobile-header-appear .header_inner
    {
        padding-top: 20px !important;
    }

    .custom-button-tag:hover
    {
        border-top: 14px solid transparent;
        border-bottom: 14px solid transparent;
    }

    .custom-title-with-logo .logo-link
    {
        margin: auto;
    }

    .custom-title-with-logo img {
        max-width: 80% !important;
        margin: auto;
    }

    body.page-id-15985 header.page_header, body.page-id-16457 header.page_header {
        background-color: #ece4d6 !important;
    }

    .mobile-header-appear {
        background-color:  #ece4d6;
    }

    #logo-partenaires p {
        font-size: 1.3rem;
    }

}


/********Hompegae********/

.page-id-15985 h2,
.page-id-16457 h2
{
    color: white;
    font-size: 2.2rem;
}

/*.title-text
{
    position: relative;
    top: 10px;
}*/

.page-id-15985 .title_subtitle_holder,
.page-id-16457 .title_subtitle_holder
{
    margin-top: 10px;
}

.page-id-15985 .title_subtitle_holder,
.page-id-16457 .title_subtitle_holder 
{
  display: flex;
  justify-content: center; /* Horizontal centering */
  align-items: center;     /* Vertical centering, optional */
  height: 100%;            /* Ensure it uses full height if vertical centering is desired */
  text-align: center;      /* Center text inside */
  flex-direction: column;  /* Stack SVG and text vertically if needed */
}


/***********Article***********/

.postid-16495 .blog_single.blog_holder article .post_text .post_text_inner > .post_info
{
    display: none;
}

.postid-16495 .blog_large_image a, .blog_holder.blog_single article .entry_title {
    color: #0000ff;
    font-weight: 800;
    text-transform: inherit;
}

.postid-16495 .blog_single.blog_holder h1
{
    font-size: 5rem;
    color: #0000ff;
}

.postid-16495 .post_text_inner .entry_title
{
    display: none !important;
}


.postid-16495 .blog_holder.blog_single article h2 {
    font-size: 2.4rem;
    line-height: 2.4em;
    color: white;
}

.postid-16495 #date-start p, #date-end p
{
    color: white;
    font-size: 2rem;
}

.postid-16495 #date-end p
{
    text-align: right;
}


.postid-16495 .single-post .default_template_holder .blog_single, .blog_single .default_template_holder .container_inner 
{
    width: 100% !important;
}


.postid-16495 .single-post .title_holder, .blog_single .title_without_animation
{
    display: none;
}

.postid-16495 #header-article
{
    background-color: #d2b281;
}

/*#header-article .full_section_inner
{
    width: 1000px;
    margin: auto;
    margin-top: 40px;
}*/

.postid-16495 .single-post .container_inner
{
    width: 100%;
}

.postid-16495 .single-post .title_without_animation
{
    display: none;
}

.postid-16495 .single-post a
{
    color: #0000ff;
}

.postid-16495 .single-post .custom-button-tag
{
    background-color: #ffd8cd;
}

.postid-16495 .single-post #filters > div
{
    justify-content: left;
}

.postid-16495 .single-post .scroll_header_top_area
{
    background-color: #e2d3c5;
}

.postid-16495 .single-post header.sticky .header_bottom
{
     background-color: yellow;
}

.postid-16495 #back-to
{
    color: #0000ff;
    font-size: 1.2rem;
}



.postid-16495 .single-post .vc_custom_1746027722738
{
    padding: inherit !important;
}

/*.single-post .section-article
{
   padding: 100px;
}*/

.postid-16495 .custom-anchor-menu {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: #f9f9f9; /* ou récupère la couleur de .section-article */
  padding: 10px 20px;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.postid-16495 .custom-anchor-menu ul {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.postid-16495 .custom-anchor-menu a {
  text-decoration: none;
  color: #333;
  font-weight: 600;
}
.postid-16495 .custom-anchor-menu a:hover {
  color: #007BFF;
}




/*.postid-17582 .bottom-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 120px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    background: #000;
    z-index: 1000;
    overflow-y: auto;

    padding-top: 80px; /* 👈 Push content down */
    /*box-sizing: border-box;
}


.postid-17582 .bottom-menu .menu-link {
    width: 100%;
    height: 80px; /* Fixed height for each menu item */
    /*display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    text-align: center;
    color: white;
    text-decoration: none;
    box-sizing: border-box;
    font-weight: bold;
}


.postid-17582 .menu-link.active {
  position: relative;
}

.postid-17582 .menu-link.active::before {
  content: "";
  position: absolute;
  right: -8px; /* décalage vers la gauche du lien */
  /*top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid #EFE7D8; /* couleur du triangle */
/*}

/*.elementor-kit-8 button, .elementor-kit-8 input[type="button"], .elementor-kit-8 input[type="submit"], .elementor-kit-8 .elementor-button {
    border-style: none !important;
}*/


/*.postid-17582 .menu-link {
  flex: 1;
  text-align: center;
  padding: 15px 10px;
  color: white;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s, transform 0.2s;
  background-color: #F4E3C3;
}

.postid-17582 .bottom-menu a {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); /* trait gris clair, très discret */
  /*padding-bottom: 0.5em;
  display: block; /* assure que le border s'affiche bien */
/*}

.postid-17582 .bottom-menu a.active {
  font-weight: bold;
  border-left: 20px solid currentColor;
}

.postid-17582 .menu-link:hover {
  transform: scale(1.05);
}

.postid-17582 .menu-link.section1,.menu-link.section2, .menu-link.section3, .menu-link.section4, .menu-link.section5, .menu-link.section6
{
    color: white;
}

.menu-link.section2 { color: #0000FF; border-right: 10px solid #0000FF; }
.menu-link.section3 { color: #FE5930;  border-right: 10px solid #FE5930; }
.menu-link.section4 { color: #7A1F36; border-right: 10px solid #7A1F36 }
.menu-link.section5 {  color: #165B63; border-right: 10px solid #165B63 }
.menu-link.section6 { color: #40E0D0; border-right: 10px solid #40E0D0 }
.menu-link.section7 {  color: #C99700; border-right: 10px solid #C99700}*/



/*.@media (max-width: 768px) {
  .bottom-menu {
    flex-direction: column;
  }
  .menu-link {
    padding: 12px;
    font-size: 16px;
  }

  .content .container .container_inner.default_template_holder, .content .container .container_inner.page_container_inner
  {
    max-width: 100%;
  }

  nav.mobile_menu {
    top: 80px;
    width: 100%;
    }

    #mobile-menu-item-16590-fr, #mobile-menu-item-16590-fa
    {
        display: inline-block;
    }

    nav.mobile_menu ul li > ul li a {
        font-weight: 800;
    }

    .container_inner
    {
        width: 100% !important;
    }

    #raindrop-results .item
    {
        margin-bottom: 20px;
    }

}
*/



:root {
  scroll-behavior: smooth;
}

nav.bottom-menu {
  position: fixed;
  top: 180px;
  left: 0;
  height: 100%;
  width: auto; /* Adjust as needed */
  flex-direction: column; /* Stack items vertically */
  border-top: none;
  border-right: 2px solid #ccc;
}


nav.bottom-menu a.menu-link {
  flex: none;
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px 16px;
  border-left: 4px solid transparent;
  border-top: none;
  font-weight: 700;
  text-decoration: none;
}


/* Individual link colors */
.menu-link.cerise    { color: #DC143C; }
.menu-link.gold      { color: #c19700; }
.menu-link.orange    { color: #ef6c3c; }
.menu-link.blue      { color: #2d525b; }
.menu-link.bordeaux  { color: #a2263d; }
.menu-link.beige     { color: #e6b87d; }

.menu-link.cerise.active    { background: #DC143C; color: white; color: #d92545; border-left: 4px solid #d92545; }
.menu-link.gold.active      { color: #c19700; border-left: 4px solid #c19700; }
.menu-link.orange.active    { color: #ef6c3c; border-left: 4px solid #ef6c3c; }
.menu-link.blue.active      { color: #2d525b; border-left: 4px solid #2d525b; }
.menu-link.bordeaux.active  { color: #a2263d; border-left: 4px solid #a2263d; }
.menu-link.beige.active     { color: #e6b87d; border-left: 4px solid #e6b87d; }

.menu-link.cerise.active    { background: #DC143C; color: white; }
.menu-link.gold.active      { background: #c19700; color: white; }

/* Hover: invert color and set top border */
.menu-link.cerise:hover    { background: #DC143C; color: white; border-left-color: #DC143C; }
.menu-link.gold:hover      { background: #c19700; color: white; border-left-color: #c19700; }
.menu-link.orange:hover    { background: #ef6c3c; color: white; border-left-color: #ef6c3c; }
.menu-link.blue:hover      { background: #2d525b; color: white; border-top-color: #2d525b; }
.menu-link.bordeaux:hover  { background: #a2263d; color: white; border-left-color: #a2263d; }
.menu-link.beige:hover     { background: #e6b87d; color: white; border-left-color: #e6b87d; }

@media (max-width: 600px) {
  nav.bottom-menu a.menu-link {
    font-size: 12px;
    padding: 10px 4px;
  }
}




.custom-title-with-logo .custom-title-with-logo img
{
    width: 840px;
}

/*****$Page Home fixe******/
.page-id-15985 p, .page-id-16457 p, .page-id-17626 p
{
    color: black;
}

.page-id-15985, .page-id-16457, .page-id-17626
{
    background-color: #cdb389;
}

.page title-text-wrapper
{
    text-align: lefts;
}


/*    text-transform: inherit;
    font-size: 1.25em;
    font-weight: 800;
    letter-spacing: -1px;
}*/

/*.page .container_inner{
    width: 1045px;
    margin: 0 auto;
}*/

/*****Pour recaler le title wrapper logo sur les autres pages *********/

.page .custom-title-with-logo
{
    position: relative;
    /*top: 20px;*/
}

.page-id-15985 .container_inner, .page-id-16457 .container_inner
{
    width: 100%;
}


.input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover
{
    border-color: transparent;
}

.qode_clients .qode_client_holder_inner:after
{
    border-bottom: inherit; 
}



/* French */
.lang-item-fr > a > span {
    font-size: 0;
    position: relative;
    display: inline-block; /* or flex if needed */
    padding: 0; /* Remove any weird theme padding */
    margin: 0 5px 0 0; /* Adjust spacing as you like */
}

.lang-item-fr > a > span::before {
    content: 'Fr /';
    font-size: 16px;
    position: static;
}

/* Farsi */
.lang-item-fa > a > span {
    font-size: 0;
    position: relative;
    display: inline-block;
    padding: 0;
    margin: 0 5px 0 0;
}

.lang-item-fa > a > span::before {
    content: 'فا';
    font-size: 18px;
    position: static;
}

#menu-menu-persan .lang-item-fa > a > span::before {
    content: '/ فا';
}

#menu-menu-persan .lang-item-fr > a > span::before {
    content: 'Fr';
}

/* Hide plus only in the language switcher items */
.lang-item-fr .plus,
.lang-item-fa .plus {
    display: none !important;
}

/* For RTL (Farsi) */
html[dir="rtl"] .qode_parallax_layers_holder {
    left: auto;
    right: -5%;
}

html[lang="fa"] .footer_top a {
    margin-right: 10px;
}

.discipline-button-wrapper {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
  z-index: 1;
}

.discipline-button-wrapper .discipline-tag {
  flex: 0 1 auto; /* ou width: auto */
  white-space: nowrap; /* évite le retour à la ligne dans un bouton */
}

.choices-button-wrapper {
    position: relative;
    overflow: visible !important; /* KEY */
    z-index: 5;
}

.choices {
    position: relative;
    overflow: visible !important; /* VERY IMPORTANT */
}

.choices__list--dropdown {
    position: absolute !important;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: 4px;
    z-index: 999 !important;  /* Bump it up more */
}

.footer-links li::before {
    margin-left: 10px !important;
}

.page-id-15985 .qode_parallax_layers 
{
    height: 450px !important;
}

.page-id-15985 .qode_parallax_layers .container_inner img
{
    position: relative;
    top: -20px;
}


/*.title_without_animation
{
    padding-top: 100px;
}*/

.decoration-square
{
    width: 30px;
    float: left;
    margin-right: 20px;
}

.subtitle-article-interne .sustitle-article-h2
{
    position: relative;
    top: -30px;
}

.single-post header.sticky .header_bottom {
    background-color: #e2d3c5 !important;
}

/*.elementor-kit-8 button, .elementor-kit-8 input[type="button"], .elementor-kit-8 input[type="submit"], .elementor-kit-8 .elementor-button {
    background-color: var(--e-global-color-text);
    color: var(--e-global-color-accent);
    border-style: none !important;
    border-radius: inherit !important;
}*/

#text-intro-form-collaborer .wpb_wrapper p
{
    padding: 40px;
}


#header-article .full_section_inner
{
    width: 88%;
    margin: auto;
}

.single-post .qode-btn.qode-btn-solid,
.event-template-default .qode-btn.qode-btn-solid {
    border: none;
    background-color: #0000ff;
    color: white;
    font-weight: 800;
}

#dates-article p
{
    font-size: 2rem;
}

/*.elementor-kit-8 button:hover, .elementor-kit-8 button:focus, .elementor-kit-8 input[type="button"]:hover, .elementor-kit-8 input[type="button"]:focus, .elementor-kit-8 input[type="submit"]:hover, .elementor-kit-8 input[type="submit"]:focus, .elementor-kit-8 .elementor-button:hover, .elementor-kit-8 .elementor-button:focus {
    border-style: groove;
}*/

.elementor-kit-8 button:hover {
    border: none; 
}

#header-article p
{
    font-size: 1.8rem;
}

.page-id-16457 .qode_parallax_layers 
{
    height: 450px !important;
}

.page-id-16566 .qode-tab-title-inner, .page-id-16457 .qode-tab-title-inner
{
    text-align: right !important;
    padding-right: 30px !important;
}

.page-id-16566 .qode-accordion-content-inner, .page-id-16457 .qode-accordion-content-inner
{
    text-align: right !important;
}



/********Slider********/

.carousel.full_screen {
    height: inherit;
}

.carousel-inner.skrollable
{
    display: block !important;
}

.page-id-16751 .container_inner
{
    width: 100%;
}

.page-id-16751 .parallax_section_holder .parallax_section_inner_margin 
{
    width: 1100px;
    margin: auto;
    color: black;
    padding: 40px;
}


.page-id-16764 .container_inner
{
    width: 100%;
}

.page-id-16751 .title_holder .container_inner
{
    width: 1045px;
}

.page-id-16751
{
    background-color: #d8e3de;
}

#text-intro-zadig, #bloc-text-zadig p
{
    color: #0000ff;
}

.qode-accordion-holder
{
    margin-bottom: 30px;
}

#accordeon-home .qode-accordion-holder:nth-of-type(2) .qode-title-holder {
    border-top: 20px solid #DC143C !important;
}

#accordeon-home .qode-accordion-holder:nth-of-type(3) .qode-title-holder {
    border-top: 20px solid #c09632 !important;
}

#accordeon-home .qode-accordion-holder:nth-of-type(3) .qode-accordion-mark::before {
    background: linear-gradient(to top right, white 50%, #c09632 50%);
}



#text-bloc2 .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #c09632 50%);
}

#accordeon-home .qode-accordion-holder:nth-of-type(4) .qode-title-holder {
    border-top: 20px solid #2e5961 !important;
}

#accordeon-home .qode-accordion-holder:nth-of-type(4) .qode-accordion-mark::before {
    background: linear-gradient(to top right, white 50%, #2e5961 50%);
}



#logo-banner-auto img
{
    width: 250px;
}

.flexslider, .portfolio_slider {
    margin: inherit;
}


#bandeau-logos-partenaires
{
    margin: 20px 0px !important;
}


/******Test logos elementor********/

.elementor-element-4ed2c34b .qode_clients.four_columns .qode_client_holder {
    width: 25%;
    margin-top: 30px;
    margin-bottom: 30px;
}

.elementor-element-4ed2c34b .qode_clients.four_columns .qode_client_holder img
{
    width: 200px;
    height: auto;
    margin: auto;
}


header.fixed.scrolled .header_bottom, header.fixed.scrolled .header_top, header.fixed_hiding.scrolled .header_bottom, header.fixed_hiding.scrolled .header_top {
    background-color: #EFE7D8 !important;
}

/*.header_top_bottom_holder
{
    /*border-bottom: 1px solid white;*/
   /* background-color: #ece4d6 !important;
}*/




/* Menu principal */



/* 2. Le texte de titre reste en dessous du menu */
.title-text-wrapper {
  position: relative;
  z-index: 1; /* en-dessous du menu */
  pointer-events: none;
}

/* 3. Seul le SVG décoratif passe au-dessus du menu */
.custom-title-with-logo svg {
  position: relative;
  z-index: 1100; /* supérieur au menu (qui est à 1000) */
  pointer-events: none; /* ne bloque aucun clic */
}

/* 4. Le lien du logo reste cliquable */
.logo-link {
  pointer-events: auto;
  display: none;
}


/* 5. Le menu principal reste sur un plan correct */
.page_header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

/* 6. Le sous-menu passe au-dessus de tout */
/*.page_header .second {
  position: absolute;
  z-index: 1200;
}*/


/*******Test logo*******/

/*******Try parallax *********/

.page-id-16953, .page-id-17248
{
    background-color: #ece4d6;
}

.page-id-17248
{
    background-color: #ece4d6;
}

.page-id-16953 .container_inner
{
    width: 100%;
}

.forme-back img,
.forme-front img {
  position: absolute;
  will-change: transform;
  pointer-events: none;
}

.bloc-texte {
  padding-left: 40px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}


/* Forme transparente positionnée légèrement en arrière */

.section-1 .forme-back {
  z-index: 1;
  top: -150px;
  left: 330px;
}

/* Forme colorée par-dessus */
.section-1 .forme-front {
  top: -220px;
  left: 200px;
  z-index: 2;
  width: 450px;
}

.section-1 .forme-front img
{
    width: 400px;
}

.section-1 .forme-back img
{
    width: 350px;
    height: 650px;
}

.section-2 .forme-back {
  z-index: 1;
  top: -120px;
}

.section-2 .forme-front {
  width: 800px;
  z-index: 2;
}

.section-2 .forme-back img
{
    width: 500px;
}

.section-2 .forme-front img
{
    width: 400px;
}

.section-3 .forme-back {
  z-index: 1;
  top: -120px;
}

.section-3 .forme-front {
  width: 800px;
  left: 400px;
  z-index: 2;
}

.section-3 .forme-front img
{
    width: 400px;
}

.section-3 .forme-back img
{
    width: 500px;
    opacity: 0.4;
}



/*@media screen and (min-width: 769px) {

    .logo_wrapper
    {
        height: 200px;
        height: inherit;
    }

    .home .logo_wrapper
    {
        margin-left: 110px;
    }

    .q_logo
    {
        height: 90px;
        top: 27%;
        left: 0;
    }

    .q_logo a {
        max-height: 200px;
        height: 200px !important;
    }


    .q_logo img {
        opacity: 1;
        position:inherit;
        top: inherit;
        width: auto!important;
        max-width: none;
        -webkit-transition: opacity .6s ease-in-out;
        transition: opacity .6s ease-in-out
    }

    .title_subtitle_holder .logo-link
    {
        visibility: hidden;
    }


    /* 1. Le container global ne bloque pas les clics */
   /* .title_outer {
      position: relative;
      pointer-events: none;
      z-index: auto;
      margin-top: 25px;
    }


    .logo_wrapper {
      height: 100px;
      transition: height 0.3s ease;
    }
    .logo_wrapper.shrink {
      height: 50px;
    }

    .q_logo img {
      height: 100%;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .logo_wrapper.shrink .q_logo img {
      transform: scale(0.3);
      opacity: 0.9;
    }

    .shrink .q_logo {
        height: 90px;
        top: -15%;
    }

    .shrink .q_logo a {
        position: relative;
        top: -25px;
    }

}


@media screen and (max-width: 768px) {
    .logo_wrapper.shrink
    {
        position: relative;
        top: -5px;
    }

    .mobile_menu
    {
        margin: -20px;
        padding: 20px;
        margin-top: -10px;
    }
}

.q_logo .sticky
{
    display: none !important;
}
/*.shrink .q_logo a
{
    visibility: hidden !important;
}*/

/********Collaborer 2 *********/

body.page-id-16993
{
    background-color: #d8e3de;
}


#logo-banner img
{
    width: 180px;
}

#logo-banner  .qode_client_holder_inner
{
    padding: 30px;
}

.qode_clients .qode_client_holder_inner:before {
    border-right: inherit;
}


/********doctorat 2***********/


.post-17116 .section-article {
  width: 80%;
  margin: 0 auto; /* centers horizontally */
  background-color: #d2b07a;
  box-sizing: border-box;
  padding: 40px 20px; /* inner padding if needed */
}

.post-17116 .single-post .full_section_inner {
  padding: 100px 40px 200px 40px; /* top, right, bottom, left */
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

/*.elementor-kit-8 button,
.elementor-kit-8 input[type="button"],
.elementor-kit-8 input[type="submit"],
.elementor-kit-8 .elementor-button {
  border-style: groove !important;
}*/

.page-id-16953  h2
{
    color: white;
}

.date-article
{
    color: white;
}


/******Test deisgn 1***********/

.page-id-17145, .page-id-17172, .page-id-17226, .page-id-17264
{
    background-color: #d8e3de;
}

.page-id-17145 h2
{
    color: white;
}

/* === SECTION GLOBALE === */
.villa-section.pink {
  background-color: #ffdcd5;
  padding: 30px;
}

/* === SECTION GLOBALE === */
.villa-section.red{
  background-color: #c83041;
  padding: 30px;
}

.villa-section.yellow{
  background-color: #bf9732;
  padding: 30px;
}

/* === CONTENEUR FLEXIBLE === */
.villa-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* === IMAGE + ARCHE === */
.villa-image-wrapper {
  position: relative;
  flex: 1 1 33.33%;
  max-width: calc(33.33% - 20px); /* - moitié du gap */
  overflow: hidden;
}

.villa-img {
  width: 100%;
  display: block;
  height: auto;
}

.arche-overlay.inside {
  position: absolute;
  width: 53%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;
}

/* === BLOC TEXTE === */
.villa-text-block {
  flex: 2 1 66.66%;
  max-width: calc(66.66% - 20px); /* - moitié du gap */
  background-color: #f5d1c6;
  padding: 50px 30px;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

.villa-section.red .villa-text-block{
  background-color: #de4b5b;
}

.villa-section.yellow .villa-text-block{
  background-color: #cca84e;
}


.villa-text-block h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  color: white;
}

.villa-text-block p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

.icon-img {
  width: 20px;
  height: 20px;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .villa-container {
    flex-direction: column;
    gap: 30px;
  }

  .villa-image-wrapper,
  .villa-text-block {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .villa-text-block {
    padding: 30px 20px;
    text-align: center;
  }

  .villa-text-block h2 {
    justify-content: center;
  }
}


.villa-section {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

.villa-section.in-view {
  opacity: 1;
  transform: translateY(0);
}



/***********Design 2 ************/


.villa-section {
  position: relative;
  padding: 0;
}

.villa-overlay {
  position: relative;
  color: white;
  padding: 60px;
}

.villa-overlay.red::before,
.villa-overlay.teal::before,
.villa-overlay.yellow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
  opacity: 0.8;
}

.villa-overlay.red::before {
  background-color: #b00020;
}

.villa-overlay.teal::before {
  background-color: #00695c;
}

.villa-overlay.yellow::before {
  background-color: #f9a825;
}

.villa-content {
  position: relative;
  z-index: 2;
  max-width: 60%;
}

.villa-label {
  position: absolute;
  font-weight: bold;
  font-size: 1.4em;
  z-index: 2;
}

.villa-overlay.red .villa-label {
  bottom: 30px;
  left: 30px;
}

.villa-overlay.teal .villa-label {
  bottom: 30px;
  right: 30px;
}

.villa-overlay.yellow .villa-label {
  top: 30px;
  left: 30px;
}


/*#villa-bloc-01, #villa-bloc-02, #villa-bloc-03
{
    background-color: rgba(33, 96, 97, 0.7); /* #216061 avec une opacité de 0.7 */
    /*padding: 60px 30px;
    margin-bottom: 50px;
}

.page-id-17248 #villa-bloc-01, .page-id-17248 #villa-bloc-02, .page-id-17248 #villa-bloc-03
{
    background-color: rgba(220, 20, 60, 0.7); /* #216061 avec une opacité de 0.7 */
    /*padding: 60px 30px;
    margin-bottom: 50px;
}*/



.page-id-16751 .qode-accordion-holder .qode-title-holder:nth-child(1) {
   border-top: 20px solid #FE5930 !important;
}

.page-id-16751 .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%);
}

.date-article
{
    font-size: 20px;
}

.blog_single.blog_holder h1 {
    font-size: 3.5rem;
    color: #0000ff;
}

.page-id-17264 .villa-image-wrapper-test .arche-overlay.inside
{
    width: 25%;
    top: 25%;
}

.page-id-17264 .villa-text-block {
    flex: inherit;
    max-width: 100%;
    background-color: #f5d1c6;
    padding: 50px 30px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
}

.page-id-17264 .villa-section.pink .arche-overlay, .page-id-17264 .villa-section.yellow .arche-overlay
{
    width: 35%;
    top: 30%;
}

.footer_top, .footer_top.footer_top_full {
    padding-top: 30px;
    padding-bottom: 50px;
    padding: 30px;
}


.footer_inner img
{
    max-width: 100%;
}

@media only screen and (max-width: 768px) {
    .page-id-15985 .title-text-wrapper, .page-id-16457 .title-text-wrapper
    {
        top: 0px;
    }

    .title.title_size_small h1 {
        font-size: 3.5rem;
        line-height: 50px;
        max-width: 100%;
    }

    #wpcf7-f15811-p14-o1 form
    {
        padding: 20px;
    }


    /*.mobile-header-appear .mobile_menu
    {
        padding: 30px;
        margin-left: -25px;
        margin-top: -10px;
        padding-bottom: 0px;
    }*/

    /*nav.mobile_menu > ul > li > a > span {
        color: #ffffff;
    }*/

    /*nav.mobile_menu ul li span.mobile_arrow i, nav.mobile_menu ul li span.mobile_arrow i {
        color: blue;
    }

    .mobile-menu
    {
        border-bottom: 5px solid #E2D3C5;
    }*/

    #logo-partenaires p
    {
        font-size: 1.4rem;
    }
}


.title_without_animation .title {
    z-index: 100;
}

.choices {
  position: relative;
  z-index: 1;
  overflow: visible !important;
}


.choices__list--dropdown {
  position: absolute !important;
  z-index: 110 !important;
  background-color: white !important; /* Pour éviter qu'il soit transparent */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); /* optionnel : petit effet visuel */
}

/********Spinner*******/

#spinner {
  position: absolute;
  inset: 0; /* occupe toute la surface du wrapper */
  background: rgba(255, 255, 255, 0.2); /* blanc semi-transparent */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#spinner.active {
  visibility: visible;
  opacity: 1;
}

.loader {
  border: 6px solid #f3f3f3;
  border-top: 6px solid #000;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/***********Fix menu mobile Tjrs fixed ***********/

.scroll_header_top_area.fixed
{
    position: fixed !important;
}

@media (max-width: 1000px) {

    body.page-id-15985 header.page_header, body.page-id-16457 header.page_header {
            background-color: #ece4d6 !important;
        }
    }

    .mobile_menu a
    {
        color: #0000ff;
        text-transform: inherit;
    }
}





/*********Essai menu avec fond qui change de couleur lors du hover******************/

/*header.page_header {
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 2s ease;
  z-index: 9;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

header.page_header:hover,
#menu-menu-principale > li:hover {
  background-color: #ece4d6;
}

.header_inner {
  position: relative;
  z-index: 2;
}

#menu-menu-principale > li a::before {
  content: "";
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 80%;
  height: 3px;
  /*background: linear-gradient(to right, #0000ff, #a12436, #aa8612, #3ad7d4);*/
  /*transition: transform 0.4s ease;
  transform-origin: center;
  border-radius: 2px;
}

/* 1er li */
/*#menu-menu-principale > li:nth-child(1) > a::before {
  background: #0000ff;
}

/* 2ème li */
/*#menu-menu-principale > li:nth-child(2) > a::before {
  background: #FE5930;
}

/* 3ème li */
/*#menu-menu-principale > li:nth-child(3) > a::before {
  background: #a2263d;
}

/* 4ème li */
/*#menu-menu-principale > li:nth-child(4) > a::before {
  background: #275a5d;
}


#menu-menu-principale > li:hover > a:hover::before {
  transform: translateX(-50%) scaleX(1);
}

/************* MENU DÉROULANT : .second *************/
/*header.page_header .second {
  position: fixed;
  top: 100%;
  left: 0;
  width: 100vw;
  height: auto;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

header.page_header li:hover > .second,
header.page_header .second:hover {
  opacity: 1;
  pointer-events: auto;
}

/* fond dynamique */
/*header.page_header .second::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: #dae5e0;
  z-index: -1;
  pointer-events: none;
  transition: background-color 0.3s ease;
}

/************* VARIATIONS DE COULEUR PAR ONGLET *************/
/*#menu-menu-principale > li.onglet-villa:hover > .second::before {
  background-color: #0000ff;
}
#menu-menu-principale > li.onglet-france:hover > .second::before {
  background-color: #ef6c3c;
}
#menu-menu-principale > li.onglet-appels:hover > .second::before {
  background-color: #a12436;
}
#menu-menu-principale > li.onglet-depart:hover > .second::before {
  background-color: #165B63;
}

/************* CONTENU DU SOUS-MENU *************/
/*header.page_header .second .inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 40px 60px;
  background: transparent;
  z-index: 1;
  width: max-content;
  max-width: 90vw;
  box-sizing: border-box;
  flex-wrap: wrap;
}

/* centrage dynamique sous onglet survolé */
/*#menu-menu-principale > li {
  position: relative;
}

/* liste */
/*header.page_header .second ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: contents;
}

/* éléments */
/*header.page_header .second li {
  flex: 1 1 220px;
  min-width: 200px;
}

header.page_header .second a {
  display: block;
  font-weight: 600;
  text-decoration: none;
  color: white;
  font-size: 16px;
  padding: 10px 0;
  position: relative;
  transition: all 0.3s ease;
}

header.page_header .second a:hover {
  color: white;
  padding-left: 12px;
  border-radius: 4px;
}

.drop_down .second .inner > ul > li > a {
  font-size: 18px;
}


header.page_header .second a span.plus {
  display: none;
}

/************* MISE EN FORME ANNEXE *************/
/*#menu-menu-principale .second li a::before {
  bottom: 0px;
}

header.page_header .second .inner::before {
  content: "";
  position: relative;
  top: 0;
  margin-right: 20px;
  width: 5px;
  height: 100%;
  background: linear-gradient(to bottom, white);
  z-index: 0;
}

li.narrow .second .inner ul {
  padding: 0px;
}

header .drop_down .second {
  top: initial;
}

/* Valeurs à ajuster selon la largeur de ton menu */

/*#menu-menu-principale > li.onglet-villa:hover > .second .inner {
  padding-left: 190px;
}

#menu-menu-principale > li.onglet-france:hover > .second .inner {
  padding-left: 360px;
}

#menu-menu-principale > li.onglet-appels:hover > .second .inner {
  padding-left: 570px;
}

#menu-menu-principale > li.onglet-depart:hover > .second .inner {
  padding-left: 820px;
}


.drop_down .narrow .second .inner ul li a:hover > span:not(.plus)
{
    color: #FFDACF;
}



.drop_down li.onglet-villa .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #D5EBF7;
}

.drop_down li.onglet-villa .second .inner ul li:hover a > span:not(.plus)
{
    color: #D5EBF7;
}


.drop_down li.onglet-france .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #EFE7D8;
}

.drop_down li.onglet-france .second .inner ul li:hover a > span:not(.plus)
{
    color: #EFE7D8;
}


.drop_down li.onglet-appels .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #ffd8cd;
}

.drop_down li.onglet-appels .second .inner ul li:hover a > span:not(.plus)
{
    color: #ffd8cd;
}


.drop_down li.onglet-depart .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #DAE5E0;
}

.drop_down li.onglet-depart .second .inner ul li:hover a > span:not(.plus)
{
    color: #DAE5E0;
}*/



/************* .second : le conteneur beige *************/


/*header.page_header .second {
  position: fixed;
  top: 100%;
  left: 0;
  width: 100vw;
  background-color: #ece4d6; /* beige ici */
  /*z-index: 999;
  pointer-events: none;
  position: relative;
overflow: hidden; /* pour éviter débordement */
/*opacity: 0;
  pointer-events: none;
}

/* Affichage du menu au hover */
/*header.page_header li:hover > .second,
header.page_header .second:hover {
  opacity: 1;
  pointer-events: auto;
}*/

/************* Supprimer l'ancien fond coloré global *************/

/*header.page_header .second .inner {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;

  padding: 40px 50px; /* réduit */
  /*margin: 0 auto;

  background-color: transparent;
  background-clip: padding-box;

  width: auto;
  max-width: 90vw;
  box-sizing: border-box;

  word-break: break-word;
  overflow-wrap: break-word;
}*/


header.page_header .second a {
  white-space: normal;
  word-wrap: break-word;
}

/* Couleurs dynamiques selon l'onglet */
#menu-menu-principale > li.onglet-villa:hover > .second {
  background-color: #0000ff;
}
#menu-menu-principale > li.onglet-france:hover > .second {
  background-color: #ef6c3c;
}
#menu-menu-principale > li.onglet-appels:hover > .second {
  background-color: #a12436;
}
#menu-menu-principale > li.onglet-depart:hover > .second {
  background-color: #165B63;
}


/************* Liste et liens *************/
header.page_header .second ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: contents;
}

header.page_header .second li {
  flex: 1 1 220px;
  min-width: 200px;
}

header.page_header .second a {
  display: block;
  font-weight: 600;
  text-decoration: none;
  color: white;
  font-size: 16px;
  padding: 10px 0;
  position: relative;
  /*transition: all 0.3s ease;*/
}

header.page_header .second a:hover {
  color: white;
  padding-left: 12px;
  border-radius: 4px;
}

header.page_header .second .inner {
  padding: 40px 60px;
  /* au lieu de 40px 50px */
}


/************* Décoration interne désactivée *************/
/*header.page_header .second .inner::before {
  content: none;
}*/

/* Remettre le fond beige du header au hover */
header.page_header, header.page_header:hover{
  background-color: #ece4d6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.drop_down .narrow .second .inner ul li a
{
    padding: 5px 0px;
}

li.narrow .second .inner ul
{
    padding: 0px;
}


.drop_down li.onglet-villa .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #D5EBF7;
}

.drop_down li.onglet-villa .second .inner ul li:hover a > span:not(.plus)
{
    color: #D5EBF7;
}


.drop_down li.onglet-france .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #EFE7D8;
}

.drop_down li.onglet-france .second .inner ul li:hover a > span:not(.plus)
{
    color: #EFE7D8;
}


.drop_down li.onglet-appels .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #ffd8cd;
}

.drop_down li.onglet-appels .second .inner ul li:hover a > span:not(.plus)
{
    color: #ffd8cd;
}


.drop_down li.onglet-depart .second .inner ul li.current-menu-item a > span:not(.plus)
{
    color: #DAE5E0;
}

.drop_down li.onglet-depart .second .inner ul li:hover a > span:not(.plus)
{
    color: #DAE5E0;
}

/* État par défaut du sous-menu */
/*header.page_header .second {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, background-color 0.2s ease-in-out;
}*/

/* Affichage du menu au hover */
/*header.page_header li:hover > .second,
header.page_header .second:hover {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  /*transition-delay: 0s, 0s, 0s;*/
/*}*/

/* Effet smooth sur l’apparition du fond lors du hover */
/*#menu-menu-principale > li.onglet-villa > .second,
#menu-menu-principale > li.onglet-france > .second,
#menu-menu-principale > li.onglet-appels > .second,
#menu-menu-principale > li.onglet-depart > .second {
  transition: background-color 0.4s ease-in-out;
}*/

/* Transition fluide du fond beige du menu principal */
/*header.page_header {
  transition: background-color 0.4s ease-in-out, border-bottom 0.3s ease-in-out;
}

header.page_header:hover {
  background-color: #ece4d6;
  /*border-bottom: 3px solid rgba(212, 180, 131, 0.5);*/
/*}*/

/*header.page_header {
    background-color: transparent;
    /*border-bottom: 3px solid transparent;*/
    /*transition: background-color 0.3s ease, border-bottom-color 0.3s ease;
    outline: none;
}*/

header.page_header:hover {
    background-color: #ece4d6;
}


/********Bourse interne*********/

.post_info
{
    display: none !important;
}

.single-post, .event-template-default
{
    background-color: #dae3de;
}

body
{
    font-size: 1.2rem;
    color: black;
}

ul, ol {
    padding-left: inherit;
    margin-top: 10px;
}

.single-post p,
.event-template-default p
{
    color: black;
    font-size: 1.2rem !important;
}

.single-post .entry_title,
.event-template-default .entry_title
{
    display: none !important;
}

.blog_holder.blog_single article h2,
.event-template-default h2
 {
  font-size: 2.2rem;
}

.post_info
{
    display: none !important;
}

.single-post .section-red h2 {
  color: #d92545 !important;
}
/* Règles communes à tous les .separator */
.separator {
  height: 15px;
  margin: 15px 0 20px;
}

/* Règles communes aux titres */
.section h2 {
  font-weight: bold;
}

/* Couleurs dynamiques par section via variables CSS */
.section-red {
  --accent-color: #d92545;
}

.section-red strong {
  color: #d92545;
}

/* Couleurs dynamiques par section via variables CSS */
.section-cerise {
  --accent-color: #d92545;
}

.section-cerise strong {
  color: #d92545;
}

.section-gold {
  --accent-color: #c19700;
}

.section-gold strong{
  color: #c19700;
}

.section-orange {
  --accent-color: #ef6c3c;
}
.section-orange strong
{
    color: #ef6c3c;
}
.section-green {
  --accent-color: #2d525b;
}

.section-green strong
{
    color: #2d525b;
}

.section-bordeaux {
  --accent-color: #a2263d;
}

.section-bordeaux strong
{
    color: #a2263d;
}

.section-beige {
  --accent-color: #e6b87d;
}

.section-beige strong
{
    color: #e6b87d;
}

.section-green {
  --accent-color: #165B63;
}

.section-green strong
{
    color: #165B63;
}

.section-turquoise {
  --accent-color: #40E0D0;
}

.section-turquoise strong
{
    color: #40E0D0;
}

.section-safran {
  --accent-color: #C99700;
}

.section-safran strong
{
    color: #C99700;
}

.section-blue
{
    --accent-color: #0000ff;
}

.section-blue strong
{
    color: #0000ff;
}


/* Application des couleurs */
.section h2 {
  color: var(--accent-color) !important;
}

.section .separator {
  background-color: var(--accent-color);
}

/* Texte */
.section-text {
  color: #0020aa;
  font-size: 16px;
  line-height: 1.7em;
}

/*.title_holder
{
    margin-top: 30px;
    margin-left: -30px;
}*/

/****Specifique pr la homepage*******/


/*.page-id-15985 .title_holder
{
    margin-left: -50px;
}*/


/* CHIPS FILTERS */
.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.chip {
  background: #f0e6d6;
  color: #333;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  cursor: default;
}
.chip span {
  margin-left: 8px;
  cursor: pointer;
  font-weight: bold;
}
.chip.reset {
  background: #ffdddd;
  color: #b40000;
}
/* CHIPS FILTERS */

.single-post a:hover{
    color: #ff0000;
    font-weight: 800;
}

body.single-post {
    color: #0000ff;
    font-size: 1.2rem;
}



/*******Apprendre le français en france*********/

/*.page-id-16 .content p, 
.page-id-18 .content p,
.page-id-20 .content p
{
    color: #FE5930 !important;
}

.page-id-16 .content strong, .page-id-16 .content b, 
.page-id-18 .content strong, .page-id-18 .content b,
.page-id-20 .content strong, .page-id-20 .content b
{
    color: #FE5930 !important;
}*/

/*.page-id-16 .content p a, .page-id-16 .content a, .page-id-16 .content li a
.page-id-18 .content p a, .page-id-18 .content a, .page-id-18 .content li a,
.page-id-20 .content p a, .page-id-20 .content a, .page-id-20 .content li a {
    color: #0000ff;
    color: #FE5930;
    text-decoration: underline;
}*/

.page-id-16 .content ul, .page-id-16 .content li,
.page-id-18 .content ul, .page-id-18 .content li,
.page-id-20 .content ul, .page-id-20 .content li
{
    font-size: 1.2rem;
}

.content li
{
    margin-bottom: 10px;
}

ul, ol
{
    padding-left: 60px;
}

.qode-accordion-holder {
    margin-bottom: 30px;
    margin-top: 15px;
}

/*.custom-title-with-logo
{
    margin-top: 100px;
    margin-bottom: 30px;
}*/

.page-id-16 h2, .page-id-16 h2 span,
.page-id-18 h2, .page-id-18 h2 span,
.page-id-20 h2, .page-id-20 h2 span
{
    color: white;
    font-weight: 800 !important;
    margin-bottom: 10px;
    font-size: 2.2rem;
    margin-bottom: 15px !important;
}

.page-id-16 .qbutton, a.qbutton.default,
.page-id-18 .qbutton, a.qbutton.default,
.page-id-20 .qbutton, a.qbutton.default {
    font-size: 1.4rem;
    text-decoration: none;
}


/*.section-cerise h2, .section-cerise h2 span
{
    color: #DC143C !important;
}

.section-cerise p
{
    color: #0000ff;
}

.section-cerise p, .section-cerise ul, .section-cerise li
{
    color: #0000ff;
}


.section-gold h2, .section-gold h2 span
{
    color: #c19700 !important;
}

.section-gold p, .section-gold ul, .section-gold li
{
    color: #0000ff;
}


.section-blue h2, .section-blue h2 span
{
    color: #0000ff !important;
}

.section-blue p, .section-blue ul, .section-blue li
{
    color: #0000ff;
}*/


#accordeon-home
{
    opacity: 0.9;
}

#menu-menu-principale a
{
    text-transform: inherit;
}




/*********Code John************/


/* NO MORE CHOICES */


    .filters-container {
      /*max-width: 800px;*/
      margin: 0 auto;
    }

    .filter-buttons {
      display: flex;
      gap: 12px;
      margin-bottom: 20px;
      flex-wrap: wrap;
    }

    .dropdown {
      flex: 1 1 30%;
      min-width: 200px;
      position: relative; /* ← ajoute cette ligne */
    }

.dropdown-toggle {
  position: relative;
  background: linear-gradient(135deg, #d31445, #c28a00);
  color: white;
  padding: 10px 16px;
  font-weight: bold;
  font-size: 16px;
  border: none;
  width: 100%;
  text-align: center;
  cursor: pointer;

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

.dropdown-toggle:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.dropdown-toggle:active {
  transform: scale(0.97);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}


.btn-1, .btn-3 {
  position: relative;
  background: transparent;
  color: white;
  font-weight: bold;
  font-size: 18px;
  padding: 14px 0px;
  width: 100%;
  text-align: center;
  border: none;
  cursor: pointer;
  overflow: hidden;
}

.btn-1::before, .btn-3::before {
  content: '';
  position: absolute;
  inset: 0;
  /*background-color: #d31445;*/
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 0; /* met à 0 pour laisser le texte passer au-dessus */
}

.btn-1::after, .btn-3::after {
  content: '';
  position: absolute;
  inset: 0;
  /*background-color: #c28a00;*/
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  z-index: 0;
}

.btn-1, .btn-3
{
    background-color: #d31445;
}

/* Texte bien visible au-dessus des calques */
.btn-1 span, .btn-3 span {
  position: relative;
  z-index: 1;
}

.btn-2 {
  position: relative;
  background: #0000dd;
  color: white;
  font-weight: bold;
  font-size: 18px;
  padding: 14px 0px;
  width: 100%;
  text-align: center;
  border: none;
  cursor: pointer;
  overflow: hidden;
}

/* Pour le texte centré comme les autres */
.btn-2 span {
  position: relative;
  z-index: 1;
}



    @media (max-width: 768px) {
      .filter-buttons {
        flex-direction: column;
        gap: 16px;
      }

      .dropdown {
        flex: 1 1 100%;
        min-width: unset;
        position: relative; /* ← aussi ici si tu le redéclares */
      }
    }

    .dropdown-menu {
      display: none;
      position: absolute;
      top: 110%;
      left: 0;
      background: white;
      border: 1px solid #ccc;
      padding: 10px;
      min-width: 200px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      z-index: 5;
      background-color: #0000ff;
      color: white;
    }

    .dropdown.open .dropdown-menu {
      display: block;
    }

    .dropdown-menu label {
      display: block;
      margin: 5px 0;
      cursor: pointer;
      font-weight: 800;
    }

    .active-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 20px;
    }

    .active-filters .chip {
      background: #f0e6d6;
      color: #333;
      padding: 6px 12px;
      display: flex;
      align-items: center;
      font-size: 14px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .active-filters .chip span {
      margin-left: 8px;
      cursor: pointer;
      font-weight: bold;
    }

    .reset-container {
      text-align: center;
      margin-bottom: 20px;
    }

    #reset-filters {
      background: #444;
      color: white;
      padding: 8px 16px;
      border: none;
      cursor: pointer;
      font-size: 14px;
      transition: background 0.3s;
    }

    #reset-filters:hover {
      background: #222;
    }

    .hidden {
      display: none !important;
    }

    .chip.reset {
      background: #ffdddd;
      color: #b40000;
      font-weight: bold;
      transition: background 0.3s ease;
    }

    .chip.reset:hover {
      background: #ffcccc;
    }

    #raindrop-results {
      margin-top: 30px;
      transition: margin-top 0.3s ease;
    }

    .discipline-button-wrapper {
      margin-top: 20px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      position: relative;
      z-index: 1;
      margin-bottom: 20px;
    }

    .discipline-button-wrapper .discipline-tag {
      flex: 0 1 auto; /* ou width: auto */
      white-space: nowrap; /* évite le retour à la ligne dans un bouton */
    }

    
.custom-button-tag {
  position: relative;
  background-color: #d2b281;
  color: #0000ff;
  padding: 0px 15px;
  font-size: 16px;
  font-weight: bold;
  border: none;
  clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0% calc(100% - 10px), 0% 10px);
  text-align: center;
  z-index: 2;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  cursor: pointer;

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

.custom-button-tag:hover {
  background-color: #0000ff;
  color: #f3d6cf;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.custom-button-tag:active {
  transform: scale(0.97);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.custom-button-tag.active {
  background-color: #0000ff;
  color: white;
}




@media (max-width: 768px) {

  /* Filtres actifs : chips scrollables */
  .active-filters {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    flex-wrap: nowrap;
    gap: 8px;
    padding-bottom: 10px;
    scroll-behavior: smooth;
  }

  .active-filters .chip {
    flex: 0 0 auto;
    font-size: 13px;
    padding: 5px 10px;
  }

  /* Boutons de discipline scrollables */
  .discipline-button-wrapper {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    flex-wrap: nowrap;
    gap: 8px;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
    scroll-padding: 10px;
  }

  .discipline-button-wrapper .discipline-tag {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  /* Apparence compacte des boutons */
  .custom-button-tag {
    padding: 6px 12px;
    font-size: 14px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }

  /* Dropdowns + discipline unifiés */
  .dropdown-toggle,
  .discipline-tag.custom-button-tag {
    font-size: 14px;
    /*padding: 10px 12px;*/
  }

  .dropdown-toggle {
    /*padding: 10px;*/
    font-size: 15px;
  }

  .discipline-tag.custom-button-tag {
      font-size: 14px;
      padding: 0px 12px;
  }
}

/* NO MORE CHOCIES END */





@media (max-width: 792px) {
    .filters-container .dropdown-toggle {
        max-width: 100%;
    }


    .page-id-15985 .title_subtitle_holder
    {
        top: inherit;
    }

    /*.mobile_menu
    {
       border-bottom: 1px solid #D4B483;
    }

    .nav.mobile_menu ul li > ul li a
    {
        color: inherit;
    }*/

    #logo-partenaires p {
        font-size: 1.2rem;
        line-height: 1.2rem;
    }

    nav.mobile_menu ul li a:hover, nav.mobile_menu ul li.active > a, nav.mobile_menu ul li.current-menu-item > a {
        color: inherit;
    }

    /*#mobile-menu-item-46 ul.sub_menu > li > a span
    {
        color: #FE5930 !important;
    }

    #mobile-menu-item-47 ul.sub_menu > li > a span
    {
        color: #a2263d !important;
    }

    #mobile-menu-item-47 ul.sub_menu > li > a span
    {
        color: #275a5d !important;
    }*/

}


/*@media (max-width: 792px) {
  .custom-title-with-logo {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important; /* espace entre logo et h1 */
  /*}

  .custom-title-with-logo img,
  .custom-title-with-logo svg {
    max-width: 300px !important;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .custom-title-with-logo h1 {
    font-size: 1.8rem;
    line-height: 1.2;
    text-align: center;
  }
}*/

/*#contact_bandeau
{
    border: 5px solid white;
}*/

.progress-bar-container
{
    display: none;
}


/*.container_inner, .elementor-container .elementor-widget-wrap>.qode_elementor_container_inner, .elementor-row .elementor-widget-wrap>.qode_elementor_container_inner, .qode_elementor_container_inner, div[data-element_type=container].qode_elementor_container_inner {
    width: 1100px;
    margin: 0 auto;
}*/

/*****Recaler les blocs visuellement*******/

/*.page-id-15985 .button-zadig-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}*/


.page-id-15985 .qode-accordion-holder,
.page-id-19976 .qode-accordion-holder{
    width: 1100px !important;
    max-width: 100%;
}


#logo-partenaires .full_section_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    gap: initial;
}


#logo-partenaires p {
    font-size: 2rem;
    margin: 0;
    border-left: 4px solid white;
    padding-left: 40px;
    color: white;
}


h2 {
    color: #DC143C !important;
    line-height: 2.8rem;
}


body p {
    color: black;
    font-weight: 500;
}

.qode-accordion-content, .accordion_content {
    color: black;
}

.qode-accordion-content a, .accordion_content a{
   text-decoration: underline;
   color: #0000ff;
}



.bloc-francais-cut {
  background-color: #f5f5f5; /* fond sobre et doux */
  color: #1c1c1c;
  padding: 3rem;
  margin: 3rem auto;
  max-width: 1000px;

  /* Coins à 45° façon étiquette */
  clip-path: polygon(
    16px 0%, calc(100% - 16px) 0%, 
    100% 16px, 100% calc(100% - 16px), 
    calc(100% - 16px) 100%, 16px 100%, 
    0% calc(100% - 16px), 0% 16px
  );
  -webkit-clip-path: polygon(
    16px 0%, calc(100% - 16px) 0%, 
    100% 16px, 100% calc(100% - 16px), 
    calc(100% - 16px) 100%, 16px 100%, 
    0% calc(100% - 16px), 0% 16px
  );

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}

.bloc-francais-cut h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #DC143C !important;
}

.bloc-francais-cut p {
  font-size: 1.1rem;
  line-height: 1.7;
  margin: 0;
  color: #2c2c2c;
  /*color: #0000ff;*/
}



/***********Menu mobile**************/

/* 1er item : La Villa Zadig — texte en bleu royal */
/*#mobile-menu-item-45 > a span {
  color: #0500f4 !important;
}*/

/* 2e item : Choisir la France — texte orange vif */
/*#mobile-menu-item-46 > a span {
  color: #FE5930 !important;
}*/

/* 3e item : Appels à candidatures — texte bordeaux */
/*#mobile-menu-item-47 > a span {
  color: #a2263d !important;
}*/


/* 4e item : Préparer son départ — texte vert foncé */
/*#mobile-menu-item-48 > a span {
  color: #275a5d !important;
}*/


/*#mobile-menu-item-45 ul.sub_menu > li > a span {
  color: #0000ff !important; /* même bleu royal */
/*}


#mobile-menu-item-45 ul.sub_menu > li.current-menu-item > a span {
  color: #0500f4; /* même bleu royal */
  /*font-weight: 800;
}


#mobile-menu-item-46 ul.sub_menu > li > a span {
  color: #FE5930; /* même orange vif */
/*}

#mobile-menu-item-46 ul.sub_menu > li.current-menu-item > a span {
  color: #FE5930; /* même bleu royal */
  /*font-weight: 800;
}


#mobile-menu-item-47 ul.sub_menu > li > a span {
  color: #a2263d; /* même bordeaux */
/*}

#mobile-menu-item-47 ul.sub_menu > li.current-menu-item > a span {
  color: #a2263d; /* même bleu royal */
  /*font-weight: 800;
}



#mobile-menu-item-48 ul.sub_menu > li > a span {
  color: #275a5d; /* même vert foncé */
/*}*/


/*#mobile-menu-item-48 ul.sub_menu > li.current-menu-item > a span {
  color: #275a5d; /* même bleu royal */
  /*font-weight: 800;
}*/


/* Met les deux liens de langue côte à côte */
.lang-item {
  display: inline-block;
  margin-right: 10px;
}

/* Conteneur des deux langues sur une ligne (correction ciblée) */
.lang-item.lang-item-fr::after {
  color: #702435;
  margin: 0 4px;
}

/* Couleur texte */
.lang-item > a span {
  color: #702435 !important;
}

/*nav.mobile_menu > ul > li.current-menu-item > a > span::after,
nav.mobile_menu > ul > li.current_page_item > a > span::after,
nav.mobile_menu > ul > li.current-menu-parent > a > span::after,
nav.mobile_menu > ul > li.current-menu-ancestor > a > span::after {
  display: none !important;
}

nav.mobile_menu ul li > ul li.active > a span,
nav.mobile_menu ul li > ul li.current-menu-item > a span {
  background: none !important;
  color: inherit !important;
}*/


/*@media only screen and (max-width: 1000px) {



    nav.mobile_menu>ul {

        padding-top: 30px;

    }

    .mobile_menu
    {
        position: relative;
        top: 0px;
    }

}*/



/*.q_logo
{
    display: none !important;
}*/

#filtersX
{
    margin-top: 50px;
}

/*.page-id-15985 .custom-title-with-logo
{
    top: 60px;
}*/

.related-events
{
    margin-bottom: 100px;
}

.button-cut-corners:hover
{
    color: #0000ff;
}


/*********Amélioration page d'accueil********/

.instagram-banner-link
{
    display: none;
}

.section h2.title-instagram {
  font-size: 2.2rem;
  font-weight: bold;
  color: white !important;
  padding-bottom: 0.2em;
  margin-bottom: 20px;
  text-align: center;
  text-decoration: none;
}

/* Stylise la ligne rouge comme un élément décoratif centré */
.section h2.title-instagram::after {
  content: "";
  display: block;
  width: 120px; /* largeur contrôlée de la bordure */
  height: 10px;
  background-color: #DC143C; /* rouge profond */
  margin: 10px auto 0; /* auto pour centrage */
  border-radius: 4px;
}


.page-id-17613
{
    background-color: #d8e3de;
}

.content_inner a, .content_inner p a
{
    color: #0000ff;
    text-decoration: underline;
}

.postid-17582 .title_subtitle_holder,
.postid-17580 .title_subtitle_holder,
.postid-17578 .title_subtitle_holder
{
    display: none;
}

.post_image
{
    display: none !important;
}


#visa-bloc4 .qbutton
{
    color: white;
    background-color: #698a90;
}

#visa-bloc2 .qbutton
{
    color: white;
    background-color: #bfa975;
}

.page-id-17145 p
{
    color: white;
}

.page-id-16751 .title_outer
{
    height: 350px;
}


/* Comportement par défaut = une seule ligne (menu, header, etc.) */
/*.title-text {
  white-space: nowrap;
}

/* Forcer retour à la ligne uniquement dans la bannière */
/*.title-text-wrapper .title-text {
  white-space: normal;      /* autorise le retour à la ligne */
  /*max-width: 100%;          /* évite tout débordement */
  /*display: block;
}*/

.title-text {
  display: inline;
  white-space: normal;
  word-break: keep-all;
}

.title-text::after {
  content: "";
  display: inline;
  margin-right: 0.3em;
  white-space: pre;
}

/* Forcer la coupure après "Apprendre " uniquement si l'espace le permet */
.title-text {
  word-break: break-word;
}


@media only screen and (max-width: 1000px) {
    .header_bottom, nav.mobile_menu {
        background-color: #EFE7D8 !important;
    }
}



/*****Today*******/

/*.drop_down .narrow .second .inner ul li
{
    width: inherit;
}*/

.page-id-15985 .vc_custom_1751655568582 section h2 {
    color: #DC143C !important;
}

.vc_custom_1745577627278
{
    background-color: #EFE7D8 !important;
}

.vc_column_container .vc_column-inner.vc_custom_1751658026826 {
    background-color: #EFE7D8 !important;
}

nav.main-menu > ul > li {
  cursor: pointer !important;
}



.qode-elliptical-slide-elements-holder .wpb_text_column
{
    margin-left: 80px;
}

.qode-elliptical-slide-elements-holder .wpb_text_column h1, .qode-elliptical-slide-elements-holder .wpb_text_column p
{
   color: white;
}

.qode-elliptical-slide-elements-holder .wpb_text_column h1
{
    font-size: 50px;
}

.vc_custom_1751896889875 p
{
    padding: 80px;
    color: white !important;
    font-size: 20px;
}

.vc_custom_1751899674824 p
{
    font-size: 22px;
}

#contact_bandeau p {
    color: white !important;
}

#collab-bloc p
{
    color: white !important;
}

.page-id-14 #contact_bandeau p {
    color: black !important;
    font-size: 22px;
}

.qbutton, a.qbutton.default {
    padding: 1rem 2rem;
}


/*******Modification chloé*********/

@media only screen and (min-width: 1001px) {
    .content .title_outer.with_image
    {
        margin-top: 240px;
    }

    .title_without_animation .title h1 {
        font-size: 4.5rem;
    }
}


/*.title_outer.title_without_animation.with_image .title_subtitle_holder
{
    padding-top: 190px !important;
}*/


.page-id-15985 .content_inner .title, .page-id-16457 .content_inner .title {
    display: block !important;
    height: inherit !important;
}


.with_image .title.title_size_small h1 {
    font-size: 4.5rem;
    line-height: 75px;
}

.title
{
    height: inherit !important;
}


.qode_client_image_holder img
{
    width: 180px;
}

.qode_clients .qode_client_holder {
    transition: opacity 0.3s ease;
    margin-bottom: 55px;
}

/* Cadre uniforme pour CHAQUE partenaire */
.qode_client_image_holder {
    width: 180px;        /* largeur fixe */
    height: 120px;       /* hauteur fixe */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;  /* optionnel */
    background-color: #E8DFCF; /* un peu plus foncé que #EFE7D8 */
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
    padding: 10px;       /* éviter que le logo touche les bords */
    margin: auto;        /* centre chaque bloc */
}

/* L’image s’adapte au cadre sans déformation */
.qode_client_image_holder img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain; /* garde les proportions */
}


.page-id-17798
{
    background-color: #d8e3de;
}



/* Force le container WPBakery à sortir des limites */
.fullwidth-row {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  position: relative;
  z-index: 1;
}

.fullwidth-row .vc_column-inner {
  background-color: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/***** Menu vertical sticky dans sa colonne *****/

/* ================================
   Structure de la page
   ================================ */

/* === GLOBAL === */
html {
  scroll-behavior: smooth;
}

[id^="section-"] {
  scroll-margin-top: 140px; /* Ajuster selon hauteur header fixe */
}


/*.scroll-column > .vc_column-inner {
  height: 100%;
}*/

#row-content-article {
  /*align-items: flex-start; /* Important pour que sticky reste en haut */
  /*display: flex;*/
  margin-top: 50px;
}

.scroll-column {
  margin-right: 30px; /* Ajuste selon le besoin */
}


/* === STRUCTURE === */

/* Colonne de gauche (menu) */
.scroll-column {
  position: relative;
  overflow: visible; /* nécessaire si des enfants sont sticky */
}

/* Menu sticky */
/*ul.fixed-menu {
  position: -webkit-sticky; /* Safari */
  /*position: sticky;
  top: 100px; /* Ajuster selon ton header */
  /*list-style: none;
  margin: 0;
  padding: 20px 10px;
  background: #ece4d6;
  border-right: 1px solid #e0e0e0;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05);
  z-index: 10; /* pour s'assurer qu'il reste au-dessus du contenu */
/*}*/

/* Espacement entre les items */
/*ul.fixed-menu li + li {
  margin-top: 12px;
}*/

/* Liens du menu */
ul.fixed-menu a {
  display: block;
  text-decoration: none;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 4px;
  color: #333;
  transition: background-color 0.3s ease;
}

/* Hover */
ul.fixed-menu a:hover {
  background-color: #e9e1d1;
}


/*#section-red, #section-gold, #section-orange, #section-green, #section-bordeaux, #section-beige
{
    margin-bottom: 50px;
}*/

/*.scroll-column {
  min-height: 200vh; /* Test temporaire */
/*}

.scroll-column {
  width: 200px;
  max-width: 100%;
  flex: 0 0 200px; /* évite qu’il grossisse */
/*}*/

ul.fixed-menu {
  width: 100%;
  box-sizing: border-box;
}

.event-template-default .qode-banner
{
    margin-top: -30px;
}

@media (max-width: 1200px) {
  .scroll-column {
    display: none;
  }

  .event-template-default .title_outer.title_without_animation
  {
    display: none;
  }

    .event-template-default .qode-banner
    {
        margin-top: -85px;
    }
}

.title_outer .has_background.title .title_subtitle_holder,
.title_outer .has_fixed_background.title .title_subtitle_holder,
.title_outer.with_image .title .title_subtitle_holder {
    display: block !important;
    vertical-align: initial !important;
    color: white !important;
}


.title_subtitle_holder {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2;
    color: white;
}


/********responsive********/

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

    .content .title_outer.with_image {
        margin-top: 0px;
    }

    .content .title_outer {
        margin-top: 0px;
    }

    .title_outer.title_without_animation.with_image .title_subtitle_holder {
        padding-top: 0px !important;
    }

    .vc_custom_1753110255056 {
        margin-top: 60px !important;
    }


}

@media only screen and (max-width: 767px) {
    /*nav.mobile_menu {
      position: fixed; /* ou absolute selon ton besoin */
      /*top: 100px;
      left: 0;
      right: 0;
      width: 100vw; /* pleine largeur */
      /*max-width: 100% !important; /* évite les restrictions du thème */
      /*z-index: 9999;
    }*/

    .with_image .title.title_size_small h1 {
        font-size: 3rem;
        line-height: 45px;
    }

    /*.title_subtitle_holder_inner {
        position: relative;
        top: -20px;
    }*/
}

/*.mobile_menu_button span svg {
    fill: blue;
    stroke: currentColor;
    transition: all .3s ease;
    margin-top: 30px;
}

nav.mobile_menu ul li a, nav.mobile_menu ul li h3 {
    text-transform: inherit !important;
}*/

.event-template-default .content .title_outer {
    margin-top: 25px;
}

.custom-title-with-logo
{
    text-align: center;
}

.related-events h2
{
    color: black !important;
}


h1, .h1, h1 a, h2, .h2, h2 a, h3, .h3, h3 a, h4, .h4, h4 a, .h5, h5, h5 a, h6, .h5, h6 a
{
    text-transform: inherit;
}

table, table tr, table td
{
    text-align: left;
}

/* Breadcrumb bar */
.custom-breadcrumb {
  margin-bottom: 0;
  max-width: 100%
}

.breadcrumb-bar {
  background-color: #0000ff; /* couleur bandeau */
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}

.breadcrumb-icon {
  font-size: 18px;
}

.breadcrumb-link {
  color: white;
  text-decoration: none;
}

.breadcrumb-link:hover {
  text-decoration: underline;
}


.custom-breadcrumb .vc_column-inner {
  padding: 10px 30px;
  background-color: #0000ff;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  box-sizing: border-box;
}

.custom-breadcrumb .breadcrumb-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
}

.custom-breadcrumb .breadcrumb-bar a {
  color: white;
  text-decoration: none;
}

.custom-breadcrumb .breadcrumb-bar a:hover {
  text-decoration: underline;
}

/* 2. Image fine */
.breadcrumb-separator-image .vc_column-inner {
  padding: 0 !important;
}

.breadcrumb-separator-image img {
  display: block;
  width: 100%;
  height: 80px; /* ajuste selon ton design */
  object-fit: cover;
}

/* 3. Pour supprimer le conteneur contraint si besoin */
.custom-breadcrumb .wpb_wrapper {
  max-width: 100% !important;
}



.breadcrumb-image .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.breadcrumb-image img {
  display: block;
  width: 100vw;
  max-width: 100%;
  height: 160px; /* ou ce que tu veux */
  object-fit: cover;
  margin: 0 auto;
}

.page-id-16 h1
{
    text-align: center;
    font-size: 90px;
    color: white;
    margin-top: 40px;
    line-height: 90px;
}

/* ============ 3. TITRE DE PAGE SPÉCIFIQUE ============ */
.page-id-16 h1 {
  text-align: center;
  font-size: 90px;
  color: white;
  margin-top: 40px;
  line-height: 90px;
}

.event-template-default .title_subtitle_holder
{
    margin-top: 280px;
}

ul, ol {
    padding-left: 20px;
}

.rounded-image .qode-aig-image-inner
{
    border-radius: 25px;
}

/*******Heder personnalisé*******/

.bandeau-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
  padding: 40px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  color: white;
  z-index: 0;
}

.bandeau-header {
  /* Smaller % = steeper angle */
  --diag-bottom-x: 20%;  /* was 42% */
  --band-width: 40px;

  position: relative;
  overflow: hidden;
}

/* Green triangle */
.bandeau-header::before {
  content: "";
  position: absolute;
  inset: 0;
  /*background: #1e4c4b;*/
  background: var(--frame, #1e4c4b);
  clip-path: polygon(0 0, 0 100%, var(--diag-bottom-x) 100%);
  z-index: 1;
}

/* Pink ribbon touching the green */
.bandeau-header::after {
  content: "";
  position: absolute;
  inset: 0;
  /* background: #fbd1c9; */
  background: var(--corner, #fbd1c9);
  clip-path: polygon(
    var(--diag-bottom-x) 100%,
    calc(var(--diag-bottom-x) + var(--band-width)) 100%,
    var(--band-width) 0,
    0 0
  );
  z-index: 2;
}



.bandeau-header .bandeau-title,
.bandeau-header .bandeau-date,
.bandeau-header .bandeau-tags {
  position: relative;
  z-index: 3;
  color: white !important; /* forcer la couleur si WPBakery ajoute du noir */
}


/* Bloc principal */
.bandeau-title {
  position: relative;
  z-index: 2;
  max-width: 700px;
  padding: 40px 40px 30px;
  background: rgba(161, 178, 196, 0.6);
  border-radius: 6px;
  text-align: left;
  margin: auto;
  display: inline-block;
  color: white;
}

/* Titre h1 à l'intérieur */
.bandeau-title h1 {
  margin: 0;
  padding: 0;
  font-size: 2em;
  font-weight: 700;
  line-height: 1.3;
}

/* Date en haut à droite du rectangle */
.bandeau-title .bandeau-date {
  position: absolute;
  top: 10px;
  right: 15px;
  background: rgba(255, 255, 255, 0.1);
  padding: 6px 14px;
  font-size: 1.2em;
  font-weight: 600;
  border-radius: 4px;
}


/* Scope variables to this header only */
.bandeau-header{
  --green:#085b5b;
  --rose:#f5cfc2;
  --w:45px;      /* desired ribbon width */
  --tri:45px;    /* keep 45°: must equal --w */
  position: relative; /* anchor for the absolute ribbon */
}

/* Force the strip to 50px and reset legacy styles */
.bandeau-header .bandeau-right-image{
  position: absolute;
  top: 0;
  right: 0;
  width: var(--w) !important;
  min-width: var(--w) !important;
  max-width: var(--w) !important;
  height: 100%;
  background: var(--frame, #165B63) !important;   /* kill old bg image */
  background-image: none !important;     /* just in case */
  background-size: auto !important;      /* remove 'contain' carryover */
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;           /* avoid clipping the triangles */
  box-sizing: border-box;
  z-index: 3;
  overflow: hidden;                       /* triangles stay inside */
}

/* Top triangle (↘, -45° visual) */
.bandeau-header .bandeau-right-image::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:var(--tri);
  background:linear-gradient(45deg, var(--corner, #FFDACF) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}

/* Bottom triangle (↗, +45° visual) */
.bandeau-header .bandeau-right-image::after{
  content:"";
  position:absolute; bottom:0; left:0;
  width:100%; height:var(--tri);
  background:linear-gradient(135deg, var(--corner, #FFDACF) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}




.event-template-default .title_outer
{
    display: none;
}

/*@media only screen and (min-width: 992px) {

    .event-template-default .post_content_holder
    {
        margin-top: 200px;
    }
}*/

.title_subtitle_holder {
  padding-top: 0 !important;
}


.bandeau-header .bandeau-tags p
{
    color: white;
    text-align: left;
}

.blog_single.blog_holder h1 {
    font-size: 3.5rem;
    color: white;
}

/* Carrés superposés */
.bandeau-squares {
  position: relative;
  width: 32px;
  height: 32px;
  margin: 0 0 20px 0;  /* plus de centering */
}

/* Carré blanc en arrière-plan */
.bandeau-squares::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: var(--corner, #FFDACF);
  /*background: #FFDACF;*/
  top: 0;
  left: 6px;
  z-index: 1;
}

/* Carré bleu par-dessus, décalé */
.bandeau-squares::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: var(--frame, #165B63);
  /*background: #165B63; */
  top: 6px;
  left: 0;
  z-index: 2;
}


.bandeau-header .bandeau-tags {
  position: absolute;
  bottom: 20px;
  left: 40px;
  font-size: 0.95em;
  font-weight: 500;
  z-index: 3;
}



/*.parallax-square {
  position: absolute;
  width: 400px;
  height: 400px;
  top: 0;
  left: 0;
  z-index: 1;
  will-change: transform;
  transition: transform 0.1s ease-out;
}

.square-1 {
width: 380px;
  height: 380px;
  background-color: rgba(162, 40, 63, 0.5);
  top: 80px;
  left: 30%;
}

.square-2 {
    width: 520px;
  height: 380px;
  background-color: rgba(0, 0, 245, 0.3); /* bleu */
  /*top: 40px;
  left: 40%;
}*/



/*.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  background: rgba(255, 255, 255, 0.6);
  border: 2px solid #ff0066;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
  transition: transform 0.08s ease-out;
}*/

/*body {
  cursor: none !important;
}*/




.qode-ipl-title,
.qode-ipl-title-aux {
  font-family: 'Chakra Petch', sans-serif;
  font-size: 80px;
  font-weight: 700;
  color: transparent; /* Supprime la couleur de remplissage */
  -webkit-text-stroke: 1px #0000ff; /* Contour */
  text-stroke: 1px #0000ff; /* Optionnel : fallback */
  line-height: 1.05em;
  letter-spacing: 0;
  text-align: left;
}



/*.qode-double-text {
  position: relative;
  display: inline-block;
}

.qode-double-text {
  position: relative;
  display: inline-block;
}

.qode-double-text .text-filled,
.qode-double-text .text-outline {
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'Chakra Petch', sans-serif;
  font-size: 120px;
  font-weight: 700;
  line-height: 1.05em;
  letter-spacing: 0;
  white-space: nowrap;
}

.qode-double-text .text-filled {
  color: #0000ff; /* Couleur pleine */
  /*z-index: 1;
}

.qode-double-text .text-outline {
  color: transparent;
  -webkit-text-stroke: 1px #eb6540; /* Contour */
  /*z-index: 2;
  pointer-events: none;
  /* DÉCALAGE HAUT GAUCHE */
  /*transform: translate(-20px, -20px);
  font-size: 140px;
  /* Ou bien : top: -2px; left: -2px; si tu préfères */
/*}*/



/*********Effet vitrail********/

.zadig-img-effect {
  position: relative;
  display: inline-block;
  z-index: 1;
  max-width: 350px;
}

.zadig-img-effect img {
  border-radius: 25px;
  position: relative;
  z-index: 2;
}

/* FOND coloré décalé derrière */
.zadig-img-effect::before {
  content: "";
  position: absolute;
  top: 60px;
  left: -60px;
  width: 100%;
  height: 100%;
  border-radius: 25px;
  z-index: 1;
}

#villa-bloc-01 .zadig-img-effect::before 
{
    background-color: #72dbcd;
}

#villa-bloc-02 .zadig-img-effect::before 
{
    background-color: #cd9d86;
    left: 60px;
}

#villa-bloc-03 .zadig-img-effect::before 
{
    background-color: #5f63eb;
}

#villa-bloc-04 .zadig-img-effect::before 
{
    background-color: #eb6540;
    left: 60px;
}

/* Centrage vertical du contenu texte */
#villa-bloc-02 .vc_col-sm-3\/5 .vc_column-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}


.with_image .title.title_size_small h1 {
    text-transform: inherit !important;
    color: white;
}

.home .title_outer
{
    margin-top: 320px;
}

.home  .title.title_size_small h1 {
    font-size: 4.5rem;
    line-height: 70px;
    width: 880px;
    max-width: 100%;
}

.position_center.title .title_subtitle_holder {
    text-align: center;
    max-width: 100%;
}



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

    .home .title_outer
    {
        margin-top: 20px;
    }

    .title.title_size_small h1 {
        color: white;
        text-transform: inherit;
    }

    .home .title_outer {
        margin-top: 50px;
    }
}


@media screen and (max-width: 767px) {
  .title_outer.animate_title_area.with_image {
    height: auto !important;
  }

  .title .image img {
    max-height: 300px; /* or any height you want */
    object-fit: cover;
  }

  .title_subtitle_holder {
    padding-top: 100px !important; /* reduce top space */
  }

  .title-text-wrapper h1,
  .subtitle,
  .breadcrumb {
    text-align: center;
  }
}



.home .custom-title-with-logo
{
    width: 880px;
    max-width: 100%;
    margin-top: 70px;
}

/*.home .button-zadig-wrapper {

    margin-top: 140px;
}*/



#insta-section
{
    text-align: center !important;
}

.instagram-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  color: white; /* couleur blanche pour texte et icône */
  gap: 12px;
}

.instagram-icon {
  width: 32px;
  height: 32px;
  fill: white;
    position: relative;
    bottom: 25px;
}

.title-instagram {
  margin: 0;
  font-size: 24px;
  font-weight: bold;
}


.home .content_inner #insta-section a
{
    color: white;
}

.home .title_subtitle_holder
{
    padding-top: inherit !important;
}



.title_section
{
    text-align: left;
}


.title_section h3 {
    color: #0000ff;
  display: inline-block;
  position: relative;
  font-size: 44px; /* Adjust as needed */
  padding-bottom: 5px; /* Spacing between text and underline */
}

.title_section h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px; /* Thickness of the underline */
  width: 100px; /* Or use 100% for full width */
  background: #0000ff; /* Gradient color */
  border-radius: 2px; /* Rounded edges */
}

.page-id-15301 .qode_client_image_holder img {
    width: 300px;
}

strong
{
    color: #0000ff;
}

/*.page-template-default
{
    background-color: #EFE7D8 !important;
}*/


.square_mark
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #c09632 50%);
    transform: rotate(0deg);
    transition: transform 0.3s ease, background 0.3s ease;
    margin-right: 20px;
}

h3, h3
{
    font-family: 'Chakra Petch', sans-serif;
    font-size: 1.5em;
    line-height: normal;
    font-style: normal;
    font-weight: 600;
    color: #0000ff;
}


/********/

.header_bloc_or h2 {
    color: #C99700 !important;
    display: inline-block;
}

.header_bloc_or
{
    padding-bottom: 20px; /* espace sous le bloc */
    position: relative;
}

.encart_or, .encart_or p, .encart_or a, .encart_or a span, .encart_or strong, .encart_or b, .encart_or strong
{
    color: white !important;
    font-weight: 800 !important;
}

.header_bloc_or h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #c09632;
    border-radius: 2px;
}

/********/

.header_bloc_turquoise h2 {
    color: #77dbcc !important;
    display: inline-block;
}

.header_bloc_turquoise
{
    padding-bottom: 20px; /* espace sous le bloc */
    position: relative;
}

.encart_turquoise, .encart_or p, .encart_or a, .encart_or a span, .encart_or strong, .encart_or b, .encart_or strong
{
    color: white !important;
    font-weight: 800 !important;
}

.header_bloc_turquoise h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #77dbcc;
    border-radius: 2px;
}

.header_bloc_turquoise .square_mark {
    background: linear-gradient(to top right, white 50%, #77dbcc 50%);
}




/********/

.header_bloc_rouge h2
{
    color: #DC143C !important;
    display: inline-block;
}

.header_bloc_rouge
{
      position: relative;
      padding-bottom: 20px; /* espace sous le bloc */
      margin-bottom: 20px;  /* espace avec le texte suivant */
}

.header_bloc_rouge h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background: #DC143C;
    border-radius: 2px;
}


.header_bloc_rouge .square_mark
{
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
}

/********/

.header_bloc_vert h2
{
    color: #165B63 !important;
    display: inline-block;
}

.header_bloc_vert
{
    padding-bottom: 20px; /* espace sous le bloc */
    margin-bottom: 20px;  /* espace avec le texte suivant */
    position: relative;
}

.header_bloc_vert .square_mark
{
    background: linear-gradient(to top right, white 50%, #165B63 50%);
}

.header_bloc_vert h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #165B63;
    border-radius: 2px;
}


/********/

.header_bloc_cerise h2
{
    color: #DC143C !important;
    display: inline-block;
}

.header_bloc_cerise
{
    padding-bottom: 20px; /* espace sous le bloc */
    margin-bottom: 20px;  /* espace avec le texte suivant */
    position: relative;
}

.header_bloc_cerise .square_mark
{
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
}

.header_bloc_cerise h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #DC143C;
    border-radius: 2px;
}



/********/

.header_bloc_desert h2
{
    color: #D4B483 !important;
    display: inline-block;
}

.header_bloc_desert
{
    padding-bottom: 20px; /* espace sous le bloc */
    margin-bottom: 20px;  /* espace avec le texte suivant */
    position: relative;
}

.header_bloc_desert .square_mark
{
    background: linear-gradient(to top right, white 50%, #D4B483 50%);
}

.header_bloc_desert h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #D4B483;
    border-radius: 2px;
}

/********/

.header_bloc_orange h2
{
    color: #FE5930 !important;
    display: inline-block;
}

.header_bloc_orange
{
    padding-bottom: 20px; /* espace sous le bloc */
    margin-bottom: 20px;  /* espace avec le texte suivant */
    position: relative;
}

.header_bloc_orange .square_mark
{
    background: linear-gradient(to top right, white 50%, #FE5930 50%);
}

.header_bloc_orange h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #FE5930;
    border-radius: 2px;
}


.header_bloc_pourpre h2
{
    color: #7A1F36 !important;
    display: inline-block;
}

.header_bloc_pourpre
{
    padding-bottom: 20px; /* espace sous le bloc */
    margin-bottom: 20px;  /* espace avec le texte suivant */
    position: relative;
}

.header_bloc_pourpre .square_mark
{
    background: linear-gradient(to top right, white 50%, #7A1F36 50%);
}

.header_bloc_pourpre h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 15px;
    width: 100%;
    max-width: 100%;
    background:  #7A1F36;
    border-radius: 2px;
}



body
{
    background-color: #EFE7D8 !important;
}

body.home
{
    background-color: #D4B483 !important;
}


/*******coutner*******/

.q_counter_holder span.counter {
    color: white;
    font-size: 65px;
}

.q_counter_holder p.counter_text, .q_counter_holder span.counter {
    color: white;
}

.q_counter_holder.center {
    padding: inherit;
}

.q_counter_holder.center {
    height: 220px;
}

.bloc_counter
{
    padding: 20px;
}

.q_counter_holder
{
    height: 200px;
}


/******/

/*.bloc_counter_red
{
    border-left: 5px solid #DC143C;
}

.bloc_counter_red .q_counter_holder span.counter
{
    color: #DC143C;
}


.bloc_counter_or
{
    border-left: 5px solid #C99700;
}

.bloc_counter_or .q_counter_holder span.counter
{
    color: #C99700;
}


.bloc_counter_cerise
{
    border-left: 5px solid #7A1F36;
}

.bloc_counter_cerise .q_counter_holder span.counter
{
    color: #7A1F36;
}


.bloc_counter_desert
{
    border-left: 5px solid #D4B483;
}

.bloc_counter_desert .q_counter_holder span.counter
{
    color: #D4B483;
}


.bloc_counter_vert
{
    border-left: 5px solid #165B63;
}

.bloc_counter_vert .q_counter_holder span.counter
{
    color: #165B63;
}*/




/******/



.fullwidth-bg {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll; /* Optional: fix jumpy mobile issues */
    color: white !important;
}

@media (max-width: 768px) {
    .fullwidth-bg {
        background-position: center top;
    }
}



.fullwidth-bg .full_section_inner {
  max-width: 1170px; /* ou la largeur définie par ton content-block */
  margin: 0 auto;
  padding: 0;
}


.fullwidth-bg p, .fullwidth-bg a, .fullwidth-bg strong
{
    color: white !important;
}

.fullwidth-bg.fullwidth-beige a
{
    font-weight: bold;
}



.fullwidth-bg.fullwidth-orange h2
{
    color: #FE5930 !important;
}



.dgtl_row_full .qode-accordion-holder 
{
    width: inherit;
}

.dgtl_column_bg_image {
  position: relative;
  z-index: 1;
  padding: 50px;
}

.dgtl_column_bg_image::before {
  content: "";
  position: absolute;
  inset: 0; /* shorthand for top/right/bottom/left: 0 */
  background-color: rgba(0, 0, 0, 0.3); /* or any color you want */
  z-index: 0;
}


/* Ensure the actual content stays above the overlay */
.dgtl_column_bg_image > .vc_column-inner {
  position: relative;
  z-index: 1;
}



.dgtl_column_bg_image_beige::before {
  content: "";
  position: absolute;
  inset: 0; /* shorthand for top/right/bottom/left: 0 */
  background-color: #ece4d6;
  z-index: 0;
}

.dgtl_column_bg_image_beige h2
{
    color: #0000ff !important;
}

.dgtl_column_bg_image_beige span
{
    color: black !important;
}




.bloc_intro
{
    border-left: 5px solid #D4B483;
    padding-left: 15px;
}


strong, b
{
    color: black !important;
}



/**********Page parallax**********/


/* defaults */
:root{
  --sq: 50px;          /* square size */
  --gap: 12px;         /* space between orange square and title text */
  --back-shift: 14px;  /* how much the white square is shifted up/left */
  --anchor: .22em;     /* vertical anchor from the TOP of the first line */
  --sq1: #ffffff;      /* back square (white) */
  --sq2: #ff6a00;      /* front square (orange) */
}

/* wrapper */
.custom-title-with-logo{
  position: relative;
  display: inline-block;
  /* pad exactly the width of the front square + desired gap */
  padding-left: calc(var(--sq) + var(--gap));
  /* prevent huge first-line indent when squares are hidden */
}

/* same-size squares */
.custom-title-with-logo::before,
.custom-title-with-logo::after{
  content:"";
  position:absolute;
  width: var(--sq);
  height: var(--sq);
  z-index:1;
  /* Anchor to the first line, not the middle (fixes 2-line titles) */
  top: var(--anchor);
  transform: none;
  pointer-events:none;
}

/* front square (orange) — sits just before the text with a small gap */
/* front square (orange) */
.custom-title-with-logo::after{
  left: calc(-1 * (var(--sq) + var(--gap) - var(--x-nudge, 0px)));
  background: var(--sq2);
}

/* back square (white) */
.custom-title-with-logo::before{
  left: calc(-1 * (var(--sq) + var(--gap) + var(--back-shift) - var(--x-nudge, 0px)));
  top: calc(var(--anchor) - var(--back-shift));
  background: var(--sq1);
}

/* keep text above */
.custom-title-with-logo .title-text-wrapper{ position:relative; z-index:2; }

/* 1) Hide squares on the homepage */
.home .custom-title-with-logo{ padding-left: 0; }
.home .custom-title-with-logo::before,
.home .custom-title-with-logo::after{ content:none; }

/* 2) Smaller on mobile */
@media (max-width: 768px){
  :root{
    --sq: 28px;
    --gap: 8px;
    --back-shift: 8px;
    --anchor: .18em; /* sits a bit closer to the cap height on small text */
  }
}

/* (optional) very small screens */
@media (max-width: 420px){
  :root{
    --sq: 24px;
    --gap: 6px;
    --back-shift: 6px;
  }
}

/* ================================
   VERTICAL ALIGNMENT FIX (add-on)
   Keeps everything above intact.
   ================================ */

/* A predictable line-height helps centering; tweak if needed */
.custom-title-with-logo{ line-height: 1.1; }

@supports (top: 1cap) {
  .custom-title-with-logo::after{
    top: calc((1cap - var(--sq)) / 2 + 35px); /* +2px lowers */
  }
  .custom-title-with-logo::before{
    top: calc((1cap - var(--sq)) / 2 - var(--back-shift) + 35px);
  }
}

/* Fallback: center within the line box using lh unit */
@supports not (top: 1cap) {
  .custom-title-with-logo::after{
    top: calc((1lh - var(--sq)) / 2 + 35px); /* +2px lowers */
  }
  .custom-title-with-logo::before{
    top: calc((1lh - var(--sq)) / 2 - var(--back-shift) + 35px);
  }
}


/* Detect wrapped titles and adjust left position */
.custom-title-with-logo {
  text-indent: 0; /* ensure no indent interference */
}



/* Onglet "La Villa Zadig" actif */
.page-id-15301 .custom-title-with-logo::after, .page-id-17798 .custom-title-with-logo::after, .page-id-14 .custom-title-with-logo::after, .page-id-19192 .custom-title-with-logo::after,
.page-id-19925 .custom-title-with-logo::after, .page-id-20284 .custom-title-with-logo::after, .page-id-20273 .custom-title-with-logo::after{
  background-color: #0000ff; /* orange par défaut */
}

/* Onglet "Choisir la France" actif */
.page-id-18677 .custom-title-with-logo::after, .page-id-18 .custom-title-with-logo::after, .page-id-20 .custom-title-with-logo::after, .page-id-22 .custom-title-with-logo::after, .page-id-18445 .custom-title-with-logo::after{
  background-color: #FE5930; /* bleu par exemple */
}

/* Onglet "Appels à candidatures" actif */
.page-id-16207 .custom-title-with-logo::after,
.page-id-20294 .custom-title-with-logo::after{
  background-color: #DC143C; /* rouge */
}

/* Onglet "Préparer son départ" actif */
.page-id-18703 .custom-title-with-logo::after, .page-id-38 .custom-title-with-logo::after, .page-id-40 .custom-title-with-logo::after, .page-id-42 .custom-title-with-logo::after, .page-id-19741 .custom-title-with-logo::after,
.page-id-20152 .custom-title-with-logo::after, .page-id-20162 .custom-title-with-logo::after, .page-id-20167 .custom-title-with-logo::after, .page-id-20222 .custom-title-with-logo::after{
  background-color: #165B63; /* verts */
}


/*******Progress scroll bar header************/
:root {
  --scroll-bar-height: 10px;
  --scroll-bar-bg: #f3ede3;      /* white baseline */
  --scroll-bar-fill: #ff6a00; /* orange */
}

/* Ensure the sticky menu is a positioning context */
/*.header_bottom { position: relative; }

/* The bar now sits at the bottom edge of the sticky menu */
/*#scroll-progress {
  position: absolute;
  left: 0; right: 0;
  bottom: calc(-1 * var(--scroll-bar-height)); /* just under the menu */
  /*height: var(--scroll-bar-height);
  background: var(--scroll-bar-bg);
  pointer-events: none;
  z-index: 1;       /* keep it below menu content */
  /*opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}*/

/* Only show after Bridge adds .scrolled */
/*html.has-scrolled-progress #scroll-progress {
  opacity: 1;
  visibility: visible;
}*/

/*#scroll-progress .scroll-progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  background: var(--scroll-bar-fill);
  transition: width .1s linear;
}



:root{
  --scroll-bar-height: 5px;
  --scroll-bar-bg: #fff;
  --scroll-bar-fill: #ff6a00; /* page-specific override still works */
/*}*/

/* Fixed at the bottom of the viewport */
#scroll-progress{
  position: fixed;
  left: 0; right: 0;
  bottom: env(safe-area-inset-bottom, 0);
  height: var(--scroll-bar-height);
  background: var(--scroll-bar-bg);
  pointer-events: none;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  transition: opacity .2s ease, visibility .2s ease;
}

/* If you still only want it after the header shrinks, keep these 3 lines: */
#scroll-progress{ opacity: 0; visibility: hidden; }
html.has-scrolled-progress #scroll-progress{ opacity: 1; visibility: visible; }

#scroll-progress .scroll-progress-fill{
  display: block;
  height: 100%;
  width: 0%;
  background: var(--scroll-bar-fill);
  transition: width .1s linear;
}


/* Default color */
:root {
  --scroll-bar-fill: #ff6a00;
}

/* For homepage */
body.home {
  --scroll-bar-fill: #40E0D0; /* blue */
}

/* For page ID 45 */
.page-id-15301, .page-id-17798, .page-id-14, .page-id-19192, .page-id-19925, .page-id-20284, .page-id-20273 {
  --scroll-bar-fill: #0000ff; /* dark blue */
}

/* For contact page ID */
.page-id-18677, .page-id-18, .page-id-20, .page-id-22, .page-id-18445 {
  --scroll-bar-fill: #FE5930; /* orange */
}

.page-id-16207, .page-id-20294
{
     --scroll-bar-fill: #DC143C; /* red */
}

.page-id-18703, .page-id-38, .page-id-40, .page-id-42,
.page-id-20152, .page-id-20162, .page-id-20167, .page-id-20222
{
     --scroll-bar-fill: #165B63; /* vert */
}






/* Keep column from stretching in equal-height rows */
.vz-sticky-col { align-self: flex-start; }

/* Avoid sticky killers on THIS row */
.vz-sticky-row,
.vz-sticky-row > .full_section_inner { overflow: visible !important; }
.vz-sticky-row { transform: none !important; }

/* Clean spacing in the menu */
.vz-nav a { display:block; margin:0 0 8px; line-height:1.2; }
.vz-nav br { display:none; }

/* Ajuste finement si besoin (ex: -1px, 0, +1px) */
.vz-sticky-col > .vc_column-inner { transform: translateX(0); }



/* default header offset; will be updated by JS below */
:root { --header-offset: 120px; }

/* apply to every anchor target */
.vz-anchor { display: block; height: 0; }
.vz-anchor { scroll-margin-top: var(--header-offset); }

/* Target your section */
.parallax_section_holder {
  background-attachment: scroll;     /* stop the fixed blur */
  background-size: cover;            /* fill without stretching */
  background-position: center center;/* consistent framing */
}

.parallax_content .parallax_section_inner_margin
{
    margin: 30px;
}

.parallax_content .column_parallax
{
    background-color: rgba(0, 0, 0, 0.7);
    padding: 30px;
}


.page-id-19062 .parallax_content .column_parallax {
    background-color: rgba(239, 231, 216, 0.9);
    padding: 30px;
    margin: 100px;
    width: 65%;
}


@media (max-width: 992px){
  .page-id-19062 .parallax_content .column_parallax {
        width: 100%;
        margin: 0px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}


/********Les scènes artisitques***********/

.q_counter_holder p.counter_text
{
    color: black !important;
}

.page-id-22 .q_counter_holder span.counter {
    color: white;
}


.wpb-content-wrapper > .bloc_counter:nth-child(1) .q_counter_holder span.counter {
  color: red;
}

.wpb-content-wrapper > .bloc_counter:nth-child(2) > .q_counter_holder span.counter {
  color: blue;
}

.q_counter_holder.center
{
    background-color: #e8dfcf;
    border-radius: 10px;
    padding: 10px;
}

.q_counter_holder .separator.small {
    background-color: black !important;
    margin: 19px auto 0;
}

.bloc_counter.bloc_counter_orange .q_counter_holder
{
    border-left: 20px solid #FE5930;
    padding-top: 20px;
}

.bloc_counter.bloc_counter_safran .q_counter_holder
{
    border-left: 20px solid #C99700;
    padding-top: 20px;
}

.bloc_counter.bloc_counter_cerise .q_counter_holder
{
    border-left: 20px solid #7A1F36;
    padding-top: 20px;
}

.bloc_counter.bloc_counter_or .q_counter_holder
{
    border-left: 20px solid #9a8127;
    padding-top: 20px;
}

.bloc_counter.bloc_counter_red .q_counter_holder
{
    border-left: 20px solid #DC143C;
    padding-top: 20px;
}


.row_parallax_white p, .row_parallax_white a, .row_parallax_white b, .row_parallax_white strong
{
    color: white !important;
}


.row_parallax_white a, .row_parallax_white a span
{
    font-weight: 800;
}

.section_in_fullwidth {
    width: 1100px;
    margin: 0 auto;
    max-width: 100%;
}

.hide
{
    display: none;
}

.page-id-22 .parallax_content .column_parallax {
    background-color: rgba(0, 0, 0, 0.7);
    padding: 30px;
    margin: 60px;
}

.column_clear_beige
{
    border-left: 5px solid #FE5930;
}

.column_clear_beige .vc_column-inner
{
    padding-left: 30px;
}


@media (min-width: 992px){

    .row_parallax_white .column_parallax
    {
        width: 65%;
    }

    .column_left_text_margin
    {
        padding-right: 70px;
    }

    .bloc_2_colum_clear_beige .column_clear_beige
    {
        padding-right: 20px;
    }

    .bloc_2_colum_clear_beige .column_clear_beige:nth-child(1)
    {
        border-left: 5px solid #7A1F36;
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    .bloc_2_colum_clear_beige .column_clear_beige:nth-child(2)
    {
        border-left: 5px solid #C99700;
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    .bloc_2_colum_clear_beige .column_clear_beige:nth-child(3)
    {
        border-left: 5px solid #DC143C;
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }
}

.column_clear_beige
{
    margin-bottom: 30px;
}


/*#bloc_1_left_color
{
    border-left: 15px solid #7A1F36;
}

#bloc_2_left_color
{
    border-left: 15px solid #C99700;
}

 #bloc_3_left_color
{
    border-left: 15px solid #DC143C;
}*/

/*#bloc_3_clear
{
    border-left: 15px solid #DC143C;
}

#bloc_4_clear
{
    border-left: 15px solid #165B63;
}

 #bloc_1_clear
{
    border-left: 15px solid #FE5930;
}

#bloc_2_clear
{
    border-left: 15px solid #C99700;
}

.bloc_2_colum_clear_beige .column_clear_beige:nth-child(1)
{
    border-left: 5px solid #7A1F36;
}

.bloc_2_colum_clear_beige .column_clear_beige:nth-child(2)
{
    border-left: 5px solid #C99700;
}

.bloc_2_colum_clear_beige .column_clear_beige:nth-child(3)
{
    border-left: 5px solid #DC143C;
}*/

@media (min-width: 992px){


    #bloc_1_left_color
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    #bloc_2_left_color
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    #bloc_3_left_color
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    #bloc_3_clear
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    #bloc_4_clear
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }

    #bloc_1_clear
    {
        position: relative;
        left: 15px;
        width: calc(100% - 15px);
        box-sizing: border-box;
    }
}


.bloc_dark p, .bloc_dark a, .bloc_dark a span
{
    color: white !important;
}



.column_clear_beige h2
{
    color: #0000ff !important;
}

.bloc_parallax_with_counter
  > .parallax_content
  > .parallax_section_inner_margin
  > .wpb_column
  > .vc_column-inner
  > .wpb_wrapper:first-child {
  background-color: rgba(0,0,0,.7);
  border-radius: 20px;
  /*padding-left: 30px;*/
}

.page-id-38 .q_accordion_holder, .page-id-38 .qode-accordion-holder {
    width: inherit;
}


@media (min-width: 992px) {
    .page-id-38 .row_parallax_white .column_parallax,
    .page-id-20162 .row_parallax_white .column_parallax  
    {
        width: 50%;
    }
}

.page-id-38 .parallax_content .column_parallax,
.page-id-20162 .parallax_content .column_parallax
{
    background-color: transparent;
    padding: 0px;
    margin: 0px;
}

.page-id-38 .parallax_section_inner_margin,
.page-id-20162 .parallax_section_inner_margin
{
    background-color: rgba(0,0,0,.4);
    margin: 30px;
    padding: 30px;
}

.page-id-38 .full_width .parallax_content,
.page-id-20162 .full_width .parallax_content
{
    width: 1500px;
    max-width: 100%;
}

.bandeau-losanges
{
    position: relative;
    width: 32px;
    height: 32px;
    margin: 0 0 20px 0;
}


.bandeau-losanges::before {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    background: white;
    top: 0;
    left: 6px;
    z-index: 1;
    transform: rotate(45deg);
    transform-origin: center;
}

.bandeau-losanges::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    background: #90acc1;
    top: 6px;
    left: 25px;
    z-index: 2;
    transform: rotate(45deg);
    transform-origin: center;
}


@media (min-width: 1000px) {
    #bandeau_appels_interne
    {
        margin-top: 200px;
    }
}


#section-red h2 b
{
    color: #DC143C !important;
}

#section-cerise h2 b
{
    color: #0000ff !important;
}

#section-blue h2 b
{
    color: #0000ff !important;
}

#section-gold h2 b
{
    color: #C99700 !important;
}

#section-orange h2 b
{
    color: #FE5930 !important;
}

#section-green h2 b
{
    color: #165B63 !important;
}

#section-bordeaux h2 b
{
    color: #a2263d !important;
}

#section-beige h2 b
{
    color: #D4B483 !important;
}







:root{
  --green:#085b5b;   /* ribbon */
  --rose:#f5cfc2;    /* triangles */
  --w:84px;          /* ribbon width */
  --tri:84px;        /* triangle size; MUST equal its width to keep 45° */
}

.ribbon{
  position:relative;
  width:var(--w);
  min-height:100vh;
  background:var(--green);
  overflow:hidden; /* keep triangles inside */
}

.ribbon::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:var(--tri);
  background:linear-gradient(45deg, var(--rose) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}


.ribbon::after{
  content:"";
  position:absolute; 
  bottom:0; 
  left:0;
  width:100%; 
  height:var(--tri);
  background:linear-gradient(135deg, var(--rose) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}









/* ===== variables (colors & sizes) ===== */
.ribbon-square{
  --green:#085b5b;   /* ribbon color (band)  */
  --rose:#f5cfc2;    /* triangle color       */
  --w:45px;          /* ribbon thickness     */
  --tri:45px;        /* triangle height (== --w for perfect 45°) */
  --box:420px;       /* square side length; adjust as you like   */

  position: relative;
  width: var(--box);
  height: var(--box);
  background:#fff;
  overflow: visible;
}

/* keep content clear of the ribbons (optional) */
.ribbon-square__inner{
  position:absolute;
  inset: var(--w);
  background:#fff;
}

/* ===== base for each side ===== */
.ribbon-side{
  position:absolute;
  background: var(--green);
  overflow:hidden; /* triangles stay inside the band */
  z-index:1;
}


/* ===== TOP side — full green bar ===== */
.ribbon-top{
  left:0; right:0; top:0;
  height: var(--w);
  background: var(--green);
}

/* ===== BOTTOM side — full green bar ===== */
.ribbon-bottom{
  left:0; right:0; bottom:0;
  height: var(--w);
  background: var(--green);
}

/* sides above */
.ribbon-left,
.ribbon-right { 
  z-index: 2;
}

/* bars below */
.ribbon-top,
.ribbon-bottom {
  z-index: 1;
}


/* ===== RIGHT side (your exact code, unchanged) ===== */
.ribbon-right{
  top:0; right:0; bottom:0;
  width: var(--w);
}
.ribbon-right::before{
  content:"";
  position:absolute; top:0; left:0;
  width:100%; height:var(--tri);
  background:linear-gradient(45deg, var(--rose) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}
.ribbon-right::after{
  content:"";
  position:absolute; bottom:0; left:0;
  width:100%; height:var(--tri);
  background:linear-gradient(135deg, var(--rose) 50%, transparent 0);
  background-repeat:no-repeat;
  background-size:100% var(--tri);
}

/* ===== LEFT side — perfect mirror of RIGHT ===== */
.ribbon-left{
  top:0; left:0; bottom:0;
  width: var(--w);
  transform: scaleX(-1);          /* mirror to keep same structure/orientation */
  transform-origin: left center;  /* mirror in place */
}
.ribbon-left::before,
.ribbon-left::after{
  /* reuse the same triangles as RIGHT (they’ll be mirrored by the scaleX) */
  content:"";
  position:absolute; left:0; width:100%; height:var(--tri);
  background-repeat:no-repeat;
}
.ribbon-left::before{
  top:0;
  background:linear-gradient(45deg, var(--rose) 50%, transparent 0);
  background-size:100% var(--tri);
}
.ribbon-left::after{
  bottom:0;
  background:linear-gradient(135deg, var(--rose) 50%, transparent 0);
  background-size:100% var(--tri);
}

/* ===== TOP si*/


.fullwidth_parallax_row .parallax_column_text h3, .fullwidth_parallax_row .parallax_column_text b, .fullwidth_parallax_row .parallax_column_text p
{
    color: white !important;
}


/* 1er enfant qode-accordion-holder */
/*.section_multiple .vc_col-sm-9 .qode-accordion-holder:nth-child(1) .qode-title-holder {
  border-top: 20px solid #FE5930 !important;
}

.section_multiple .qode-accordion-holder:nth-child(1) .qode-accordion-mark::before
{
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%) !important;
}

.section_multipl .qode-accordion-mark:nth-child(1)::before
{
    background: linear-gradient(to top right, white 50%, #FE5930 50%) !important;
}



/* 2e enfant qode-accordion-holder */
/*.section_multiple .vc_col-sm-9 .qode-accordion-holder:nth-child(2) .qode-title-holder {
  border-top: 20px solid #C99700 !important;
}*/


/* 1er titre de l'accordéon */
/*.qode-accordion-holder > h4.qode-title-holder:nth-child(1) {
  border-top: 20px solid yellow !important;
}
.qode-accordion-holder > h4.qode-title-holder:nth-child(2) {
  border-top: 20px solid green !important;
  }*/


/*.section_multiple .qode-accordion-holder:nth-child(1) .qode-accordion-mark::before
{
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%) !important;
}

.section_multiple .qode-accordion-mark:nth-child(1)::before
{
    background: linear-gradient(to top right, white 50%, #FE5930 50%) !important;
}*/

#bloc_partners
{
    margin: 20px;
}

#parallax_blank .parallax_content .column_parallax {
    background-color: transparent;
}


@media (max-width: 767px) {
    .parallax_content .parallax_section_inner_margin
    {
        margin: 5px;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .parallax_content .column_parallax {
        padding: 15px;
    }

    .title.title_size_large h1 {
        font-size: 30px !important;
    }

    .title .subtitle {
        display: none;
    }

    .custom-title-with-logo::before {
        top: calc((1cap - var(--sq)) / 2 - var(--back-shift) + 15px);
    }

    .custom-title-with-logo::after {
        top: calc((1cap - var(--sq)) / 2 + 15px);
    }

    .instagram-link {
        gap: 6px;
        bottom: 45px;
    }

    .home .custom-title-with-logo
    {
        margin-top: -20px;
    }

    /*.home .button-zadig-wrapper
    {
        margin-top: 30px;
    }*/

    .custom-title-with-logo img
    {
        max-width: 80% !important;
        margin: auto;
        width: 350px !important;
    }

    .instagram-icon {
        bottom: 45px;
    }

    #logo-partenaires p {
        font-size: 1.1rem;
    }

    .qode_clients.four_columns .qode_client_holder, .qode_clients.six_columns .qode_client_holder, .qode_clients.three_columns .qode_client_holder {
        width: 100%;
    }

    .wpcf7-form > label::before {
        font-size: 15px;
    }

    .wpcf7-form select.wpcf7-form-control.wpcf7-select {
        font-size: 1.1rem;
    }

    #form_contact_row .vc_column-inner
    {
        padding: 0px;
    }

    .page-id-22 .parallax_content .column_parallax
    {
        padding: 5px;
        margin: 0px;
    }

    .vc_custom_1755033587595 {
        margin-bottom: 30px !important;
    }

    .bloc_counter {
        padding: 5px;
    }

    .bloc_parallax_with_counter > .parallax_content > .parallax_section_inner_margin > .wpb_column > .vc_column-inner > .wpb_wrapper:first-child
    {
        padding-left: 0px;
    }

    .q_counter_holder.center {
        height: auto;
        padding-bottom: 20px !important;
    }
}

.section-red .square_mark {
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
}

.section-cerise .square_mark {
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
}

.section-gold .square_mark {
    background: linear-gradient(to top right, white 50%, #C99700 50%);
}

.section-blue .square_mark {
    background: linear-gradient(to top right, white 50%, #0000ff 50%);
}

.section-orange .square_mark {
    background: linear-gradient(to top right, white 50%, #FE5930 50%);
}

.section-green  .square_mark {
    background: linear-gradient(to top right, white 50%, #165B63 50%);
}

.section-bordeaux .square_mark {
    background: linear-gradient(to top right, white 50%, #a2263d 50%);
}

.section-bordeaux .square_mark {
    background: linear-gradient(to top right, white 50%, #a2263d 50%);
}

.section-beige .square_mark {
    background: linear-gradient(to top right, white 50%, #F4E3C3 50%);
}



#section-red h2 b, #section-cerise h2 b, #section-gold  h2 b, #section-orange  h2 b, #section-orange h2 b, #section-green h2 b, #section-bordeaux h2 b, #section-beige h2 b, #section-blue h2 b {
    color: #0000ff !important;
}
, 

/*.menu-sections li {
  position: relative;
  display: inline-block;
  margin: 0 15px;
}

.menu-sections li a {
  text-decoration: none;
  padding: 10px 15px;
  display: block;
  color: #333;
  position: relative;
}

/* Default triangle (hidden) */
/*.menu-sections li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12px; /* place triangle on the right side */
  /*transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent; /* invisible by default */
  /*opacity: 0;
  transition: all 0.3s ease;
}

/* On hover: show triangle */
/*.menu-sections li:hover::after {
  opacity: 1;
  right: -8px; /* little animation inward */
/*}*/

/*.menu-sections li, ul.fixed-menu a[href="#section-cerise"], ul.fixed-menu a[href="#section-gold"], ul.fixed-menu a[href="#section-orange"], ul.fixed-menu a[href="#section-blue"], ul.fixed-menu a[href="#section-bordeaux"], ul.fixed-menu a[href="#section-beige"]
{
    color: #0000ff;
}*/
/* Different colors for each li */
/*.menu-sections li:nth-child(1) {
  border-left: 2px solid #DC143C; /* Cerise */
/*}

.menu-sections li:nth-child(2) {
  border-left: 2px solid #C99700; /* Gold */
/*}

.menu-sections li:nth-child(3) {
  border-left: 2px solid #FE5930; /* Orange */
/*}

.menu-sections li:nth-child(4) {
  border-left: 2px solid #165B63; /* Blue */
/*}

.menu-sections li:nth-child(5) {
  border-left: 2px solid #7A1F36; /* Bordeaux */
/*}

.menu-sections li:nth-child(6) {
  border-left: 2px solid #F4E3C3; /* Beige */
/*}

/* === Couleurs personnalisées === */
/*ul.fixed-menu a[href="#section-red"]    { color: #d92545; }
ul.fixed-menu a[href="#section-gold"]      { color: #c19700; }
ul.fixed-menu a[href="#section-orange"]    { color: #ef6c3c; }
ul.fixed-menu a[href="#section-green"]      { color: #2d525b; }
ul.fixed-menu a[href="#section-bordeaux"]  { color: #a2263d; }
ul.fixed-menu a[href="#section-beige"]     { color: #e6b87d; }
ul.fixed-menu a[href="#section-darkred"]     { color: #7A1F36; }
ul.fixed-menu a[href="#section-turquoise"]     { color: #40E0D0; }
ul.fixed-menu a[href="#section-safran"]     { color: #9a8127; }*/

/* Different colors for each li */
.menu-sections li:nth-child(1)::after {
  border-left-color: #DC143C; /* Cerise */
}

.menu-sections li:nth-child(2)::after {
  border-left-color: #C99700; /* Gold */
}

.menu-sections li:nth-child(3)::after {
  border-left-color: #FE5930; /* Orange */
}

.menu-sections li:nth-child(4)::after {
  border-left-color: #165B63; /* Blue */
}

.menu-sections li:nth-child(5)::after {
  border-left-color: #DC143C; /* Bordeaux */
}

.menu-sections li:nth-child(6)::after {
  border-left-color: #F4E3C3; /* Beige */
}

.menu-sections li:nth-child(7)::after {
  border-left-color: #40E0D0; /* Beige */
}

.menu-sections li:nth-child(8)::after {
  border-left-color: #7A1F36; /* Beige */
}

.menu-sections li:nth-child(9)::after {
  border-left-color: #9a8127; /* Beige */
}



.section-red .qode-accordion-holder h4 {
    border-top: 20px solid #DC143C;
}

.section-red .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #DC143C 50%);
}

.section-red .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-gold .qode-accordion-holder h4 {
    border-top: 20px solid #C99700;
}

.section-gold .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #C99700 50%);
}

.section-gold .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #C99700 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-orange .qode-accordion-holder h4 {
    border-top: 20px solid #FE5930;
}

.section-orange .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%);
}

.section-orange .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #FE5930 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-green .qode-accordion-holder h4 {
    border-top: 20px solid #165B63;
}

.section-green .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #165B63 50%);
}

.section-green .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #165B63 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-bordeaux .qode-accordion-holder h4 {
    border-top: 20px solid #a2263d;
}

.section-bordeaux .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #a2263d 50%);
}

.section-bordeaux .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #a2263d 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-beige .qode-accordion-holder h4 {
    border-top: 20px solid #e6b87d;
}

.section-beige .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #e6b87d 50%);
}

.section-beige .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #e6b87d 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-darkred .qode-accordion-holder h4 {
    border-top: 20px solid #7A1F36;
}

.section-darkred .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #7A1F36 50%);
}

.section-darkred .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #7A1F36 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-turquoise .qode-accordion-holder h4 {
    border-top: 20px solid #40E0D0;
}

.section-turquoise .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #40E0D0 50%);
}

.section-turquoise .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #40E0D0 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.section-safran .qode-accordion-holder h4 {
    border-top: 20px solid #9a8127;
}

.section-safran .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #9a8127 50%);
}

.section-safran .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #9a8127 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

.section-blue .qode-accordion-holder h4 {
    border-top: 20px solid #0000ff;
}

.section-blue .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #0000ff 50%);
}

.section-blue .qode-accordion-mark::before
{
    background: linear-gradient(to top right, white 50%, #0000ff 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}


.page-template-full_width .qode-accordion-holder {
    width: inherit;
}

.scroll-column {
    width: 350px;
    max-width: 100%;
    flex: 0 0 350px;
}

#row-content-article
{
    margin: 30px;
}

.menu-sections li a {
    font-weight: 800;
}

@media (min-width: 768px) and (max-width: 991px) {
  .right-content-wrapper.vc_col-sm-9 {
        width: 100%;
    }
}

@media (min-width: 992px) {

    .right-content-wrapper.vc_col-sm-9
    {
        width: 60%;
    }

    #row-content-article
    {
        margin: 0px;
    }

}


/* Bridge/Qode : supprimer la fade/slide des sous-menus  */
nav.main_menu.drop_down .second,
nav.main_menu.drop_down .second .inner,
nav.main_menu.drop_down .second .inner > ul,
nav.main_menu.drop_down .second .inner > ul > li,
nav.main_menu.drop_down .second .inner > ul > li > a,
nav.main_menu.drop_down .second .inner > ul > li > a > span{
  transition: none !important;
  -webkit-transition: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition-delay: 0s !important;
}

/* S’assurer que rien ne dépasse quand la hauteur retombe à 0 */
nav.main_menu.drop_down .second{ overflow: hidden !important; }

/* (Optionnel) couper net l’affichage du texte quand non survolé, 
   seulement pour desktop (évite d’impacter le clic mobile) */
@media (hover:hover) and (pointer:fine){
  nav.main_menu.drop_down .has_sub:not(:hover) > .second .inner > ul{
    visibility: hidden !important;
  }
  nav.main_menu.drop_down .has_sub:hover > .second .inner > ul{
    visibility: visible !important;
  }
}


@media (min-width: 1600px) {
    .button-zadig-wrapper{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 16px;

      max-width: 1400px;          /* largeur max du bloc */
      margin: auto;     /* centre horizontalement (auto) */
      padding: 0 100px;
      box-sizing: border-box;     /* le padding compte dans les 1100px */
    }

    #sb_instagram
    {
        padding-bottom: 10px;
        max-width: 1600px;
        margin: auto;
    }

    .dropdown-fake-wrapper {
        max-width: 350px;
    }
}

.vc-hoverbox .vc-hoverbox-front-inner h2
{
    color: white !important;
}

.vc-hoverbox-wrapper
{
    cursor: pointer;
}
.row_hover_box
{
    margin-bottom: 50px;
}
.vc-hoverbox-block h2
{
    margin-bottom: 20px;
}
/* Barre bleue sous les titres de la section */
/* Barre bleue sous les titres dans la rangée .row_hover_box */
.row_hover_box .vc-hoverbox-block h2 {
  position: relative;
  padding-bottom: 12px;     /* espace pour la barre */
  margin-bottom: 16px;
  font-weight: 700;
}
.row_hover_box .vc-hoverbox-block h2:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 64px;              /* largeur de la barre */
  height: 4px;              /* épaisseur */
  background: #2563eb;      /* bleu sympa */
  border-radius: 999px;
  box-shadow: 0 1px 0 rgba(0,0,0,.08);
  transition: width .25s ease;
}
/* petit effet à l'hover */
.row_hover_box .vc-hoverbox:hover .vc-hoverbox-block h2:after {
  width: 88px;
}
@media (max-width: 767px) {
  .row_hover_box .vc-hoverbox-block h2:after { width: 48px; height: 3px; }
}
/* Valeur de secours ; sera remplacée dynamiquement par le JS */
.row_hover_box { --hv-min: 550px; }
/* Applique la même hauteur à toutes les cartes de la rangée */
.row_hover_box .vc-hoverbox .vc-hoverbox-inner {
  min-height: var(--hv-min) !important;
}
/* Joli centrage vertical du contenu (optionnel) */
.row_hover_box .vc-hoverbox-block-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; /* cohérent avec tes h2 centrés */
  height: 100%;
}
.parallax_section_holder .column_parallax p,
.parallax_section_holder .column_parallax ul,
.parallax_section_holder .column_parallax li
{
    color: white !important;
}
/********persan**********/
.bloc_intro_persan
{
    border-right: 5px solid #D4B483;
    padding-right: 15px;
}
.column_clear_beige_persan
{
    border-right: 5px solid #FE5930;
}
.column_clear_beige_persan h2
{
    color: #0000ff !important; 
    text-align: right;
}
/* FA only – inversion par floats (surclasse souvent les styles Bridge) */
html[lang^="fa"] .vc_row.visa_bloc > .full_section_inner > .vc_col-sm-4 { 
  float: right !important; 
}
html[lang^="fa"] .vc_row.visa_bloc > .full_section_inner > .vc_col-sm-8 { 
  float: left !important; 
}
html[lang^="fa"] .vc_column-inner
{
    text-align: right;
}
html[lang^="fa"] .square_mark {
    margin-right: 0px;
    margin-left: 20px;
}
/* s’assurer que les largeurs restent 4/8 */
html[lang^="fa"] .vc_row.visa_bloc > .full_section_inner > .vc_col-sm-4 {
  width: 33.3333% !important;
}
html[lang^="fa"] .vc_row.visa_bloc > .full_section_inner > .vc_col-sm-8 {
  width: 66.6667% !important;
}
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder .qode-title-holder, html[lang^="fa"] .vc_row.visa_bloc .qode-tab-title .qode-tab-title-inner 
{
    text-align: right !important;
}
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder p, 
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder ul,
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder ol,
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder li
.qode-tab-title-inner {
    padding-right: 60px;
}
html[lang^="fr"] .vc_row .qode-accordion-holder p, 
html[lang^="fr"] .vc_row .qode-accordion-holder ul,
html[lang^="fr"] .vc_row .qode-accordion-holder ol,
html[lang^="fr"] .vc_row .qode-accordion-holder li
.qode-tab-title-inner {
    padding-left: 60px;
}
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-holder .qode-title-holder .qode-tab-title span.qode-tab-title-inner:only-child {
    padding-right: 10px;
    width: 100%;
}
html[lang^="fa"] body, html[lang^="fa"] ul, html[lang^="fa"] li
{
    text-align: right !important;
}
html[lang^="fa"] body p {
    font-weight: 400;
}
html[lang^="fa"] .vc_row.visa_bloc .qode-accordion-content-inner p, html[lang^="fa"] .vc_row p
{
    text-align: right !important;
}
/* ---- Version persane uniquement ---- */
html[lang^="fa"] .qode-tab-title,
html[lang^="fa"] .qode-tab-title-inner {
  direction: rtl;       /* force l’écriture de droite à gauche */
  text-align: right;    /* aligne le texte à droite */
  display: flex;        /* pour pouvoir inverser l’ordre des enfants si besoin */
  flex-direction: row-reverse; /* inverse l’ordre : texte à droite, icône/mark à gauche */
  justify-content: flex-start; /* optionnel : garde l’alignement à droite */
}
@media only screen and (min-width: 1001px) {
    html[lang^="fa"] .title_without_animation .title h1 {
        font-size: 5.5rem;
    }
}
html[lang^="fa"] h2 {
    font-size: 3.2rem;
    line-height: 3.5rem;
}
html[lang^="fa"] p, 
html[lang^="fa"] body.qode-overridden-elementors-fonts .elementor-widget-heading p.elementor-heading-title {
    font-family: 'Chakra Petch', sans-serif;
    font-size: 1.4rem;
    line-height: 25px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8rem;
}

html[lang^="fa"] body {
    font-size: 1.4rem;
    line-height: 25px;
}
/* Masquer le branding WPConsent */
#wpconsent-branding, .wpconsent-icon.wpconsent-icon-logo-mono, .wpconsent-powered-by {
  display: none !important;
}

/* For the counters picto and + */
.q_counter_holder.has-plus .counter::before,
.q_counter_holder.has-plus .qodef-counter-number::before {
    content: "+";
    margin-right: 0.1em;
    font: inherit;
    line-height: 1;
}
.qodef-counter-picto {
    display: block;
    width: 28px;
    height: auto;
    margin: 0 auto 6px;
}

/*******Ajouter en BDD*******/
#section-statut-juridique h3, #row_niveau h3, #row_niveau_2 h3
{
    color: black;
    font-size: 1.5rem;
}

.parallax_color_black .column_clear_beige p
{
    color: black !important;
}

.parallax_color_black .column_clear_beige h3
{
    color: black !important;
    font-size: 1.5rem;
}


/* ===== Fixed left menu – Solid dark block ===== */



/* ===== Left menu (page 19741) — sticky + look ===== */

/* ===== PAGE 19741 — make the left UL sticky ===== */

/* === Style du menu sticky (sobre) === */
.menu-sections.fixed-menu{
  list-style: none;
  margin: 0;
  padding: 12px;
  background: #f5f0e8;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.1);
}

.menu-sections.fixed-menu li{
  list-style: none;
  margin-bottom: 6px;
}

.menu-sections.fixed-menu a{
  display: block;
  padding: 7px;
  border-radius: 8px;
  text-decoration: none;
  color: #222;
  font-weight: 500;
  transition: background .2s ease, color .2s ease;
}

/* hover sobre */
.menu-sections.fixed-menu a:hover{
  background: rgba(0,60,50,0.08); /* un léger vert sombre transparent */
}

/* état actif (scrollspy ou clic) */
.menu-sections.fixed-menu a.active,
.menu-sections.fixed-menu a[aria-current="true"]{
  background: rgba(0,60,50,0.15); /* fond vert sombre clair */
  color: #003C32;                 /* texte vert sombre */
  font-weight: 700;
}


#cmplz-manage-consent, .cmplz-btn
{
    font-family: 'Chakra Petch' !important;
}

#back_to_top
{
    display: none;
}


@media (max-width: 1000px) {
    #menu-menu-principale-1, nav.mobile_menu>ul
    {
        padding-left: 20px;
    }

    .header_bottom, footer .container_inner, nav.content_menu {
        padding: inherit;
    }

    nav.mobile_menu ul li a, nav.mobile_menu ul li h3 {
    text-transform: inherit !important;
        }

        .mobile_menu_button
        {
            left: 20px;
            position: relative;
        }


        /* Centrer le bouton burger dans un header de 100px */
        .header_bottom,
        .header_bottom .container,
        .header_bottom .container_inner{
          min-height: 100px;            /* garantit la hauteur du header */
        }

        /* Aligner le contenu de la zone gauche (burger + logo) */
        .header_inner_left{
          display: flex;
          align-items: center;          /* centre verticalement */
          gap: 10px;                    /* petit espace entre burger et logo */
        }

        /* Centrage du burger lui-même */
        .mobile_menu_button{
          display: flex;
          align-items: center;          /* centre l’icône dans le bouton */
          height: 100px;                /* même hauteur que le header */
          padding: 0;                   /* évite un décalage éventuel */
        }

        /* Assure le centrage de l'icône SVG */
        .mobile_menu_button > span{
          display: flex;
          align-items: center;
        }
        .mobile_menu_button svg{
          display: block;
        }

        .mobile_menu a span {
          text-transform: none !important;
        }

        /* Désactive les majuscules forcées sur les liens de premier niveau du menu mobile */
        nav.mobile_menu > ul > li > a span {
          text-transform: none !important;
        }

        #wpcf7-f15811-p14-o1 form {
            padding: 0px !important;
        }

        .qode_client_image_holder img {
            width: 100%;
        }

        #bandeau_appels_interne
        {
            position: relative;
            top: -20px;
        }

}

@media (max-width: 768px) {

    .qode_client_image_holder {
        width: 250px;
        height: 180px;
    }
}

/* Empêche le highlight bleu du logo */
.q_logo a,
.q_logo img {
  -webkit-tap-highlight-color: transparent; /* supprime le highlight sur mobile */
  outline: none; /* enlève le contour de focus */
}

.q_logo a:focus,
.q_logo img:focus {
  outline: none;
  box-shadow: none;
}

/* Empêcher la sélection et le drag sur le logo */
.q_logo img,
.q_logo a {
  user-select: none !important;
  -webkit-user-drag: none !important;
}


/* For the counters picto and + */
.q_counter_holder.has-plus .counter::before,
.q_counter_holder.has-plus .qodef-counter-number::before {
    content: "+";
    margin-right: 0.1em;
    font: inherit;
    line-height: 1;
}
.qodef-counter-picto {
    display: block;
    width: 28px;
    height: auto;
    margin: 0 auto 6px;
}

#menu-menu-persan #nav-menu-item-19967 .second
{
    background-color: blue;
}
#menu-menu-persan #nav-menu-item-19968 .second
{
    background-color: #FE5930;
}
#menu-menu-persan #nav-menu-item-19969 .second
{
    background-color: #702435;
}
#menu-menu-persan #nav-menu-item-19970 .second
{
    background-color: #275a5d;
}
/* Décale tous les sous-menus du menu persan */
html[lang^="fa"] #menu-menu-persan .second {
    left: auto !important;   /* annule le positionnement par défaut */
    right: 0 !important;     /* colle le sous-menu à droite de son parent */
    transform: translateX(-20px); /* ajuste le décalage horizontal si besoin */
}
html[lang^="fa"] .custom-title-with-logo img {
    width: 880px;
    position: relative;
    top: 10px;
}
/*{
    margin-top: 160px;
    margin-bottom: 0px;
}*/

nav.main_menu > ul > li > a {
    text-transform: inherit !important;
}
.vc_custom_1751655568582 h2
{
    color: #DC143C !important;
    font-size: 2.5rem !important;
}
.vc_custom_1751658026826
{
    padding: 100px !important;
}
@media (max-width: 768px) {
    .vc_custom_1751658026826
    {
        padding: 30px !important;
    }
}

.parallax_section_holder .bloc_2_colum_clear_beige p,
.bloc_2_colum_clear_beige h3
{
    color: black !important;
}

.parallax_section_holder .bloc_2_colum_clear_beige a
{
    color: #0000ff;
}

.vc_custom_1755019346038 h3,
.vc_custom_1755101233551 h3,
.vc_custom_1755019389477 h3
{
    color: black !important
}

header.page_header nav.main_menu.drop_down .second .inner > ul > li > a{
  white-space: normal;        /* permet les retours à la ligne */
  word-break: break-word;     /* coupe si un mot est vraiment trop long */
  overflow-wrap: break-word;  /* version moderne, pour la compatibilité */
  line-height: 1.4;           /* pour garder de l’air entre les lignes */
}

:root{
  --submenu-hover-shift: 4px;
  --submenu-hover-time: 220ms;
  --submenu-arrow-color: #ffffff; /* adapte à ta charte */
}

header.page_header nav.main_menu.drop_down .second .inner > ul > li > a{
  display:block;
  position:relative;
  padding-right: 18px; /* espace pour la petite flèche */
  transform: translateX(0);
  transition: transform var(--submenu-hover-time) ease;
}

header.page_header nav.main_menu.drop_down .second .inner > ul > li > a::after{
  content: "›";                 /* chevron fin */
  position:absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%) translateX(-4px); /* commence légèrement caché */
  opacity: 0;
  color: var(--submenu-arrow-color);
  transition: transform var(--submenu-hover-time) ease, opacity var(--submenu-hover-time) ease;
  font-size: 14px;              /* ajuste si besoin */
  line-height: 1;
}

header.page_header nav.main_menu.drop_down .second .inner > ul > li > a:hover{
  transform: translateX(var(--submenu-hover-shift));
}

header.page_header nav.main_menu.drop_down .second .inner > ul > li > a:hover::after{
  transform: translateY(-50%) translateX(0);
  opacity: 1;
}

/* ============================
   Menu mobile – Villa Zadig
   (colle ce bloc APRÈS les styles du thème)
   ============================ */
/* ===============================
   MENU MOBILE – Styles + Fixes flèches + marge droite sous-menu
   =============================== */
/* ===============================
   MENU MOBILE – Styles + fixes
   =============================== */

:root{
  --mm-bg: #efe5d3;
  --mm-text: #1e1a16;
  --mm-text-dim: rgba(30,26,22,.78);
  --mm-accent: #832C36;
  --mm-sep: rgba(0,0,0,.08);

  --mm-row-h: 64px;            /* top-level row height */
  --mm-sub-row-h: 56px;        /* sub-menu row height */

  --mm-indent: 24px;           /* left padding */
  --mm-right-gap: 44px;        /* space on right (arrow) */
  --mm-sub-right-gap: 40px;    /* space on right (arrow) sub */

  --mm-sub-box-x: 14px;        /* ⬅️➡️ horizontal margin of sub-menu block */
  --mm-sub-box-r: 8px;         /* sub-menu corner radius */

  --mm-arrow-nudge: 20px;     /* ⬇️ optical nudge for FA icons */
}

/* Panel (no shadow/margins) */
nav.mobile_menu{
  background: var(--mm-bg) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* Top-level items */
nav.mobile_menu > ul > li{
  position: relative;
  border-bottom: 1px solid var(--mm-sep);
}
nav.mobile_menu > ul > li > a{
  display: flex !important;
  align-items: center;
  height: var(--mm-row-h);
  padding: 0 calc(var(--mm-indent) + var(--mm-right-gap)) 0 var(--mm-indent);
  color: var(--mm-text) !important;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  background: transparent !important;
}

/* ✅ Arrow (perfect vertical centering + slight down nudge) */
nav.mobile_menu > ul > li > .mobile_arrow{
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;         /* center vertically */
  justify-content: center;
  width: 24px;
  pointer-events: none;
}
nav.mobile_menu > ul > li > .mobile_arrow i{
  font-size: 16px;
  line-height: 1;
  transform: translateY(var(--mm-arrow-nudge)); /* tiny optical fix */
}

/* Active state */
nav.mobile_menu > ul > li.active > a,
nav.mobile_menu > ul > li.open_sub > a,
nav.mobile_menu .current-menu-item > a,
nav.mobile_menu .current_page_item > a{
  color: var(--mm-accent) !important;
}

/* ---------- SUB-MENU ---------- */

/* Sub-menu block with side margins so the darker bg doesn't touch edges */
nav.mobile_menu ul.sub_menu{
  background: rgba(0,0,0,.035);
  margin: 8px var(--mm-sub-box-x) 14px var(--mm-sub-box-x); /* ⬅️➡️ margins */
  padding: 0;
  border-top: 1px solid var(--mm-sep);
  border-radius: var(--mm-sub-box-r);
  overflow: hidden; /* keep rounded corners on child separators */
}
nav.mobile_menu ul.sub_menu > li{
  position: relative;
  border-bottom: 1px solid var(--mm-sep);
}
nav.mobile_menu ul.sub_menu > li:last-child{
  border-bottom: 0;
}

/* Sub-menu links */
nav.mobile_menu ul.sub_menu > li > a{
  display: flex !important;
  align-items: center;
  height: var(--mm-sub-row-h);
  /*padding: 0 calc(var(--mm-indent) + var(--mm-sub-right-gap)) 0 calc(var(--mm-indent) + 20px);*/
  color: var(--mm-text-dim) !important;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  background: transparent !important;
}

/* Left accent bar (optional) */
nav.mobile_menu ul.sub_menu > li > a::before{
  content: "";
  width: 4px;
  height: 0;
  margin-right: 12px;
  background: var(--mm-accent);
  border-radius: 2px;
  transition: height .18s ease;
}

/* ✅ Arrow in sub-menu (same centering + nudge) */
nav.mobile_menu ul.sub_menu > li > .mobile_arrow{
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  pointer-events: none;
}
nav.mobile_menu ul.sub_menu > li > .mobile_arrow i{
  font-size: 14px;
  line-height: 1;
  transform: translateY(var(--mm-arrow-nudge));
}

/* Hover / active sub-menu */
@media (hover:hover){
  nav.mobile_menu ul.sub_menu > li > a:hover{
    color: var(--mm-text) !important;
    background: rgba(131,44,54,.06);
  }
  nav.mobile_menu ul.sub_menu > li > a:hover::before{ height: 60%; }
}
nav.mobile_menu ul.sub_menu > li.current-menu-item > a,
nav.mobile_menu ul.sub_menu > li.current_page_item > a{
  color: var(--mm-accent) !important;
}
nav.mobile_menu ul.sub_menu > li.current-menu-item > a::before,
nav.mobile_menu ul.sub_menu > li.current_page_item > a::before{
  height: 60%;
}

/* Languages */
nav.mobile_menu .lang-item > a{
  height: var(--mm-sub-row-h);
  display: flex !important;
  align-items: center;
  padding: 0 var(--mm-indent);
  color: var(--mm-text-dim) !important;
  font-weight: 800;
}
nav.mobile_menu .lang-item.current-lang > a{
  color: var(--mm-accent) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  nav.mobile_menu *{ transition: none !important; }
}

@media (max-width: 768px) {
    #menu-menu-principale-1, nav.mobile_menu>ul,
    #menu-menu-persan-1 {
        padding-left: 20px !important;
        padding-right: 40px !important;
    }
}

nav.mobile_menu ul>li.has_sub>span.mobile_arrow {
    top: 10px;
}



/*.page-id-15985 #accordeon-home .qode-accordion-holder:nth-of-type(1) .qode-title-holder {
    border-top: 20px solid #DC143C !important;
}

#intro-bloc .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

.page-id-15985 #intro-bloc .qode-title-holder.ui-state-active .qode-accordion-mark::before{
    background: linear-gradient(to bottom right, white 50%, #DC143C 50%);
}*/



.full_width .parallax_content
{
    width: 1200px;
}

.page-id-20008 h2
{
    color: #0000ff !important;
}


/******/

/* Conteneur du logo */
/*.cmplz-cookiebanner .cmplz-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 15px; /* espace sous le logo */
/*}


.cmplz-title
{
    margin-top: 30px;
    font-size: 20px !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    border: 1px solid #0000ff !important;
    background-color: #0000ff !important;
}

.cmplz-cookiebanner .cmplz-links .cmplz-link {
    color: #0000ff !important;
}

.cmplz-cookiebanner .cmplz-logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 20px !important; 
}

.cmplz-cookiebanner .cmplz-logo img {
  width: 400px !important;
  max-width: 90% !important; 
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

.cmplz-logo
{
    width: 526px !important;
}

.cmplz-cookiebanner .cmplz-logo img {
    width: 300px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    max-height: inherit !important;
}

.cmplz-logo
{
    position: relative;
    top: -30px;
}*/


/* Cacher le bouton flottant "Gérer le consentement" */
#cmplz-manage-consent {
  display: none !important;
}


.qodef-counter-picto {
    display: block;
    width: 50px;
    height: auto;
    margin: 0 auto 6px;
}

.vc_custom_1751658026826 .qode-accordion-holder .qode-title-holder
{
    border-top: 20px solid #DC143C !important;
}


input.wpcf7-form-control.wpcf7-date, input.wpcf7-form-control.wpcf7-number, input.wpcf7-form-control.wpcf7-quiz, input.wpcf7-form-control.wpcf7-text, select.wpcf7-form-control.wpcf7-select, textarea.wpcf7-form-control.wpcf7-textarea {
    font-size: 20px;
    line-height: 20px;
    font-family: 'Chakra Petch', sans-serif;
}

.wpcf7 form.sent .wpcf7-response-output:before, div.wpcf7-response-output.wpcf7-mail-sent-ok:before,
.wpcf7 form.invalid .wpcf7-response-output:before, .wpcf7 form.unaccepted .wpcf7-response-output:before, div.wpcf7-response-output.wpcf7-validation-errors:before
{
    display: none;
}

.wpcf7-response-output
{
    font-weight: 800 !important;
}


/*input.wpcf7-form-control.wpcf7-date, input.wpcf7-form-control.wpcf7-number, input.wpcf7-form-control.wpcf7-quiz, input.wpcf7-form-control.wpcf7-text, select.wpcf7-form-control.wpcf7-select, textarea.wpcf7-form-control.wpcf7-textarea {
    height: 43px;
    position: relative;
    top: 2px;
}

.wpcf7-form > label::before {
    width: 125px;
    height: 46px;
    font-family: 'Chakra Petch', sans-serif;
}*/

.event-template-default #row-content-article
{
    margin-top: 50px;
}

.event-template-default #row-content-article .right-content-wrapper .section {
    margin-bottom: 80px !important;
}

.event-template-default .right-content-wrapper
{
    margin-left: 50px;
}

@media only screen and (max-width: 1024px) {
    .event-template-default .content .container .container_inner.default_template_holder, .event-template-default .post_text_inner
    {
        padding-top: 0px !important;
    }
}

/* Default styles for desktop */
#row-content-article {
  margin: 0; /* or whatever desktop margin you want */
}

@media only screen and (max-width: 600px) {
    .event-template-default .vc_row.full_screen_section {
        padding: 0px;
    }

    .event-template-default .right-content-wrapper {
        margin-left: 0px;
    }

    .fullwidth-row 
    {
        width: 100% !important;
    }
    .boxed div.section .section_inner, .carousel-inner .slider_content_outer, .container_inner, .container_inner nav.content_menu, .elementor-container .elementor-widget-wrap>.qode_elementor_container_inner, .elementor-row .elementor-widget-wrap>.qode_elementor_container_inner, .footer_bottom_border.in_grid, .footer_top_border.in_grid, .full_width .parallax_content, .qode_elementor_container_inner, .steps_holder_inner, .title_border_in_grid_holder, div.grid_section .section_inner, div[data-element_type=container].qode_elementor_container_inner, nav.content_menu ul {
        width: 100% !important;
        /* margin: auto; */
    }


    .bandeau-title .bandeau-date {
        font-size: 1em;
    }

    .blog_single.blog_holder h1 {
        font-size: 2rem;
        color: white;
    }

    .bandeau-header .bandeau-tags {
        left: 5px;
        text-align: left;
    }
    #row-content-article {
        margin-left: 20px;
        margin-right: 20px;
    }
}


@media (max-width: 1199px) {
  .right-content-wrapper.vc_col-sm-9 {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media (max-width: 1200px) {
    .single-event .right-content-wrapper.vc_col-sm-9 {
        width: 100%;
        padding: 50px;
        padding-right: 100px;
    }
}

/* ===== Desktop (≥1200px) — 3 colonnes ===== */
.event-template-default.single.single-event .raindrop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* ===== Tablette (entre 768px et 1199px) — 2 colonnes ===== */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .event-template-default.single.single-event .raindrop-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* ===== Mobile (<768px) : scroll horizontal ===== */
@media (max-width: 767.98px) {
  /* Conteneur de la grille : on force le flex + scroll */
  .event-template-default.single.single-event .related-events .raindrop-grid.related-grid {
    display: flex !important;           /* écrase un éventuel display:grid */
    overflow-x: auto !important;
    overflow-y: hidden;
    gap: 16px;                           /* espace entre cartes (ok sur flex) */
    padding: 0 16px 10px;                /* petites marges latérales */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  /* Largeur des cartes pour créer la “piste” de scroll (sans toucher au style) */
  .event-template-default.single.single-event .related-events .raindrop-grid.related-grid > .item {
    flex: 0 0 auto;                      /* pas d’étirement */
    min-width: 85%;                      /* ~85% de la largeur écran */
    scroll-snap-align: start;
  }

  /* Si un parent cache le dépassement, on l'ouvre */
  .event-template-default.single.single-event .related-events {
    overflow: visible !important;
  }

  /* (Optionnel) masquer la scrollbar */
  .event-template-default.single.single-event .related-events .raindrop-grid.related-grid::-webkit-scrollbar { display: none; }
  .event-template-default.single.single-event .related-events .raindrop-grid.related-grid { scrollbar-width: none; }
}


@media (min-width: 768px) and (max-width: 1199.98px) {
    .event-template-default.single.single-event .raindrop-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px;
    }
}

/*@media (max-width: 1998.98px) {
    #bandeau_appels_interne
    {
        top: -18px;
    }
}*/

/* Try to fixe page sans header */
/*:root{
  --menu-h: 251px;      
}
@media (max-width: 999px){
  :root{ --menu-h: 100px; }
}

#row-content-article { 
  padding-top: var(--menu-h);
}

main, .content_inner { 
  padding-top: var(--menu-h);
}

[id] { 
  scroll-margin-top: calc(var(--menu-h) + 16px);
}

@media (min-width: 1001px) {
  #row-content-article,
  main,
  .content_inner {
    margin-top: 80px;
  }
}*/

/* FinTry to fixe page sans header */


/* ---------- Breakpoint Mobile/Tablet ---------- */
@media (max-width: 1000px) {
  /* Masquer le menu desktop, afficher le burger */
  .desktop-nav,
  .menu-sections.fixed-menu { display: none !important; }
  .burgerTrigger,
  .mobile-drawer { display: block !important; }

  /* Header compact */
  .site-header,
  header { height: 100px !important; }

  /* Neutraliser les styles inline du hero qui laissent 251px */
  .title,
  .title_outer { height: auto !important; }
  .title .title_holder { 
    padding-top: 0 !important; 
    height: auto !important;
  }
  .title .image { height: auto !important; }

  /* Contenu sous le header */
  /*#row-content-article,
  main,
  .content_inner { padding-top: 100px !important; }*/
}

@media (max-width: 1000px) {
    .title .title_holder {
        padding-top: 15% !important;
        height: auto !important;
    }

    .bloc_intro
    {
        padding: 15px;
    }

    /*.wpb_content_element, #wpcf7-f15811-p14-o1
    {
        padding: 20px;
    }*/
}

@media (max-width: 1000px) {

    .qode-accordion-holder
    {
        padding: 20px;
    }
}



/********Mise au propore de tous les accordeon**********/
/********Full width**********/


#accordeon-rouge .qode-accordion-holder .qode-title-holder
{
    border-top: 20px solid #DC143C !important;
}

#accordeon-rouge h2
{
    color: #DC143C !important;
}

#accordeon-rouge .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover{
    color: #DC143C;
}

#accordeon-rouge .qode-accordion-mark::before, .page-id-40 #visa-bloc1 .accordion_mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #DC143C 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-rouge .qode-title-holder.ui-state-active .qode-accordion-mark::before
 {
    background: linear-gradient(to bottom right, white 50%, #DC143C 50%);
}




#accordeon-ocre .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #c09632 !important;
}

#accordeon-ocre .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #c09632;
}

#accordeon-ocre .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #c09632 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-ocre .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #c09632 50%);
}

#accordeon-ocre h2 {
    color: #c09632 !important;
}



#accordeon-orange .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #FE5930 !important;
}

#accordeon-orange .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #FE5930;
}

#accordeon-orange .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #FE5930 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-orange .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #FE5930 50%);
}

#accordeon-orange h2 {
    color: #FE5930 !important;
}




#accordeon-vert .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #165863 !important;
}

#accordeon-vert .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #165863;
}

#accordeon-vert .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #165863 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-vert .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #165863 50%);
}

#accordeon-vert h2 {
    color: #165863 !important;
}




#accordeon-bleu-electrique .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #0000FF !important;
}

#accordeon-bleu-electrique .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #0000FF;
}

#accordeon-bleu-electrique .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #0000FF 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-bleu-electrique .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #0000FF 50%);
}

#accordeon-bleu-electrique h2 {
    color: #0000FF !important;
}




#accordeon-bordeaux .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #7A1F36 !important;
}

#accordeon-bordeaux .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #7A1F36;
}

#accordeon-bordeaux .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #7A1F36 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-bordeaux .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #7A1F36 50%);
}

#accordeon-bordeaux h2 {
    color: #7A1F36 !important;
}



#accordeon-turquoise .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #40E0D0 !important;
}

#accordeon-turquoise .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #40E0D0;
}

#accordeon-turquoise .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #40E0D0 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-turquoise .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #40E0D0 50%);
}

#accordeon-turquoise h2 {
    color: #40E0D0 !important;
}



#accordeon-cerise .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #a2263d !important;
}

#accordeon-cerise .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #a2263d;
}

#accordeon-cerise .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #a2263d 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-cerise .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #a2263d 50%);
}

#accordeon-cerise h2 {
    color: #a2263d !important;
}


#accordeon-ocre-sombre .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #9a8127 !important;
}

#accordeon-ocre-sombre .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #9a8127;
}

#accordeon-ocre-sombre .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #9a8127 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-ocre-sombre .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #9a8127 50%);
}

#accordeon-ocre-sombre h2 {
    color: #9a8127 !important;
}



#accordeon-sable .qode-accordion-holder .qode-title-holder {
    border-top: 20px solid #9a8127 !important;
}

#accordeon-sable .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover {
    color: #9a8127;
}

#accordeon-sable .qode-accordion-mark::before
{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(to top right, white 50%, #9a8127 50%);
    transform: rotate(45deg);
    transition: transform 0.3s ease, background 0.3s ease;
}

#accordeon-sable .qode-title-holder.ui-state-active .qode-accordion-mark::before {
    background: linear-gradient(to bottom right, white 50%, #9a8127 50%);
}

#accordeon-sable h2 {
    color: #9a8127 !important;
}

/********Mise au propore de tous les accordeon**********/
/********Full width**********/

/* Centrer le header de la bannière Complianz et empiler logo + titre */
#cmplz-cookiebanner-container .cmplz-header,
.cmplz-cookiebanner .cmplz-header{
  display: flex !important;
  flex-direction: column !important; /* logo au-dessus du titre */
  align-items: center !important;
  text-align: center !important;
  gap: 10px; /* espace entre logo et titre */
}

/* Agrandir et centrer le logo */
#cmplz-cookiebanner-container .cmplz-header .cmplz-logo,
.cmplz-cookiebanner .cmplz-header .cmplz-logo{
  margin: 0 auto !important;
}
#cmplz-cookiebanner-container .cmplz-header .cmplz-logo img, .cmplz-cookiebanner .cmplz-header .cmplz-logo img {
    max-height: 110px;
    width: 267px;
    height: 110px;
}

/* Centrer et resserrer le titre */
#cmplz-cookiebanner-container .cmplz-header h2,
.cmplz-cookiebanner .cmplz-header h2{
  margin: 0 !important;
  text-align: center !important;
}

/* Cache le paragraphe d’intro UNIQUEMENT dans la modale "Voir les préférences" */
.cmplz-cookiebanner.cmplz-categories-visible .cmplz-message,
#cmplz-cookiebanner-container.cmplz-categories-visible .cmplz-message{
  display: none !important;
}

/* Optionnel : resserrer l’entête du contenu quand le texte est masqué */
.cmplz-cookiebanner.cmplz-categories-visible .cmplz-body,
#cmplz-cookiebanner-container.cmplz-categories-visible .cmplz-body{
  padding-top: 12px !important; /* ajuste à ton goût */
}



/********** Barre de navigation (crosslinks) — version clean **********/

/* 0) Variables */
:root{
  --badge-size: 40px;                 /* taille des pastilles (desktop) */
  --badge-soft: rgba(0,0,0,.12);      /* ombre douce des pastilles */
}

/* 1) Cacher le titre du widget */
#nav_menu-4 > h5,
.content_bottom .widget_nav_menu .widget-title,
.content_bottom .widget_nav_menu .widgettitle{
  display:none !important;
}

/* 2) Bandeau : beige + ombre top + respirations + centrage vertical */
.content_bottom{
  background:#F2E9DB;                                   /* beige clair */
  box-shadow: inset 0 10px 18px -14px rgba(0,0,0,.35);  /* ombre haut douce */
  padding:16px 0;                                       /* hauteur du bandeau */
}
.content_bottom .container,
.content_bottom .container_inner,
.content_bottom .widget_nav_menu{
  display:flex; align-items:center; min-height:64px;    /* centrage vertical */
  /* === ajout pour permettre l’overflow horizontal dans un flex === */
  min-width:0;                                          /* clé: autorise l'overflow */
  width:100%;
  overflow:visible;                                     /* évite toute coupure */
}

/* 3) Liste : layout + scroll horizontal + scrollbar masquée */
.content_bottom .widget_nav_menu .menu{
  list-style:none; margin:0; padding:10px 24px;
  display:flex; gap:28px;                /* espace entre liens */
  flex-wrap:nowrap;                      /* une seule ligne */
  align-items:center;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:none;                  /* Firefox */
  -ms-overflow-style:none;               /* IE/Edge legacy */
  /* === ajouts scroll/tactile === */
  min-width:0;                           /* ne pas forcer la largeur intrinsèque */
  width:100%;
  overflow-y:hidden;                     /* évite la barre verticale parasite */
  touch-action: pan-x;                   /* geste horizontal OK sur mobile */
  overscroll-behavior-x: contain;        /* évite les rebonds avec la page */
}
.content_bottom .widget_nav_menu .menu::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

/* 4) Suppression des diamants entre items */
.content_bottom .widget_nav_menu .menu > li + li::before{
  content:none !important; display:none !important;
}

/* 5) Lien : typo, zone cliquable, pas de soulignement */
.content_bottom .widget_nav_menu .menu a{
  display:inline-flex; align-items:center; gap:12px;
  padding:8px 0;
  font-weight:700; font-size:18px; line-height:1;
  color:#111 !important;                 /* texte noir, sobre */
  text-decoration:none !important;       /* no underline */
}
.content_bottom .widget_nav_menu .menu a:hover,
.content_bottom .widget_nav_menu .menu a:focus,
.content_bottom .widget_nav_menu .menu a:active{
  text-decoration:none !important;
}

/* 6) Pastille mosaïque circulaire */
.content_bottom .widget_nav_menu .menu a::before{
  content:"";
  width:var(--badge-size); height:var(--badge-size);
  flex:0 0 var(--badge-size);
  border-radius:50%;
  background:center/cover no-repeat;     /* l’image est injectée plus bas */
  /* anneau = couleur de rubrique (var(--ring)) + ombre douce */
  box-shadow:
    0 0 0 2px var(--ring, #fff),
    0 1px 2px var(--badge-soft);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.content_bottom .widget_nav_menu .menu a:hover::before,
.content_bottom .widget_nav_menu .menu a:focus-visible::before{
  transform:scale(1.05);
  box-shadow:
    0 0 0 2px var(--ring, #fff),
    0 6px 12px rgba(0,0,0,.18);
}

/* 7) Associer une couleur d’anneau + une image par rubrique */
.content_bottom .widget_nav_menu .menu a[href*="collaborer-avec-la-villa-zadig"]{
  --ring:#0000FF; /* bleu */
}
.content_bottom .widget_nav_menu .menu a[href*="apprendre-le-francais-en-france"]{
  --ring:#E75B3A; /* orange */
}
.content_bottom .widget_nav_menu .menu a[href*="appels-doffres"]{
  --ring:#7A1F36; /* bordeaux */
}
.content_bottom .widget_nav_menu .menu a[href*="apprendre-le-francais-en-iran"]{
  --ring:#2F6E68; /* teal */
}

/* Images des pastilles (tes vignettes mosaïque) */
.content_bottom .widget_nav_menu .menu a[href*="collaborer-avec-la-villa-zadig"]::before{
  background-image:url('http://localhost:8888/villazadig/wp-content/uploads/2025/10/mosaique-collaborer.jpg');
}
.content_bottom .widget_nav_menu .menu a[href*="apprendre-le-francais-en-france"]::before{
  background-image:url('http://localhost:8888/villazadig/wp-content/uploads/2025/10/mosaique-apprendre-en-france.jpg');
}
.content_bottom .widget_nav_menu .menu a[href*="appels-doffres"]::before{
  background-image:url('http://localhost:8888/villazadig/wp-content/uploads/2025/10/mosaique-appels-doffres.jpg');
}
.content_bottom .widget_nav_menu .menu a[href*="apprendre-le-francais-en-iran"]::before{
  background-image:url('http://localhost:8888/villazadig/wp-content/uploads/2025/10/mosaique-apprendre-en-iran.jpg');
}

/* 8) Mobile : taille des pastilles un peu réduite + espace ajusté */
@media (max-width:768px){
  :root{ --badge-size: 32px; }
  .content_bottom .widget_nav_menu .menu{ gap:22px; padding:10px 16px; }
  .content_bottom .widget_nav_menu .menu a{ font-size:16px; }
}

/* === Fix scroll horizontal dans un conteneur flex === */
.content_bottom .widget_nav_menu{ width:100%; }                /* le bloc prend toute la largeur */
.content_bottom .widget_nav_menu .menu{
  min-width:0;                                                /* clé : autorise l'overflow dans un flex item */
  width:100%;
  overflow-x:auto;                                            /* conserve le scroll */
  overflow-y:hidden;                                          /* pas de scroll vertical */
  -webkit-overflow-scrolling:touch;
  touch-action: pan-x;                                        /* geste horizontal */
  overscroll-behavior-x: contain;                             /* évite le scroll parent */
}
.content_bottom .widget_nav_menu .menu > li{ flex:0 0 auto; } /* ne pas rétrécir les items */
.content_bottom .widget_nav_menu .menu a{ white-space:nowrap; }/* évite les retours à la ligne */


.page-id-18445 .column_vivre_art .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner,
.page-id-20246 .column_vivre_art .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner
{
    color: blue !important;
}

.page-id-18445 .column_vivre_art .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover,
.page-id-20246 .column_vivre_art .qode-accordion-holder .qode-title-holder .qode-tab-title .qode-tab-title-inner:hover
{
    color: #FE5930 !important;
}

.page-id-18445 #accordeon-orange .qode-accordion-holder .qode-title-holder,
.page-id-20246 #accordeon-orange .qode-accordion-holder .qode-title-holder
{
    border-top: 0px !important;
}

.page-id-18445 .parallax_content .column_parallax.column_vivre_art,
.page-id-20246 .parallax_content .column_parallax.column_vivre_art{
    background-color: rgba(0, 0, 0, 0.7);
    background-color: rgba(239, 229, 211, 1);
    padding: 30px;
}

.page-id-18445 .parallax_content .column_parallax.column_vivre_art p,
.page-id-20246 .parallax_content .column_parallax.column_vivre_art p,
{
    color: black !important;
}

.page-id-18445 .parallax_section_holder .column_parallax p, 
.page-id-18445  .parallax_section_holder .column_parallax ul, 
.page-id-18445 .parallax_section_holder .column_parallax li,
.page-id-20246 .parallax_section_holder .column_parallax p, 
.page-id-20246  .parallax_section_holder .column_parallax ul, 
.page-id-20246 .parallax_section_holder .column_parallax li
{
    color: black !important;
}


/* -------------------------------
   STYLE SECTIONS STATUT JURIDIQUE
---------------------------------*/

/* -------------------------------
   STYLE SECTIONS STATUT JURIDIQUE
---------------------------------*/

:root {
  --purple:#7A1F36;   /* Bloc 1 */
  --gold:#C99700;     /* Bloc 2 */
  --pink:#A2263D;     /* Bloc 3 */
  --radius:14px;
  --shadow:0 6px 18px rgba(17,19,24,.08);
}

/* --- Bloc principal beige clair --- */
.bloc_2_colum_clear_beige,
.bloc_1_colum_clear_beige,
.bloc_3_colum_clear_beige {
  background:transparent; /* Suppression du fond blanc */
  border-radius:var(--radius);
  box-shadow:none;
  padding:30px;
  position:relative;
  overflow:hidden;
  margin-bottom:35px;
}

/* --- Bande colorée à gauche --- */
#bloc_1_left_color::before,
#bloc_2_left_color::before,
#bloc_3_left_color::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:10px;
  border-top-left-radius:var(--radius);
  border-bottom-left-radius:var(--radius);
}
#bloc_1_left_color::before { background:var(--purple); }
#bloc_2_left_color::before { background:var(--gold); }
#bloc_3_left_color::before { background: #DC143C; }

/* --- Titres --- */
/*.vc_row h3 {
  font-size:22px;
  font-weight:700;
  margin-bottom:8px;
  color:#000;
}

/* --- Paragraphes principaux --- */
/*.vc_row p {
  color:#000;
  line-height:1.55;
  font-size:16px;
}

/* --- Bloc d’infos coloré interne --- */
.bloc_dark {
  border-radius:10px;
  padding:16px 18px;
  font-size:15px;
  margin-top:15px;
  line-height:1.6;
}

/* Couleurs spécifiques des encarts internes */
#bloc_1_left_color .bloc_dark {
  background:var(--purple);
  color:#fff;
}
#bloc_2_left_color .bloc_dark {
  background:var(--gold);
  color:#fff; /* texte blanc sur fond doré */
}
#bloc_3_left_color .bloc_dark {
  background:var(--pink);
  color:#fff;
}

/* --- Liens dans encarts colorés --- */
.bloc_dark a {
  font-weight:700;
  text-decoration:underline;
  color:inherit;
}

/* --- Espacements & responsive --- */
@media (max-width:768px){
  .bloc_2_colum_clear_beige,
  .bloc_1_colum_clear_beige,
  .bloc_3_colum_clear_beige {
    padding:22px;
  }
}

/* --- Optionnel : effet léger au survol --- */
.bloc_1_colum_clear_beige:hover,
.bloc_2_colum_clear_beige:hover,
.bloc_3_colum_clear_beige:hover {
  transform:translateY(-3px);
  transition:all .25s ease;
}


.column_vivre_art .qode-accordion-holder .qode-tab-title 
{
    font-size: 1.4rem;
}



/* ====== Section fullwidth centrée ====== */
#bloc-niveaux.section_in_fullwidth > .full_section_inner{
  max-width:1100px;
  margin:0 auto;
  padding:32px 20px;
}

/* ====== Palette ====== */
:root{
  --c-national:#7A1F36;   /* bordeaux */
  --c-regional:#0000ff;   /* bleu électrique */
  --c-departement:#A2263D;/* cerise */
  --c-ville:#40E0D0;      /* turquoise */
  --card:#E8DFCF;         /* fond beige */
  --ink:#0f172a;
  --radius:16px;
  --shadow:0 10px 24px rgba(2,6,23,.06);
}

/* ====== Carte (EXTÉRIEUR uniquement) ====== */
.level-card{
  position:relative;
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,.08);
  padding:24px;
  margin-bottom:26px;
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
}
/* Bordure gauche colorée (une seule source) */
.level-card::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:8px;
  border-top-left-radius:var(--radius);
  border-bottom-left-radius:var(--radius);
}
.level-card.national::before   { background:var(--c-national); }
.level-card.regional::before   { background:var(--c-regional); }
.level-card.departement::before{ background:var(--c-departement); }
.level-card.ville::before      { background:var(--c-ville); }

/* Hover */
.level-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(0,0,0,.12);
}

/* ====== Neutralise tout style « intérieur » (anti double carte/bordure) ====== */
#bloc-niveaux .level-card .vc_column-inner{
  position:static !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
#bloc-niveaux .level-card .vc_column-inner::before{ content:none !important; }

/* ====== En-tête (icône + titre) ====== */
#bloc-niveaux .level-head{
  display:flex; align-items:center; gap:12px; margin:0 0 10px;
}
#bloc-niveaux .level-icon{
  width:42px; height:42px; border-radius:999px;
  display:grid; place-items:center; color:#fff;
  transition:transform .3s ease;
}
#bloc-niveaux .level-head.national    .level-icon{ background:var(--c-national); }
#bloc-niveaux .level-head.regional    .level-icon{ background:var(--c-regional); }
#bloc-niveaux .level-head.departement .level-icon{ background:var(--c-departement); }
#bloc-niveaux .level-head.ville       .level-icon{ background:var(--c-ville); } /* meilleur contraste sur turquoise */

#bloc-niveaux .level-card:hover .level-icon{ transform:scale(1.1); }

/* ====== Typo ====== */
#bloc-niveaux h3{ margin:0; font-size:22px; font-weight:700; color:#000; }
#bloc-niveaux p { margin:12px 0 0; line-height:1.6; color:#000; }

/* ====== Responsive ====== */
@media (max-width:767px){
  #bloc-niveaux.section_in_fullwidth > .full_section_inner{ padding:24px 16px; }
  #bloc-niveaux h3{ font-size:20px; }
  #bloc-niveaux .level-icon{ width:36px; height:36px; }
}


/* ===== Indentation alignée sur le titre ===== */
/* paramètres d’alignement : taille de l’icône + écart */
#bloc-niveaux .level-card{
  --icon: 42px;     /* diamètre de .level-icon */
  --gap:  12px;     /* espace entre l’icône et le titre */
  --indent: calc(var(--icon) + var(--gap));
  padding: 28px 28px 26px;  /* un peu plus d’air globalement */
}

/* garde l’entête compacte */
#bloc-niveaux .level-head{ margin-bottom:14px; }

/* aligne le texte des colonnes WPBakery sous le début du titre */
#bloc-niveaux .level-card .wpb_text_column .wpb_wrapper{
  padding-left: var(--indent);
}

/* si jamais un .level-head s’est retrouvé dans une text column, on le masque */
#bloc-niveaux .level-card .wpb_text_column .level-head{ display:none; }

/* confort de lecture */
#bloc-niveaux .level-card .wpb_text_column p{
  margin: 12px 0 0;
  line-height: 1.65;
}

/* responsive : indente un peu moins sur mobile si tu réduis l’icône */
@media (max-width: 767px){
  #bloc-niveaux .level-card{ --icon: 36px; --gap: 10px; padding:24px 20px; }
}

sr7-content {
  left: 0 !important;
  width: 100% !important; /* évite l’astuce width+offset */
}



/* Empiler les 2 colonnes (8/4) en 100% sous 768px */
@media (max-width: 767.98px) {
  #logo-partenaires .full_section_inner {
    display: flex;       /* garde le flex de WPBakery */
    flex-wrap: wrap;     /* permet le retour à la ligne */
  }
  #logo-partenaires .wpb_column {
    flex: 0 0 100% !important;  /* largeur fixe 100% */
    max-width: 100% !important;
    width: 100% !important;
  }
  /* Optionnel : supprimer l’espace latéral des colonnes empilées */
  #logo-partenaires .vc_column-inner {
    padding-left: 0;
    padding-right: 0;
  }

  #logo-partenaires p {
        font-size: 1.8rem;
        line-height: 2rem;
    }

    #logo-partenaires {
      text-align: center; /* centre le texte et les images */
    }

    #logo-partenaires .full_section_inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; /* centre horizontalement les colonnes */
      align-items: center;     /* centre verticalement si nécessaire */
    }

    #logo-partenaires .wpb_column {
      text-align: center;
    }

    #logo-partenaires li img {
        width: 100%;
        height: auto;
    }

    .sbi_photo_wrap .sbi-screenreader {
        top: 40px;
    }

    #logo-partenaires
    {
        padding: 20px;
    }

    #form_contact_row
    {
        padding: 30px;
    }

    .qode_client_holder
    {
        margin-bottom: 80px;
    }

    .qode_client_holder img {
        max-height: 100%;
        width: 300px;
        height: auto;
        object-fit: contain;
        margin-bottom: 20px;
    }

    .vc_custom_1758735032097
    {
        padding: 20px;
    }

    .vc-hoverbox-wrapper
    {
        margin-bottom: 40px;
        padding: 20px;
    }

    .section h2, .section p
    {
        padding: 20px;
    }

    .bloc_intro p
    {
        padding: 20px;
    }

    #filtersX
    {
        margin: 20px;
    }
}

.footer_top .textwidget, .footer_top a, .footer_top li, .footer_top p, .footer_top span {
    font-size: 1.3rem;
}

p, body.qode-overridden-elementors-fonts .elementor-widget-heading p.elementor-heading-title {
    font-family: 'Chakra Petch', sans-serif !important;
}

.q_counter_holder span.counter {
    color: #000000;
    font-weight: 600;
    font-size: 45px;
    font-family: 'Chakra Petch', sans-serif !important;
}

/* Inverser l'ordre des colonnes WPBakery en RTL (fa-IR) */
html[dir="rtl"] .vc_row.vc_inner .wpb_column {
  float: right !important; /* remplace float:left de WPBakery */
}

/* Optionnel : corriger l'alignement forcé à gauche sur ta row */
html[dir="rtl"] .vc_row.vc_inner[style*="text-align:left"] {
  text-align: right !important;
}

/* Centrer le texte dans les compteurs sur les pages en farsi */
html[lang^="fa"] .bloc_counter .counter_text {
  text-align: center !important;
}

html[lang^="fa"] .bloc_counter.bloc_counter_red .q_counter_holder {
    border-left: 0px;
    padding-top: 20px;
    border-right: 20px solid #DC143C;
}

html[lang^="fa"] .bloc_counter.bloc_counter_cerise .q_counter_holder {
    border-left: 0px;
    padding-top: 20px;
    border-right: 20px solid #7A1F36;
}

html[lang^="fa"] .bloc_counter.bloc_counter_safran .q_counter_holder {
    border-left: 0px;
    padding-top: 20px;
    border-right: 20px solid #C99700;
}

html[lang^="fa"] .bloc_counter.bloc_counter_orange .q_counter_holder {
    border-left: 0px;
    padding-top: 20px;
    border-right: 20px solid #FE5930;
}

html[lang^="fa"] .bloc_counter.bloc_counter_or .q_counter_holder {
    border-left: 0px;
    padding-top: 20px;
    border-right: 20px solid #9a8127;
}

@media (max-width: 768px) {
    html[lang^="fa"].mobile_menu a span {
        text-transform: none !important;
        padding-right: 5px;
    }
} 

/* Mobile: revenir au comportement 1 colonne */
@media (max-width: 767.98px) {
  html[dir="rtl"] .vc_row.vc_inner .wpb_column {
    float: none !important;
    width: 100% !important;
    clear: both !important;
  }
}

/* Mobile: empilement naturel */
@media (max-width: 767.98px) {
  html[dir="rtl"] .vc_row.section .full_section_inner {
    flex-direction: column !important; /* stoppe l'inversion horizontale */
  }
  html[dir="rtl"] .vc_row.section .full_section_inner > .wpb_column {
    width: 100% !important; /* au cas où des largeurs persistent */
  }
}

html[dir="rtl"] .qode-tab-title .qode-tab-title-inner
{
    text-align: right !important;
}

html[dir="rtl"] .qode-accordion-holder .qode-title-holder .qode-tab-title span.qode-tab-title-inner:only-child {
    padding-right: 20px;
    width: 100%;
}

html[dir="rtl"]  .vz-sticky-col
{
    float: right;
}

html[dir="rtl"]  .right-content-wrapper.vc_col-sm-9 {
    width: 60%;
    margin-left: 80px !important;
}


@media (min-width: 992px) {
    html[dir="rtl"] .row_parallax_white .column_parallax {
        width: 65%;
        float: right;
    }
}

/* Inverser l'ordre des colonnes .bloc_counter en RTL via float */
html[dir="rtl"] .full_section_inner:has(> .bloc_counter) > .wpb_column {
  float: right !important;      /* clé : flotte tout à droite => ordre visuel inversé */
  margin-left: 0;
  margin-right: 0;
}

/* Garder 3 colonnes au desktop (WPBakery .vc_col-sm-4 = 33.333%) */
html[dir="rtl"] .full_section_inner:has(> .bloc_counter) > .vc_col-sm-4 {
  width: 33.333%;
}

/* Stack mobile proprement */
@media (max-width: 767.98px) {
  html[dir="rtl"] .full_section_inner:has(> .bloc_counter) > [class*="vc_col-"] {
    float: none !important;
    width: 100%;
  }
}

/* Sécurité : si votre thème met un float par défaut, on neutralise */
html[dir="rtl"] .full_section_inner:has(> .bloc_counter) > .wpb_column .vc_column-inner {
  width: 100%;
  box-sizing: border-box;
}

/* La clearfix existe déjà sur .full_section_inner (clearfix), sinon : */
html[dir="rtl"] .full_section_inner:has(> .bloc_counter)::after {
  content: "";
  display: table;
  clear: both;
}




[dir="rtl"] .floating-nav { direction: rtl; }
[dir="rtl"] .fnav-header, [dir="rtl"] .fnav-list { text-align: right; }
[dir="rtl"] .fnav-item {
  justify-content: flex-start !important;
}
[dir="rtl"] .fnav-panel { right: 1rem; left: auto; transform-origin: right center; }
[dir="rtl"] .fnav-panel.is-hidden { transform: translateX(110%); }
[dir="rtl"] .fnav-panel.is-visible { transform: translateX(0); }
[dir="rtl"] .floating-nav {right: 20px;}
/* Alignement à droite en version persane (RTL) */
[dir="rtl"] .fnav-item {
  justify-content: flex-end; /* place le texte à droite */
  text-align: right;         /* aligne le contenu textuel à droite */
}

[dir="rtl"] #bloc_1_left_color::before,
[dir="rtl"] #bloc_2_left_color::before,
[dir="rtl"] #bloc_3_left_color::before  {
  left: auto;
  right: 0;
}

html[lang^="fa"] .bloc_2_colum_clear_beige .vc_column-inner,
html[lang^="fa"] .bloc_1_colum_clear_beige .vc_column-inner,
html[lang^="fa"] .bloc_3_colum_clear_beige .vc_column-inner {
    text-align: right;
    padding-right: 40px;
}

[dir="rtl"] .level-card.national::before,
[dir="rtl"] .level-card.regional::before,
[dir="rtl"] .level-card.departement::before,
[dir="rtl"] .level-card.ville::before
 {
  left: auto;
  right: 0;
}



/* ====== Site persan uniquement (fa-IR) ====== */
html[lang="fa-IR"] .wpcf7,
html[lang="fa-IR"] .wpcf7-form {
  direction: rtl;
  text-align: right;
}

/* Label + champ sur la même ligne (ruban à droite, champ à gauche) */
html[lang="fa-IR"] .wpcf7-form > label {
  display: flex;
  flex-direction: row-reverse; /* ruban à droite */
  align-items: stretch;
  gap: 0;
  width: 100%;
  margin-bottom: 20px;
  text-align: right;
}

/* Ruban rouge en MIRROIR */
html[lang="fa-IR"] .wpcf7-form > label::before {
  content: attr(data-label);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 54px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 226.31 78.24'><polygon points='0 0 212.01 0 226.31 14.3 226.31 63.92 211.99 78.24 0.03 78.24 0 0' fill='%23c92b40'/></svg>") no-repeat center / contain;
  color: #fff;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  padding: 0 10px;
  line-height: 1;
  box-sizing: border-box;
  pointer-events: none;
  order: 2; /* ruban à droite */
}

/* Le champ prend la largeur restante, texte à droite */
html[lang="fa-IR"] .wpcf7-form > label > .wpcf7-form-control-wrap {
  order: 1;
  flex: 1;
  display: block;
  text-align: right;
}

/* Champs alignés RTL + hauteur harmonisée */
html[lang="fa-IR"] .wpcf7-form input[type="text"],
html[lang="fa-IR"] .wpcf7-form input[type="email"],
html[lang="fa-IR"] .wpcf7-form input[type="tel"]
{
  height: 54px;
  line-height: 54px;
  text-align: right;
  direction: rtl;
}

html[lang="fa-IR"] .wpcf7-form textarea {
  text-align: right;
  direction: rtl;
}

/* Placeholders à droite */
html[lang="fa-IR"] .wpcf7-form input::placeholder,
html[lang="fa-IR"] .wpcf7-form textarea::placeholder {
  text-align: right;
}

/* Bouton d’envoi à droite */
html[lang="fa-IR"] .wpcf7-form .form-submit-wrapper {
  text-align: right;
}
html[lang="fa-IR"] .wpcf7 .wpcf7-submit {
  float: left;
}

.single-event .container_inner
{
    width: inherit !important;
}

#bandeau_appels_interne.vc_row,
#bandeau_appels_interne {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

/*.error404 .content_inner  
{
    margin-top: 350px;
}*/

.error404 .content_inner a, .error404 .content_inner p a
{
    text-decoration: none;
}


.qbutton, a.qbutton.default {
    padding: 1rem 2rem !important;
}

@media (max-width: 1200px) {
    html[dir="rtl"] .right-content-wrapper.vc_col-sm-9 {
        width: 100% !important;
        margin: 0 !important;

        /* Nouveau padding propre */
        padding: 0 25px !important;

        /* Important pour éviter que Bootstrap réinjecte ses 15px */
        box-sizing: border-box;
    }
}

/*@media (max-width: 1200px) {
    html[dir="rtl"] .vc_column_container {
        padding-left: 25px !important;
        padding-right: 25px !important;
        box-sizing: border-box;
    }
}*/

.page-id-18703 .full_width .parallax_content {
    max-width: 1200px;
    width: auto;
}



/******** Formulaire de contact – CF7 ********/

/* Champs CF7 (texte, email, textarea, etc.) */
.wpcf7-form-control {
  color: #c92b40;
  font-weight: bold;
  font-family: 'Chakra Petch', sans-serif;
  background: transparent;
  border: none;
  padding: 16px;
}

/* -------------------------------------------------- */
/* CHECKBOX – STYLE GLOBAL (valable pour toutes) */
/* -------------------------------------------------- */

/* Neutralise les styles de thème (fond blanc, taille) */
.wpcf7-form input[type="checkbox"],
.wpcf7-form-control[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background: transparent !important;
  width: 18px;
  height: 18px;
  border: 2px solid #d31445;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  padding: 0;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

/* État cochée */
.wpcf7-form input[type="checkbox"]:checked,
.wpcf7-form-control[type="checkbox"]:checked {
  background-color: #d31445 !important;
}

/* Icône check */
.wpcf7-form input[type="checkbox"]:checked::after,
.wpcf7-form-control[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Focus clavier (accessibilité) */
.wpcf7-form input[type="checkbox"]:focus,
.wpcf7-form-control[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(211, 20, 69, 0.35);
}

/* -------------------------------------------------- */
/* ALIGNEMENT DES CHECKBOX (CF7 génère souvent wpcf7-list-item) */
/* -------------------------------------------------- */

.wpcf7-form .wpcf7-list-item {
  margin: 0; /* évite les décalages par défaut CF7 */
}

.wpcf7-form .wpcf7-list-item label,
.wpcf7-form > label:has(input[type="checkbox"]) {
  display: inline-flex;
  align-items: flex-start; /* propre si le texte passe sur 2 lignes */
  gap: 12px;
  line-height: 1.4;
}

/* Si tu préfères un centrage vertical quand le texte tient sur 1 ligne, remplace par:
   align-items: center;
*/

/* -------------------------------------------------- */
/* CAS RGPD – on supprime le label décoratif du thème */
/* -------------------------------------------------- */

.wpcf7-form > label.rgpd-consent::before {
  content: none !important;
  display: none !important;
}

/* Décalage RGPD pour s'aligner avec tes champs (desktop uniquement) */
.wpcf7-form > label.rgpd-consent {
  margin-left: 125px;
  width: calc(100% - 125px);
}

/* Empêche le <strong> de casser la mise en page dans le label RGPD */
.wpcf7-form label.rgpd-consent strong {
  display: inline !important;
  white-space: nowrap; /* optionnel, garde "Villa Zadig" sur une seule ligne */
}


/* Mobile : pas de décalage */
@media (max-width: 768px) {
  .wpcf7-form > label.rgpd-consent {
    margin-left: 0;
    width: 100%;
  }
}


/* RGPD : empêche <strong> de casser la mise en page (FR + FA) */
.wpcf7-form label.rgpd-consent strong {
  display: inline !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap; /* garde "Villa Zadig" sur une seule ligne */
}

/* RGPD : neutralise toute mise en colonnes éventuelle héritée du thème */
.wpcf7-form label.rgpd-consent,
.wpcf7-form label.rgpd-consent * {
  columns: auto !important;
  column-count: auto !important;
  column-width: auto !important;
}

/* RTL : aligner la checkbox sur le bord du textarea (zone blanche) */
html[lang="fa"] .wpcf7-form > label.rgpd-consent,
html[lang="fa-IR"] .wpcf7-form > label.rgpd-consent {
  margin-right: 0 !important;      /* on enlève le décalage à droite */
  width: 100% !important;
  padding-right: 130px;            /* on “rentre” le contenu depuis la droite */
  box-sizing: border-box;
  flex-direction: row-reverse;     /* checkbox à droite */
  justify-content: flex-start;     /* en row-reverse, ça colle au padding-right */
}

/* Mobile : pas de padding */
@media (max-width: 768px) {
  html[lang="fa"] .wpcf7-form > label.rgpd-consent,
  html[lang="fa-IR"] .wpcf7-form > label.rgpd-consent {
    padding-right: 0;
  }
}


html[lang="fa-IR"] .bloc_intro {
    border-right: 5px solid #D4B483;
    padding-right: 15px;
    border-left: 0px;
    padding-left: 0px;
}

/* RTL (Farsi) : miroir complet de la grille Qode */
html[lang="fa"] .qode_clients,
html[lang="fa-IR"] .qode_clients {
  direction: rtl !important;
}

/* Si le thème utilise des floats */
html[lang="fa"] .qode_clients .qode_client_holder,
html[lang="fa-IR"] .qode_clients .qode_client_holder {
  float: right !important;
}

/* Certains thèmes mettent un clear/float sur l'inner */
html[lang="fa"] .qode_clients .qode_client_holder_inner,
html[lang="fa-IR"] .qode_clients .qode_client_holder_inner {
  direction: rtl !important;
}


/* ===================================== */
/* Instagram CTA – FR + FA (miroir RTL)  */
/* ===================================== */

/* Container lien */
.instagram-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;                  /* espace icône/texte */
  width: 100%;
  text-align: center;
  text-decoration: none;
  position: relative;
}

/* Texte (FR par défaut) */
.instagram-link .title-instagram{
  display: inline-block;
  font-weight: 700;
  font-size: 42px;            /* ajuste si besoin */
  line-height: 1.1;
  padding-bottom: 28px;       /* marge sous le titre */
}

/* Barre rouge sous le titre */
.instagram-link .title-instagram::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;                /* position de la barre */
  transform: translateX(-50%);
  width: 120px;
  height: 8px;
  border-radius: 20px;
  background: #d31445;
}

/* Icône */
.instagram-link .instagram-icon{
  font-size: 26px;
  line-height: 1;
  flex: 0 0 auto;
}

.instagram-link .instagram-icon{
  font-size: 26px;
  line-height: 1;
  position: relative;
  top: -8px; /* augmente à 16px / 20px si tu veux encore plus bas */
}


/* ----------------------------- */
/* Miroir Farsi / RTL            */
/* ----------------------------- */

html[lang="fa"] .instagram-link, html[lang="fa-IR"] .instagram-link{ direction: rtl; } /* On force l'icône à droite du texte en RTL */ html[lang="fa"] .instagram-link, html[lang="fa-IR"] .instagram-link{ flex-direction: row-reverse; } /* (Optionnel) Empêche <strong> de casser le flux si tu en mets dans le titre */ html[lang="fa"] .instagram-link strong, html[lang="fa-IR"] .instagram-link strong{ display: inline !important; white-space: nowrap; } html[lang="fa"] a.instagram-link, html[lang="fa-IR"] a.instagram-link{ display: inline-flex !important; direction: rtl !important; flex-direction: row-reverse !important; /* icône à droite */ align-items: center !important; justify-content: center !important; gap: 14px !important; } html[lang="fa"] a.instagram-link .instagram-icon, html[lang="fa-IR"] a.instagram-link .instagram-icon{ order: 0 !important; } html[lang="fa"] a.instagram-link .title-instagram, html[lang="fa-IR"] a.instagram-link .title-instagram{ order: 1 !important; } /* RTL Instagram : forcer l'icône à droite quoi qu'il arrive */ html[lang="fa"] a.instagram-link, html[lang="fa-IR"] a.instagram-link{ display: inline-flex !important; direction: rtl !important; align-items: center !important; justify-content: center !important; gap: 14px !important; } /* On impose l'ordre : texte puis icône (RTL => icône à droite) */ html[lang="fa"] a.instagram-link .title-instagram, html[lang="fa-IR"] a.instagram-link .title-instagram{ order: 1 !important; } html[lang="fa"] a.instagram-link .instagram-icon, html[lang="fa-IR"] a.instagram-link .instagram-icon{ order: 2 !important; float: none !important; position: relative !important; /* garde ton top:-8px */ }

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

/*@media (max-width: 768px){
  .instagram-link{
    gap: 10px;
  }

  .instagram-link .title-instagram{
    font-size: 28px;
    padding-bottom: 18px;
  }

  .instagram-link .title-instagram::after{
    width: 90px;
    height: 6px;
    bottom: 4px;
  }

}*/


/* Mobile : IG centré (FR + FA), picto au centre au-dessus du texte */
@media (max-width: 768px) {

  .instagram-link{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;         /* ✅ indispensable : vrai centrage */
    gap: 6px !important;
    padding: 22px 16px 20px !important;

    text-align: center !important;
    box-sizing: border-box;
    margin-top: 20px;
  }

  .instagram-icon{
    font-size: 44px !important;
    line-height: 1 !important;
    display: block !important;

    margin: 0 auto !important;      /* ✅ centre l’icône */
    position: relative;
    top: 6px;                       /* petit ajustement */
  }

  .instagram-link .title-instagram{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  /* Cas RTL (persan) : on neutralise les effets du thème */
  html[lang^="fa"] .instagram-link{
    direction: ltr !important;      /* ✅ garde l’icône “comme en FR” */
  }

  html[lang^="fa"] .instagram-link .title-instagram{
    direction: rtl !important;      /* ✅ mais le texte reste en RTL */
  }
}





/* Farsi : plus d’espace au-dessus/au-dessous du bloc */
html[lang="fa"] #row__logo,
html[lang="fa-IR"] #row__logo{
  padding-top: 0px;
  padding-bottom: 60px;
}

html[lang="fa"] .home .title_outer,
html[lang="fa-IR"] .home .title_outer{
  margin-top: 360px;
}

/*@media (max-width:1000px){

    html[lang="fa"] .home .title_outer, html[lang="fa-IR"] .home .title_outer {
        margin-top: 20px;
    }

    html[lang^="fa"] .button-zadig-wrapper {
        margin-top: 30px;
        margin-bottom: 0px;
    }
}*/



/****** Slider Swiper *********/

/* ✅ Le slider tout en haut (annule marges/paddings éventuels du thème) */
.hero-swiper{
  width: 100%;
  margin-top: 0 !important;
}

/* Si ton thème ajoute un padding sur la section/row autour du swiper */
/*.hero-zadig,
.hero-zadig .vc_row,
.hero-zadig .full_width,
.hero-zadig .full_section_inner,
.hero-zadig .container,
.hero-zadig .container_inner{
  padding-top: 0 !important;
  margin-top: 0 !important;
}*/

/* Slide full width + hauteur */
.hero-slide{
  position: relative;
  overflow: hidden;

  /* IMPORTANT pour la hauteur */
  min-height: 55vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* ✅ Centre le hero-content pile au milieu (vertical + horizontal) */
  display: flex;
  align-items: center;
  justify-content: center;

  /* ✅ gestion “mathématique” de l’espace tags */
  --tags-space: 110px;                 /* espace réservé au bas */
  padding-bottom: var(--tags-space);

  text-align: center;
  will-change: transform, filter, opacity;
}

/* ✅ Corrige le centrage vertical visuel (car padding-bottom décale le centre) */
.hero-content{
  transform: translateY(calc(var(--tags-space) / 2));
}

/* Rectangles + chevauchement + décalage vers la droite */
.hero-slide{
  --overlap: 220px;  /* chevauchement (augmente si tu veux +) */
  --shift: 90px;     /* ✅ décalage global vers la droite */
}

/* Base commune */
.hero-slide::before,
.hero-slide::after{
  content:"";
  position:absolute;
  pointer-events: none;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
}

/* Rectangle gauche (derrière) */
.hero-slide::before{
 width: 500px;     /* ✅ avant 560px */
  height: 350px;    /* ✅ avant 320px */
  background: rgba(25, 60, 170, .55);
  z-index: 1;

  /* bord droit proche du centre + chevauchement + décalage à droite */
  transform:
    translate(-100%, -50%)
    translateX(calc(var(--overlap) / 2))
    translateX(var(--shift));
}

/* Rectangle droit (au-dessus) */
.hero-slide::after{
  width: 360px;     /* ✅ plus petit */
  height: 260px;    /* ✅ plus petit */
  background: rgba(0, 150, 125, .55);
  z-index: 1;

  /* bord gauche proche du centre + chevauchement + décalage à droite */
  transform:
    translate(0, -50%)
    translateX(calc(var(--overlap) / -2))
    translateX(var(--shift));
}






/* Contenu au-dessus des carrés (✅ vraiment centré) */
.hero-content{
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;

  padding: 0 24px;
  text-align: center;
  color: #fff;

  width: auto !important; /* ✅ au lieu de 100% */
}

/* Titre (espacé) */
.hero-title{
  font-size: 50px !important;
  line-height: 1.05;
  margin: 0 0 16px;
  letter-spacing: .12em;
  font-weight: 500 !important;
}

/* Copyright */
.hero-credit{
  font-size: 18px;
  opacity: .95;
  letter-spacing: .10em;
  margin-bottom: 0;
}

.hero-tags{
  position: absolute;
  left: 0;                 /* au lieu de 50% */
  right: 0;                /* ✅ prend toute la largeur */
  bottom: 40px;
  transform: none;         /* ✅ plus besoin de translateX */
  z-index: 3;

  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* ✅ centre les tags */
  gap: 14px;

  width: 100%;             /* ✅ pleine largeur */
  padding: 0 24px;         /* ✅ évite de coller aux bords */
  margin-top: 0 !important;
}

.hero-tags{
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.hero-tag{
  padding: 14px 18px;
  background: rgba(0,0,255,1);
  color: #fff;
  text-decoration: none;
  font-size: 18px;
}

/* Responsive tablette */
@media (max-width: 1024px){
  .hero-slide{
    min-height: 70vh;
    --tags-space: 120px;

    --overlap: 200px;  /* ✅ tu peux ajuster ici aussi */
    --shift: 70px;
  }

  .hero-slide::before{
    width: 480px;
    height: 280px;
  }

  .hero-slide::after{
    width: 320px;
    height: 230px;
    z-index: 1;
  }

  .hero-content{
    padding: 0 20px;
    width: auto !important;
  }

  .hero-title{ font-size: 48px; }

  .hero-tags{
    bottom: 32px;
    max-width: calc(100% - 40px);
  }
}


@media (max-width: 767px){

  /* 1) TAGS : vrai centrage */
  .hero-tags{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    width: calc(100% - 32px) !important;     /* marge gauche/droite */
    max-width: 420px !important;             /* optionnel : évite que ça fasse trop large */
    justify-content: center !important;
    text-align: center;
    padding: 0 !important;                   /* évite le décalage */
  }

  /* 2) RECTANGLES : éviter que le gauche touche le bord */
  .hero-slide{
    --shift: 55px;   /* ✅ augmente un peu vers la droite (au lieu de 30px) */
    --overlap: 160px; /* optionnel : un peu plus de chevauchement si tu veux */
  }

  /* si besoin : on réduit très légèrement le rectangle gauche */
  .hero-slide::before{
    width: 320px;   /* au lieu de 360px si ça déborde */
    height: 210px;  /* ajuste si tu veux garder les proportions */
  }

  .hero-slide::after{
    width: 240px;
    height: 180px;
  }
}



/* ⚠️ ton ancienne règle margin-top des tags est neutralisée par le !important ci-dessus */
.hero-tags{
  margin-top: 36px;
}

.hero-tag{
  color: #fff !important;
  opacity: 1 !important;
  text-decoration: none;
}

.hero-tag:hover{
  color: #fff !important;
}

/* État par défaut */
.hero-title,
.hero-credit,
.hero-tags{
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 1.4s cubic-bezier(.22,1,.36,1),
              transform 1.4s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}

/* Slide actif */
.swiper-slide-active .hero-title,
.swiper-slide-active .hero-credit,
.swiper-slide-active .hero-tags{
  opacity: 1;
  transform: translateX(0);
}

/* Délais (arrive après) */
.swiper-slide-active .hero-title{ transition-delay: .35s; }
.swiper-slide-active .hero-credit{ transition-delay: .55s; }
.swiper-slide-active .hero-tags{ transition-delay: .75s; }

/* Fix lisibilité tags (BLEU + texte BEIGE) */
.hero-tag{
  background: rgba(0,0,255,1) !important;
  color: #f1e3cf !important;
  -webkit-text-fill-color: #f1e3cf !important;

  opacity: 1 !important;
  text-decoration: none !important;
  font-weight: 800 !important;

  mix-blend-mode: normal !important;
}

/* si un wrapper applique une opacity */
.hero-tags,
.hero-tags *{
  opacity: 1 !important;
}

.hero-tag:hover,
.hero-tag:focus{
  background: rgba(0,0,255,.92) !important;
  color: #f1e3cf !important;
  -webkit-text-fill-color: #f1e3cf !important;
  text-decoration: none !important;
  border-color: rgba(241,227,207,.55);
}

/* Optionnel : transition douce */
.hero-tag{
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

/* Position + taille des boutons */
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next{
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
}

/* Enlève l’icône par défaut Swiper */
.hero-slider .swiper-button-prev::after,
.hero-slider .swiper-button-next::after{
  content: "" !important;
}

/* Chevron fin */
.hero-slider .swiper-button-prev::before,
.hero-slider .swiper-button-next::before{
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgba(241,227,207,.95);
  border-right: 2px solid rgba(241,227,207,.95);
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
}

/* Orientation */
.hero-slider .swiper-button-next::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
.hero-slider .swiper-button-prev::before{
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* Optionnel : hover subtil */
.hero-slider .swiper-button-prev:hover::before,
.hero-slider .swiper-button-next:hover::before{
  border-top-color: rgba(241,227,207,1);
  border-right-color: rgba(241,227,207,1);
}

/* Optionnel : zones cliquables sans gros fond */
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next{
  background: transparent !important;
}

.bandeau-header .bandeau-tags {
  position: absolute;
  bottom: 20px;
  left: 40px;
  font-size: 0.95em;
  font-weight: 500;
  z-index: 3;
  text-align: left;
}

/* (optionnel) encore un poil plus bas sur mobile */
@media (max-width: 767px){
  .hero-slider .swiper-button-prev,
  .hero-slider .swiper-button-next{
    top: 66%;
  }
}


/* =========================
   LOSANGES CYAN (NAV) – HOVER BLEU 0000FF
   ========================= */

/* Taille (réduite) + centrage */
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next{
  width: 40px;
  height: 40px;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;

  transition: transform .3s cubic-bezier(.22,1,.36,1),
              filter .3s cubic-bezier(.22,1,.36,1);
}

/* Losange */
.hero-slider .swiper-button-prev::after,
.hero-slider .swiper-button-next::after{
  content: "" !important;
  position: absolute;
  inset: 0;
  background: rgba(0, 220, 210, .95); /* cyan par défaut */
  transform: rotate(45deg);
  box-shadow: 0 10px 26px rgba(0,0,0,.18);

  transition: background-color .3s cubic-bezier(.22,1,.36,1),
              opacity .3s cubic-bezier(.22,1,.36,1),
              box-shadow .3s cubic-bezier(.22,1,.36,1),
              transform .3s cubic-bezier(.22,1,.36,1);
}

/* Chevron */
.hero-slider .swiper-button-prev::before,
.hero-slider .swiper-button-next::before{
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-top: 2px solid rgba(255,255,255,.85);
  border-right: 2px solid rgba(255,255,255,.85);
  top: 50%;
  left: 50%;
  transform-origin: center;
  z-index: 2;

  transition: border-color .3s ease;
}

.hero-slider .swiper-button-next::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
.hero-slider .swiper-button-prev::before{
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* ✨ HOVER BLEU PUR */
.hero-slider .swiper-button-prev:hover,
.hero-slider .swiper-button-next:hover{
  transform: translateY(-50%) scale(1.08) !important;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.25));
}

.hero-slider .swiper-button-prev:hover::after,
.hero-slider .swiper-button-next:hover::after{
  background: rgba(0, 0, 255, .75); /* ✅ BLEU 0000FF */
  box-shadow: 0 16px 36px rgba(0,0,0,.3);
  transform: rotate(45deg) scale(1.04);
}

/* Active (clic) */
.hero-slider .swiper-button-prev:active,
.hero-slider .swiper-button-next:active{
  transform: translateY(-50%) scale(.97) !important;
}

.hero-slider .swiper-button-prev:active::after,
.hero-slider .swiper-button-next:active::after{
  background: rgba(0, 0, 255, .9);
}

/* Mobile */
@media (max-width: 767px){
  .hero-slider .swiper-button-prev,
  .hero-slider .swiper-button-next{
    width: 34px;
    height: 34px;
  }

  .hero-slider .swiper-button-prev::before,
  .hero-slider .swiper-button-next::before{
    width: 10px;
    height: 10px;
  }
}

.hero-content-link{
  display: inline-block;     /* garde le centrage */
  text-decoration: none;
  color: inherit;
}

.hero-content-link:focus-visible{
  outline: 2px solid #00dcd2;
  outline-offset: 6px;
}

/* Supprime le surlignage / highlight du lien autour du texte */
.hero-content-link,
.hero-content-link *{
  text-decoration: none !important;
  color: white !important;
}

/* Empêche le fond gris/violet de sélection */
.hero-content-link::selection,
.hero-content-link *::selection{
  background: transparent;
}

/* Supprime le highlight mobile (iOS / Android) */
.hero-content-link{
  -webkit-tap-highlight-color: transparent;
}

/* Supprime outline visuel mais garde l’accessibilité */
.hero-content-link:focus{
  outline: none;
}

/* Optionnel : focus visible propre (clavier uniquement) */
.hero-content-link:focus-visible{
  outline: 2px solid rgba(0, 220, 210, .6);
  outline-offset: 8px;
}




/* =========================
   ANIMATION COULEURS RECTANGLES
   ========================= */

/* 
.hero-slide::before,
.hero-slide::after{
  animation: rectColor 10s ease-in-out infinite;
}

.hero-slide::after{
  animation-delay: -5s;
}

@keyframes rectColor{
  0%   { background: rgba(25, 60, 170, .55); }  /* bleu */
  /*33%  { background: rgba(120, 40, 160, .55); } /* violet */
  /*66%  { background: rgba(0, 150, 125, .55); }  /* vert */
  /*100% { background: rgba(25, 60, 170, .55); }  /* retour bleu */
/*}

.hero-slide::after{
  animation-name: rectColor2;
}

@keyframes rectColor2{
  0%   { background: rgba(0, 150, 125, .55); }  /* vert */
  /*33%  { background: rgba(0, 180, 255, .55); }  /* cyan */
  /*66%  { background: rgba(255, 80, 80, .45); }  /* rouge soft */
  /*100% { background: rgba(0, 150, 125, .55); }  /* retour vert */
/*}*/




/* Couleurs par slide (noms “métier”) */
.hero-slide.bleu-vert::before  { background: rgba(25, 60, 170, .55); } /* bleu */
.hero-slide.bleu-vert::after   { background: rgba(0, 150, 125, .55); } /* vert */

.hero-slide.bleu-orange::before{ background: rgba(25, 60, 170, .55); } /* bleu */
.hero-slide.bleu-orange::after { background: rgba(255, 150, 0,  .45); } /* orange */

.hero-slide.bleu-jaune::before { background: rgba(25, 60, 170, .55); } /* bleu */
.hero-slide.bleu-jaune::after  { background: rgba(255, 220, 0,  .38); } /* jaune */

.hero-slide.bleu-rouge::before { background: rgba(25, 60, 170, .55); } /* bleu */
.hero-slide.bleu-rouge::after  { background: rgba(255, 70,  70, .42); } /* rouge */



  /* Un peu d’air sous les boutons */
  .hero-zadig .button-zadig-wrapper {
    margin-bottom: 30px;
    margin-top: 0px;
  }

/* ===== HERO (desktop) : descendre le contenu sous le menu (251px) ===== */
@media (min-width: 1001px) {
  /* Si le header/menu est en fixed et “cache” le hero */
  .hero-zadig {
    padding-top: 280px; /* ~251px + petite marge */
  }

}

/* ===== Logo : max-width 100px ===== */
.hero-zadig .logo-white-home img,
.hero-zadig .logo-white-home .vc_single_image-img {
  max-width: 1000px !important;
  width: 100%;
  height: auto;
}

/* (Optionnel) Si le wrapper force une largeur trop grande */
.hero-zadig .logo-white-home .vc_single_image-wrapper {
  width: 100%;
}


/* Padding autour du logo quand ça commence à “toucher” (< 1150px) */
@media (max-width: 1150px) {
  .hero-zadig .logo-white-home .vc_single_image-wrapper {
    padding: 0 20px 16px; /* gauche/droite + un peu en bas */
    box-sizing: border-box;
  }

  /* garde la limite de taille */
  .hero-zadig .logo-white-home img,
  .hero-zadig .logo-white-home .vc_single_image-img {
    max-width: 1100px !important;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto; /* centre */
  }
}

html[lang="fa-IR"] .button-cut-corners {
    font-size: 22px;
}



/******Pbl clic sur les liens de langues - menu*******/

/* =========================================
   UNIQUEMENT : LI de langues (FR / FA)
   ========================================= */

/* Menu principal (FR/FA) */
#menu-menu-principale > li.lang-item > a{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 12px !important;   /* zone cliquable */
  min-height: 40px;
  line-height: 1;
  box-sizing: border-box;
}

/* Petit espace entre les langues (optionnel) */
#menu-menu-principale > li.lang-item{
  margin-left: 6px;
}

/* Enlever les éléments déco qui peuvent gêner */
#menu-menu-principale > li.lang-item .underline_dash,
#menu-menu-principale > li.lang-item .plus{
  display: none !important;
}

/* Focus accessible (optionnel, discret) */
#menu-menu-principale > li.lang-item > a:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* Menu persan (FR/FA) */
#menu-menu-persan > li.lang-item > a{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 12px !important;
  min-height: 40px;
  line-height: 1;
  box-sizing: border-box;
}

/*#menu-menu-persan > li.lang-item{
  margin-left: 6px;
}*/

#menu-menu-persan > li.lang-item .underline_dash,
#menu-menu-persan > li.lang-item .plus{
  display: none !important;
}

/* Empêche les soulignements "hover" indésirables sur les langues */
#menu-menu-principale > li.lang-item > a,
#menu-menu-principale > li.lang-item > a:hover,
#menu-menu-persan > li.lang-item > a,
#menu-menu-persan > li.lang-item > a:hover{
  text-decoration: none !important;
}


@media (max-width: 1000px) {
    .hero-zadig
    {
        padding-top: 50px;
    }
}

.button-zadig-wrapper
{
    max-width: 1200px;
    margin: auto;
}


/******Reverse square on persan*******/

/* Persan (fa-IR) : carrés à droite */
html[lang="fa-IR"] .custom-title-with-logo::before,
html[lang="fa-IR"] .custom-title-with-logo::after{
  left: auto !important;
  right: calc(-1 * (var(--sq) + var(--gap) + var(--back-shift) - var(--x-nudge, 0px))) !important;
}

/* Ajustement spécifique : le carré "front" n'a pas back-shift dans ton CSS */
html[lang="fa-IR"] .custom-title-with-logo::after{
  right: calc(-1 * (var(--sq) + var(--gap) - var(--x-nudge, 0px))) !important;
}


/* FA : garder 2 colonnes en 50/50 sur desktop (WPBakery/Bridge) */
@media (min-width: 768px) {
  html[lang="fa-IR"] .parallax_section_holder .column_parallax.vc_col-sm-6,
  html[lang="fa"]    .parallax_section_holder .column_parallax.vc_col-sm-6,
  html[lang="fa-IR"] .parallax_section_holder .wpb_column.vc_col-sm-6,
  html[lang="fa"]    .parallax_section_holder .wpb_column.vc_col-sm-6 {
    width: 50% !important;
    float: left !important;   /* Bridge/WPBakery est souvent en float */
    box-sizing: border-box;
  }
}

.page-id-15985 .title_without_animation,
.page-id-19976 .title_without_animation
{
    display: none;
}



/*********Meu correctif pr 1000px***********/

/* Force l'affichage MOBILE uniquement à 1000px */
@media (width: 1000px) {

  /* Cache menu mobile */
  nav.mobile_menu,
  .mobile_menu_button {
    display: none !important;
  }

  /* Force menu desktop */
  nav.main_menu {
    display: block !important;
  }

}

/* important : le parent ne doit pas avoir overflow hidden/auto */
.vz-sticky-col,
.vz-sticky-col .vc_column-inner{
  overflow: visible !important;
}

.vz-sticky-col{
  position: relative;
}

.vz-sticky-col .vc_column-inner{
  position: sticky;
  top: 120px; /* adapte à la hauteur de ton header */
  align-self: flex-start;
}

@media (max-width: 768px) {
  body.home header,
  body.home .header_inner,
  body.home .header_bottom,
  body.home .mobile_header,
  body.home nav {
    background-color: #EFE7D8 !important;
  }
}



/************Page mentions légales + Politique title*********/

.page-id-20017 h2, .page-id-20008 h2, .page-id-20525 h2, .page-id-20521 h2
{
    font-size: 1.4rem !important;
    color: black !important;
}

nav.mobile_menu #menu-menu-principale-1{
    margin-bottom: 50px !important;
}


/************Responsive*********/

@media (max-width: 1000px) {
  /* même "ligne" que les autres items */
  nav.mobile_menu > ul > li.lang-item {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin: 0 !important;
  }

  /* force exactement les mêmes métriques que tes autres liens */
  nav.mobile_menu > ul > li.lang-item > a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 0 !important;   /* comme tes autres li a */
    line-height: 26px !important; /* comme tes autres li a */
    height: 46px !important;      /* 10 + 26 + 10 => même hauteur visuelle */
  }

  /* réduit uniquement l'écart horizontal entre les 2 */
  nav.mobile_menu > ul > li.lang-item + li.lang-item {
    margin-left: 8px !important;
  }

  /* garde ton espacement horizontal réduit entre Fr et Fa */
  nav.mobile_menu > ul > li.lang-item + li.lang-item {
    margin-left: 8px !important; /* ajuste si besoin */
  }
}

@media (max-width: 1000px) {
  html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item-first::after,
  html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item-first > a::after{
    content: "" !important;
  }
}


@media (max-width: 1000px) {

  /* On force le mini-bloc des langues en LTR pour que l'ordre soit Fr puis فا */
  html[lang="fa-IR"] nav.mobile_menu > ul{
    direction: rtl; /* on ne change pas le menu global */
  }

  html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item{
    direction: ltr !important;         /* ordre des 2 items */
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
  }

  /* FR = "Fr" (sans slash) */
  html[lang="fa-IR"] nav.mobile_menu .lang-item-fr > a > span::before{
    content: "Fr" !important;
    font-size: 16px;
    position: static;
  }

  /* FA = slash après le farsi */
  html[lang="fa-IR"] nav.mobile_menu .lang-item-fa > a > span::after{
    content: " /" !important;
    font-size: 16px;
    position: static;
  }

  /* espace entre les 2 */
  html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item + li.lang-item{
    margin-left: 8px !important; /* en LTR on repasse en left */
    margin-inline-start: 0 !important;
  }

  /* espace global entre les 2 items (slash ↔ FR) : plus petit */
  html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item + li.lang-item{
    margin-left: 4px !important; /* ↓ réduit l'espace entre "/ " et Fr */
  }

  /* slash après le farsi : on contrôle l'espace AVANT le slash */
  html[lang="fa-IR"] nav.mobile_menu .lang-item-fa > a > span::after{
    content: "/" !important;          /* pas d'espace ici */
    margin-left: 10px !important;     /* ↑ espace entre "فا" et "/" */
    font-size: 16px;
    position: static;
    opacity: .7;
  }


    html[lang="fa-IR"] nav.mobile_menu > ul > li.lang-item.lang-item-first > a {
        margin-left: 0px !important;
    }

    nav.mobile_menu > ul > li > a {
        padding: 0px;
    }

    #menu-menu-persan-1
    {
        margin-bottom: 50px !important;
    }

    .swiper-button-prev, .swiper-button-next
    {
        display: none;
    }

    .vc_custom_1745599295923
    {
        padding-left: 50px !important;
        padding-right: 50px !important;
    }
}

/* FR: on garde comme c'est */
.lang-item-fr > a > span::before {
  font-size: 18px !important;
}

.lang-item-fa > a > span::before {
    content: 'فا';
    font-size: 22px !important;
    position: static;
}


@media (max-width: 768px) {
    .button-zadig-container {
        margin-top: 0px;
    }

    .hero-zadig .button-zadig-wrapper {
        margin-bottom: 0px;
        margin-top: 0px;
    }

    .hero-title {
        font-size: 30px !important;
    }

    .vc_custom_1771432188797.m-mobile-tight
    {
        margin-top: 30px !important;
        margin-bottom: 30px !important;
    }

    .space_mobile
    {
        height: 50px !important;
    }
}

