/* ============================================
   CSS VARIABLES & RESET
   ============================================ */
:root {
    /* Palette - Orange Vif Lumineux
       Couleurs vibrantes avec effet de lumière et brillance */
    --primary: #FF6B2C;
    --primary-light: #FF8F5C;
    --primary-dark: #E5551A;
    --gold: #FFB800;
    --gold-light: #FFE066;
    --silver: #C0C0C0;
    --silver-light: #E8E8E8;
    --white: #FFFFFF;
    --cream: #FFFFFF;
    --neutral-light: #FEFEFE;
    --neutral-medium: #F5F5F5;
    --neutral-dark: #2D2926;
    --text-primary: #2D2926;
    --text-secondary: #555555;
    --text-light: #888888;

    /* Typography */
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Montserrat', -apple-system, sans-serif;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2.5rem;
    --space-xl: 4rem;
    --space-2xl: 6rem;
    --space-3xl: 8rem;

    /* Animation */
    --transition-fast: 200ms ease;
    --transition-base: 400ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 600ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slower: 800ms cubic-bezier(0.4, 0, 0.2, 1);

    /* Shadows - Plus de brillance et de lumière */
    --shadow-sm: 0 2px 8px rgba(45, 41, 38, 0.06);
    --shadow-md: 0 4px 20px rgba(45, 41, 38, 0.10);
    --shadow-lg: 0 8px 40px rgba(45, 41, 38, 0.15);
    --shadow-gold: 0 4px 30px rgba(255, 184, 0, 0.4);
    --shadow-primary: 0 4px 25px rgba(255, 107, 44, 0.45);
    --glow-gold: 0 0 50px rgba(255, 184, 0, 0.6);
    --glow-primary: 0 0 50px rgba(255, 107, 44, 0.5);

    /* Border radius */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
}

/* Reset */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    line-height: 1.7;
    color: var(--text-primary);
    background-color: var(--cream);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    html {
        scroll-behavior: auto;
    }
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-primary);
}

h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -0.02em;
}

h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
}

h3 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 500;
}

p {
    font-size: 1rem;
    color: var(--text-secondary);
    max-width: 65ch;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
}

/* ============================================
   LAYOUT UTILITIES
   ============================================ */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}

.section {
    padding: var(--space-3xl) 0;
    position: relative;
}

.section-label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: var(--space-md);
}

.section-label::before {
    content: '';
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), var(--primary));
}

.section-title {
    margin-bottom: var(--space-md);
}

.section-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 600px;
}

.text-center {
    text-align: center;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

/* ============================================
   ENHANCED ANIMATIONS - EFFET WOW
   ============================================ */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll.animate-left {
    transform: translateX(-80px);
}

.animate-on-scroll.animate-right {
    transform: translateX(80px);
}

.animate-on-scroll.animate-scale {
    transform: scale(0.85);
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1);
}

/* Stagger delays - plus progressifs */
.stagger-1 { transition-delay: 0ms; }
.stagger-2 { transition-delay: 150ms; }
.stagger-3 { transition-delay: 300ms; }
.stagger-4 { transition-delay: 450ms; }
.stagger-5 { transition-delay: 600ms; }

/* ============================================
   GLOW & SHIMMER EFFECTS
   ============================================ */
@keyframes shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 25px rgba(255, 184, 0, 0.5), 0 0 50px rgba(255, 107, 44, 0.3);
    }
    50% {
        box-shadow: 0 0 50px rgba(255, 184, 0, 0.7), 0 0 100px rgba(255, 107, 44, 0.5);
    }
}

@keyframes sparkle {
    0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); }
    50% { opacity: 1; transform: scale(1) rotate(180deg); }
}

@keyframes float-enhanced {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-12px) rotate(2deg); }
    75% { transform: translateY(-8px) rotate(-2deg); }
}

@keyframes glow-pulse {
    0%, 100% { filter: drop-shadow(0 0 15px rgba(255, 184, 0, 0.6)); }
    50% { filter: drop-shadow(0 0 35px rgba(255, 184, 0, 1)); }
}

@keyframes text-shine {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.glow-effect {
    animation: pulse-glow 3s ease-in-out infinite;
}

.shimmer-text {
    background: linear-gradient(90deg, var(--gold) 0%, var(--primary) 25%, var(--gold) 50%, var(--primary) 75%, var(--gold) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 4s linear infinite;
}

/* ============================================
   HEADER
   ============================================ */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: var(--space-md) 0;
    background: transparent;
    transition: var(--transition-base);
}

.header.scrolled {
    background: rgba(255, 254, 249, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: var(--shadow-sm);
    padding: var(--space-sm) 0;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.logo-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: glow-pulse 3s ease-in-out infinite;
}

.logo-icon svg {
    width: 100%;
    height: 100%;
}

.logo-text {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--text-primary);
}

.logo-text span {
    color: var(--primary);
}

.nav-desktop {
    display: none;
}

@media (min-width: 768px) {
    .nav-desktop {
        display: flex;
        align-items: center;
        gap: var(--space-lg);
    }
}

.nav-link {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-secondary);
    position: relative;
    padding: var(--space-xs) 0;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary), var(--gold));
    transition: var(--transition-base);
    box-shadow: 0 0 15px rgba(255, 107, 44, 0.7);
}

.nav-link:hover,
.nav-link:focus {
    color: var(--text-primary);
}

.nav-link:hover::after,
.nav-link:focus::after {
    width: 100%;
}

.nav-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: var(--white);
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-primary);
    transition: var(--transition-base);
}

.nav-cta:hover,
.nav-cta:focus {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 40px rgba(255, 107, 44, 0.55);
}

/* Mobile menu button */
.menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

@media (min-width: 768px) {
    .menu-toggle {
        display: none;
    }
}

.menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text-primary);
    border-radius: 2px;
    transition: var(--transition-base);
}

.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Mobile nav */
.nav-mobile {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 254, 249, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-base);
    z-index: 999;
}

.nav-mobile.active {
    opacity: 1;
    visibility: visible;
}

.nav-mobile .nav-link {
    font-size: 1.5rem;
    font-family: var(--font-heading);
}

/* ============================================
   HERO SECTION - ENHANCED
   ============================================ */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: calc(var(--space-3xl) + 60px) 0 var(--space-3xl);
    background: linear-gradient(165deg, #FFFFFF 0%, #FFF9F5 40%, #FFF5EE 100%);
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -15%;
    width: 70%;
    height: 130%;
    background: radial-gradient(ellipse at center, rgba(255, 107, 44, 0.15) 0%, rgba(255, 143, 92, 0.08) 40%, transparent 70%);
    pointer-events: none;
}

.hero::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -5%;
    width: 45%;
    height: 70%;
    background: radial-gradient(ellipse at center, rgba(255, 184, 0, 0.15) 0%, transparent 65%);
    pointer-events: none;
}

.hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.hero-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 22px 9px 18px;
    background:
        linear-gradient(135deg, rgba(58, 18, 13, 0.55) 0%, rgba(90, 30, 18, 0.62) 100%);
    border: 1px solid rgba(240, 180, 91, 0.55);
    border-radius: 999px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #fff3dc;
    margin-bottom: var(--space-lg);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(240, 180, 91, 0.18) inset,
        0 1px 0 rgba(255, 235, 200, 0.18) inset;
    overflow: hidden;
    isolation: isolate;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.hero-badge::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 215, 140, 0.85) 0%, rgba(240, 180, 91, 0.4) 50%, rgba(255, 215, 140, 0.85) 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}

.hero-badge::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 50%;
    height: 100%;
    background: linear-gradient(110deg, transparent 0%, rgba(255, 235, 200, 0.35) 50%, transparent 100%);
    transform: skewX(-20deg);
    animation: badgeShimmer 4.5s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes badgeShimmer {
    0%, 100% { left: -60%; }
    50%      { left: 120%; }
}

.hero-badge svg {
    width: 16px;
    height: 16px;
    color: #ffd78c;
    filter: drop-shadow(0 0 6px rgba(255, 215, 140, 0.6));
    flex-shrink: 0;
    z-index: 3;
}

@media (prefers-reduced-motion: reduce) {
    .hero-badge::after { animation: none; opacity: 0; }
}

.hero-title {
    margin-bottom: var(--space-md);
    line-height: 1.1;
}

.hero-title .highlight {
    color: var(--primary);
    position: relative;
    text-shadow: 0 0 40px rgba(255, 107, 44, 0.4);
    white-space: nowrap;
}

.hero-title .highlight::after {
    display: none;
}

.hero-subtitle {
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    color: var(--text-secondary);
    margin-bottom: var(--space-xl);
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.8;
}

.hero-cta {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: center;
}

@media (min-width: 480px) {
    .hero-cta {
        flex-direction: row;
        justify-content: center;
    }
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    padding: var(--space-md) var(--space-lg);
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 500;
    border-radius: var(--radius-xl);
    border: none;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 180px;
    min-height: 52px;
    position: relative;
    overflow: hidden;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s;
}

.btn:hover::before {
    left: 100%;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: var(--white);
    box-shadow: var(--shadow-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    transform: translateY(-5px) scale(1.03);
    box-shadow: 0 12px 50px rgba(255, 107, 44, 0.6);
}

.btn-secondary {
    background: var(--white);
    color: var(--text-primary);
    border: 2px solid rgba(212, 175, 55, 0.4);
    box-shadow: var(--shadow-sm);
}

.btn-secondary:hover,
.btn-secondary:focus {
    transform: translateY(-5px) scale(1.03);
    border-color: var(--gold);
    box-shadow: var(--shadow-gold);
}

.btn svg {
    width: 18px;
    height: 18px;
}

/* Hero scroll indicator */
.hero-scroll {
    position: absolute;
    bottom: var(--space-lg);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    color: var(--text-light);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    animation: bounce 2s ease-in-out infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(12px); }
}

.hero-scroll svg {
    width: 20px;
    height: 20px;
}

/* ============================================
   ABOUT SECTION
   ============================================ */
.about {
    background: var(--white);
    position: relative;
}

.about::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.about-grid {
    display: grid;
    gap: var(--space-xl);
    align-items: center;
}

@media (min-width: 900px) {
    .about-grid {
        grid-template-columns: 1fr 1.2fr;
        gap: var(--space-3xl);
    }
}

.about-image {
    position: relative;
}

.about-image-wrapper {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4/5;
    box-shadow: var(--shadow-gold);
}

.about-image-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(45, 41, 38, 0.1) 100%);
    z-index: 1;
}

.about-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-slow);
}

.about-image-wrapper:hover img {
    transform: scale(1.05);
}

.about-image-decoration {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 150px;
    height: 150px;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(255, 140, 66, 0.2));
    border-radius: 50%;
    z-index: -1;
    animation: pulse-glow 4s ease-in-out infinite;
}

.about-image-quote {
    position: absolute;
    bottom: -30px;
    left: 20px;
    right: 20px;
    background: var(--white);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg), var(--glow-gold);
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 1rem;
    color: var(--text-primary);
    z-index: 2;
    border-left: 4px solid var(--gold);
}

@media (min-width: 900px) {
    .about-image-quote {
        left: -30px;
        right: auto;
        max-width: 280px;
    }
}

.about-content {
    padding-top: var(--space-xl);
}

@media (min-width: 900px) {
    .about-content {
        padding-top: 0;
    }
}

.about-text {
    margin-bottom: var(--space-lg);
}

.about-text p {
    margin-bottom: var(--space-md);
}

.about-mission {
    background: linear-gradient(135deg, #FFFFFF, #FFF8F0);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    border-left: 4px solid var(--gold);
    margin-bottom: var(--space-lg);
    box-shadow: var(--shadow-md), 0 0 20px rgba(255, 184, 0, 0.15);
    position: relative;
    overflow: hidden;
}

.about-mission::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
}

.about-mission h3 {
    color: var(--gold);
    margin-bottom: var(--space-sm);
    font-size: 1.1rem;
}

.about-mission p {
    font-style: italic;
    line-height: 1.9;
}

.about-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.about-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--white);
    border: 1px solid var(--neutral-medium);
    border-radius: var(--radius-xl);
    font-size: 0.85rem;
    color: var(--text-secondary);
    transition: var(--transition-base);
}

.about-badge:hover {
    border-color: var(--gold);
    box-shadow: var(--shadow-gold);
    transform: translateY(-3px);
}

.about-badge svg {
    width: 16px;
    height: 16px;
    color: var(--gold);
}

/* ============================================
   SERVICES SECTION
   ============================================ */
.services {
    background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%);
    position: relative;
}

.services-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto var(--space-xl);
}

.services-grid {
    display: grid;
    gap: var(--space-lg);
}

@media (min-width: 768px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }
}

.service-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(212, 175, 55, 0.15);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.service-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.1) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.service-card:hover::after {
    opacity: 1;
}

.service-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 140, 66, 0.15), rgba(212, 175, 55, 0.1));
    border-radius: var(--radius-md);
    margin-bottom: var(--space-md);
    transition: var(--transition-base);
    position: relative;
    z-index: 1;
}

.service-card:hover .service-icon {
    transform: scale(1.15) rotate(8deg);
    box-shadow: var(--glow-primary);
}

.service-icon svg {
    width: 32px;
    height: 32px;
    color: var(--primary);
}

.service-card h3 {
    margin-bottom: var(--space-sm);
    font-size: 1.25rem;
}

.service-card p {
    font-size: 0.95rem;
    margin-bottom: var(--space-md);
    line-height: 1.7;
}

.service-price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-family: var(--font-heading);
}

.service-price .amount {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--primary);
}

.service-price .unit {
    font-size: 0.9rem;
    color: var(--text-light);
}

/* ============================================
   MIRACLES SECTION - ULTRA VISIBLE
   ============================================ */
.miracles-showcase {
    background: linear-gradient(135deg, #1a1510 0%, #2d2520 50%, #1a1510 100%);
    padding: var(--space-3xl) 0;
    position: relative;
    overflow: hidden;
}

.miracles-showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 20% 20%, rgba(201, 162, 39, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(212, 115, 74, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(201, 162, 39, 0.08) 0%, transparent 70%);
}

.miracles-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.miracles-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-lg);
    background: linear-gradient(135deg, rgba(201, 162, 39, 0.2), rgba(212, 115, 74, 0.1));
    border: 2px solid rgba(201, 162, 39, 0.5);
    border-radius: var(--radius-xl);
    margin-bottom: var(--space-lg);
}

.miracles-badge span {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gold-light);
}

.miracles-number-container {
    position: relative;
    display: inline-block;
    margin-bottom: var(--space-lg);
}

.miracles-number {
    font-family: var(--font-heading);
    font-size: clamp(6rem, 15vw, 10rem);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
    background: linear-gradient(135deg, var(--gold) 0%, #f5e6a3 25%, var(--gold) 50%, #d4af55 75%, var(--gold) 100%);
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: text-shine 6s ease-in-out infinite;
    text-shadow: none;
    filter: drop-shadow(0 0 10px rgba(201, 162, 39, 0.12));
    transition: filter 1s ease;
}

.miracles-plus {
    position: absolute;
    top: 0;
    right: -0.5em;
    font-family: var(--font-heading);
    font-size: clamp(3rem, 8vw, 5rem);
    font-weight: 700;
    background: linear-gradient(135deg, var(--gold) 0%, var(--primary) 50%, var(--gold) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: text-shine 4s linear infinite;
}

.miracles-label {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 500;
    color: var(--white);
    margin-bottom: var(--space-md);
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
}

.miracles-subtitle {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 600px;
    margin: 0 auto var(--space-xl);
    line-height: 1.8;
}

.miracles-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-xl);
    background: linear-gradient(135deg, var(--gold), var(--primary));
    color: var(--white);
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: var(--radius-xl);
    box-shadow: 0 8px 40px rgba(201, 162, 39, 0.4);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.miracles-cta:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 60px rgba(201, 162, 39, 0.6);
}

.miracles-cta svg {
    width: 24px;
    height: 24px;
}

/* Miracles section - Mobile responsive */
@media (max-width: 767px) {
    .miracles-showcase {
        padding: var(--space-xl) 0;
    }

    .miracles-number {
        font-size: clamp(4rem, 18vw, 6rem);
    }

    .miracles-plus {
        font-size: clamp(1.8rem, 6vw, 2.5rem);
        right: -0.6em;
    }

    .miracles-number-container {
        margin-bottom: var(--space-md);
    }

    .miracles-badge {
        margin-bottom: var(--space-md);
    }

    .miracles-badge span {
        font-size: 0.75rem;
    }

    .miracles-label {
        font-size: clamp(1.4rem, 5vw, 2rem);
        margin-bottom: var(--space-sm);
    }

    .miracles-subtitle {
        font-size: 0.95rem;
        line-height: 1.6;
        padding: 0 var(--space-sm);
        margin-bottom: var(--space-lg);
    }

    .miracles-cta {
        font-size: 0.95rem;
        padding: var(--space-sm) var(--space-lg);
    }

    .miracles-cta svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 380px) {
    .miracles-number {
        font-size: 3.5rem;
    }

    .miracles-plus {
        font-size: 1.5rem;
    }

    .miracles-label {
        font-size: 1.2rem;
    }

    .miracles-subtitle {
        font-size: 0.85rem;
    }

    .miracles-cta {
        font-size: 0.85rem;
        padding: var(--space-sm) var(--space-md);
    }
}

/* ============================================
   TESTIMONIALS SECTION
   ============================================ */
.testimonials {
    background: linear-gradient(180deg, #FFFDF8 0%, #FFF9F0 40%, #FFFDF8 100%);
    position: relative;
    overflow: hidden;
}

.testimonials::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.6), transparent);
}

.testimonials::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.3), transparent);
}

.testimonials-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto var(--space-xl);
}

.testimonials-grid {
    display: block;
    position: relative;
    min-height: 280px;
}

.testimonial-card {
    background: linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 50%, #FFF7EE 100%);
    border-radius: var(--radius-lg);
    padding: var(--space-xl) var(--space-lg);
    position: relative;
    border: 1px solid rgba(212, 175, 55, 0.15);
    display: none;
    box-shadow: 0 8px 32px rgba(212, 175, 55, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

.testimonial-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: var(--radius-lg);
    padding: 1px;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(255, 107, 44, 0.1), rgba(212, 175, 55, 0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.testimonial-quote-icon {
    font-size: 3.5rem;
    line-height: 1;
    color: var(--gold);
    opacity: 0.2;
    font-family: Georgia, serif;
    margin-bottom: 0.5rem;
    display: block;
    filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.3));
}

.testimonial-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
    background: rgba(255, 107, 44, 0.08);
    border: 1px solid rgba(255, 107, 44, 0.2);
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: var(--space-sm);
}

.testimonial-card:hover {
    box-shadow: 0 12px 40px rgba(212, 175, 55, 0.15), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.testimonial-stars {
    display: flex;
    gap: 4px;
    margin-bottom: var(--space-md);
}

.testimonial-stars svg {
    width: 20px;
    height: 20px;
    color: var(--gold);
    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.5));
}

.testimonial-text {
    font-size: 1rem;
    line-height: 1.9;
    margin-bottom: var(--space-md);
    color: var(--text-primary);
    position: relative;
    font-style: italic;
}

.testimonial-text.truncated {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.testimonial-text.expanded {
    -webkit-line-clamp: unset;
}

.read-more-btn {
    background: none;
    border: none;
    color: var(--primary);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    margin-bottom: var(--space-md);
    transition: var(--transition-fast);
    letter-spacing: 0.02em;
}

.read-more-btn:hover {
    color: var(--gold);
    text-decoration: underline;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid rgba(212, 175, 55, 0.15);
}

.testimonial-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--primary));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--white);
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.35);
    flex-shrink: 0;
}

.testimonial-info h4 {
    font-size: 1.05rem;
    font-family: var(--font-heading);
    font-weight: 600;
    margin-bottom: 3px;
    color: var(--text-primary);
}

.testimonial-info span {
    font-size: 0.82rem;
    color: var(--text-light);
    letter-spacing: 0.02em;
}

/* ============================================
   TESTIMONIAL MODAL (popup haut de gamme)
   ============================================ */
.testi-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    visibility: hidden;
    pointer-events: none;
}
.testi-modal.open,
.testi-modal.closing {
    visibility: visible;
    pointer-events: auto;
}

.testi-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 18, 8, 0);
    -webkit-backdrop-filter: blur(0);
            backdrop-filter: blur(0);
    transition: background .45s ease, -webkit-backdrop-filter .45s ease, backdrop-filter .45s ease;
}
.testi-modal.open .testi-modal-backdrop {
    background: rgba(28, 18, 8, 0.55);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
            backdrop-filter: blur(14px) saturate(140%);
}

.testi-modal-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(620px, 92vw);
    max-height: 86vh;
    overflow-y: auto;
    overflow-x: hidden;
    background: linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 50%, #FFF7EE 100%);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 22px;
    padding: 2.5rem 2rem 2rem;
    box-shadow:
        0 30px 80px rgba(212, 175, 55, 0.30),
        0 6px 24px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
    opacity: 0;
    transform: translate(-50%, calc(-50% + 24px)) scale(0.92);
    filter: blur(4px);
    transition:
        opacity .45s cubic-bezier(.22, 1, .36, 1),
        transform .45s cubic-bezier(.22, 1, .36, 1),
        filter .45s cubic-bezier(.22, 1, .36, 1);
}
.testi-modal.open .testi-modal-card {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
}
.testi-modal.closing .testi-modal-card {
    opacity: 0;
    transform: translate(-50%, calc(-50% - 24px)) scale(0.94);
    filter: blur(3px);
}
.testi-modal.closing .testi-modal-backdrop {
    background: rgba(28, 18, 8, 0);
    -webkit-backdrop-filter: blur(0);
            backdrop-filter: blur(0);
}

.testi-modal-card::-webkit-scrollbar { width: 6px; }
.testi-modal-card::-webkit-scrollbar-thumb {
    background: rgba(212, 175, 55, 0.4);
    border-radius: 3px;
}

.testi-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(212, 175, 55, 0.35);
    background: rgba(255, 255, 255, 0.92);
    color: #6b5524;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), background .3s, color .3s, box-shadow .3s;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.18);
    z-index: 2;
}
.testi-modal-close:hover {
    transform: rotate(90deg) scale(1.08);
    background: linear-gradient(135deg, var(--gold), #e8b930);
    color: #fff;
    box-shadow: 0 6px 22px rgba(212, 175, 55, 0.45);
}

.testi-modal-quote {
    font-size: 3.5rem;
    line-height: 1;
    color: var(--gold);
    opacity: 0.22;
    font-family: Georgia, serif;
    margin: 0 0 0.4rem;
    filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.35));
}
.testi-modal-stars {
    display: flex;
    gap: 4px;
    margin-bottom: 0.9rem;
}
.testi-modal-stars svg {
    width: 22px;
    height: 22px;
    color: var(--gold);
    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.5));
}
.testi-modal-tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--primary);
    background: rgba(255, 107, 44, 0.08);
    border: 1px solid rgba(255, 107, 44, 0.2);
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 1.1rem;
}
.testi-modal-text {
    font-size: 1.02rem;
    line-height: 1.85;
    color: var(--text-primary);
    font-style: italic;
    margin: 0 0 1.4rem;
    white-space: pre-wrap;
}
.testi-modal-author {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(212, 175, 55, 0.18);
}
.testi-modal-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--primary));
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 500;
    color: #fff;
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.35);
    flex-shrink: 0;
}
.testi-modal-info h4 {
    font-size: 1.05rem;
    margin: 0 0 3px;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--text-primary);
}
.testi-modal-info span {
    font-size: 0.82rem;
    color: var(--text-light);
    letter-spacing: 0.02em;
}

@media (max-width: 600px) {
    .testi-modal-card {
        padding: 2rem 1.25rem 1.5rem;
        border-radius: 18px;
        max-height: 90vh;
    }
    .testi-modal-text { font-size: 0.98rem; line-height: 1.78; }
    .testi-modal-quote { font-size: 2.8rem; }
}

@media (prefers-reduced-motion: reduce) {
    /* Gardé visible (min 200ms) — pas de saut à 1ms qui rendrait l'effet invisible */
    .testi-modal-backdrop,
    .testi-modal-card {
        transition-duration: 0.2s;
    }
    .testi-modal-card { filter: none !important; }
}

/* ============================================
   TESTIMONIALS CAROUSEL — INFINITE HORIZONTAL
   ============================================ */
.testimonials-carousel {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    /* padding latéral large pour loger les flèches HORS de la zone de cartes
       (évite qu'elles passent par-dessus les témoignages) */
    padding: 0 76px;
}

.testimonials-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    padding: 1rem 0.5rem 2rem;
    scroll-padding-inline: 1rem;
    cursor: grab;
    min-height: auto;
    /* fade des bords (gauche/droite) pour signaler le défilement */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
.testimonials-grid::-webkit-scrollbar { display: none; }
.testimonials-grid:active { cursor: grabbing; }

.testimonial-card {
    flex: 0 0 auto;
    width: min(380px, 82vw);
    display: flex !important;
    flex-direction: column;
    scroll-snap-align: center;
    margin: 0;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

/* Classes du carousel précédent neutralisées (compat. avec ancien DOM) */
.testimonial-card.carousel-visible,
.testimonial-card.carousel-enter-next,
.testimonial-card.carousel-enter-prev {
    display: flex !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    filter: none !important;
}

.carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    background: linear-gradient(145deg, #FFFDF5, #FFF5E6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s, box-shadow .3s, border-color .3s, color .3s;
    box-shadow: 0 4px 18px rgba(212, 175, 55, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    margin: 0;
}
.carousel-arrow-prev { left: 8px; }
.carousel-arrow-next { right: 8px; }

.carousel-arrow:hover {
    background: linear-gradient(135deg, var(--gold), #e8b930);
    border-color: var(--gold);
    box-shadow: 0 8px 30px rgba(212, 175, 55, 0.45), 0 0 0 4px rgba(212, 175, 55, 0.1);
}

.carousel-arrow:hover svg {
    color: var(--white);
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

.carousel-arrow svg {
    width: 22px;
    height: 22px;
    color: var(--gold);
    transition: color .3s, filter .3s;
}

/* En mode infini, les flèches ne sont jamais désactivées */
.carousel-arrow:disabled {
    opacity: 1;
    cursor: pointer;
}

@media (max-width: 768px) {
    /* Les flèches sont cachées — le swipe tactile suffit
       et le container reprend tout l'espace dispo */
    .carousel-arrow { display: none; }
    .testimonials-carousel { padding: 0 8px; }
    .testimonials-grid {
        gap: 1rem;
        padding: 1rem 0.25rem 1.5rem;
    }
    .testimonial-card { width: min(320px, 86vw); }
}

/* ============================================
   FAQ SECTION
   ============================================ */
.faq {
    background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%);
}

.faq-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto var(--space-xl);
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: var(--white);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-md);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(212, 175, 55, 0.1);
    overflow: hidden;
    transition: var(--transition-base);
}

.faq-item:hover {
    border-color: rgba(212, 175, 55, 0.25);
    box-shadow: var(--shadow-md);
}

.faq-item.active {
    box-shadow: var(--shadow-lg), 0 0 20px rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
}

.faq-question {
    width: 100%;
    padding: var(--space-md) var(--space-lg);
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--text-primary);
    transition: var(--transition-base);
    min-height: 60px;
}

.faq-question:hover {
    color: var(--primary);
}

.faq-question svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--gold);
    transition: var(--transition-base);
}

.faq-item.active .faq-question svg {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-base);
}

.faq-answer-inner {
    padding: 0 var(--space-lg) var(--space-lg);
}

.faq-answer p {
    color: var(--text-secondary);
    line-height: 1.8;
}

/* ============================================
   CTA SECTION
   ============================================ */
.cta-section {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    padding: var(--space-3xl) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(212, 175, 55, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

.cta-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.cta-section h2 {
    color: var(--white);
    margin-bottom: var(--space-md);
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.2);
}

.cta-section p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    margin-bottom: var(--space-lg);
    max-width: none;
}

.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: center;
}

@media (min-width: 480px) {
    .cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
}

.btn-white {
    background: var(--white);
    color: var(--primary);
    box-shadow: var(--shadow-md);
}

.btn-white:hover,
.btn-white:focus {
    transform: translateY(-5px) scale(1.03);
    box-shadow: 0 12px 40px rgba(255, 255, 255, 0.4);
}

.btn-outline-white {
    background: transparent;
    color: var(--white);
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.btn-outline-white:hover,
.btn-outline-white:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--white);
    transform: translateY(-5px) scale(1.03);
}

/* ============================================
   FOOTER
   ============================================ */
.footer {
    background: var(--neutral-dark);
    padding: var(--space-xl) 0;
    color: rgba(255, 255, 255, 0.7);
}

.footer-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
    text-align: center;
}

@media (min-width: 768px) {
    .footer-inner {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }
}

.footer-brand .logo-text {
    color: var(--white);
    margin-bottom: var(--space-xs);
}

.footer-brand p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.5);
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-lg);
    justify-content: center;
}

.footer-links a {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    transition: var(--transition-fast);
}

.footer-links a:hover {
    color: var(--primary);
}

.footer-social {
    display: flex;
    gap: var(--space-sm);
}

.footer-social a {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.7);
    transition: var(--transition-base);
}

.footer-social a:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-5px) scale(1.1);
    box-shadow: var(--glow-primary);
}

.footer-social svg {
    width: 22px;
    height: 22px;
}

.footer-bottom {
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
}

.footer-bottom p {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.4);
}

/* ============================================
   WHATSAPP WIDGET
   ============================================ */
.whatsapp-widget {
    position: fixed;
    bottom: var(--space-lg);
    right: var(--space-lg);
    z-index: 900;
}

.whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    background: #25D366;
    border-radius: 50%;
    position: relative;
    isolation: isolate;
    box-shadow:
        0 4px 25px rgba(37, 211, 102, 0.5),
        0 0 0 1px rgba(240, 180, 91, 0.35),
        0 0 22px rgba(240, 180, 91, 0.22);
    transition: var(--transition-base);
    animation: pulse-whatsapp 2.6s ease-in-out infinite;
}

.whatsapp-btn > svg { position: relative; z-index: 3; }

/* Halo doré premium (anneau lent, large) */
.whatsapp-btn::before,
.whatsapp-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}
.whatsapp-btn::before {
    background: radial-gradient(circle, rgba(240,180,91,0.55) 0%, rgba(240,180,91,0) 70%);
    animation: pulse-gold-halo 2.8s ease-out infinite;
}
.whatsapp-btn::after {
    border: 2px solid rgba(37, 211, 102, 0.85);
    box-shadow: 0 0 0 2px rgba(240, 180, 91, 0.25) inset;
    animation: pulse-green-ring 2.2s ease-out infinite;
}

@keyframes pulse-gold-halo {
    0%   { transform: scale(1);   opacity: 0.85; }
    70%  { transform: scale(2.1); opacity: 0;    }
    100% { transform: scale(2.1); opacity: 0;    }
}
@keyframes pulse-green-ring {
    0%   { transform: scale(1);   opacity: 0.9; }
    80%  { transform: scale(1.85); opacity: 0;  }
    100% { transform: scale(1.85); opacity: 0;  }
}


@keyframes pulse-whatsapp {
    0%, 100% {
        box-shadow:
            0 4px 25px rgba(37, 211, 102, 0.5),
            0 0 0 1px rgba(240, 180, 91, 0.35),
            0 0 22px rgba(240, 180, 91, 0.22);
        transform: scale(1);
    }
    50% {
        box-shadow:
            0 4px 40px rgba(37, 211, 102, 0.7),
            0 0 0 1px rgba(240, 180, 91, 0.55),
            0 0 32px rgba(240, 180, 91, 0.38);
        transform: scale(1.04);
    }
}

.whatsapp-btn:hover {
    transform: scale(1.15) translateY(-5px);
    box-shadow: 0 8px 40px rgba(37, 211, 102, 0.6);
}

.whatsapp-btn svg {
    width: 34px;
    height: 34px;
    color: var(--white);
}

.whatsapp-tooltip {
    position: absolute;
    right: calc(100% + var(--space-sm));
    top: 50%;
    transform: translateY(-50%);
    background: var(--white);
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-base);
}

.whatsapp-widget:hover .whatsapp-tooltip {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 767px) {
    .whatsapp-widget {
        bottom: var(--space-sm);
        right: var(--space-sm);
    }

    .whatsapp-btn {
        width: 48px;
        height: 48px;
    }

    .whatsapp-btn svg {
        width: 24px;
        height: 24px;
    }

    .whatsapp-tooltip {
        display: none;
    }
}

/* ============================================
   ANGEL WINGS DECORATION
   ============================================ */
.wings-decoration {
    display: none;
}

/* Focus states for accessibility */
a:focus,
button:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: none;
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Skip to main content */
.skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background: var(--primary);
    color: var(--white);
    padding: var(--space-sm) var(--space-md);
    z-index: 9999;
    transition: top var(--transition-fast);
}

.skip-link:focus {
    top: 0;
}

/* ============================================
   LIGHT RAYS EFFECT
   ============================================ */
.light-rays {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200%;
    height: 100%;
    background: radial-gradient(ellipse at center top, rgba(255, 184, 0, 0.12) 0%, rgba(255, 107, 44, 0.06) 30%, transparent 60%);
    pointer-events: none;
}


/* ════════════════════════════════════════════════════════════════
   ÉDITION CHAUD — Surcharge thématique (brun nuit · or vif · feu)
   Inspirée du linktree /dany-ailes/links/
   ════════════════════════════════════════════════════════════════ */

:root {
    /* Palette inversée — fond sombre brun + accents or/orange/feu */
    --primary: #FF6B2C;
    --primary-light: #FF9656;
    --primary-dark: #c94014;
    --gold: #FFB800;
    --gold-light: #FFE89C;

    /* Surfaces */
    --cream: #1a0c03;
    --white: #fff6e8;            /* "blanc" devient ivoire chaud */
    --neutral-light: #2a1408;
    --neutral-medium: #1f1206;
    --neutral-dark: #fff6e8;

    /* Texte */
    --text-primary: #fff6e8;
    --text-secondary: #ffdfbf;
    --text-light: rgba(255, 210, 170, 0.62);

    /* Ombres recolorées */
    --shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.35);
    --shadow-md: 0 4px 24px rgba(0, 0, 0, 0.40);
    --shadow-lg: 0 12px 50px rgba(0, 0, 0, 0.50);
    --shadow-gold: 0 4px 40px rgba(255, 184, 0, 0.35);
    --shadow-primary: 0 4px 28px rgba(255, 107, 44, 0.45);
    --glow-gold: 0 0 60px rgba(255, 184, 0, 0.55);
    --glow-primary: 0 0 60px rgba(255, 107, 44, 0.50);
}

html, body {
    background: transparent;
}

body.theme-chaud {
    color: var(--text-primary);
    background:
        radial-gradient(ellipse 80% 50% at 50% 8%, rgba(255, 184, 0, 0.22) 0%, transparent 60%),
        radial-gradient(ellipse 70% 50% at 14% 70%, rgba(255, 107, 44, 0.18) 0%, transparent 65%),
        radial-gradient(ellipse 65% 45% at 86% 80%, rgba(255, 150, 40, 0.16) 0%, transparent 60%),
        radial-gradient(ellipse 90% 60% at 50% 100%, rgba(201, 64, 20, 0.20) 0%, transparent 70%),
        linear-gradient(180deg, #1a0c03 0%, #2a1408 35%, #1a0c03 70%, #2a1408 100%);
    background-attachment: fixed;
    background-repeat: no-repeat;
}

/* ─── Décor : Mandala tournant ─── */
.bg-mandala {
    position: fixed;
    inset: -15%;
    z-index: 0;
    color: rgba(255, 184, 0, 0.055);
    pointer-events: none;
    animation: mandalaRot 320s linear infinite;
}
@keyframes mandalaRot { to { transform: rotate(360deg); } }

/* ─── Décor : Lucioles dorées ─── */
.bg-particles {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.bg-particles .pt {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 200, 120, 0.75);
    box-shadow: 0 0 8px rgba(255, 200, 120, 0.55);
    animation: ptRise linear infinite;
}
@keyframes ptRise {
    0%   { opacity: 0; transform: translateY(0) scale(0.4); }
    10%  { opacity: 0.85; }
    50%  { opacity: 0.4; }
    90%  { opacity: 0.6; }
    100% { opacity: 0; transform: translateY(-110vh) scale(0.15); }
}

/* Tout le contenu reste au-dessus du décor */
.theme-chaud > header,
.theme-chaud > main,
.theme-chaud > footer,
/* removed: was breaking nav-mobile fixed positioning */
.theme-chaud > section { position: relative; z-index: 2; }

@media (prefers-reduced-motion: reduce) {
    .bg-mandala, .bg-particles .pt { animation: none !important; }
}

/* ─── HEADER / NAV ─── */
.theme-chaud .header {
    background: linear-gradient(180deg, rgba(26, 12, 3, 0.92) 0%, rgba(26, 12, 3, 0.75) 100%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
            backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid rgba(255, 184, 0, 0.18);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}
.theme-chaud .header.scrolled { background: rgba(26, 12, 3, 0.96); }
.theme-chaud .logo,
.theme-chaud .nav-link {
    color: var(--text-primary) !important;
}
.theme-chaud .nav-link:hover,
.theme-chaud .nav-link.active {
    color: var(--gold) !important;
}
.theme-chaud .mobile-menu {
    background: linear-gradient(180deg, #1a0c03 0%, #2a1408 100%) !important;
    color: var(--text-primary);
}
.theme-chaud .mobile-menu .nav-link { color: var(--text-primary) !important; }
.theme-chaud .menu-toggle span { background: var(--gold); }

/* ─── SECTIONS : fond transparent pour laisser passer le décor ─── */
.theme-chaud .section,
.theme-chaud .hero,
.theme-chaud .about,
.theme-chaud .services,
.theme-chaud .miracles,
.theme-chaud .testimonials,
.theme-chaud .faq,
.theme-chaud .footer,
.theme-chaud .stats,
.theme-chaud .signature,
.theme-chaud .cta-section {
    background: transparent !important;
    color: var(--text-primary);
}

/* Sections "carrées" un peu plus marquées en relief */
.theme-chaud .about,
.theme-chaud .faq {
    background: linear-gradient(180deg, transparent 0%, rgba(42, 20, 8, 0.45) 30%, rgba(42, 20, 8, 0.45) 70%, transparent 100%) !important;
}
.theme-chaud .services,
.theme-chaud .miracles {
    background: linear-gradient(180deg, transparent 0%, rgba(36, 18, 8, 0.35) 50%, transparent 100%) !important;
}

/* ─── Titres + textes ─── */
.theme-chaud h1,
.theme-chaud h2,
.theme-chaud h3,
.theme-chaud h4,
.theme-chaud .section-title,
.theme-chaud .hero-title {
    color: var(--text-primary);
}
.theme-chaud .section-title,
.theme-chaud .hero-title {
    background: linear-gradient(135deg, #fff6e8 0%, #FFD68A 50%, #FFB800 100%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.theme-chaud .section-label,
.theme-chaud .hero-eyebrow,
.theme-chaud .eyebrow {
    color: rgba(255, 200, 120, 0.75) !important;
}
.theme-chaud .section-subtitle,
.theme-chaud .hero-subtitle,
.theme-chaud p {
    color: var(--text-secondary);
}
.theme-chaud .text-light,
.theme-chaud .testimonial-info span,
.theme-chaud .footer p,
.theme-chaud .footer a {
    color: var(--text-light);
}

/* ─── CARTES : fond chaud profond, bord or ─── */
.theme-chaud .testimonial-card,
.theme-chaud .service-card,
.theme-chaud .miracle-card,
.theme-chaud .faq-item,
.theme-chaud .stat-card,
.theme-chaud .about-card,
.theme-chaud .signature-card,
.theme-chaud .cta-card,
.theme-chaud .price-card {
    background: linear-gradient(145deg, rgba(58, 28, 12, 0.85) 0%, rgba(36, 18, 8, 0.92) 100%) !important;
    color: var(--text-primary) !important;
    border-color: rgba(255, 184, 0, 0.28) !important;
    box-shadow:
        0 10px 36px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 200, 120, 0.08) !important;
}
.theme-chaud .testimonial-card::before,
.theme-chaud .service-card::before,
.theme-chaud .faq-item::before {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.45), rgba(255, 107, 44, 0.20), rgba(255, 184, 0, 0.45)) !important;
}
.theme-chaud .testimonial-card:hover,
.theme-chaud .service-card:hover,
.theme-chaud .miracle-card:hover {
    box-shadow:
        0 18px 50px rgba(255, 184, 0, 0.22),
        0 6px 20px rgba(0, 0, 0, 0.45) !important;
    border-color: rgba(255, 184, 0, 0.45) !important;
}

.theme-chaud .testimonial-text,
.theme-chaud .faq-question,
.theme-chaud .faq-answer,
.theme-chaud .service-title,
.theme-chaud .service-description {
    color: var(--text-primary);
}
.theme-chaud .testimonial-tag {
    color: var(--gold) !important;
    background: rgba(255, 184, 0, 0.10) !important;
    border-color: rgba(255, 184, 0, 0.32) !important;
}
.theme-chaud .testimonial-quote-icon {
    color: var(--gold);
    opacity: 0.35;
    filter: drop-shadow(0 0 12px rgba(255, 184, 0, 0.45));
}
.theme-chaud .read-more-btn {
    color: var(--gold) !important;
}
.theme-chaud .read-more-btn:hover {
    color: var(--primary-light) !important;
}
.theme-chaud .testimonial-author {
    border-top-color: rgba(255, 184, 0, 0.20) !important;
}
.theme-chaud .testimonial-info h4 {
    color: var(--text-primary) !important;
}

/* ─── MODAL témoignage ─── */
.theme-chaud .testi-modal-card {
    background: linear-gradient(145deg, #2a1408 0%, #1f1006 100%) !important;
    border-color: rgba(255, 184, 0, 0.35) !important;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.65),
        0 0 60px rgba(255, 184, 0, 0.18),
        inset 0 1px 0 rgba(255, 200, 120, 0.10) !important;
    color: var(--text-primary);
}
.theme-chaud .testi-modal-backdrop {
    background: rgba(8, 4, 1, 0.72) !important;
}
.theme-chaud .testi-modal.open .testi-modal-backdrop {
    background: rgba(8, 4, 1, 0.78) !important;
}
.theme-chaud .testi-modal-close {
    background: rgba(58, 28, 12, 0.85) !important;
    color: var(--gold) !important;
    border-color: rgba(255, 184, 0, 0.45) !important;
}
.theme-chaud .testi-modal-close:hover {
    background: linear-gradient(135deg, var(--gold), #FF9628) !important;
    color: #1a0c03 !important;
}
.theme-chaud .testi-modal-text,
.theme-chaud .testi-modal-info h4 { color: var(--text-primary); }
.theme-chaud .testi-modal-info span { color: var(--text-secondary); }
.theme-chaud .testi-modal-tag {
    color: var(--gold) !important;
    background: rgba(255, 184, 0, 0.10) !important;
    border-color: rgba(255, 184, 0, 0.32) !important;
}
.theme-chaud .testi-modal-author { border-top-color: rgba(255, 184, 0, 0.22) !important; }

/* ─── CAROUSEL : fade aux bords adapté au fond sombre ─── */
.theme-chaud .testimonials-grid {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 36px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 36px), transparent 100%);
}
.theme-chaud .carousel-arrow {
    background: linear-gradient(145deg, #2a1408, #1f1006) !important;
    border-color: rgba(255, 184, 0, 0.45) !important;
    box-shadow:
        0 6px 24px rgba(0, 0, 0, 0.55),
        0 0 24px rgba(255, 184, 0, 0.18),
        inset 0 1px 0 rgba(255, 200, 120, 0.10) !important;
}
.theme-chaud .carousel-arrow svg { color: var(--gold); }
.theme-chaud .carousel-arrow:hover {
    background: linear-gradient(135deg, var(--gold), #FF9628) !important;
    border-color: var(--gold) !important;
}
.theme-chaud .carousel-arrow:hover svg { color: #1a0c03; }

/* ─── HERO : portrait + badges ─── */
.theme-chaud .hero-portrait,
.theme-chaud .hero-image {
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.55),
        0 0 80px rgba(255, 184, 0, 0.18),
        inset 0 0 0 1px rgba(255, 184, 0, 0.25);
}
.theme-chaud .hero-badge,
.theme-chaud .stat-number,
.theme-chaud .miracles-number {
    color: var(--gold) !important;
    filter: drop-shadow(0 0 14px rgba(255, 184, 0, 0.35));
}

/* ─── BOUTONS ─── */
.theme-chaud .btn-primary,
.theme-chaud .btn.btn-primary {
    background: linear-gradient(135deg, var(--gold) 0%, var(--primary) 100%) !important;
    color: #1a0c03 !important;
    box-shadow:
        0 8px 28px rgba(255, 184, 0, 0.35),
        0 2px 8px rgba(255, 107, 44, 0.25) !important;
}
.theme-chaud .btn-primary:hover {
    box-shadow:
        0 14px 40px rgba(255, 184, 0, 0.50),
        0 4px 14px rgba(255, 107, 44, 0.40) !important;
    transform: translateY(-2px);
}
.theme-chaud .btn-secondary {
    background: transparent !important;
    color: var(--gold) !important;
    border: 1.5px solid rgba(255, 184, 0, 0.55) !important;
}
.theme-chaud .btn-secondary:hover {
    background: rgba(255, 184, 0, 0.12) !important;
    border-color: var(--gold) !important;
    color: var(--gold-light) !important;
}

/* ─── FAQ ─── */
.theme-chaud .faq-item {
    background: linear-gradient(145deg, rgba(58, 28, 12, 0.80) 0%, rgba(36, 18, 8, 0.88) 100%) !important;
}
.theme-chaud .faq-question { color: var(--text-primary); }
.theme-chaud .faq-question:hover { color: var(--gold); }
.theme-chaud .faq-toggle { color: var(--gold); }
.theme-chaud .faq-answer { color: var(--text-secondary); }

/* ─── FOOTER ─── */
.theme-chaud .footer {
    background: linear-gradient(180deg, transparent 0%, rgba(20, 10, 4, 0.85) 50%, rgba(14, 6, 2, 0.95) 100%) !important;
    border-top: 1px solid rgba(255, 184, 0, 0.18);
}
.theme-chaud .footer a { color: var(--text-secondary) !important; }
.theme-chaud .footer a:hover { color: var(--gold) !important; }
.theme-chaud .footer h4 { color: var(--gold) !important; }
.theme-chaud .footer-bottom { color: var(--text-light) !important; border-top-color: rgba(255,184,0,0.12) !important; }

/* ─── STATS / chiffres ─── */
.theme-chaud .stat-number,
.theme-chaud .miracles-number,
.theme-chaud .price-amount {
    background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF6B2C 100%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 18px rgba(255, 184, 0, 0.35));
}

/* ─── Petits détails ─── */
.theme-chaud hr { border-color: rgba(255, 184, 0, 0.18); }
.theme-chaud ::selection { background: rgba(255, 184, 0, 0.35); color: #1a0c03; }
.theme-chaud .skip-link { background: var(--gold); color: #1a0c03; }
.theme-chaud .scroll-progress { background: linear-gradient(90deg, var(--gold), var(--primary)); }

/* ─── Liens inline ─── */
.theme-chaud a:not(.btn):not(.nav-link):not(.logo):not(.footer a):not(.read-more-btn):not(.testi-modal-close) {
    color: var(--gold);
}
.theme-chaud a:not(.btn):not(.nav-link):not(.logo):not(.footer a):not(.read-more-btn):hover {
    color: var(--gold-light);
}

/* Forcer un texte lisible si du noir hardcodé traîne */
.theme-chaud [style*="color:#2D2926"],
.theme-chaud [style*="color: #2D2926"],
.theme-chaud [style*="color:#000"],
.theme-chaud [style*="color: #000"] {
    color: var(--text-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* THEME CHAUD — FIXES AUDIT VISUEL v=ch2                              */
/* ═══════════════════════════════════════════════════════════════════ */

/* R1 — Hero "lumière intérieure" : forcer gradient sur le span highlight */
.theme-chaud .hero-title .highlight {
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 45%, #FF6B2C 100%) !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: drop-shadow(0 0 24px rgba(255, 107, 44, 0.55));
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .theme-chaud .hero-title .highlight {
    color: #FFB800 !important;
    -webkit-text-fill-color: #FFB800 !important;
  }
}

/* R2 — Navigation desktop forcée visible */
@media (min-width: 901px) {
  .theme-chaud .nav-links {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .theme-chaud .nav-links .nav-link {
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--text-primary) !important;
  }
  .theme-chaud .nav-links .nav-link:hover { color: var(--gold) !important; }
}

/* R3 — Désactiver opacity:0 initial pour animate-on-scroll */
.theme-chaud .animate-on-scroll,
.theme-chaud .animate-on-scroll.stagger-1,
.theme-chaud .animate-on-scroll.stagger-2,
.theme-chaud .animate-on-scroll.stagger-3,
.theme-chaud .animate-on-scroll.stagger-4,
.theme-chaud .animate-on-scroll.stagger-5 {
  opacity: 1 !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .theme-chaud .animate-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* R4 — Bouton "Devenir le prochain cas réalisé" lisible */
.theme-chaud .miracles-cta,
.theme-chaud .miracles-cta:link,
.theme-chaud .miracles-cta:visited {
  color: #1a0c03 !important;
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF9628 100%) !important;
  box-shadow: 0 10px 36px rgba(255, 184, 0, 0.45), 0 0 60px rgba(255, 107, 44, 0.25) !important;
  text-shadow: none !important;
}
.theme-chaud .miracles-cta:hover { color: #0d0601 !important; }

/* R5 — About-mission bloc */
.theme-chaud .about-mission {
  background: linear-gradient(145deg, rgba(58, 28, 12, 0.88) 0%, rgba(36, 18, 8, 0.94) 100%) !important;
  border-left: 4px solid var(--gold) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,200,120,0.10) !important;
  color: var(--text-primary) !important;
}
.theme-chaud .about-mission h3,
.theme-chaud .about-mission h2,
.theme-chaud .about-mission h4 { color: var(--gold) !important; }
.theme-chaud .about-mission p,
.theme-chaud .about-mission li,
.theme-chaud .about-mission span { color: var(--text-primary) !important; }

/* R6 — About-image-quote */
.theme-chaud .about-image-quote {
  background: linear-gradient(145deg, rgba(58, 28, 12, 0.92) 0%, rgba(36, 18, 8, 0.95) 100%) !important;
  color: var(--text-primary) !important;
  border-left: 4px solid var(--gold) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.55), 0 0 40px rgba(255,184,0,0.15) !important;
}
.theme-chaud .about-image-quote p,
.theme-chaud .about-image-quote span,
.theme-chaud .about-image-quote cite { color: var(--text-primary) !important; }

/* R7 — Boutons WhatsApp CTA section finale */
.theme-chaud .btn-white {
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF9628 100%) !important;
  color: #1a0c03 !important;
  box-shadow: 0 10px 36px rgba(255, 184, 0, 0.40) !important;
  border: none !important;
}
.theme-chaud .btn-white:hover { color: #0d0601 !important; transform: translateY(-2px); }
.theme-chaud .btn-outline-white {
  color: var(--text-primary) !important;
  border: 2px solid rgba(255, 184, 0, 0.55) !important;
  background: rgba(255, 184, 0, 0.06) !important;
}
.theme-chaud .btn-outline-white:hover {
  background: rgba(255, 184, 0, 0.15) !important;
  border-color: var(--gold) !important;
  color: var(--gold-light) !important;
}

/* R8 — Widget témoignages : boutons primary lisibles */
.theme-chaud .temoignages-host .btn-primary,
.theme-chaud .temoignages-host button.primary,
.theme-chaud .temoignages-host .tv-btn-primary,
.theme-chaud .temoignages-cta-btn,
.theme-chaud .temoignages-host a.btn-primary,
.theme-chaud .read-more-btn,
.theme-chaud .testi-modal .btn-primary {
  color: #1a0c03 !important;
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF9628 100%) !important;
  box-shadow: 0 8px 28px rgba(255, 184, 0, 0.38) !important;
  text-shadow: none !important;
  border: none !important;
}
.theme-chaud .read-more-btn:hover,
.theme-chaud .temoignages-host .btn-primary:hover { color: #0d0601 !important; }

/* Eyebrow "À votre tour" */
.theme-chaud .temoignages-eyebrow {
  color: var(--gold) !important;
  -webkit-text-fill-color: var(--gold) !important;
  background: transparent !important;
  -webkit-background-clip: initial !important;
          background-clip: initial !important;
  letter-spacing: 0.22em !important;
}

/* Testimonial-tag */
.theme-chaud .testimonial-tag {
  color: #1a0c03 !important;
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 100%) !important;
  font-weight: 700 !important;
}

/* R9 — Fond brun étendu sur tout html/body, fallback unie + scroll mobile */
html.theme-chaud-html,
body.theme-chaud { background-color: #1a0c03 !important; }
html { background-color: #1a0c03; }
@media (max-width: 900px) {
  body.theme-chaud {
    background-attachment: scroll, scroll, scroll, scroll, scroll !important;
  }
}

/* R10 — Tooltip WhatsApp hover/focus */
.theme-chaud .whatsapp-pulse:hover .whatsapp-tooltip,
.theme-chaud .whatsapp-pulse:focus-within .whatsapp-tooltip {
  visibility: visible !important;
  opacity: 1 !important;
}

/* R11 — Services-grid alignement vertical */
.theme-chaud .services-grid { align-items: stretch; }
.theme-chaud .service-card {
  display: flex !important;
  flex-direction: column !important;
}
.theme-chaud .service-card .service-price,
.theme-chaud .service-card .service-cta { margin-top: auto; }

/* R12 — Forcer fallback couleur sur section-title (anti clip transparent) */
.theme-chaud .section-title {
  background-image: linear-gradient(135deg, #fff6e8 0%, #FFD68A 50%, #FFB800 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: drop-shadow(0 2px 12px rgba(255,184,0,0.25));
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .theme-chaud .section-title {
    color: var(--gold-light) !important;
    -webkit-text-fill-color: initial !important;
    background: none !important;
  }
}

/* GARDE-FOU GLOBAL : tout texte par défaut dans theme-chaud reste lisible */
.theme-chaud p,
.theme-chaud li,
.theme-chaud span:not([class*="badge"]):not([class*="tag"]):not(.highlight),
.theme-chaud label {
  color: var(--text-primary);
}
.theme-chaud h1, .theme-chaud h2, .theme-chaud h3, .theme-chaud h4, .theme-chaud h5, .theme-chaud h6 {
  color: var(--text-primary);
}
/* Empêcher tout fond blanc/ivoire résiduel sur les blocs internes */
.theme-chaud [style*="background: #fff" i],
.theme-chaud [style*="background:#fff" i],
.theme-chaud [style*="background-color: #fff" i],
.theme-chaud [style*="background-color:#fff" i] {
  background: linear-gradient(145deg, rgba(58, 28, 12, 0.85) 0%, rgba(36, 18, 8, 0.92) 100%) !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* THEME CHAUD — FIXES AUDIT LYNX v=ch4                                */
/* ═══════════════════════════════════════════════════════════════════ */

/* Bug #5 — Boutons natifs heritent Arial, forcer Montserrat */
button, input, select, textarea, optgroup {
    font-family: inherit !important;
    -webkit-font-smoothing: inherit;
}

/* Bug #2 — Breakpoint tablet : nav-desktop visible seulement >=1024px */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .theme-chaud .nav-desktop { display: none !important; }
    .theme-chaud .menu-toggle { display: flex !important; }
    .theme-chaud .header-inner { flex-wrap: nowrap; }
    .theme-chaud .logo { flex: 0 0 auto; }
}
@media (min-width: 1024px) {
    .theme-chaud .nav-desktop { display: flex !important; visibility: visible !important; }
    .theme-chaud .menu-toggle { display: none !important; }
}
/* Anti-overflow header tablet */
.theme-chaud .header,
.theme-chaud .header-inner,
.theme-chaud .header .container { max-width: 100%; overflow-x: clip; }

/* Bug #4 — Hero overflow-x clip pour décor latéral ailes */
.theme-chaud .hero,
.theme-chaud section { overflow-x: clip; }
.theme-chaud .wings-decoration {
    pointer-events: none;
    max-width: 30vw;
    opacity: 0.5;
}

/* Bug #3 + #9 — Carrousel témoignages : padding interne + flèches dégagées */
@media (min-width: 768px) {
    .theme-chaud .testimonials-grid,
    .theme-chaud .testimonials-track,
    .theme-chaud .testimonials-viewport {
        padding-inline: 88px !important;
        scroll-padding-inline: 88px !important;
    }
}
.theme-chaud .testimonials-carousel { position: relative; }
.theme-chaud .testimonials-carousel .carousel-arrow,
.theme-chaud .testimonials-carousel .testimonial-arrow,
.theme-chaud .testimonials-carousel .arrow-prev,
.theme-chaud .testimonials-carousel .arrow-next,
.theme-chaud .testimonials-section .carousel-arrow {
    z-index: 10;
}
.theme-chaud .testimonials-carousel .carousel-arrow.prev,
.theme-chaud .testimonials-carousel .arrow-prev { left: 12px !important; }
.theme-chaud .testimonials-carousel .carousel-arrow.next,
.theme-chaud .testimonials-carousel .arrow-next { right: 12px !important; }

/* Bug #7 — Portrait Mobile pleine largeur empilé */
@media (max-width: 768px) {
    .theme-chaud .about-grid,
    .theme-chaud .about-content { grid-template-columns: 1fr !important; }
    .theme-chaud .about-portrait,
    .theme-chaud .about-image,
    .theme-chaud .about-image-wrapper {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto 32px !important;
    }
    .theme-chaud .about-image picture,
    .theme-chaud .about-image-wrapper picture,
    .theme-chaud .about-image img,
    .theme-chaud .about-image-wrapper img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }
}

/* Bug #8 — Skip-link focus contrasté */
.theme-chaud .skip-link {
    background: #1A0C03 !important;
    color: #FFB800 !important;
}
.theme-chaud .skip-link:focus {
    background: #1A0C03 !important;
    color: #FFB800 !important;
    outline: 2px solid #FFB800 !important;
    outline-offset: 2px;
}

/* Bug #11 — Hero highlight contraste/profondeur */
.theme-chaud .hero-title .highlight {
    filter: drop-shadow(0 1px 12px rgba(0,0,0,0.55)) drop-shadow(0 0 24px rgba(255,107,44,0.45)) !important;
}

/* Bug #10 — Mobile : sections padding réduit */
@media (max-width: 768px) {
    .theme-chaud .section,
    .theme-chaud .cta-section,
    .theme-chaud .miracles-showcase,
    .theme-chaud .hero { padding-block: 64px !important; }
    .theme-chaud .hero { padding-top: calc(64px + 60px) !important; }
}

/* Bug #12 — Cards services : forcer overflow + alignement */
.theme-chaud .service-card {
    overflow: hidden !important;
    word-break: break-word;
}
.theme-chaud .service-card * { max-width: 100%; }
.theme-chaud .service-card .service-price,
.theme-chaud .service-card .service-badge,
.theme-chaud .service-card [class*="price"] {
    position: static !important;
    transform: none !important;
}

/* WhatsApp tooltip apparait au hover de tout le widget */
.theme-chaud .whatsapp-widget:hover .whatsapp-tooltip,
.theme-chaud .whatsapp-widget:focus-within .whatsapp-tooltip {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Microcopy + a11y "Lire le témoignage complet" pour les read-more (style only) */
.theme-chaud .read-more-btn { font-weight: 600; }

/* ─── Widget Témoignages — modes Texte/Audio/Vidéo lisibles en theme chaud ─── */
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-modes,
.theme-chaud .temoignages-modes {
    color: rgba(255, 232, 156, 0.92) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em;
    text-shadow: 0 1px 4px rgba(0,0,0,0.45);
}
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-cta-wrap {
    background: linear-gradient(135deg, rgba(255,184,0,0.10) 0%, rgba(255,107,44,0.14) 100%) !important;
    border: 1px solid rgba(255, 184, 0, 0.30) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════ */
/*  DANY'AILES — ÉDITION CHAUD · POLISH DESIGN ch7                            */
/*  Sanctuaire numérique — niveau Pentagram / Studio Dumbar                   */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* Easing universel — cubic-bezier doux et chic */
.theme-chaud * {
    --ease-sacred: cubic-bezier(.22, 1, .36, 1);
}
.theme-chaud {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

/* ─── 1. DIVIDER SACRÉ ─────────────────────────────────────────────────── */
.theme-chaud .sacred-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 96px auto;
    max-width: 320px;
    opacity: 0;
    transform: translateY(8px);
    animation: sdReveal 1.4s var(--ease-sacred) forwards;
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
}
@supports not (animation-timeline: view()) {
    .theme-chaud .sacred-divider { opacity: 1; transform: none; }
}
.theme-chaud .sacred-divider .sd-line {
    height: 1px;
    width: 120px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,184,0,.55) 50%, transparent 100%);
    box-shadow: 0 0 12px rgba(255,184,0,.18);
}
.theme-chaud .sacred-divider .sd-star {
    font-size: 14px;
    color: #FFC85A;
    text-shadow: 0 0 12px rgba(255,184,0,.55), 0 0 24px rgba(255,107,44,.3);
    animation: sdPulse 4.2s ease-in-out infinite;
    line-height: 1;
}
@keyframes sdReveal { to { opacity: 1; transform: none; } }
@keyframes sdPulse {
    0%, 100% { transform: scale(1); opacity: .9; filter: brightness(1); }
    50% { transform: scale(1.18); opacity: 1; filter: brightness(1.4); }
}
@media (max-width: 768px) {
    .theme-chaud .sacred-divider { margin: 56px auto; max-width: 200px; gap: 16px; }
    .theme-chaud .sacred-divider .sd-line { width: 72px; }
}

/* ─── 2. HERO ÉLEVÉ ────────────────────────────────────────────────────── */
.theme-chaud .hero { overflow-x: clip; overflow-y: visible; }
.theme-chaud .hero-inner { position: relative; }

/* Halo radial doré derrière le H1 */
.theme-chaud .hero-inner::before {
    content: '';
    position: absolute;
    inset: -120px -10% auto -10%;
    height: 580px;
    background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(255,184,0,.18) 0%, rgba(255,107,44,.08) 40%, transparent 75%);
    pointer-events: none;
    z-index: -1;
    filter: blur(8px);
}

/* Wings — agrandies, lueur, respiration */
.theme-chaud .wings-decoration {
    width: 480px !important;
    height: 620px !important;
    opacity: 0.28 !important;
    filter: drop-shadow(0 0 28px rgba(255,184,0,.4)) drop-shadow(0 0 60px rgba(255,107,44,.18));
    animation: wingsBreathe 9s ease-in-out infinite;
    transition: opacity 1.2s var(--ease-sacred);
}
.theme-chaud .wings-decoration.wings-left { animation-delay: 0s; left: -80px !important; top: 8% !important; }
.theme-chaud .wings-decoration.wings-right { animation-delay: -4.5s; right: -80px !important; top: 8% !important; transform: scaleX(-1); }
@keyframes wingsBreathe {
    0%, 100% { transform: scale(1) translateY(0); opacity: .26; }
    50% { transform: scale(1.04) translateY(-6px); opacity: .34; }
}
.theme-chaud .wings-decoration.wings-right { animation-name: wingsBreatheRight; }
@keyframes wingsBreatheRight {
    0%, 100% { transform: scaleX(-1) scale(1) translateY(0); opacity: .26; }
    50% { transform: scaleX(-1) scale(1.04) translateY(-6px); opacity: .34; }
}
@media (max-width: 900px) {
    .theme-chaud .wings-decoration { width: 240px !important; height: 320px !important; opacity: 0.18 !important; }
}

/* Badge sacré — shimmer doré */
.theme-chaud .hero-badge {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255,184,0,.10) 0%, rgba(255,107,44,.14) 100%) !important;
    border: 1px solid rgba(255,184,0,.42) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.35), 0 0 24px rgba(255,184,0,.18), inset 0 1px 0 rgba(255,232,156,.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.theme-chaud .hero-badge::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 30%, rgba(255,232,156,.22) 50%, transparent 70%);
    animation: shimmerSlide 4.5s ease-in-out infinite;
    pointer-events: none;
}
@keyframes shimmerSlide {
    0% { transform: translateX(-100%); }
    60%, 100% { transform: translateX(100%); }
}

.theme-chaud .hero-subtitle {
    letter-spacing: 0.02em !important;
    line-height: 1.75 !important;
    color: rgba(255,246,232,.88) !important;
    max-width: 640px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CTA secondaire fluide */
.theme-chaud .hero-cta .btn-secondary,
.theme-chaud .hero-cta .btn.btn-secondary {
    background: transparent !important;
    color: var(--gold-light, #FFE89C) !important;
    border: 1px solid rgba(255,184,0,.55) !important;
    padding-bottom: 14px !important;
    position: relative;
    overflow: hidden;
}
.theme-chaud .hero-cta .btn-secondary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,184,0,.12) 0%, rgba(255,107,44,.18) 100%);
    transform: translateX(-101%);
    transition: transform .6s var(--ease-sacred);
}
.theme-chaud .hero-cta .btn-secondary:hover {
    border-color: var(--gold, #FFB800) !important;
    color: var(--white, #fff6e8) !important;
    box-shadow: 0 12px 32px rgba(255,184,0,.22) !important;
}
.theme-chaud .hero-cta .btn-secondary:hover::before { transform: translateX(0); }

/* Scroll indicator élégant */
.theme-chaud .hero-scroll {
    color: rgba(255,232,156,.6) !important;
    animation: scrollFloat 2.6s ease-in-out infinite;
}
@keyframes scrollFloat {
    0%, 100% { transform: translateY(0); opacity: .55; }
    50% { transform: translateY(8px); opacity: .9; }
}

/* ─── 3. ABOUT — DROP CAP + CITATION ────────────────────────────────────── */
.theme-chaud .about-text > p:first-of-type::first-letter {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif;
    font-style: italic;
    font-weight: 600;
    font-size: 4.6em;
    float: left;
    line-height: .85;
    padding: 6px 14px 0 0;
    color: var(--gold, #FFB800);
    text-shadow: 0 2px 14px rgba(255,184,0,.35);
}

.theme-chaud .about-image-quote {
    position: relative;
    padding: 56px 36px 40px !important;
    text-align: center !important;
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-style: italic !important;
    font-size: 1.25rem !important;
    line-height: 1.55 !important;
    color: rgba(255,246,232,.95) !important;
    background: linear-gradient(145deg, rgba(58,28,12,.92) 0%, rgba(36,18,8,.96) 100%) !important;
    border: 1px solid rgba(255,184,0,.18) !important;
    border-left: none !important;
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(0,0,0,.5), 0 0 36px rgba(255,184,0,.10);
}
.theme-chaud .about-image-quote::before,
.theme-chaud .about-image-quote::after {
    font-family: var(--font-heading, serif);
    font-size: 5em;
    font-style: italic;
    color: rgba(255,184,0,.4);
    position: absolute;
    line-height: 1;
    pointer-events: none;
    text-shadow: 0 0 24px rgba(255,184,0,.35);
}
.theme-chaud .about-image-quote::before { content: '"'; top: 4px; left: 18px; }
.theme-chaud .about-image-quote::after { content: '"'; bottom: -32px; right: 18px; }

/* Ma mission — filet sacré */
.theme-chaud .about-mission {
    position: relative;
    padding: 36px 36px 36px 48px !important;
    border-left: none !important;
}
.theme-chaud .about-mission::before {
    content: '';
    position: absolute;
    left: 0; top: 18px; bottom: 18px;
    width: 4px;
    background: linear-gradient(180deg, rgba(255,184,0,.12) 0%, var(--gold) 25%, var(--gold) 75%, rgba(255,184,0,.12) 100%);
    border-radius: 2px;
    box-shadow: 0 0 14px rgba(255,184,0,.4);
}
.theme-chaud .about-mission::after {
    content: '✦';
    position: absolute;
    left: -8px; top: -4px;
    width: 20px;
    text-align: center;
    color: #FFC85A;
    font-size: 16px;
    text-shadow: 0 0 12px rgba(255,184,0,.7);
    background: var(--bg, #1a0c03);
    padding: 0 2px;
}

/* ─── 4. SERVICES — RITUEL CARDS ────────────────────────────────────────── */
.theme-chaud .service-card {
    background: linear-gradient(145deg, rgba(58,28,12,.78) 0%, rgba(28,14,6,.92) 100%) !important;
    border: 1px solid rgba(255,184,0,.16) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,232,156,.06) !important;
    padding: 48px 40px !important;
    transition: transform .6s var(--ease-sacred), box-shadow .6s var(--ease-sacred), border-color .6s var(--ease-sacred) !important;
    position: relative;
    overflow: hidden;
}
.theme-chaud .service-card::before {
    content: '';
    position: absolute;
    inset: -50%;
    background: radial-gradient(circle at 30% 0%, rgba(255,184,0,.10) 0%, transparent 50%);
    opacity: 0;
    transition: opacity .8s var(--ease-sacred);
    pointer-events: none;
}
.theme-chaud .service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 32px 64px rgba(0,0,0,.55), 0 0 48px rgba(255,184,0,.18), inset 0 1px 0 rgba(255,232,156,.12) !important;
    border-color: rgba(255,184,0,.38) !important;
}
.theme-chaud .service-card:hover::before { opacity: 1; }

.theme-chaud .service-icon {
    width: 84px !important;
    height: 84px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(255,184,0,.16) 0%, transparent 70%) !important;
    border: 1px solid rgba(255,184,0,.42) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 28px !important;
    color: var(--gold, #FFB800) !important;
    box-shadow: 0 0 28px rgba(255,184,0,.22), inset 0 0 18px rgba(255,184,0,.10) !important;
}
.theme-chaud .service-icon svg { width: 38px !important; height: 38px !important; }

.theme-chaud .service-title {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-weight: 500 !important;
    font-size: 2rem !important;
    color: var(--gold-light, #FFE89C) !important;
    margin-bottom: 18px !important;
    text-align: center;
    letter-spacing: 0.01em;
}

.theme-chaud .service-description {
    font-size: .98rem !important;
    line-height: 1.85 !important;
    color: rgba(255,246,232,.82) !important;
    text-align: center;
    margin-bottom: 28px !important;
}

.theme-chaud .service-price {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-style: italic !important;
    font-size: 1.4rem !important;
    color: var(--gold, #FFB800) !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
    text-shadow: 0 0 18px rgba(255,184,0,.35);
}

.theme-chaud .read-more-btn,
.theme-chaud .service-card .read-more-btn {
    background: transparent !important;
    color: var(--gold, #FFB800) !important;
    padding: 8px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,184,0,.4) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    font-size: 0.78rem !important;
    transition: color .4s var(--ease-sacred), border-color .4s var(--ease-sacred), letter-spacing .4s var(--ease-sacred) !important;
    align-self: center !important;
}
.theme-chaud .read-more-btn:hover {
    color: var(--gold-light, #FFE89C) !important;
    border-bottom-color: var(--gold-light, #FFE89C) !important;
    letter-spacing: 0.1em !important;
    transform: none !important;
}

/* ─── 5. MIRACLES — CERCLE SACRÉ ───────────────────────────────────────── */
.theme-chaud .miracles-showcase {
    position: relative;
    padding: 128px 0 !important;
}
.theme-chaud .miracles-number-container {
    position: relative;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    padding: 60px 80px !important;
}
.theme-chaud .miracles-number-container::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(255,184,0,.32);
    box-shadow: 0 0 48px rgba(255,184,0,.18), inset 0 0 36px rgba(255,184,0,.10);
    animation: circleBreathe 7s ease-in-out infinite;
    pointer-events: none;
}
.theme-chaud .miracles-number-container::after {
    content: '';
    position: absolute;
    inset: -16px;
    border-radius: 50%;
    border: 1px solid rgba(255,184,0,.14);
    animation: circleBreathe 7s ease-in-out infinite reverse;
    pointer-events: none;
}
@keyframes circleBreathe {
    0%, 100% { transform: scale(1); opacity: .8; }
    50% { transform: scale(1.06); opacity: 1; }
}

.theme-chaud .miracles-number {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-weight: 500 !important;
    background: linear-gradient(135deg, #FFE89C 0%, #FFB800 45%, #FF8E3C 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    filter: drop-shadow(0 4px 24px rgba(255,184,0,.4));
}

/* Micro-stats */
.theme-chaud .miracles-microstats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
    font-family: var(--font-heading, 'Cormorant Garamond'), serif;
    font-style: italic;
    font-size: 1rem;
    color: rgba(255,232,156,.8);
    letter-spacing: 0.04em;
    flex-wrap: wrap;
}
.theme-chaud .miracles-microstats .sep {
    color: #FFC85A;
    text-shadow: 0 0 8px rgba(255,184,0,.55);
    font-size: 0.7em;
}

.theme-chaud .miracles-label {
    font-family: var(--font-heading) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 2.4rem !important;
    color: var(--gold-light, #FFE89C) !important;
    margin: 36px 0 18px !important;
    letter-spacing: 0.02em;
}

.theme-chaud .miracles-subtitle {
    max-width: 580px;
    margin: 0 auto 40px !important;
    line-height: 1.85 !important;
    color: rgba(255,246,232,.82) !important;
}

/* ─── 6. TÉMOIGNAGES — POLISH ─────────────────────────────────────────── */
.theme-chaud .testimonial-card {
    background: linear-gradient(145deg, rgba(58,28,12,.82) 0%, rgba(28,14,6,.94) 100%) !important;
    border: 1px solid rgba(255,184,0,.14) !important;
    padding: 44px 36px !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,232,156,.06) !important;
    position: relative;
    transition: transform .6s var(--ease-sacred), box-shadow .6s var(--ease-sacred), border-color .6s var(--ease-sacred) !important;
}
.theme-chaud .testimonial-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 58px rgba(0,0,0,.6), 0 0 42px rgba(255,184,0,.15) !important;
    border-color: rgba(255,184,0,.32) !important;
}

/* Guillemet décoratif */
.theme-chaud .testimonial-card::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 24px;
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 5.5em;
    color: rgba(255,184,0,.5);
    line-height: 1;
    text-shadow: 0 0 24px rgba(255,184,0,.4);
    pointer-events: none;
}

.theme-chaud .testimonial-text,
.theme-chaud .testimonial-card p {
    font-family: var(--font-heading), serif !important;
    font-style: italic !important;
    font-size: 1.08rem !important;
    line-height: 1.75 !important;
    color: rgba(255,246,232,.92) !important;
    margin-bottom: 24px !important;
}

/* Avatar filaire */
.theme-chaud .testimonial-avatar,
.theme-chaud .testi-avatar,
.theme-chaud .testimonial-card .avatar {
    background: radial-gradient(circle, rgba(255,184,0,.10) 0%, transparent 70%) !important;
    border: 2px solid var(--gold, #FFB800) !important;
    color: var(--gold-light, #FFE89C) !important;
    font-family: var(--font-heading) !important;
    font-style: italic !important;
    font-weight: 600 !important;
    box-shadow: 0 0 18px rgba(255,184,0,.28), inset 0 0 12px rgba(255,184,0,.10) !important;
}

/* Étoiles glow */
.theme-chaud .testimonial-rating svg,
.theme-chaud .testimonial-stars svg {
    fill: #FFC85A !important;
    filter: drop-shadow(0 0 6px rgba(255,184,0,.55));
}

/* Lire l'histoire complète — lien underline */
.theme-chaud .testimonial-card .read-more-btn,
.theme-chaud .testimonial-card .testimonial-read-more {
    background: transparent !important;
    color: var(--gold, #FFB800) !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,184,0,.4) !important;
    padding: 4px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0.78rem !important;
    text-transform: uppercase;
    letter-spacing: 0.1em !important;
    font-weight: 500 !important;
    transition: color .4s var(--ease-sacred), border-color .4s var(--ease-sacred), letter-spacing .4s var(--ease-sacred) !important;
}
.theme-chaud .testimonial-card .read-more-btn:hover {
    color: var(--gold-light, #FFE89C) !important;
    border-bottom-color: var(--gold-light, #FFE89C) !important;
    letter-spacing: 0.14em !important;
}

.theme-chaud .testimonial-tag {
    background: linear-gradient(135deg, rgba(255,184,0,.10) 0%, rgba(255,107,44,.18) 100%) !important;
    color: var(--gold-light, #FFE89C) !important;
    border: 1px solid rgba(255,184,0,.32) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    font-weight: 600 !important;
    padding: 6px 14px !important;
}

/* Flèches carousel — élégance dorée */
.theme-chaud .carousel-arrow,
.theme-chaud .testimonials-carousel button[class*="arrow"] {
    background: rgba(26,12,3,.85) !important;
    border: 1px solid rgba(255,184,0,.42) !important;
    color: var(--gold, #FFB800) !important;
    width: 52px !important;
    height: 52px !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 8px 24px rgba(0,0,0,.5), 0 0 18px rgba(255,184,0,.18) !important;
    transition: all .5s var(--ease-sacred) !important;
}
.theme-chaud .carousel-arrow:hover {
    background: rgba(58,28,12,.95) !important;
    border-color: var(--gold, #FFB800) !important;
    color: var(--gold-light, #FFE89C) !important;
    transform: scale(1.08);
    box-shadow: 0 10px 28px rgba(0,0,0,.55), 0 0 28px rgba(255,184,0,.32) !important;
}

/* ─── 7. FAQ — CHEVRON ROTATE ────────────────────────────────────────── */
.theme-chaud .faq-item {
    border-bottom: 1px solid rgba(255,184,0,.15) !important;
    padding: 8px 0 !important;
    transition: background .4s var(--ease-sacred);
}
.theme-chaud .faq-item:hover { background: rgba(255,184,0,.025); }
.theme-chaud .faq-question {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-weight: 500 !important;
    font-size: 1.32rem !important;
    color: var(--gold-light, #FFE89C) !important;
    padding: 26px 32px 26px 32px !important;
    gap: 18px !important;
    letter-spacing: 0.005em;
    transition: color .4s var(--ease-sacred) !important;
}
.theme-chaud .faq-question:hover { color: var(--gold, #FFB800) !important; }

.theme-chaud .faq-toggle,
.theme-chaud .faq-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,184,0,.45) !important;
    color: var(--gold, #FFB800) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    transition: transform .5s var(--ease-sacred), border-color .5s var(--ease-sacred), background .5s var(--ease-sacred) !important;
    background: transparent !important;
}
.theme-chaud .faq-item.active .faq-toggle,
.theme-chaud .faq-item.open .faq-toggle {
    transform: rotate(45deg);
    border-color: var(--gold, #FFB800) !important;
    background: rgba(255,184,0,.10) !important;
    box-shadow: 0 0 14px rgba(255,184,0,.32);
}

.theme-chaud .faq-answer {
    max-height: 0 !important;
    overflow: hidden !important;
    line-height: 1.85 !important;
    color: rgba(255,246,232,.85) !important;
    font-size: 1rem !important;
    transition: max-height .55s var(--ease-sacred) !important;
}
.theme-chaud .faq-item.active .faq-answer { max-height: 1200px !important; }
.theme-chaud .faq-answer-inner {
    padding: 4px 32px 26px 32px !important;
}

/* ─── 8. CTA FINALE — RITUEL ─────────────────────────────────────────── */
.theme-chaud .cta-section {
    padding: 120px 0 !important;
    position: relative;
    text-align: center;
}
.theme-chaud .cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,184,0,.10) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
}
.theme-chaud .cta-section > * { position: relative; z-index: 1; }
.theme-chaud .cta-section h2,
.theme-chaud .cta-title {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-size: clamp(2.2rem, 5vw, 3.4rem) !important;
    background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF8E3C 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    filter: drop-shadow(0 2px 18px rgba(255,184,0,.32));
    margin-bottom: 24px !important;
    letter-spacing: 0.01em;
}
.theme-chaud .cta-subtitle,
.theme-chaud .cta-section p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.08rem !important;
    color: rgba(255,246,232,.85) !important;
    max-width: 580px;
    margin: 0 auto 40px !important;
    line-height: 1.75;
}

/* ─── 9. FOOTER ÉLÉGANT ───────────────────────────────────────────────── */
.theme-chaud .footer {
    position: relative;
    padding: 80px 0 28px !important;
}
.theme-chaud .footer::before {
    content: '';
    position: absolute;
    top: 0; left: 50%;
    width: min(80%, 600px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent 0%, rgba(255,184,0,.45) 50%, transparent 100%);
}
.theme-chaud .footer-bottom {
    margin-top: 40px !important;
    padding-top: 28px !important;
    text-align: center !important;
    font-family: var(--font-heading), serif !important;
    font-style: italic !important;
    color: rgba(255,246,232,.55) !important;
    font-size: 0.94rem !important;
    border-top: 1px solid rgba(255,184,0,.12) !important;
}
.theme-chaud .footer h4 {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-size: 1.18rem !important;
    color: var(--gold-light, #FFE89C) !important;
    margin-bottom: 18px !important;
    letter-spacing: 0.02em;
}
.theme-chaud .footer a {
    transition: color .4s var(--ease-sacred), padding-left .4s var(--ease-sacred);
    position: relative;
}
.theme-chaud .footer a:hover {
    color: var(--gold, #FFB800) !important;
    padding-left: 6px;
}

/* ─── 10. WHATSAPP — CERCLE DOUBLE ───────────────────────────────────── */
.theme-chaud .whatsapp-widget,
.theme-chaud .whatsapp-pulse {
    z-index: 100;
}
.theme-chaud .whatsapp-tooltip {
    background: rgba(26,12,3,.95) !important;
    border: 1px solid rgba(255,184,0,.42) !important;
    color: var(--gold-light, #FFE89C) !important;
    font-family: var(--font-heading), serif !important;
    font-style: italic !important;
    font-size: 0.92rem !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.55), 0 0 24px rgba(255,184,0,.18) !important;
}

/* ─── 11. SECTION TITLES UNIFORMES ─────────────────────────────────── */
.theme-chaud .section-label,
.theme-chaud .section-eyebrow {
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.32em !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    color: var(--gold, #FFB800) !important;
    margin-bottom: 18px !important;
}
.theme-chaud .section-title {
    font-family: var(--font-heading, 'Cormorant Garamond'), serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0.005em !important;
    margin-bottom: 22px !important;
}
.theme-chaud .section-subtitle {
    font-size: 1.06rem !important;
    line-height: 1.75 !important;
    color: rgba(255,246,232,.78) !important;
    max-width: 640px !important;
    margin: 0 auto 56px !important;
}

/* ─── 12. NOISE TEXTURE SUBTILE (profondeur) ─────────────────────────── */
.theme-chaud::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.025;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 0.82 0 0 0 0 0.4 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    mix-blend-mode: overlay;
}

/* ─── HOVER STATE BTNS ────────────────────────────────────────────────── */
.theme-chaud .btn,
.theme-chaud .btn-primary,
.theme-chaud .miracles-cta {
    transition: transform .5s var(--ease-sacred), box-shadow .5s var(--ease-sacred), filter .5s var(--ease-sacred) !important;
    will-change: transform;
}
.theme-chaud .btn-primary:hover,
.theme-chaud .miracles-cta:hover {
    transform: translateY(-3px) scale(1.01);
    filter: brightness(1.06);
}

/* ─── LINKS UNDERLINE ANIMATED ──────────────────────────────────────── */
.theme-chaud .nav-link {
    position: relative;
    padding: 8px 4px !important;
}
.theme-chaud .nav-link::after {
    content: '';
    position: absolute;
    left: 4px; right: 4px;
    bottom: 4px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold) 0%, var(--primary) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .5s var(--ease-sacred);
}
.theme-chaud .nav-link:hover::after { transform: scaleX(1); }

/* ─── MOBILE PADDING FINAL ────────────────────────────────────────── */
@media (max-width: 768px) {
    .theme-chaud .miracles-number-container { padding: 32px 48px !important; }
    .theme-chaud .miracles-microstats { font-size: 0.88rem; gap: 10px; }
    .theme-chaud .testimonial-card { padding: 36px 28px !important; }
    .theme-chaud .service-card { padding: 36px 28px !important; }
    .theme-chaud .faq-question { font-size: 1.12rem !important; padding-right: 50px !important; }
}

/* ─── POLISH RÉSIDUEL ch8 ─── */

/* FAQ chevron + → × via rotate 45° */
.theme-chaud .faq-question svg.faq-plus,
.theme-chaud .faq-question svg {
    transition: transform .55s var(--ease-sacred) !important;
    transform-origin: center center !important;
}
.theme-chaud .faq-item.active .faq-question svg,
.theme-chaud .faq-item.active .faq-question svg.faq-plus {
    transform: rotate(45deg) !important;
}
/* annule l'ancienne règle 180° */
.faq-item.active .faq-question svg { transform: rotate(45deg); }

/* Modal témoignage — pointer-events transitionné */
.testi-modal,
.theme-chaud .testi-modal {
    transition: opacity .45s var(--ease-sacred, cubic-bezier(.22,1,.36,1)),
                visibility 0s linear .45s !important;
    pointer-events: none !important;
}
.testi-modal.open,
.theme-chaud .testi-modal.open {
    pointer-events: auto !important;
    transition: opacity .45s var(--ease-sacred, cubic-bezier(.22,1,.36,1)),
                visibility 0s linear 0s !important;
}
/* Au repos, le modal n'intercepte rien */
.testi-modal:not(.open),
.theme-chaud .testi-modal:not(.open) {
    pointer-events: none !important;
    visibility: hidden !important;
}

/* ─── CTA nav-cta « Réserver » (chaud) — clone visuel de .miracles-cta ─── */
.theme-chaud .nav-cta,
.theme-chaud .nav-cta:link,
.theme-chaud .nav-cta:visited {
    background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF9628 100%) !important;
    color: #1a0c03 !important;
    border: 1px solid rgba(255, 232, 156, 0.55) !important;
    box-shadow:
        0 10px 36px rgba(255, 184, 0, 0.45),
        0 0 60px rgba(255, 107, 44, 0.25),
        inset 0 1px 0 rgba(255, 246, 232, 0.4) !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    transition: transform .5s var(--ease-sacred), box-shadow .5s var(--ease-sacred), filter .5s var(--ease-sacred) !important;
    will-change: transform;
}
.theme-chaud .nav-cta:hover,
.theme-chaud .nav-cta:focus {
    color: #0d0601 !important;
    transform: translateY(-3px) scale(1.04);
    filter: brightness(1.06);
    box-shadow:
        0 15px 50px rgba(255, 184, 0, 0.6),
        0 0 80px rgba(255, 107, 44, 0.35),
        inset 0 1px 0 rgba(255, 246, 232, 0.5) !important;
}
.theme-chaud .nav-cta svg {
    color: #1a0c03 !important;
    fill: #1a0c03 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   POLISH ARTISTIQUE v2 — harmonisation finale (2026-06-03)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── 1. Mandala : souffler la respiration ─── */
.theme-chaud .bg-mandala,
body.theme-chaud .bg-mandala {
    color: rgba(255, 184, 0, 0.035) !important;
}

/* ─── 2. Ailes du Hero : moins prégnantes ─── */
.theme-chaud .wings-decoration {
    opacity: 0.14 !important;
    filter: drop-shadow(0 0 22px rgba(255,184,0,.28)) drop-shadow(0 0 50px rgba(255,107,44,.12)) !important;
}
@keyframes wingsBreathe {
    0%, 100% { transform: scale(1) translateY(0); opacity: .13; }
    50%      { transform: scale(1.04) translateY(-6px); opacity: .17; }
}
@keyframes wingsBreatheRight {
    0%, 100% { transform: scaleX(-1) scale(1) translateY(0); opacity: .13; }
    50%      { transform: scaleX(-1) scale(1.04) translateY(-6px); opacity: .17; }
}
@media (max-width: 900px) {
    .theme-chaud .wings-decoration { opacity: 0.09 !important; }
}

/* ─── 3. Rythme uniforme des sections (desktop 128 / mobile 72) ─── */
.theme-chaud .section,
.theme-chaud .miracles-showcase,
.theme-chaud .cta-section {
    padding-top: 128px !important;
    padding-bottom: 128px !important;
}
@media (max-width: 768px) {
    .theme-chaud .section,
    .theme-chaud .miracles-showcase,
    .theme-chaud .cta-section {
        padding-top: 72px !important;
        padding-bottom: 72px !important;
    }
}
.theme-chaud .sacred-divider { margin: 64px auto !important; }

/* ─── 4. About-mission : padding symétrique, barre indentée ─── */
.theme-chaud .about-mission {
    padding: 40px 40px 40px 56px !important;
}
.theme-chaud .about-mission::before {
    left: 18px !important;
}
.theme-chaud .about-mission::after {
    left: 10px !important;
}

/* ─── 5. Sync animations miracles ─── */
.theme-chaud .miracles-number,
.theme-chaud .miracles-plus {
    animation: text-shine 5.4s linear infinite !important;
}
.theme-chaud .miracles-plus { animation-delay: -0.7s !important; }

/* ─── 6. Footer : rehausser le contraste ─── */
.theme-chaud .footer p,
.theme-chaud .footer .footer-bottom,
.theme-chaud .footer-bottom p {
    color: rgba(255, 246, 232, 0.72) !important;
}
.theme-chaud .footer a {
    color: rgba(255, 246, 232, 0.78) !important;
    transition: color .35s var(--ease-sacred);
}
.theme-chaud .footer a:hover { color: var(--gold-light, #FFE89C) !important; }
.theme-chaud .footer h3,
.theme-chaud .footer h4,
.theme-chaud .footer .logo-text { color: #FFD68A !important; }

/* ─── 7. Bouton service Découvrir : gradient or chaud cohérent ─── */
.theme-chaud .service-cta-wrap {
    margin-top: 24px;
    display: flex;
    justify-content: center;
}
.theme-chaud .service-cta-btn,
.theme-chaud .service-card .btn-primary {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 14px 32px !important;
    background: linear-gradient(135deg, #FFE89C 0%, #FFB800 50%, #FF9628 100%) !important;
    color: #1a0c03 !important;
    border-radius: 999px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    border: 1px solid rgba(255, 232, 156, 0.55) !important;
    box-shadow:
        0 10px 32px rgba(255, 184, 0, 0.32),
        inset 0 1px 0 rgba(255, 246, 232, 0.4) !important;
    transition: transform .45s var(--ease-sacred), box-shadow .45s var(--ease-sacred);
    position: relative;
    z-index: 10;
}
.theme-chaud .service-cta-btn:hover,
.theme-chaud .service-card .btn-primary:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow:
        0 16px 42px rgba(255, 184, 0, 0.5),
        inset 0 1px 0 rgba(255, 246, 232, 0.5) !important;
}

/* ─── 8. Hero-badge : adoucir le pill agressif ─── */
.theme-chaud .hero-badge {
    border-radius: 48px !important;
}

/* ─── 9. About-image-decoration : palette chaud pure ─── */
.theme-chaud .about-image-decoration {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.28), rgba(255, 107, 44, 0.14)) !important;
}

/* ─── 10. About image-quote en mobile : reflow ─── */
@media (max-width: 768px) {
    .theme-chaud .about-image-quote {
        position: static !important;
        left: auto !important;
        right: auto !important;
        margin: -28px auto 0 !important;
        max-width: 92% !important;
        padding: 22px 22px !important;
    }
}

/* ─── 11. Hero title clamp plus fluide mobile ─── */
@media (max-width: 600px) {
    .theme-chaud .hero-title { font-size: clamp(2.1rem, 8.5vw, 3.4rem) !important; line-height: 1.12 !important; }
}

/* ─── 12. Read-more testimonials : nettoyer le style hésitant ─── */
.theme-chaud .read-more-btn {
    background: transparent !important;
    color: var(--gold, #FFB800) !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 184, 0, 0.38) !important;
    padding: 4px 0 !important;
    border-radius: 0 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    font-weight: 500 !important;
    transition: all .4s var(--ease-sacred) !important;
}
.theme-chaud .read-more-btn:hover {
    border-bottom-color: var(--gold-light, #FFE89C) !important;
    color: var(--gold-light, #FFE89C) !important;
}

/* ─── Hero : réduire l'espace vide au-dessus du badge « Thérapeute Holistique » ─── */
.theme-chaud .hero {
    padding-top: 112px !important;
    padding-bottom: 96px !important;
    min-height: auto !important;
    align-items: flex-start !important;
}
@media (max-width: 768px) {
    .theme-chaud .hero {
        padding-top: 96px !important;
        padding-bottom: 64px !important;
    }
}

/* ============================================
   HERO LAYOUT v3 — photo gauche (taille contenue) + contenu droite
   ============================================ */
.hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items:center;
  justify-items:center;
  max-width:1180px;
  margin:0 auto;
}
.hero-photo-slot{
  position:relative;
  width: min(82%, 280px);
  justify-self:center;
}
.hero-photo-slot .about-image{ width:100%; }
.hero-photo-slot .about-image-quote{
  margin-bottom:var(--space-md);
}
.hero-layout .hero-inner{ margin:0 auto; }

@media (min-width: 900px){
  .hero-layout{
    grid-template-columns: 320px 1fr;
    gap: var(--space-3xl);
    align-items:center;
    justify-items:stretch;
  }
  .hero-photo-slot{
    width: 320px;
    justify-self:start;
  }
  .hero-layout .hero-inner{
    text-align:left;
    margin:0;
    max-width:none;
  }
  .hero-layout .hero-inner .hero-subtitle{
    margin-left:0;
    margin-right:0;
  }
  .hero-layout .hero-cta{
    align-items:flex-start;
    justify-content:flex-start;
  }
  .hero-photo-slot .about-image-quote{
    margin-bottom:0;
  }
}

/* Padding bottom pour la quote flottante */
.hero{ padding-bottom: calc(var(--space-3xl) + 40px); }

/* ============================================
   ABOUT — LECTEUR VIDÉO HAUT DE GAMME (placeholder)
   ============================================ */
.about-video{
  position:relative;
}
.about-video-decoration{
  position:absolute;
  top:-22px;
  right:-22px;
  width:170px;
  height:170px;
  background:linear-gradient(135deg, rgba(212,175,55,0.32), rgba(255,140,66,0.22));
  border-radius:50%;
  z-index:-1;
  filter:blur(2px);
  animation:pulse-glow 4s ease-in-out infinite;
}
.about-video-player{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:
    0 24px 60px rgba(45,30,15,0.28),
    0 0 0 1px rgba(201,162,39,0.45) inset,
    0 0 0 6px rgba(255,247,224,0.55) inset,
    0 0 30px rgba(255,184,0,0.15);
  background:
    radial-gradient(120% 130% at 50% 0%, rgba(255,215,140,0.18) 0%, transparent 55%),
    linear-gradient(165deg, #2a1810 0%, #3a1e14 45%, #1a0f08 100%);
  isolation:isolate;
  cursor:default;
}
.about-video-player::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(60% 90% at 50% 110%, rgba(255,107,44,0.18) 0%, transparent 60%),
    radial-gradient(50% 70% at 100% 0%, rgba(255,184,0,0.12) 0%, transparent 60%);
  pointer-events:none;
  z-index:1;
}
.about-video-player::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,215,140,0.7) 0%, rgba(201,162,39,0.25) 45%, rgba(255,215,140,0.7) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
  z-index:3;
}
.about-video-poster{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.about-video-wings{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.55;
  pointer-events:none;
}
.about-video-wings svg{
  width:88%;
  height:auto;
  max-height:90%;
  filter:drop-shadow(0 0 14px rgba(255,215,140,0.35));
}

/* Bouton play */
.about-video-play{
  position:relative;
  width:clamp(72px, 11vw, 96px);
  height:clamp(72px, 11vw, 96px);
  border-radius:50%;
  border:0;
  cursor:pointer;
  background:
    radial-gradient(circle at 30% 30%, #fff3cf 0%, #f5d78a 35%, #d4af37 70%, #a07820 100%);
  box-shadow:
    0 10px 28px rgba(0,0,0,0.45),
    0 0 0 1px rgba(255,247,224,0.55) inset,
    0 0 0 6px rgba(255,247,224,0.18),
    0 0 28px rgba(255,184,0,0.45);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  transition:transform .4s cubic-bezier(.4,0,.2,1), box-shadow .4s;
  isolation:isolate;
}
.about-video-play:hover:not([disabled]){
  transform:scale(1.07);
  box-shadow:
    0 14px 36px rgba(0,0,0,0.5),
    0 0 0 1px rgba(255,247,224,0.7) inset,
    0 0 0 8px rgba(255,247,224,0.25),
    0 0 38px rgba(255,184,0,0.65);
}
.about-video-play[disabled]{ cursor:not-allowed; opacity:.92; }
.about-video-play svg{
  width:38%;
  height:38%;
  margin-left:6%;
  filter:drop-shadow(0 1px 0 rgba(255,247,224,0.45));
  position:relative;
  z-index:2;
}
.about-video-play-halo{
  position:absolute;
  inset:-22%;
  border-radius:50%;
  background:radial-gradient(circle at center, rgba(255,215,140,0.55) 0%, rgba(255,184,0,0.18) 45%, transparent 75%);
  filter:blur(4px);
  z-index:0;
  animation:playHalo 2.6s ease-in-out infinite;
}
.about-video-play-ring{
  position:absolute;
  inset:-12%;
  border-radius:50%;
  border:1px solid rgba(255,215,140,0.55);
  z-index:1;
  pointer-events:none;
  animation:playRing 2.4s ease-out infinite;
}
@keyframes playHalo{
  0%,100%{ opacity:.65; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.1); }
}
@keyframes playRing{
  0%{ opacity:.9; transform:scale(.95); }
  100%{ opacity:0; transform:scale(1.45); }
}
@media (prefers-reduced-motion: reduce){
  .about-video-play-halo, .about-video-play-ring{ animation:none; }
}

/* Badge "Vidéo bientôt disponible" */
.about-video-soon{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 16px 7px 14px;
  background:rgba(20,12,6,0.65);
  border:1px solid rgba(255,215,140,0.45);
  border-radius:999px;
  color:#fff3dc;
  font-family:'Montserrat', sans-serif;
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:6;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.about-video-soon-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ffd78c;
  box-shadow:0 0 10px rgba(255,215,140,0.85), 0 0 0 3px rgba(255,215,140,0.18);
  animation:soonPulse 1.8s ease-in-out infinite;
}
@keyframes soonPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.55; transform:scale(.85); }
}

/* ====== SOINS VIBRATOIRES MODAL ====== */
.service-card-clickable { cursor: pointer; transition: transform .25s ease, box-shadow .25s ease; }
.service-card-clickable:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(255,107,44,.18); }
.service-card-clickable:focus-visible { outline: 2px solid #FF6B2C; outline-offset: 4px; }
.sv-modal { position: fixed; inset: 0; z-index: 9999; display: none; }
.sv-modal.open, .sv-modal.closing { display: block; }
.sv-modal-backdrop { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(80,28,4,.55) 0%, rgba(10,5,2,.82) 80%); backdrop-filter: blur(8px); opacity: 0; transition: opacity .32s ease; }
.sv-modal.open .sv-modal-backdrop { opacity: 1; }
.sv-modal.closing .sv-modal-backdrop { opacity: 0; }
.sv-modal-card { position: relative; max-width: 580px; width: calc(100% - 32px); max-height: calc(100vh - 48px); margin: 5vh auto; background: linear-gradient(180deg, #2a1408 0%, #1a0c03 100%); border-radius: 22px; border: 1px solid rgba(255,184,0,.28); box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 60px rgba(255,184,0,.10), inset 0 1px 0 rgba(255,220,160,.08); padding: 36px 28px 28px; text-align: center; overflow-y: auto; color: #fff6e8; transform: translateY(24px) scale(.96); opacity: 0; transition: transform .42s cubic-bezier(.18,.89,.32,1.18), opacity .32s ease; }
.sv-modal.open .sv-modal-card { transform: translateY(0) scale(1); opacity: 1; }
.sv-modal.closing .sv-modal-card { transform: translateY(16px) scale(.97); opacity: 0; }
.sv-modal-close { position: absolute; top: 10px; right: 14px; background: transparent; border: 0; font-size: 32px; line-height: 1; color: #ffdfbf; cursor: pointer; padding: 6px 10px; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.sv-modal-close:hover { background: rgba(255,184,0,.14); color: #FFB800; }
.sv-modal-icon { width: 64px; height: 64px; margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #FFB800 0%, #FF6B2C 100%); border-radius: 50%; color: #1a0c03; box-shadow: 0 8px 22px rgba(255,107,44,.45), 0 0 40px rgba(255,184,0,.30); }
.sv-modal-icon svg { width: 32px; height: 32px; stroke: #1a0c03; }
.sv-modal-title { font-size: clamp(1.6rem, 4vw, 2rem); font-weight: 700; color: #fff6e8; margin: 4px 0 8px; letter-spacing: -0.01em; text-shadow: 0 2px 24px rgba(255,184,0,.25); }
.sv-modal-sub { font-size: 1rem; color: #ffdfbf; margin: 0 0 24px; line-height: 1.55; font-style: italic; }
.sv-modal-body { text-align: left; margin: 0 0 24px; }
.sv-block { margin-bottom: 22px; }
.sv-block:last-child { margin-bottom: 0; }
.sv-block h3 { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: #FFB800; margin: 0 0 10px; position: relative; padding-left: 14px; }
.sv-block h3::before { content: ''; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: #FFB800; transform: translateY(-50%); box-shadow: 0 0 10px rgba(255,184,0,.6); }
.sv-block ul { margin: 0; padding: 0 0 0 4px; list-style: none; font-size: 0.95rem; line-height: 1.65; color: #fff6e8; }
.sv-block ul li { position: relative; padding: 4px 0 4px 22px; }
.sv-block ul li::before { content: '✦'; position: absolute; left: 0; top: 4px; color: #FFB800; font-size: 0.85rem; }
.sv-block strong { color: #FFB800; font-weight: 700; }
.sv-modal-price { display: flex; align-items: baseline; justify-content: center; gap: 4px; margin: 0 0 18px; padding: 14px 0; border-top: 1px dashed rgba(255,184,0,.3); border-bottom: 1px dashed rgba(255,184,0,.3); }
.sv-amount { font-size: 2rem; font-weight: 800; color: #FFB800; text-shadow: 0 2px 18px rgba(255,184,0,.35); }
.sv-unit { font-size: 1rem; color: #ffdfbf; }
.sv-modal-cta { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 16px 22px; background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); color: #fff !important; border-radius: 14px; font-weight: 700; font-size: 1.05rem; text-decoration: none !important; box-shadow: 0 12px 28px rgba(18,140,126,.42), 0 0 30px rgba(37,211,102,.20); transition: transform .2s ease, box-shadow .2s ease; }
.sv-modal-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(18,140,126,.52); }
.sv-modal-cta svg { flex-shrink: 0; }
.sv-modal-foot { margin: 14px 0 0; font-size: 0.82rem; color: rgba(255,210,170,0.7); line-height: 1.5; }
body.sv-modal-lock { overflow: hidden; }
@media (max-width: 480px) { .sv-modal-card { padding: 32px 20px 22px; border-radius: 18px; } .sv-modal-title { font-size: 1.5rem; } .sv-block ul { font-size: 0.92rem; } }

/* ============================================
   ABOUT — VSL remontée + mission card sous la VSL
   ============================================ */
/* Compacter la section about pour gagner de la place en haut */
.section.about{
  padding-top: calc(var(--space-2xl) - 10px);
}
/* Limiter la hauteur de la VSL pour la rendre plus compacte */
.about-video-player{
  max-height: 320px;
  aspect-ratio: 16/9;
}
@media (min-width: 900px){
  .about-video-player{
    max-height: 300px;
  }
}
/* La mission card sous la VSL : respiration */
.about-video > .about-mission{
  margin-top: var(--space-lg);
  margin-bottom: 0;
}
/* Sticky alignment : aligner la colonne gauche en haut (pas centrée verticalement) */
.about-grid{
  align-items: start;
}

/* ============================================
   ABOUT — Égaliser les hauteurs des colonnes (combler le vide sous Ma mission)
   ============================================ */
.about-grid{ align-items: stretch; }
.about-video{
  display:flex;
  flex-direction:column;
  height:100%;
}
.about-video-player{ flex:none; }
.about-video > .about-mission{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-top: var(--space-lg);
}

/* ====== SCROLLBAR THEME-CHAUD — appended 2026-06-03 ====== */
body.theme-chaud { scrollbar-width: thin; scrollbar-color: #FF6B2C rgba(26,12,3,0.6); }
body.theme-chaud::-webkit-scrollbar { width: 12px; height: 12px; }
body.theme-chaud::-webkit-scrollbar-track { background: linear-gradient(180deg, #1a0c03 0%, #2a1408 100%); }
body.theme-chaud::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #FFB800 0%, #FF6B2C 60%, #c94014 100%); border-radius: 8px; border: 2px solid #1a0c03; box-shadow: inset 0 0 6px rgba(0,0,0,.4), 0 0 10px rgba(255,184,0,.25); }
body.theme-chaud::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #FFD060 0%, #FF8C5A 60%, #FF6B2C 100%); box-shadow: inset 0 0 6px rgba(0,0,0,.3), 0 0 14px rgba(255,184,0,.45); }
body.theme-chaud::-webkit-scrollbar-corner { background: #1a0c03; }
.sv-modal-card { scrollbar-width: thin; scrollbar-color: #FF6B2C rgba(26,12,3,0.4); }
.sv-modal-card::-webkit-scrollbar { width: 8px; }
.sv-modal-card::-webkit-scrollbar-track { background: rgba(26,12,3,0.4); border-radius: 8px; }
.sv-modal-card::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #FFB800 0%, #FF6B2C 100%); border-radius: 8px; }
.sv-modal-card::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #FFD060 0%, #FF8C5A 100%); }

/* ====== SCROLLBAR THEME-CHAUD — global (html + tous éléments scrollables) — 2026-06-03 ====== */
html { scrollbar-width: thin; scrollbar-color: #FF6B2C rgba(26,12,3,0.6); }
html::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-track { background: linear-gradient(180deg, #1a0c03 0%, #2a1408 100%); }
html::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #FFB800 0%, #FF6B2C 60%, #c94014 100%); border-radius: 8px; border: 2px solid #1a0c03; box-shadow: inset 0 0 6px rgba(0,0,0,.4), 0 0 10px rgba(255,184,0,.25); }
html::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #FFD060 0%, #FF8C5A 60%, #FF6B2C 100%); box-shadow: inset 0 0 6px rgba(0,0,0,.3), 0 0 14px rgba(255,184,0,.45); }
html::-webkit-scrollbar-corner { background: #1a0c03; }
/* Tous éléments scrollables internes de la page chaude (sauf ceux qui cachent leur scrollbar) */
body.theme-chaud *:not(.testimonials-grid):not(.no-scrollbar) { scrollbar-width: thin; scrollbar-color: #FF6B2C rgba(26,12,3,0.4); }
body.theme-chaud *:not(.testimonials-grid):not(.no-scrollbar)::-webkit-scrollbar { width: 10px; height: 10px; }
body.theme-chaud *:not(.testimonials-grid):not(.no-scrollbar)::-webkit-scrollbar-track { background: rgba(26,12,3,0.45); border-radius: 8px; }
body.theme-chaud *:not(.testimonials-grid):not(.no-scrollbar)::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #FFB800 0%, #FF6B2C 100%); border-radius: 8px; box-shadow: inset 0 0 4px rgba(0,0,0,.25); }
body.theme-chaud *:not(.testimonials-grid):not(.no-scrollbar)::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #FFD060 0%, #FF8C5A 100%); }

/* ====== Carte 'À venir' (Méditations Guidées) — 2026-06-03 ====== */
.service-card.service-card-soon { position: relative; }
.service-card.service-card-soon::before { display: none !important; }
.service-card.service-card-soon .service-icon,
.service-card.service-card-soon h3,
.service-card.service-card-soon p { opacity: .88; }
.service-card.service-card-soon .amount-soon {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-style: italic;
  font-size: 1.5rem;
  background: linear-gradient(135deg, #FFE89C 0%, #FFB800 55%, #FF6B2C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(255,184,0,.25));
  letter-spacing: 0.02em;
}
.service-badge-soon {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #FFB800 0%, #FF6B2C 100%);
  color: #1a0c03;
  box-shadow: 0 4px 14px rgba(255,107,44,.32), inset 0 1px 0 rgba(255,255,255,.25);
  animation: badgeSoonPulse 2.6s ease-in-out infinite;
}
@keyframes badgeSoonPulse {
  0%, 100% { box-shadow: 0 4px 14px rgba(255,107,44,.32), inset 0 1px 0 rgba(255,255,255,.25); }
  50% { box-shadow: 0 6px 22px rgba(255,107,44,.55), 0 0 24px rgba(255,184,0,.35), inset 0 1px 0 rgba(255,255,255,.3); }
}
.service-card-soon .btn[disabled] {
  background: rgba(255,184,0,.12) !important;
  color: rgba(255,223,191,.55) !important;
  border: 1px solid rgba(255,184,0,.22) !important;
  cursor: not-allowed;
  box-shadow: none !important;
  transform: none !important;
}
.service-card-soon .btn[disabled]:hover {
  transform: none !important;
  box-shadow: none !important;
  background: rgba(255,184,0,.12) !important;
}

/* ====== MARQUEE Mes soins — défilement infini horizontal (2026-06-03) ====== */
.services-carousel {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}
.services-viewport {
  overflow: hidden;
  position: relative;
  isolation: isolate;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
}
.services-viewport.is-grabbing { cursor: grabbing; }
.services-viewport::before,
.services-viewport::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 160px;
  pointer-events: none;
  z-index: 2;
}
.services-viewport::before {
  left: 0;
  background: linear-gradient(90deg,
    rgba(20,8,2,1) 0%,
    rgba(20,8,2,0.96) 18%,
    rgba(20,8,2,0.78) 42%,
    rgba(20,8,2,0.35) 72%,
    transparent 100%
  );
}
.services-viewport::after {
  right: 0;
  background: linear-gradient(-90deg,
    rgba(20,8,2,1) 0%,
    rgba(20,8,2,0.96) 18%,
    rgba(20,8,2,0.78) 42%,
    rgba(20,8,2,0.35) 72%,
    transparent 100%
  );
}
.services-track {
  display: flex;
  gap: 28px;
  width: max-content;
  will-change: transform;
  padding: 12px 4px;
}
.services-track .service-card {
  flex: 0 0 340px;
  min-height: auto;
  scroll-snap-align: none;
}
/* Cartes clonées : neutraliser les animations d'apparition (pour éviter opacity:0) */
.services-track .service-card.animate-on-scroll {
  opacity: 1 !important;
  transform: none !important;
}
/* Cacher arrows + dots : on défile en continu */
.services-arrow,
.services-dots { display: none !important; }

/* Tablette & mobile : cartes un peu plus compactes */
@media (max-width: 900px) {
  .services-viewport::before,
  .services-viewport::after { width: 56px; }
  .services-track { gap: 20px; padding: 10px 4px; }
  .services-track .service-card { flex: 0 0 290px; }
}
@media (max-width: 480px) {
  .services-track .service-card { flex: 0 0 260px; }
}

/* ───── Service-icon image (skincare-épigénétique) ───── */
.service-icon--img{padding:6px;overflow:hidden}
.service-icon--img picture,
.service-icon--img picture img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.theme-chaud .service-icon--img{background:radial-gradient(circle, rgba(255,184,0,.22) 0%, transparent 72%) !important;border-color:rgba(255,184,0,.55) !important;box-shadow:0 0 30px rgba(255,184,0,.28), inset 0 0 16px rgba(255,184,0,.12) !important;padding:8px !important}
.theme-chaud .service-icon--img picture img{filter:drop-shadow(0 4px 10px rgba(94,74,18,.45))}

/* ====== service-icon photo (SV + Guidance) — 2026-06-03 ====== */
.service-icon--img.service-icon--photo { padding: 0 !important; overflow: hidden; }
.service-icon--img.service-icon--photo picture,
.service-icon--img.service-icon--photo picture img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 50%; }
.theme-chaud .service-icon--img.service-icon--photo picture img { filter: saturate(1.05) contrast(1.04) drop-shadow(0 4px 12px rgba(94,74,18,.45)); }

/* ====== service-icon photo — pulse doré autour — 2026-06-03 ====== */
.theme-chaud .service-icon--img.service-icon--photo { position: relative; isolation: isolate; }
.theme-chaud .service-icon--img.service-icon--photo::before,
.theme-chaud .service-icon--img.service-icon--photo::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.theme-chaud .service-icon--img.service-icon--photo::before {
  border: 2px solid rgba(255, 184, 0, 0.85);
  box-shadow: 0 0 24px rgba(255, 184, 0, 0.55), inset 0 0 12px rgba(255, 184, 0, 0.25);
  animation: svIconPulseGold 2.6s cubic-bezier(.4,0,.2,1) infinite;
}
.theme-chaud .service-icon--img.service-icon--photo::after {
  border: 1px solid rgba(255, 140, 60, 0.7);
  animation: svIconPulseAmber 2.6s cubic-bezier(.4,0,.2,1) infinite;
  animation-delay: 0.9s;
}
.theme-chaud .service-icon--img.service-icon--photo picture { position: relative; z-index: 1; }
@keyframes svIconPulseGold {
  0%   { transform: scale(1);     opacity: 0.95; box-shadow: 0 0 24px rgba(255,184,0,.55), inset 0 0 12px rgba(255,184,0,.25); }
  70%  { transform: scale(1.18);  opacity: 0;    box-shadow: 0 0 42px rgba(255,184,0,.05), inset 0 0 0 rgba(255,184,0,0); }
  100% { transform: scale(1.18);  opacity: 0; }
}
@keyframes svIconPulseAmber {
  0%   { transform: scale(1);     opacity: 0.8; }
  70%  { transform: scale(1.28);  opacity: 0;   }
  100% { transform: scale(1.28);  opacity: 0;   }
}
@media (prefers-reduced-motion: reduce) {
  .theme-chaud .service-icon--img.service-icon--photo::before { animation: none; opacity: 0.9; transform: none; }
  .theme-chaud .service-icon--img.service-icon--photo::after  { animation: none; opacity: 0;  }
}

/* ───── Service-icon SUN (meditations) ───── */
.theme-chaud .service-icon--sun{padding:10px !important;background:radial-gradient(circle, rgba(255,184,0,.18) 0%, transparent 70%) !important;border-color:rgba(255,184,0,.50) !important}
.service-icon--sun svg{width:100% !important;height:100% !important;filter:drop-shadow(0 4px 12px rgba(255,107,44,.45))}

/* ====== MARQUEE Témoignages — chaud uniquement (2026-06-03) ====== */
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport {
  overflow: hidden;
  position: relative;
  isolation: isolate;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
  margin: 0 auto 40px;
}
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport.is-grabbing { cursor: grabbing; }
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::before,
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 160px;
  pointer-events: none;
  z-index: 2;
}
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::before {
  left: 0;
  background: linear-gradient(90deg,
    rgba(20,8,2,1) 0%,
    rgba(20,8,2,0.96) 18%,
    rgba(20,8,2,0.78) 42%,
    rgba(20,8,2,0.35) 72%,
    transparent 100%
  );
}
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::after {
  right: 0;
  background: linear-gradient(-90deg,
    rgba(20,8,2,1) 0%,
    rgba(20,8,2,0.96) 18%,
    rgba(20,8,2,0.78) 42%,
    rgba(20,8,2,0.35) 72%,
    transparent 100%
  );
}
/* Quand le marquee est actif, on bascule la grille en track flex max-content */
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-grid.is-marquee {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  gap: 22px !important;
  width: max-content !important;
  margin-bottom: 0 !important;
  will-change: transform;
  padding: 8px 4px;
}
.theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-grid.is-marquee .temoignages-card {
  flex: 0 0 320px;
  max-width: 320px;
  min-height: auto;
  scroll-snap-align: none;
}
@media (max-width: 900px) {
  .theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::before,
  .theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-marquee-viewport::after { width: 56px; }
  .theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-grid.is-marquee { gap: 18px !important; }
  .theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-grid.is-marquee .temoignages-card { flex: 0 0 280px; max-width: 280px; }
}
@media (max-width: 480px) {
  .theme-chaud .temoignages-host[data-slug="danyele"] .temoignages-grid.is-marquee .temoignages-card { flex: 0 0 250px; max-width: 250px; }
}
