/* 
 * 🎨 EMOCARD - MASTER CSS v1.0 
 * ================================
 * 📋 GUIDE MODIFICATION RAPIDE :
 * 
 * 🚀 CHANGER VITESSE CAROUSELS :
 *    - JS:  emocard-animations-unified.js ligne ~36 → globalSpeed: 50 (px/s)
 * 
 * 🔄 CHANGER DIRECTION :
 *    - CSS: ligne ~35 → --carousel-direction-portfolio: normal/reverse
 *    - JS:  emocard-animations-unified.js ligne ~42 → direction: 'left'/'right'
 * 
 * 📐 CHANGER TAILLES ÉLÉMENTS : ligne ~100 (dimensions steps/témoignages)
 * 🎴 FIXER CARTE DÉMO : ligne ~900 (max-width responsive)
 * 
 * ================================
 * � STRUCTURE FICHIER :
 * 🚀 VITESSES CAROUSELS → lignes 20-80
 * 🎭 DIMENSIONS ÉLÉMENTS → lignes 100-200  
 * 🎯 ANIMATIONS HOVER → lignes 300-400
 * 🏠 STYLES GÉNÉRAUX → lignes 500-1200
 * � RESPONSIVE MOBILE → lignes 1300+
 * ================================
 */





 
/* ========================================
   � CONTRÔLE VITESSES CAROUSELS - SECTION PRINCIPALE
   ⚡ MODIFICATION ICI POUR CHANGER TOUTES LES VITESSES
   ======================================== */

/* 🚀 CONTRÔLE VITESSE 100% JAVASCRIPT 
   ⚡ MODIFIE LA VITESSE DANS : emocard-animations-unified.js → globalSpeed: 50 ⚡ */
:root {
    --carousel-direction-portfolio: reverse;     /* 🔄 Direction portfolio */
    --carousel-direction-testimonials: normal; /* 🔄 Direction témoignages */
}

/* 🎯 PORTFOLIO - Vitesse contrôlée par JavaScript uniquement */
.portfolio-carousel-track,
.portfolio-track-seamless {
    animation-direction: var(--carousel-direction-portfolio) !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    /* 🚀 animation-duration sera défini par JS dynamiquement */
}

/* 🎯 TÉMOIGNAGES DESKTOP - Vitesse contrôlée par JavaScript uniquement */
.testimonials-track,
.carousel-col .testimonial-card {
    animation-direction: var(--carousel-direction-testimonials) !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    /* 🚀 animation-duration sera défini par JS dynamiquement */
}

/* 📱 TÉMOIGNAGES - Défilement vertical avec vitesse contrôlée */
@media (max-width: 768px) {
    .testimonials-carousel-section .container,
    .testimonials-carousel-container,
    .carousel-track-vertical {
        max-width: 100vw !important;
        width: 100vw !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .carousel-col {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
    }
    
    /* 🚀 VITESSE TÉMOIGNAGES MOBILE - Contrôlée par JavaScript */
    .carousel-col .testimonial-card {
        animation-direction: var(--carousel-direction-testimonials) !important;
        /* 🚀 animation-duration sera défini par JS dynamiquement */
    }
    
    @keyframes vertical-scroll {
        0% { 
            transform: translateY(0); 
            opacity: 1; 
        }
        5% { 
            opacity: 1; 
        }
        15% { 
            opacity: 0.85; 
        }
        20% { 
            opacity: 1; 
        }
        100% { 
            transform: translateY(-75%); /* Plus smooth */
            opacity: 1; 
        }
    }
}

/* ========================================
   🎥 DIMENSIONS TÉMOIGNAGES & STEPS UNIFORMES
   📐 Standardisation : 300px × 400px mobile (ratio 0.75)
   🎯 Section contrôle tailles éléments principaux
   ======================================== */

/* Force dimensions exactes pour TOUS les éléments de contenu - VIDÉOS INCLUSES */
.step,
.step-video,
.testimonial-video,
.testimonial-video-card,
.testimonial-card.video-card {
    width: 303px !important;
    height: 431px !important;
    max-width: 303px !important;
    max-height: 431px !important;
    min-width: 303px !important;
    min-height: 431px !important;
    margin: 0 auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

/* Contenu interne des .step */
.step > * {
    max-width: 100%;
}

/* Vidéos testimoniales - respect du conteneur - TOUTES CLASSES VIDÉO */
.step-video video,
.step-video-element,
.testimonial-video video,
.testimonial-video-card video,
.testimonial-card.video-card video,
video#testimonial-video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

/* Mobile : dimensions standardisées 300x400 - SPÉCIFICITÉ MAXIMALE */
@media (max-width: 768px) {
    /* OVERRIDE CONCEPT-SECTION-APPLE.CSS - Spécificité maximale - TOUTES VIDÉOS INCLUSES */
    .step,
    .step-video,
    .testimonial-video,
    .testimonial-video-card,
    .testimonial-card.video-card,
    .steps .step {
        width: 300px !important;
        height: 400px !important;
        max-width: 300px !important;
        max-height: 400px !important;
        min-width: 300px !important;
        min-height: 400px !important;
        border-radius: 20px !important;
        margin-bottom: 20px !important;
        padding: 20px !important; /* Réduire padding pour respecter 400px */
    }
    
    /* Forcer conteneur steps à respecter nos dimensions */
    .steps {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
    }
}

@media (max-width: 350px) {
    .step,
    .step-video,
    .testimonial-video,
    .testimonial-video-card,
    .testimonial-card.video-card {
        width: 300px !important;
        height: 400px !important;
        max-width: 300px !important;
        max-height: 400px !important;
        min-width: 300px !important;
        min-height: 400px !important;
    }
}

/* 📝 TEXTE JUSTIFIÉ À GAUCHE SECTION À PROPOS */
.about-section .about-content p,
.about-section .about-card p,
.about-section .feature-description {
    text-align: left !important;
}

/* 🖼️ IMAGE ARRIÈRE-PLAN PLEINE LARGEUR */
body,
html {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
}

body::before,
.hero-section::before,
section::before {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
}

/* 🎯 CORRECTION MARGE DROITE FOOTER */
footer.site-footer {
    margin-right: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

footer.site-footer .container {
    max-width: 100% !important;
    margin-right: 0 !important;
    padding-right: 2rem !important;
}

/* 🎨 BACKGROUND IMAGES FULL WIDTH */
.hero-section,
.testimonials-carousel-section,
.portfolio-section,
.about-section,
.faq-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* S'assurer que le background s'étend jusqu'au footer */
body {
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

/* ========================================
   🎭 ANIMATIONS HOVER FLUIDES - OPTIMISATIONS
   ⚡ Transitions hardware-accelerated pour éviter saccades
   🎯 Règles globales pour tous éléments interactifs
   ======================================== */

/* Éléments interactifs - Transitions fluides optimisées */
.portfolio-carousel-image,
.testimonial-card,
.step,
.btn,
button,
[role="button"],
.interactive-element,
.card {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                opacity 0.3s ease,
                box-shadow 0.3s ease !important;
    will-change: transform !important;
    transform: translateZ(0) !important; /* Force hardware acceleration */
}

/* Hover optimisés pour tous les éléments */
.portfolio-carousel-image:hover,
.testimonial-card:hover,
.step:hover {
    transform: scale(1.02) translateZ(0) !important; /* Scale réduit mais fluide */
}

/* Animations de boutons optimisées BOX SHADOW  */ 
.btn:hover,
button:hover,
[role="button"]:hover {
    transform: translateY(-1px) scale(1.02) translateZ(0) !important; /* Mouvement subtil */
}

/* States actifs optimisés */
.btn:active,
button:active,
[role="button"]:active {
    transform: translateY(0) scale(0.98) translateZ(0) !important;
    transition-duration: 0.1s !important; /* Réaction rapide */
}

/* Optimisation performance - Désactiver transitions sur mobile si nécessaire */
@media (max-width: 768px) and (hover: none) {
    .portfolio-carousel-image,
    .testimonial-card,
    .step {
        transition: none !important; /* Désactiver hover sur touch devices */
    }
}

/* ========================================
   📱 RESPONSIVE MOBILE - CORRECTIONS GLOBALES
   🎯 Media queries et adaptations écrans mobiles  
   ======================================== */

@media (max-width: 768px) {
    /* 📱 Corrections spécifiques mobile */
    body,
    html {
        overflow-x: hidden !important;
    }
    
    * {
        max-width: 100vw;
    }
}


/* ========================================
   🏠 STYLES GÉNÉRAUX PAGE D'ACCUEIL 
   🎨 Variables, Reset, Layout, Composants principaux
   📐 Hero, Navigation, Sections, Footer, etc.
   ======================================== */

/* Variables globales */
:root {
  /* Variables principales */
  --primary: #AA7B4C;
  --primary-light: #D6B79A;
  
  /* 🎯 Variables argentées pour CTA boutons */
  --silver-primary: #c0c0c0;
  --silver-light: #e6e6e6; 
  --silver-dark: #909090;
  --silver-bright: #f5f5f5;
  --silver-shadow: rgba(192, 192, 192, 0.4);
  
  /* 🎯 Système de border-radius harmonisé */
  --radius-button: 28px;        /* Boutons et navigation */
  --radius-button-mobile: 30px; /* Mobile standard */
  --radius-button-small: 26px;  /* Mobile étroit */
  --radius-pill: 50px;          /* Éléments parfaitement ronds */
  --secondary: #4d1211;
  --text: #3A3A3A;
  --background: #FCFBF9;
  --card: #FFFFFF;
  --accent: #C18A53;
  --dark-accent: #8c6339;
  --error: #E86C6C;
  --success: #6CE89A;
  --transition-fast: 0.3s;
  --transition-medium: 0.6s;
  --transition-slow: 1s;
  --border-radius: 20px;
  --box-shadow: 0 10px 30px rgba(170, 123, 76, 0.1);
}

/* Reset et styles de base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: var(--text);
  background-color: var(--background);
  line-height: 1.6;
  overflow-x: hidden;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5 {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text);
}

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

a:hover {
  color: var(--accent);
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  list-style-type: none;
}

/* Layout */
.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

section {
  padding: 100px 0;
}

/* Boutons */
.btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 50px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--transition-fast) ease;
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: white;
  border: none;
  box-shadow: 0 5px 15px rgba(170, 123, 76, 0.3);
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(170, 123, 76, 0.4);
}

.btn-outline {
  background: transparent;
  color: var(--primary);
  border: 2px solid var(--primary);
}

.btn-outline:hover {
  background-color: var(--primary);
  color: white;
  transform: translateY(-3px);
}

/* Titres de section */
.section-title {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  color: var(--primary);
  text-align: center;
}

.section-subtitle {
  font-size: 1.1rem;
  margin-bottom: 3rem;
  text-align: center;
  color: var(white);
  font-weight: 400;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Header */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: transform var(--transition-fast);
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
}

.logo img {
  height: 50px;
  width: auto;
}

.main-nav ul {
  display: flex;
  list-style: none;
  gap: 30px;
  align-items: center;
}

.main-nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--transition-fast);
}

.main-nav a:hover {
  color: var(--primary);
}

.main-nav a.btn {
  color: white;
}

.mobile-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
}

.mobile-menu-toggle span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: var(--text);
  margin: 5px 0;
  border-radius: 3px;
  transition: all var(--transition-fast);
}

/* Hero Section */
.hero {
  height: 110vh; /* Augmenté de 100vh à 110vh pour plus d'espace */
  display: flex;
  align-items: center;
  justify-content: center; /* Centrage horizontal ajouté */
  color: white;
  position: relative;
  padding: 0;
  margin: 0;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 100%);
}

.hero-container {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  width: 100%; /* Assure la largeur complète */
  padding: 0 20px; /* Ajoute un padding pour mobile */
}

.hero-title {
  font-size: 4rem;
  margin-bottom: 1rem;
  color: white;
}

.hero-title .accent {
  color: var(--primary-light);
}

.occasion-text {
  position: relative;
  height: 40px;
  margin: 20px 0;
  overflow: hidden;
}

.occasion-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateY(20px);
  transition: all var(--transition-medium) ease;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 2px;
}

.occasion-item.active {
  opacity: 1;
  transform: translateY(0);
}

.hero-description {
  margin: 20px auto 40px;
  max-width: 600px;
  font-size: 1.1rem;
}

.hero-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center; /* Alignement vertical des boutons */
  flex-wrap: wrap; /* Permet le passage à la ligne sur mobile */
}

/* Concept Section */
.concept-section {
  background-color: white;
}

.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, 300px);
  justify-content: center;
  gap: 30px;
  max-width: 1400px;
  margin: 50px auto;
  align-items: start;
}

.step {
  width: 300px !important;
  height: 400px !important;
  padding: 24px 20px;
  box-sizing: border-box;
  text-align: left;
  transition: transform var(--transition-medium);
  background-color: var(--background);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
}

.step:hover {
  transform: translateY(-10px);
}

.step-icon {
  width: 80px;
  height: 80px;
  margin: 0 0 20px 0; /* MODIFIÉ : Suppression du centrage auto */
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(170, 123, 76, 0.2);
  flex-shrink: 0; /* Empêche la réduction de l'icône */
}

.step-icon img {
  width: 40px;
  height: 40px;
  filter: brightness(0) invert(1);
}

.step h3 {
  margin-bottom: 15px;
  color: var(--primary);
  text-align: left; /* MODIFIÉ : Alignement à gauche */
  width: 100%; /* Largeur complète */
}

.step p {
  text-align: left; /* MODIFIÉ : Alignement à gauche */
  line-height: 1.6;
  flex-grow: 1; /* Permet au texte de prendre l'espace disponible */
}

.cta-container {
  text-align: center;
  margin-top: 40px;
}

/* Portfolio Section */
.portfolio-section {
  background-color: var(--background);
}

.portfolio-categories {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.category-btn {
  background: none;
  border: 2px solid var(--primary-light);
  color: var(--primary);
  padding: 8px 20px;
  border-radius: 50px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.category-btn:hover, .category-btn.active {
  background-color: var(--primary);
  color: white;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.portfolio-item {
  position: relative;
  height: 300px;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: var(--box-shadow);
  transition: transform var(--transition-medium);
}

.portfolio-item:hover {
  transform: translateY(-5px);
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-medium);
}

.portfolio-item:hover img {
  transform: scale(1.05);
}

.portfolio-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
  color: white;
  opacity: 0;
  transform: translateY(20px);
  transition: all var(--transition-fast);
}

.portfolio-item:hover .portfolio-caption {
  opacity: 1;
  transform: translateY(0);
}

/* About Section */
.about-section {
  background-color: white;
}

.about-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 50px;
}

.about-image {
  flex: 1;
  min-width: 300px;
  max-width: 400px;
}

.photographer-img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
}

.about-text {
  flex: 2;
  min-width: 300px;
}

.about-intro {
  font-size: 1.2rem;
  color: var(--primary);
  margin-bottom: 20px;
  font-weight: 500;
}

.about-values {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

.value-item {
  flex: 1;
  min-width: 200px;
  padding: 20px;
  background-color: var(--background);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  text-align: center;
  transition: transform var(--transition-medium);
}

.value-item:hover {
  transform: translateY(-5px);
}

.value-icon {
  font-size: 2.5rem;
  margin-bottom: 15px;
  display: block;
}

.value-item h3 {
  margin-bottom: 10px;
  color: var(--primary);
}

/* FAQ Section */
.faq-section {
  background-color: var(--background);
}

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

.faq-item {
  margin-bottom: 20px;
  border-radius: var(--border-radius);
  background-color: white;
  box-shadow: var(--box-shadow);
  overflow: hidden;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.faq-question:hover {
  background-color: rgba(170, 123, 76, 0.05);
}

.faq-question h3 {
  margin: 0;
  font-size: 1.1rem;
  color: var(--text);
}

.faq-toggle {
  color: var(--primary);
  font-size: 1.5rem;
  font-weight: bold;
  transition: transform var(--transition-fast);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-medium) ease, padding var(--transition-medium) ease;
  padding: 0 20px;
  font-size: 0.95rem;
  line-height: 1.7;
}

.faq-item.active .faq-toggle {
  transform: rotate(45deg);
}

.faq-item.active .faq-answer {
  max-height: 500px;
  padding: 0 20px 20px;
}

/* Card Preview Section */
/* 🎴 SECTION CARTE DÉMO - Conteneur sans limitation */
.card-preview-section {
  background-color: white;
  width: 100%;              /* 🎯 AJOUTÉ : Largeur complète */
  max-width: none;          /* 🎯 AJOUTÉ : Aucune limitation */
  overflow: visible;        /* 🎯 AJOUTÉ : Permet débordement si nécessaire */
}

/* 🎴 CONTENEUR CARTE DÉMO - RESPONSIVE OPTIMISÉ */
.card-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 600px;         /* 🎯 AUGMENTÉ : Permet croissance sur grand écran */
  width: 100%;              /* 🎯 AJOUTÉ : Largeur flexible */
  margin: 0 auto;
}

/* 📱 RESPONSIVE CONTENEUR CARTE - Adaptation progressive */
@media (max-width: 1200px) {
  .card-preview {
    max-width: 500px;       /* 🖥️ Desktop standard */
  }
}

@media (max-width: 768px) {
  .card-preview {
    max-width: 400px;       /* 📱 Mobile optimal */
  }
}

@media (max-width: 480px) {
  .card-preview {
    max-width: 320px;       /* 📱 Petit mobile */
  }
}

/* 🎴 CARTE DÉMO - TAILLE PROGRESSIVE SELON ÉCRAN */
.card {
  width: 100%;
  max-width: 600px;        /* 🎯 DEFAULT : Permet croissance jusqu'à 600px */
  min-width: 300px;        /* 🎯 MINIMUM universel */
  aspect-ratio: 1.6/1;     /* 🎯 RATIO préservé */
  position: relative;
  perspective: 1000px;
  margin-bottom: 30px;
}

/* 📱 RESPONSIVE CARTE - Progression naturelle des tailles */
@media (min-width: 1400px) {
  .card {
    max-width: 700px;      /* 🖥️ TRÈS GRAND écran */
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .card {
    max-width: 600px;      /* 🖥️ GRAND écran */
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .card {
    max-width: 500px;      /* 🖥️ Desktop standard */
  }
}

@media (max-width: 768px) {
  .card {
    max-width: 400px;      /* 📱 MOBILE optimal */
  }
}

@media (max-width: 480px) {
  .card {
    max-width: 320px;      /* 📱 PETIT mobile */
  }
}

/* 🚨 OVERRIDE SPÉCIFIQUE - Force taille carte démo */
.card-preview-section .card-preview .card {
  max-width: inherit !important;    /* 🎯 Hérite du conteneur parent */
}

@media (min-width: 1200px) {
  .card-preview-section .card-preview .card {
    max-width: 700px !important;   /* 🖥️ FORCE taille grand écran */
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .card-preview-section .card-preview .card {
    max-width: 600px !important;   /* 🖥️ FORCE desktop */
  }
}

.card-front, .card-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transition: transform var(--transition-medium) ease;
  border-radius: 15px;
  box-shadow: var(--box-shadow);
  overflow: hidden;
}

.card-front {
  background-image: url('../../assets/card-bg.jpg');
  background-size: cover;
  background-position: center;
}

.card-back {
  background-color: white;
  transform: rotateY(180deg);
}

.card.flipped .card-front {
  transform: rotateY(180deg);
}

.card.flipped .card-back {
  transform: rotateY(0);
}

.card-design {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
}

.card-front .card-design {
  color: white;
  text-align: center;
  background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 100%);
}

.card-header {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
}

.card-recipient {
  font-size: 1.2rem;
  font-weight: 500;
}

.card-content {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 500;
}

.card-footer {
  font-size: 0.9rem;
}

.card-back .card-design {
  color: var(--text);
  font-size: 0.9rem;
}

.card-message {
  font-style: italic;
  margin-bottom: 15px;
}

.card-formula {
  margin-bottom: 15px;
}

.card-formula ul {
  margin-left: 20px;
  margin-top: 5px;
  list-style-type: disc;
}

.card-formula ul li {
  margin-bottom: 5px;
}

.card-code {
  font-weight: 600;
  color: var(--primary);
  text-align: center;
}

.flip-card-btn {
  padding: 10px 20px;
  background: none;
  border: 2px solid var(--primary);
  color: var(--primary);
  border-radius: 50px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.flip-card-btn:hover {
  background-color: var(--primary);
  color: white;
}

/* Footer */
.site-footer {
  background-color: #000000; /* Fond complètement noir */
  color: #ffffff !important; /* Texte blanc par défaut - FORCE */
  padding: 60px 0 0;
  text-align: left;
}

/* 🎯 CORRECTION URGENTE : Forcer le blanc sur TOUS les textes du footer */
.site-footer p,
.site-footer li,
.site-footer a,
.site-footer h3,
.site-footer .footer-column p,
.site-footer .contact-info li,
.site-footer .footer-links li,
.site-footer .footer-links a,
.site-footer .footer-bottom p,
.site-footer .footer-bottom a {
  color: #ffffff !important;
}

/* Maintenir la couleur dorée au hover des liens */
.site-footer .footer-links a:hover,
.site-footer .social-links a:hover {
  color: #aa7b4c !important;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  align-items: flex-start;
}

.footer-column {
  flex: 1;
  min-width: 250px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Nouveau style pour le logo SVG animé */
.footer-logo-container {
  margin-bottom: 20px;
}

.animated-logo-square {
  padding: 20px;
  background: linear-gradient(135deg, rgba(170, 123, 76, 0.2) 0%, rgba(212, 165, 116, 0.2) 100%);
  border-radius: 16px;
  border: 2px solid rgba(170, 123, 76, 0.3);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
  display: inline-block;
}

.animated-logo-square:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(170, 123, 76, 0.3);
  border-color: rgba(170, 123, 76, 0.6);
}

.footer-logo-img {
  width: 80px;
  height: auto;
  display: block;
  margin: 0 auto;
  /* Masquer le fond blanc du SVG */
  mix-blend-mode: multiply;
  filter: contrast(2) brightness(0.5);
}

.footer-logo-text {
  font-family: 'Outfit', sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
  letter-spacing: 2px;
}

.footer-logo-svg {
  display: block;
  transform-origin: center;
}

.footer-logo {
  height: 50px;
  width: auto;
  margin-bottom: 20px;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease;
}

.footer-logo:hover {
  transform: scale(1.05);
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));
}

.social-links {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}

.social-links a {
  color: #ffffff;
  transition: color var(--transition-fast);
  padding: 10px;
  border-radius: 50%;
  background: rgba(170, 123, 76, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.social-links a:hover {
  color: #aa7b4c;
  background: rgba(170, 123, 76, 0.3);
  transform: translateY(-2px);
}

.footer-column h3 {
  margin-bottom: 20px;
  color: #ffffff;
  font-size: 1.3rem;
  text-align: left;
}

.contact-info, .footer-links {
  list-style: none;
  width: 100%;
}

.contact-info li, .footer-links li {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  color: #ffffff;
}

.contact-info svg, .footer-links svg {
  width: 20px;
  height: 20px;
  fill: #aa7b4c;
}

.footer-links a {
  color: #ffffff;
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer-links a:hover {
  color: #aa7b4c;
}

.footer-bottom {
  margin-top: 60px;
  padding: 20px 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Navigation minimaliste - Logo + Bouton au hover/clic */
.pill-nav {
  /* 🎯 POSITION RELATIVE : Le wrapper .bottom-nav-wrapper est fixed, pas pill-nav */
  position: relative;
  /* Pillule adaptée au logo par défaut */
  background: rgba(170, 123, 76, 0.15);
  border: 1px solid rgba(170, 123, 76, 0.3);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  border-radius: 50px;

  /* Taille adaptée au contenu */
  width: fit-content;
  min-width: 56px; /* Juste assez pour le logo */
  z-index: 1;
  transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  overflow: hidden;
  cursor: pointer;
  
  /* Flou doux */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


/* État étendu (avec bouton visible - 📏 TAILLE ETENDU DE LA NAV PILL */
.pill-nav.expanded {
  padding: 8px 16px;
  justify-content: space-between;
  min-width: 150px !important;
  gap: 12px;
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.pill-nav:hover {
  background: rgba(170, 123, 76, 0.25);
  border-color: rgba(170, 123, 76, 0.5);
  transition: all 0.3s ease;
}

/* Conteneur du logo */
.pill-nav-logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
  flex-shrink: 0; /* Ne rétrécit jamais */
}

/* Logo EMOCARD (votre vrai logo SVG) */
.pill-nav-logo-img {
  height: 40px;
  width: auto;
  border-radius: 8px;
  transition: all 0.3s ease;
  padding: 2px;
  display: block;
}

.pill-nav-logo-img:hover {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

/* Conteneur du bouton (caché par défaut) */
.pill-nav-button-container {
  opacity: 0;
  transform: translateX(15px);
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  pointer-events: none;
  /* Largeur 0 par défaut pour ne pas prendre d'espace */
  width: 0;
  overflow: hidden;
}

/* Bouton visible quand pillule étendue */
.pill-nav.expanded .pill-nav-button-container {
  opacity: 1;
  transform: translateX(0);
  pointer-events: all;
  /* Largeur auto pour prendre l'espace nécessaire */
  width: auto;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
}

/* Style du bouton personnaliser - Version argentée miniature */
.pill-nav-cta {
  /* 🎯 GRADIENT ARGENTÉ inspiré du main CTA - avec variables */
  background: linear-gradient(135deg, 
    var(--silver-primary) 0%, 
    var(--silver-light) 0%, 
    var(--silver-bright) 40%, 
    var(--silver-light) 60%, 
    var(--silver-primary) 80%,
    var(--silver-dark) 100%
  );
  
  
  /* 🎯 TEXTE NOIR pour contraste sur argenté */
  color: #2c3e50;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  

  
  white-space: nowrap;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.3);
  filter: drop-shadow(0 3px 6px var(--silver-shadow));
}

.pill-nav-cta:hover,
.pill-nav-cta:focus {
  /* 🎯 MAINTENIR TEXTE NOIR + PAS DE SOULIGNEMENT */
  color: #2c3e50;
  text-decoration: none !important; /* ✅ Enlever soulignement */

  
  transform: translateY(-1px) scale(1.02);
  border-color: rgba(255, 255, 255, 0.4);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 25px;
}

/* Responsive */
@media (max-width: 768px) {
  .pill-nav {
    min-width: 52px;
    padding: 8px; /* ✅ Augmenté pour meilleur alignement */
  }
  
  .pill-nav.expanded {
    padding: 8px 14px; /* ✅ Augmenté pour éviter coupure */
    min-width: 200px; /* ✅ Plus large pour éviter coupure du bouton */
    gap: 12px; /* ✅ Plus d'espace */
  }
  
  .pill-nav-logo-img {
    height: 36px; /* ✅ Légèrement plus grand */
    padding: 2px;
  }
  
  .pill-nav-cta {
    /* 🎯 MOBILE - Dimensions augmentées pour éviter coupure */
    padding: 10px 16px; /* ✅ Plus de padding horizontal et vertical */
    font-size: 0.88rem; /* ✅ Taille adaptée pour mobile */
    min-width: 50px; /* ✅ Largeur minimum pour éviter coupure texte */
    border-radius: 30px; /* ✅ Plus arrondi pour compenser la largeur */
    
    /* 🎯 MOBILE - Maintenir gradient argenté */
    background: linear-gradient(135deg, 
      var(--silver-dark) 0%, 
      var(--silver-primary) 25%, 
      var(--silver-light) 50%, 
      var(--silver-primary) 75%, 
      var(--silver-dark) 100%
    );
    
    /* 🎯 MOBILE - Texte et bordures ajustées */
    color: #2c3e50;
    border: 1px solid rgba(255, 255, 255, 0.3);

  }
}

/* 🎯 MOBILE TRÈS ÉTROIT : Ajustements fins pour éviter coupure */
@media (max-width: 480px) {
  .pill-nav.expanded {
    min-width: 100px; /* ✅ Réduction pour petit écran */
    gap: 8px; /* ✅ Moins d'espace */
  }
  
  .pill-nav-cta {
    padding: 9px 14px; /* ✅ Padding optimisé */
    font-size: 0.82rem; /* ✅ Plus petit sur mobile étroit */
    min-width: 50px; /* ✅ Largeur réduite mais suffisante */
    border-radius: 28px; /* ✅ Très arrondi pour mobile étroit */
  }
}

/* Pictogrammes pour les étapes */
.icon-svg {
    font-size: 3rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #aa7b4c, #d4a574);
    box-shadow: 0 4px 20px rgba(170, 123, 76, 0.3);
    transition: all 0.3s ease;
}

.step:hover .icon-svg {
    transform: scale(1.1);
   
}

.step-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
}

/* Responsive pour les pictogrammes */
@media (max-width: 768px) {
    .icon-svg {
        font-size: 2.5rem;
        width: 70px;
        height: 70px;
    }
}

@media (max-width: 480px) {
    .icon-svg {
        font-size: 2rem;
        width: 60px;
        height: 60px;
    }
}

/* Responsive Design */
@media (max-width: 992px) {
  .section-title {
    font-size: 2.2rem;
  }
  
  .hero-title {
    font-size: 3.5rem;
  }
}



@media (max-width: 576px) {
  section {
    padding: 70px 0;
  }
  
  .section-title {
    font-size: 2rem;
  }
  
  .hero-title {
    font-size: 2.5rem;
  }
  
  .occasion-item {
    font-size: 1.2rem;
  }
  
  .steps {
    flex-direction: column;
  }
  
  .step {
    min-width: 100%;
    margin-bottom: 20px;
  }
  
  .portfolio-grid {
    grid-template-columns: 1fr;
  }
  
  .about-text {
    text-align: center;
  }
  
  .footer-container {
    flex-direction: column;
    text-align: center;
  }
  
  .contact-info li, .footer-links li {
    justify-content: center;
  }
  
  .social-links {
    justify-content: center;
  }
}

/* 🎥 STYLES VIDÉO TÉMOIGNAGE - HARMONISATION AVEC STEPS */

/* 📺 CONTENEUR VIDÉO - EXACTEMENT 300x400 comme les steps */
.step.step-video,
#testimonial-video-container.step.step-video {
    /* 🎯 DIMENSIONS FIXES identiques aux steps */
    width: 300px !important;
    height: 400px !important;
    padding: 0 !important;
    
    /* 🎯 Structure identique aux steps */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* 🎯 Position relative pour les boutons absolus */
    position: relative !important;
    overflow: hidden !important;
    
    /* 🎯 Héritage des styles .step */
    background-color: var(--background);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    transition: transform var(--transition-medium);
    box-sizing: border-box;
}

.step.step-video:hover,
#testimonial-video-container.step.step-video:hover {
    transform: translateY(-10px);
}

/* 🎬 ÉLÉMENT VIDÉO - Remplit exactement 303x431 (dimensions step) */
.step-video-element,
video#testimonial-video.step-video-element {
    width: 303px !important;
    height: 431px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
    background: #000;
    
    /* 🍎 SAFARI FIX : Force le rendu hardware-accelerated */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    
    /* 🎯 Assurer la visibilité complète */
    opacity: 1 !important;
    visibility: visible !important;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/* � CONTENEUR LIKES VIDÉO - Positionné dans le step-video */
/* 🎯 CONTENEUR FLEX UNIFIÉ - Stack de tous les boutons vidéo */
.video-controls-stack {
    position: absolute;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 10;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 💖 Likes container dans le stack - Plus de positionnement absolu */
.video-controls-stack .video-likes-container {
    position: static !important;  /* 🔧 PLUS de position absolute */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: inherit;
}

/* 🎯 ANCIEN STYLE pour compatibilité - Fallback si pas dans stack */
.video-likes-container {
    position: absolute;
    bottom: 20px !important;
    right: 80px !important;
    z-index: 10;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

.video-like-button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: none;
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(170, 123, 76, 0.1);
    color: #aa7b4c;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* �🔊 BOUTON ROND ÉLÉGANT POUR LE SON */
.video-sound-button {
    position: static !important;    /* 🎯 PLUS de position absolute - géré par le stack flex */
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: none;
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(170, 123, 76, 0.1);
    color: #aa7b4c;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: visible !important;
}/* Styles SVG explicites pour l'icône */
.video-sound-button svg,
.video-sound-button .sound-icon {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex-shrink: 0;
  pointer-events: none;
  opacity: 1 !important;
  visibility: visible !important;
}

.video-sound-button svg path {
  stroke: #aa7b4c !important;
  fill: none !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: stroke 0.3s ease;
  opacity: 1 !important;
  visibility: visible !important;
}

.video-sound-button:hover svg path {
  stroke: #8b6238 !important;
}

/* État son activé */
.video-sound-button.sound-active svg path {
  stroke: white !important;
}

.video-sound-button:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 1);
  box-shadow: 
    0 6px 20px rgba(0, 0, 0, 0.2),
    0 0 0 2px rgba(170, 123, 76, 0.2);
}

.video-sound-button:active {
  transform: scale(0.95);
}

/* État son activé */
.video-sound-button.sound-active {
  background: linear-gradient(135deg, #aa7b4c, #d4a574);
  color: white;
  box-shadow: 
    0 4px 16px rgba(170, 123, 76, 0.4),
    0 0 0 2px rgba(170, 123, 76, 0.3);
}

.video-sound-button.sound-active:hover {
  box-shadow: 
    0 6px 24px rgba(170, 123, 76, 0.5),
    0 0 0 2px rgba(170, 123, 76, 0.4);
}

/* Animation des ondes sonores */
.video-sound-button .sound-waves {
  opacity: 0.3;
  transition: opacity 0.3s ease;
}

.video-sound-button.sound-active .sound-waves {
  opacity: 1;
  animation: soundPulse 1.5s ease-in-out infinite;
}

@keyframes soundPulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* ========================================
   📺 RESPONSIVE VIDÉO TÉMOIGNAGE - TOUTES TAILLES ÉCRAN
   🎯 Adaptation parfaite pour desktop/tablette/mobile + boutons
   ======================================== */

/* 🖥️ DESKTOP & TABLETTE (> 769px) - Vidéo testimonial optimisée */
@media (min-width: 769px) {
  .step-video,
  video#testimonial-video.step-video-element {
    min-height: 400px;        /* 🎯 CORRIGÉ : 400px comme demandé */
    max-width: 400px;         /* 🎯 Largeur optimale desktop */
    min-width: 350px;         /* 🎯 Minimum desktop */
  }
  
  /* 🔊 Bouton son desktop - Plus grand, plus de positionnement */
  .video-sound-button {
    width: 52px !important;
    height: 52px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
  }
  
  .video-sound-button svg,
  .video-sound-button .sound-icon {
    width: 24px !important;
    height: 24px !important;
  }
  
  /* 🎯 Boutons interaction vidéo - Like, pause, etc. - DESKTOP */
  .video-like-button,
  .video-likes-container .video-like-button {
    width: 52px !important;
    height: 52px !important;
    font-size: 20px !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
  }
  
  /* 🎯 STACK DESKTOP - Conteneur unifié */
  .video-controls-stack {
    bottom: 24px !important;
    right: 24px !important;
    gap: 14px !important;       /* 🎯 Plus d'espace sur desktop */
  }
  
  .video-controls-stack .video-likes-container {
    gap: 10px !important;
  }
}

/* 📱 TABLETTE (769px - 1024px) - Adaptation intermédiaire */
@media (min-width: 769px) and (max-width: 1024px) {
  .step-video,
  video#testimonial-video.step-video-element {
    min-height: 400px;        /* 🎯 CORRIGÉ : 400px uniformisé */
    max-width: 380px;         /* 🎯 Largeur tablette */
  }
}

/* 📱 MOBILE (≤ 768px) - Harmonisation avec steps mobiles */
@media (max-width: 768px) {
  /* 🎥 Vidéo testimonial - Garde les mêmes règles que .step mobile */
  .step.step-video {
    padding: 20px !important;  /* 🎯 MÊME padding que .step mobile */
    min-height: 350px;         /* 🎯 Hauteur mobile optimisée */
    max-width: 100%;           /* 🎯 Pleine largeur mobile */
    min-width: 300px;          /* 🎯 Minimum mobile */
  }
  
  /* 🎬 Éléments vidéo mobile - Ajustés au padding */
  .step-video-element,
  video#testimonial-video.step-video-element {
    width: calc(100% - 0px) !important;
    height: calc(100% - 0px) !important;
  }
  
  /* 🔊 Boutons vidéo mobile - Taille réduite, plus de position */
  .video-sound-button {
    width: 44px;
    height: 44px;
  }
  
  /* 🎯 STACK MOBILE - Conteneur unifié */
  .video-controls-stack {
    bottom: 16px !important;
    right: 16px !important;
    gap: 8px !important;                /* 🎯 Gap réduit mobile */
  }
  
  .video-controls-stack .video-likes-container {
    gap: 6px !important;
  }
  
  .video-sound-button svg,
  .video-sound-button .sound-icon {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (max-width: 480px) {
  .step-video {
    min-height: 350px;
    max-width: 100%;
  }
  
  .video-sound-button {
    width: 40px;
    height: 40px;
    bottom: 10px;
    right: 10px;
  }
  
  /* 🎯 STACK PETIT ÉCRAN - Conteneur unifié */
  .video-controls-stack {
    bottom: 10px !important;
    right: 10px !important;
    gap: 6px !important;                /* 🎯 Gap minimal très petit écran */
  }
  
  .video-controls-stack .video-likes-container {
    gap: 4px !important;
  }
  
  .video-sound-button svg,
  .video-sound-button .sound-icon {
    width: 16px !important;
    height: 16px !important;
  }
}


/**
 * 🚨 CORRECTIONS URGENTES FEEDBACK UTILISATEUR 
 * Corrections spécifiques complémentaires
 */

/* 🎨 AMÉLIORATION CONTRASTE SECTION À PROPOS */
.about-section .value-item {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(170, 123, 76, 0.3) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    border-radius: 32px !important;
}

.about-section .value-item:hover {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 2px solid rgba(170, 123, 76, 0.5) !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18) !important;
}

.about-section .value-item h3 {
    color: #1D1D1F !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.about-section .value-item p {
    color: #424245 !important;
    font-weight: 500 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.about-section .value-icon {
    background: linear-gradient(135deg, var(--primary), var(--accent)) !important;
    border-radius: 50% !important;
    width: 60px !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 1rem !important;
    font-size: 24px !important;
    box-shadow: 0 4px 16px rgba(170, 123, 76, 0.3) !important;
}

/* 🌀 BORDER-RADIUS PLUS PRONONCÉS */
.testimonial-card,
.step,
.portfolio-item {
    border-radius: 32px !important;
}

.portfolio-image,
.photographer-img,
.hero img,
.carousel img {
    border-radius: 24px !important;
}

/* 🎯 SYSTÈME DE DESIGN HARMONISÉ : Border-radius cohérent */

/* Boutons premium avec nouveau système */
.btn-premium {
    border-radius: var(--radius-button, 28px) !important;
}

/* Navigation et CTA - Base desktop */
.pill-nav,
.pill-nav-cta {
    border-radius: var(--radius-button, 28px) !important;
}

/* 🎯 RESPONSIVE : Mobile standard (768px) */
@media (max-width: 768px) {
    .pill-nav,
    .pill-nav-cta {
        border-radius: var(--radius-button-mobile, 30px) !important;
    }
}

/* 🎯 RESPONSIVE : Mobile étroit (480px) */
@media (max-width: 480px) {
    .pill-nav {
        border-radius: var(--radius-button-small, 26px) !important;
    }
    
    .pill-nav-cta {
        border-radius: var(--radius-button, 28px) !important; /* CTA garde sa forme */
    }
}

/* 🚫 SUPPRESSION BARRES COLORÉES CONCEPT SECTION */
.step::before {
    display: none !important;
}

/* Hover simple sans animation bizarre */
.step:hover {
    border: 2px solid rgba(170, 123, 76, 0.3) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15) !important;
}
