/* ═══════════════════════════════════════════════════════════════
   GLOBAL — ProPhoto
   ═══════════════════════════════════════════════════════════════ */

/* ─── Scroll ─── */

html {
    scroll-snap-type: y proximity;
    scroll-behavior: smooth;
}


/* ─── Débordement horizontal ─── */

html,
body {
    overflow-x: hidden !important;
}


/* ─── Hamburger ─── */

.pp-hamburger {
    z-index: 99;
}


/* ─── Footer ─── */

.copyright-footer {
    padding: 0.8% 2%;
}


/* ─── Paragraphes ─── */

p::before {
    display: none !important;
}


/* ─── Dropdown éditeur ─── */

.rdw-dropdown-optionwrapper li {
    display: list-item !important;
    align-items: initial !important;
    gap: 0 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
    text-indent: 4px !important;
}


/* ═══════════════════════════════════════════════════════════════
   PP SLIDESHOW
   ═══════════════════════════════════════════════════════════════ */

/* Taille des images en mode galerie */

.ansel-slides-container.is-fullscreen-supported.is-fullwindow .slide img {
    scale: 90%;
}


/* Curseur */

.pp-grid-image__image {
    cursor: pointer;
}


/* Fond noir + léger flou */

.ansel-slides {
    background: #000000b0 !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}


/* Barre de contrôle */

.ansel-control-bar {
    position: relative;
    top: -56px;
}


/* ═══════════════════════════════════════════════════════════════
   1. GENERAL
   ═══════════════════════════════════════════════════════════════ */

body {
    text-rendering: optimizeSpeed;
}


/* ═══════════════════════════════════════════════════════════════
   2. MENU MOBILE
   ═══════════════════════════════════════════════════════════════ */

/* Menu mobile — toujours au-dessus du contenu */

body:not(.pp-visualbuilder) .pp-slideover {
    position: fixed !important;
    z-index: 999999 !important;
}


/* Contenu du menu */

body:not(.pp-visualbuilder) .pp-slideover > .pp-block {
    position: relative !important;
    z-index: 999999 !important;
    width: 100vw !important;
}


/* Hamburger */

.pp-hamburger {
    position: relative;
    z-index: 1000000 !important;
}


/* ═══════════════════════════════════════════════════════════════
   3. MODULE WP TABS — DESKTOP
   ═══════════════════════════════════════════════════════════════ */

/* Titres */

.wp-tabs-title {
    margin: 0 0 16px;
    color: #CE9F82;
    font-size: 18px;
    font-weight: bold;
    word-spacing: 0;
    letter-spacing: 0;
}


/* Prix */

.wp-tabs-price {
    margin-top: 20px;
    color: #CE9F82;
    font-size: 20px;
    font-weight: bold;
}


/* Lien / bouton "En savoir plus" */

.wp-tabs-more {
    margin: 16px 0;
}


/* Espacement */

.wp-tabs-spacer {
    height: 25px;
}


/* ─── Blocs de contenu ─── */

.bloc {
    clear: left;
    width: 100%;
    padding: 5px 10px;
    background: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    line-height: 1.6em;
}


/* Colonnes */

.bloc-left,
.bloc-right {
    width: 50%;
    margin: 0 0 22px;
    padding: 25px 22px;
    background: #f7f7f78f;
}


.bloc-left {
    float: right;
}


/* Listes */

.bloc li {
    font-family: "Open Sans";
    font-size: 13px;
}


/* ─── Bouton prestation ─── */

.bouton-presta {
    display: inline-block;
    width: 170px;
    margin: 20px 0 0;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #fff;
    color: #b37474;
    font-size: 16px;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s;
}


.bouton-presta:hover {
    background-color: #F8F3F0;
    color: #b37474;
}


/* ─── Listes générales ─── */

.article-content li,
.pp-module--text li {
    margin-bottom: 0;
    margin-left: 25px;
}


/* ═══════════════════════════════════════════════════════════════
   4. MODULE TABS / SP-EASY-ACCORDION — MOBILE
   ═══════════════════════════════════════════════════════════════ */

#sp-ea-1412.sp-easy-accordion > .sp-ea-single > .ea-header a {
    color: #444;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 1px;
}


#tab_container_1437 .wpsm_nav-tabs > li {
    margin-right: 3px !important;
}


/* ═══════════════════════════════════════════════════════════════
   5. SLIDE ANYTHING
   ═══════════════════════════════════════════════════════════════ */

.owl-carousel .owl-item {
    margin: 0 15px;
}


/* ═══════════════════════════════════════════════════════════════
   15. ACCORDÉON — Easy Accordion
   ═══════════════════════════════════════════════════════════════ */

/* ─── État fermé ─── */

.collapsed {
    background-color: #eee;
    font-weight: normal !important;
}


/* ─── Carte accordéon ─── */

.sp-easy-accordion .sp-ea-single {
    overflow: hidden;
    border: none !important;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(123, 123, 123, 0.25);
}


/* ─── État ouvert ─── */

.sp-ea-one .ea-card.ea-expand {
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}


/* Fond ouvert */

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


/* ─── Header accordéon ─── */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 10px 46px 10px 14px !important;
    border: 0 !important;
    outline: 0 !important;
    background-color: #F2EFEB !important;
    color: #444 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease;
}


/* Hover */

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


/* ─── Header mobile ─── */

@media (max-width: 768px) {

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

}


/* ─── Icônes + / − ─── */

/* Neutralise l'icône native */

.sp-easy-accordion .ea-expand-icon::before {
    content: "" !important;
}


/* Icône */

.sp-easy-accordion .ea-expand-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: 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") center / contain no-repeat;
    transition: transform 0.25s ease;
    will-change: transform;
}


/* Fermé */

.sp-easy-accordion .eap-icon-ea-expand-plus {
    transform: translateY(-50%) rotate(0deg);
}


/* Ouvert */

.sp-easy-accordion .eap-icon-ea-expand-minus {
    transform: translateY(-50%) rotate(90deg);
}


/* Position */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon {
    position: absolute !important;
    top: 50% !important;
    right: 14px !important;
    left: auto !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    text-align: left !important;
}


/* ─── Listes accordéon — Reset ─── */

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


/* Structure des listes */

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


/* ═══════════════════════════════════════════════════════════════
   CONTENU ACCORDÉON
   ═══════════════════════════════════════════════════════════════ */

/* Taille du contenu */

.sp-easy-accordion .ea-body,
.sp-easy-accordion .ea-body p,
.sp-easy-accordion .ea-body li,
.sp-easy-accordion .ea-body li a {
    font-size: 16px !important;
    line-height: 1.4 !important;
}


/* Conteneur */

.sp-easy-accordion .ea-body {
    padding: 20px !important;
    line-height: 1.5;
    will-change: height;
}


/* Paragraphes */

.sp-easy-accordion .ea-body p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}


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


/* Paragraphes vides */

.sp-easy-accordion .ea-body p:empty {
    display: none !important;
}


/* ─── Titres de 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;
}


/* Titre tarifs */

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


/* ─── Espacement liste → 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 {
    position: absolute;
    top: 2px;
    left: 0;
    width: 22px;
    height: 22px;
    background-image: url("/wp-content/uploads/svg/check_gold.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}


/* ─── Texte final ─── */

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


/* ═══════════════════════════════════════════════════════════════
   FORÇAGE VISIBILITÉ DU CONTENU
   ═══════════════════════════════════════════════════════════════ */

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


/* Supprime l'espace sous le dernier élément */

.ea-body ul li:last-child {
    margin-bottom: 0 !important;
}