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

/* Add your custom styles here */

.sur-titre .elementor-heading-title, .sur-titre-dbl .elementor-heading-title{
    display: flex;
    align-items: center;
    gap: 12px; /* espace entre le trait et le texte */
}

.sur-titre .elementor-heading-title::before,
.sur-titre-dbl .elementor-heading-title::before,
.sur-titre-dbl .elementor-heading-title::after {
    content: "";
    width: var(--trait-w, 35px);
    height: 2px;
    background: currentColor;
    flex-shrink: 0;
}

.sur-titre-dbl .elementor-heading-title::before,
.sur-titre-dbl .elementor-heading-title::after {
    --trait-w: 20px;
}

.golden-title{
	color:var(--e-global-color-accent) !important;
	font-style: italic;
}
.elementor-widget-text-editor p{
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/* =========================================================
   18. AVIS CLIENTS — Voir plus / Voir moins
   ---------------------------------------------------------
   Le texte est enveloppé dans .avis-texte (seule zone
   clippée/animée). Le bouton est un FRÈRE de .avis-texte,
   inséré à la fin du widget → jamais coupé par l'animation.
   Le clamp est porté par le <p>, pas par le widget.
   ========================================================= */

.loop-avis-client .swiper-slide .elementor-widget-text-editor .avis-texte {
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.loop-avis-client .swiper-slide .elementor-widget-text-editor .avis-texte:not(.avis-open) p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    margin: 0;
}

.loop-avis-client .swiper-slide .elementor-widget-text-editor .avis-texte.avis-open p {
    margin: 0 0 0.8em 0;
}

.loop-avis-client .swiper-slide .elementor-widget-text-editor .avis-texte.avis-open p:last-child {
    margin-bottom: 0;
}

button.avis-toggle,
button.avis-toggle:hover,
button.avis-toggle:focus {
    background: none !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    display: block;
    margin-left: auto;
    margin-top: 0.5em;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    transition: color 0.2s ease;
}

button.avis-toggle,
button.avis-toggle:focus {
    color: var(--e-global-color-accent);
}

button.avis-toggle:hover {
    color: var(--e-global-color-ac97a5c);
}

/* Le container qui contient un phantom crée son contexte
   d'empilement ET passe au-dessus des sections voisines,
   débordements décoratifs inclus */
.e-con:has(> .phantom),
.e-con:has(> .e-con-inner > .phantom) {
    position: relative;
    z-index: 1;
}

/* L'élément décoratif : sous le contenu de sa section,
   au-dessus du background de sa section */
.phantom {
    z-index: -1;
    pointer-events: none;
    user-select: none;
}

html,
body {
    overflow-x: clip;
}
.sous-texte{
    margin-top: 10px !important;
    font-size: 14px !important;
}
.custom-button .elementor-button, .elementor-form-fields-wrapper .elementor-button {
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.custom-button .elementor-button:hover, .elementor-form-fields-wrapper .elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--e-global-color-rouge_fonce) 55%, transparent) !important;
}