/* =========================================================
FORMULAIRE / BLOCS GÉNÉRAUX
========================================================= */

.FormGroup--1_PlD{
    padding:16px !important;
}


/* =========================================================
MENU MOBILE PP
========================================================= */

/* Menu mobile pleine largeur */
body:not(.pp-visualbuilder) .pp-slideover > .pp-block{
    width:100vw !important;
}

/* Espacement menu */
.pp-menu-item--depth1.pp-menu-item.has-children{
    padding-top:15px;
}

.pp-menu-item.has-children{
    padding-top:13px;
}

.pp-menu-item--depth1.pp-menu-item{
    padding-top:14px;
}

/* Curseur titres personnalisés */
.pp-menu-item--custom-text.pp-menu-item--depth1.pp-menu-item.has-children{
    cursor:pointer !important;
    user-select:none;
}

/* Footer */
.copyright-footer{
    padding:14px 4%;
}


/* =========================================================
VIDÉO RESPONSIVE
========================================================= */

.video-responsive{
    position:relative;
    overflow:hidden;

    height:0;
    padding-bottom:56.25%;
}

.video-responsive iframe{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:100%;
}


/* =========================================================
CONTACT FORM 7
========================================================= */

/* Structure générale */
#formulaire-responsive{
    width:100%;
    margin:0 auto;
}

#formulaire-responsive h2{
    position:relative;
    padding:15px 0 10px;
}

/* Focus champs */
input:focus,
textarea:focus{
    outline:1px solid #9d9d9d;
}

/* Acceptance */
.wpcf7-form-control-wrap.acceptance-666,
.wpcf7-form-control.wpcf7-radio{
    margin:0 0 0 -14px;
}


/* =========================================================
CHAMPS FORMULAIRE
========================================================= */

.left-third-contact,
.middle-third-contact,
.right-third-contact,
.full-width-contact,
.left-half-contact,
.right-half-contact,
.message-contact{
    background-color:#f4f4f4;
    border:0;

    color:#111111;
    font-size:calc(1em * 0.98);

    padding:10px;
    margin:0 0 10px 0;

    outline:none;
    font-display:swap;
}

/* Select */
.wpcf7-form-control.wpcf7-select.full-width-contact{
    width:100% !important;

    background-color:#f4f4f4;
    border:0;

    color:#111111;
    font-size:calc(1em * 0.98);

    padding:10px;
    margin:0 0 10px 0;

    outline:none;
    font-display:swap;
}

/* Désactive le style natif */
.wpcf7-form-control.wpcf7-select{
    -webkit-appearance:none;
}


/* =========================================================
LARGEURS FORMULAIRE
========================================================= */

.contact-form-spacer{
    height:20px;
}

.full-width-contact{
    width:100% !important;
}

.left-half-contact{
    width:calc(50% - 4px);
    margin:0 4px 10px 0;
}

.right-half-contact{
    width:calc(50% - 4px);
    margin:0 0 10px 4px;
}

.left-third-contact,
.middle-third-contact{
    width:calc(33.33% - 5px);
    margin:0 7px 10px 0;
}

.right-third-contact{
    width:calc(33.33% - 5px);
    margin:0 0 10px 0;
}

/* Textarea */
.message-contact{
    width:100% !important;
    max-width:100%;

    min-height:130px;
    height:140px;
    max-height:240px;
}


/* =========================================================
BOUTONS FORMULAIRE
========================================================= */

.button,
#searchsubmit,
input[type="submit"]{
    width:240px;
    height:37px;
    background:#555;
    color:#fff;
    border:0;
    border-radius:0;
    padding:0 0 3px 0;
    margin:0;
    font-size:19px;
    font-variant:all-petite-caps;
    font-display:swap;
}

/* Position bouton */
.form-pos-center{
    width:240px;
    margin:40px auto 0;
    text-align:center;
}

/* Taille liens */
#formulaire-responsive b,
#formulaire-responsive a{
    font-size:14px;
}


/* =========================================================
ERREURS FORMULAIRE
========================================================= */

/* Erreur inline */
span.wpcf7-not-valid-tip{
    display:none;
    color:#f00;
    font-size:1em;
}

/* Encadré erreur */
div.wpcf7-validation-errors{
    border:2px solid #f00;
}

/* Bouton Paypal */
.wpcf7-form-control.wpcf7-submit-paypal{
    background:#0070BA;
}

/* Champs invalides */
.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.wpcf7-not-valid,
.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required.wpcf7-not-valid,
.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required.wpcf7-not-valid{
    background-color:rgba(255,0,0,.02);
    border:1px solid #f00;
}

/* Message succès */
div.wpcf7-mail-sent-ok{
    margin-top:30px;
    padding:8px;
    background-color:#e5f2e0;
    border:1px solid #398f14;
    text-align:center;
}


/* =========================================================
ACCORDÉON
========================================================= */

/* État fermé */
.collapsed{
    background-color:#eee;
    font-weight:normal !important;
}

/* Carte accordéon */
.sp-easy-accordion .sp-ea-single{
    border:none !important;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 1px 4px rgba(123,123,123,.35);
}

/* État ouvert */
.sp-ea-one .ea-card.ea-expand{
    border-radius:10px;
    box-shadow:0 8px 25px rgba(0,0,0,.1);
}

/* Fond ouvert */
.sp-ea-one .ea-card.ea-expand .ea-header a{
    background-color:#ece6dd;
}


/* =========================================================
HEADER ACCORDÉON
========================================================= */

/* Mobile */
@media (max-width:768px){

    .sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
        font-size:12px !important;
        line-height:1.35;
    }
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a{
    position:relative !important;
    display:block !important;
    padding:14px 54px 14px 20px !important;
    color:#444 !important;
    background-color:#F2EFEB !important;
    font-family:"Open Sans", Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    text-align:left !important;
    line-height:1.45 !important;
    text-decoration:none !important;
    text-transform:none !important;
    box-sizing:border-box !important;
    border:0 !important;
    outline:0 !important;
    transition:background-color .2s ease;
}

/* Hover *
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a:hover{
    background-color:#EFEBE6 !important;
}


/* =========================================================
ICÔNES + / -
========================================================= */

/* Neutralise icône native */
.sp-easy-accordion .ea-expand-icon::before{
    content:"" !important;
}

/* Base icône */
.sp-easy-accordion .ea-expand-icon{
    display:inline-block;
    width:22px;
    height:22px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}

/* Icône fermée */
.sp-easy-accordion .eap-icon-ea-expand-plus{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23686865' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Icône ouverte */
.sp-easy-accordion .eap-icon-ea-expand-minus{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23686865' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Position icône */
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon{
    position:absolute !important;
    right:14px !important;
    left:auto !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:20px !important;
    height:20px !important;
    margin:0 !important;
    text-align:left !important;
}


/* =========================================================
LISTES ACCORDÉON
========================================================= */

/* Reset listes */
.pp-text-module-body ul,
.public-DraftEditor-content ul.public-DraftStyleDefault-ul{
    margin-top:0;
    margin-bottom:10px;
    padding-left:0 !important;
    margin-left:0 !important;
    list-style:none !important;
    overflow:visible;
}

/* Structure listes */
.pp-text-module-body ul li,
.public-DraftEditor-content li.public-DraftStyleDefault-unorderedListItem{
    position:relative;
    margin-left:0;
    margin-bottom:.5em;
    padding-left:1.5em;
    overflow:visible;
    list-style:none !important;
    line-height:1.4;
}


/* =========================================================
CONTENU ACCORDÉON
========================================================= */

.sp-easy-accordion .ea-body{
    padding:18px 26px !important;
    font-size:16px;
    line-height:1.5;
}

/* Paragraphes */
.sp-easy-accordion .ea-body p{
    margin:0 !important;
    padding:0 !important;
    line-height:1.55 !important;
}

.sp-easy-accordion .ea-body p:not(:last-child){
    margin-bottom:14px !important;
}

/* Supprime paragraphes vides */
.sp-easy-accordion .ea-body p:empty{
    display:none !important;
}

/* Titres sections */
.sp-easy-accordion .ea-body > div strong,
.sp-easy-accordion .ea-body > p strong{
    display:block;
    margin-bottom:14px;
    color:#2f2f2f;
    font-size:1.15em;
    font-weight:600;
}

/* Espace entre une liste et un paragraphe */
.sp-easy-accordion .ea-body ul + p{
    margin-top:18px !important;
}

/* Listes */
.sp-easy-accordion .ea-body ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none;
}

/* Items */
.sp-easy-accordion .ea-body ul li{
    position:relative;
    margin-bottom:6px;
    padding-left:30px;
    list-style:none;
    line-height:1.45;
}

/* Dernier item */
.sp-easy-accordion .ea-body ul li:last-child{
    margin-bottom:0 !important;
}

/* Icône check */
.sp-easy-accordion .ea-body ul li::before{
    content:"";
    position:absolute;
    top:4px;
    left:0;
    width:18px;
    height:18px;
    background-image:url("/wp-content/uploads/svg/check-gold.svg");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}

/* Titre tarifs */
.sp-easy-accordion .ea-body p strong{
    margin-bottom:10px;
}

/* Texte final */
.sp-easy-accordion .ea-body ul + p:last-of-type{
    margin-top:20px !important;
    color:#5f5f5f;
    font-size:.95em;
    line-height:1.4;
}


.ea-body p,
.ea-body {
    display: block !important;
    color: #222 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

