@charset "UTF-8";
/* =========================================================
   02. COMPOSANTS GLOBAUX (Typo, Boutons, Héros, Cartes Abos, Panier)
   ========================================================= */

/* =========================================================
   CACHER LE FIL D'ARIANE PARTOUT (SEO FRIENDLY)
   ========================================================= */
.woocommerce-breadcrumb, .yoast-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs, .storefront-breadcrumb { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; border: 0 !important; }

/* =========================================================
   🔥 COMPOSANT : HERO PREMIUM 2026 (En-tête de page standard)
   ========================================================= */
.uf-premium-hero { position: relative; z-index: 1; min-height: 65vh; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; align-items: center !important; margin-top: -100px; padding-bottom: 80px; box-sizing: border-box; overflow: hidden; }
.uf-hero-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.uf-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(40%) brightness(0.6); transform: scale(1.05); animation: slowHeroZoom 20s infinite alternate linear; }
@keyframes slowHeroZoom { 0% { transform: scale(1.05); filter: grayscale(40%) brightness(0.6); } 100% { transform: scale(1.12); filter: grayscale(20%) brightness(0.4); } }
.uf-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, var(--bg-deep, #050505) 0%, rgba(5,5,5,0.7) 30%, rgba(102, 45, 145, 0.1) 100%); }
.uf-hero-content { position: relative; z-index: 2; box-sizing: border-box; width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.uf-premium-kicker-wrap { display: flex !important; align-items: center !important; justify-content: center !important; gap: 20px; margin-bottom: 25px; width: 100%; }
.uf-kicker-line { height: 1px; width: 60px; background: linear-gradient(90deg, transparent, var(--uf-purple, #662d91), transparent); }
.uf-page-hero-title { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; margin: 0 auto !important; width: 100% !important; text-align: center !important; }
.uf-page-hero-title .uf-solid-title { display: block !important; width: 100% !important; font-size: clamp(2.8rem, 5vw, 4.5rem) !important; font-weight: 900 !important; color: #fff !important; line-height: 1.1 !important; text-transform: uppercase !important; letter-spacing: -2px !important; text-shadow: 0 10px 40px rgba(0,0,0,0.5) !important; margin-bottom: 20px !important; text-align: center !important; }
.uf-hero-subtitle-seo { display: inline-block !important; font-size: clamp(0.75rem, 1vw, 0.9rem) !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(255, 255, 255, 0.9) !important; background: rgba(255, 255, 255, 0.05) !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; padding: 12px 30px !important; border-radius: 100px !important; backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important; box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important; margin: 0 auto !important; }
.uf-scroll-indicator { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 3; }
.uf-mouse { width: 26px; height: 42px; border: 2px solid rgba(255,255,255,0.3); border-radius: 20px; display: flex; justify-content: center; padding-top: 6px; box-sizing: border-box; }
.uf-wheel { width: 4px; height: 8px; background: var(--uf-purple, #662d91); border-radius: 2px; animation: scrollWheel 2s infinite ease-in-out; }
@keyframes scrollWheel { 0% { transform: translateY(0); opacity: 1; } 50% { transform: translateY(10px); opacity: 0; } 100% { transform: translateY(0); opacity: 0; } }

/* =========================================================
   🔥 TYPOGRAPHIE CENTRALISÉE
   ========================================================= */
.uf-kicker { font-size: clamp(0.75rem, 1vw, 0.85rem); font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(--uf-purple, #662d91); margin-bottom: 1.5rem; display: block; }
.uf-premium-hero .uf-kicker { color: var(--uf-purple-light, #c084fc) !important; margin-bottom: 0 !important; }
.uf-heading-2 { font-size: clamp(1.5rem, 3vw, 3.0rem); font-weight: 200; line-height: 1.1; text-transform: uppercase; letter-spacing: 0px; word-spacing: 0.15em; margin: 0 0 2.5rem 0; color: #fff; text-align: center; }
.uf-heading-2-spaces { font-size: clamp(1.8rem, 4vw, 3.2rem) !important; font-weight: 200; line-height: 1.15; text-transform: uppercase; letter-spacing: -1px; margin: 0 0 20px 0; color: #fff; text-align: left; }
.uf-paragraph { font-size: clamp(1rem, 1.2vw, 1.25rem); font-weight: 300; color: var(--text-muted, #ccc); line-height: 1.7; }
.uf-link-animated { color: #fff; font-size: clamp(0.8rem, 1vw, 0.85rem); font-weight: 700; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; position: relative; display: inline-flex; align-items: center; gap: 10px; transition: color 0.4s var(--lux-ease, ease-out); }
.uf-link-animated::after { content: ''; position: absolute; bottom: -6px; left: 0; width: 100%; height: 2px; background: var(--uf-purple, #662d91); transform: scaleX(0); transform-origin: right; transition: transform 0.6s var(--lux-ease, ease-out); }
.uf-link-animated:hover { color: var(--uf-purple-light, #c084fc); }
.uf-link-animated:hover::after { transform: scaleX(1); transform-origin: left; }

/* =========================================================
   🔥 BOUTONS & UTILITIES
   ========================================================= */
.glass-effect { background: rgba(10, 10, 12, 0.4); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px); border-radius: 32px; border: 1px solid var(--lux-border, rgba(255,255,255,0.1)); box-shadow: 0 40px 80px rgba(0,0,0,0.5); padding: 50px; width: 100%; box-sizing: border-box; }
.btn-primary, .wpcf7-submit, .wpcf7-form input[type="submit"], .hero-evt-btn, .uf-btn-reserver, .btn-contact-coach, .btn-table-cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; text-decoration: none; cursor: pointer; background: #ffffff; color: var(--text-dark, #000); border: 1px solid transparent; border-radius: 100px; padding: clamp(16px, 2vw, 20px) clamp(24px, 3vw, 45px); font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(0.85rem, 1vw, 1rem); font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; transition: all 0.6s var(--lux-ease, ease-out); box-shadow: 0 10px 30px rgba(255, 255, 255, 0.05); position: relative; overflow: hidden; z-index: 1; width: auto; box-sizing: border-box; }
.btn-primary::before, .hero-evt-btn::before, .uf-btn-reserver::before, .btn-contact-coach::before, .btn-table-cta::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--uf-purple, #662d91); z-index: -1; transform: scaleX(0); transform-origin: right; transition: transform 0.6s var(--lux-ease, ease-out); }
.btn-primary:hover, .wpcf7-submit:hover, .wpcf7-form input[type="submit"]:hover, .hero-evt-btn:hover, .uf-btn-reserver:hover, .btn-contact-coach:hover, .btn-table-cta:hover { color: #ffffff; transform: translateY(-5px); box-shadow: 0 20px 40px var(--uf-purple-glow, rgba(102, 45, 145, 0.4)); border-color: var(--uf-purple, #662d91); }
.btn-primary:hover::before, .hero-evt-btn:hover::before, .uf-btn-reserver:hover::before, .btn-contact-coach:hover::before, .btn-table-cta:hover::before { transform: scaleX(1); transform-origin: left; }
.wpcf7-form input[type="submit"]:hover, .wpcf7-submit:hover { background-color: var(--uf-purple, #662d91) !important; }
.lux-btn-outline { display: inline-flex; align-items: center; justify-content: center; padding: clamp(14px, 2vw, 18px) clamp(24px, 3vw, 40px); border: 1px solid var(--lux-border, rgba(255,255,255,0.1)); border-radius: 100px; background: transparent; color: #fff; font-size: clamp(0.8rem, 1vw, 0.9rem); font-weight: 700; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: all 0.6s var(--lux-ease, ease-out); box-sizing: border-box; }
.lux-btn-outline:hover { background: var(--uf-purple, #662d91); border-color: var(--uf-purple, #662d91); color: #fff; transform: translateY(-3px); box-shadow: 0 15px 30px var(--uf-purple-glow, rgba(102, 45, 145, 0.4)); }

/* =========================================================
   🔥 MODALES & FORMULAIRES
   ========================================================= */
.wpcf7 { position: relative; width: 100%; margin-top: 20px; }
.wpcf7-form-control-wrap { display: block; margin-bottom: 30px; }
.wpcf7 label { display: block; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--text-muted, #999); margin-bottom: 12px; }
.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea, .wpcf7-select, .wpcf7-date { width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--lux-border, rgba(255,255,255,0.1)); border-radius: 0; padding: 15px 0; color: #fff; font-size: 1.2rem; font-family: 'Plus Jakarta Sans', sans-serif; transition: all 0.6s var(--lux-ease, ease-out); box-sizing: border-box; }
.wpcf7-textarea { resize: vertical; min-height: 120px; }
.wpcf7-text:focus, .wpcf7-email:focus, .wpcf7-tel:focus, .wpcf7-textarea:focus, .wpcf7-select:focus, .wpcf7-date:focus { outline: none; border-bottom-color: var(--uf-purple, #662d91); background: linear-gradient(to top, rgba(102, 45, 145, 0.05) 0%, transparent 100%); }
.wpcf7-not-valid-tip { font-size: 0.85rem; color: #ff6b81; margin-top: 10px; font-weight: 600; letter-spacing: 1px; }
.wpcf7-response-output { border-radius: 16px !important; margin-top: 30px !important; padding: 20px !important; font-size: 0.95rem; font-weight: 600; border: 1px solid var(--lux-border, rgba(255,255,255,0.1)) !important; background: var(--bg-surface, #111) !important; color: #fff !important; }

/* 🔴 MODALES CORRIGÉES POUR LAISSER LE JS FONCTIONNER */
.uf-modal, .uf-custom-modal, .uf-modal-overlay { 
    position: fixed; 
    inset: 0; 
    background: rgba(0,0,0,0.85); 
    z-index: 99999; 
    display: none; 
    align-items: center; 
    justify-content: center; 
    backdrop-filter: blur(15px); 
    -webkit-backdrop-filter: blur(15px); 
}

.uf-modal.active, .uf-custom-modal.active, .uf-modal-overlay.active { 
    display: flex !important; 
    opacity: 1 !important; 
    visibility: visible !important; 
    pointer-events: auto; 
}

.uf-modal-content, .uf-modal-box { 
    background: #0a0a0c; 
    border: 1px solid var(--lux-border, rgba(255,255,255,0.1)); 
    padding: clamp(30px, 5vw, 60px); 
    border-radius: 40px; 
    width: 90%; 
    position: relative; 
    margin: auto; 
    box-shadow: 0 50px 100px rgba(0,0,0,0.8); 
    max-height: 90vh; 
    overflow-y: auto; 
}

.uf-modal-content { max-width: 800px; } 
.uf-modal-box { max-width: 550px; }

.uf-modal-close { position: absolute; top: 30px; right: 30px; font-size: 1.5rem; color: var(--text-muted, #999); cursor: pointer; transition: 0.4s; width: 50px; height: 50px; background: var(--bg-surface, #111); border-radius: 100px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--lux-border, rgba(255,255,255,0.1)); z-index: 10; }
.uf-modal-close:hover { background: var(--uf-purple, #662d91); color: #fff; border-color: var(--uf-purple, #662d91); transform: scale(1.1) rotate(90deg); }
.uf-modal-title { font-size: clamp(1.8rem, 3vw, 2.5rem); color: #fff; margin-bottom: 30px; text-transform: uppercase; font-weight: 300; letter-spacing: -1px; }

/* =========================================================
   🔥 SIDE CART PREMIUM (LE PANIER)
   ========================================================= */
.uf-cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.8); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); z-index: 100000; opacity: 0; visibility: hidden; transition: 0.5s; }
.uf-cart-overlay.active { opacity: 1; visibility: visible; }
.uf-cart-panel { position: fixed; top: 0; right: 0; width: 100%; max-width: 500px; height: 100vh; height: 100dvh; background: rgba(10, 10, 12, 0.95); border-left: 1px solid rgba(255,255,255,0.08); box-shadow: -30px 0 100px rgba(0,0,0,0.9); z-index: 100001; transform: translateX(100%); transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); display: flex; flex-direction: column; overflow: hidden; backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px); box-sizing: border-box; }
.uf-cart-panel.active { transform: translateX(0); }
.uf-cart-header { padding: clamp(20px, 3vw, 40px); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.3); box-sizing: border-box; width: 100%; }
.uf-cart-header h3 { margin: 0; color: #fff; font-size: clamp(1.5rem, 2vw, 1.8rem); text-transform: uppercase; font-weight: 800; letter-spacing: -1px; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#uf-cart-close { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: #fff; width: 50px; height: 50px; border-radius: 50%; font-size: 1.4rem; cursor: pointer; transition: 0.4s; display: flex; align-items: center; justify-content: center; box-sizing: border-box; flex: 0 0 50px; min-width: 50px; margin-left: 15px; }
#uf-cart-close:hover { background: var(--uf-purple, #662d91); border-color: transparent; transform: rotate(90deg) scale(1.1); box-shadow: 0 0 20px rgba(102, 45, 145, 0.4); }
.uf-cart-body { flex-grow: 1; overflow-y: auto; display: flex; flex-direction: column; scrollbar-width: none; }
.uf-cart-body::-webkit-scrollbar { display: none; }
.widget_shopping_cart_content { display: flex !important; flex-direction: column !important; height: 100% !important; }
.uf-mini-cart-wrapper { flex-grow: 1 !important; padding: clamp(15px, 2vw, 30px); box-sizing: border-box; }
ul.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.uf-cart-item-row { display: flex; align-items: center; gap: 20px; padding: 20px; background: rgba(0,0,0,0.5); border-radius: 20px; border: 1px solid rgba(255,255,255,0.05); transition: 0.4s ease; box-sizing: border-box; }
.uf-cart-item-row:hover { border-color: rgba(102, 45, 145, 0.5); background: rgba(102, 45, 145, 0.05); transform: translateX(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.uf-item-thumb { width: 80px; height: 80px; background: rgba(255,255,255,0.02); border-radius: 16px; padding: 10px; border: 1px solid rgba(255,255,255,0.05); display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.uf-item-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.uf-item-details { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.uf-item-name { font-size: 1rem; font-weight: 800; margin: 0; line-height: 1.2; color: #fff; text-transform: uppercase; }
.uf-item-name a { color: #fff; text-decoration: none; transition: 0.3s; }
.uf-item-name a:hover { color: #c084fc; }
.uf-item-remove { color: #ff6b81; font-size: 1.2rem; transition: 0.3s; text-decoration: none; }
.uf-item-remove:hover { color: #ff4757; transform: scale(1.1); }
.uf-item-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 5px; }
.uf-item-qty-controls { display: flex; align-items: center; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 2px; box-sizing: border-box; }
.uf-qty-btn { width: 30px; height: 30px; background: transparent; border: none; color: #fff; font-size: 0.9rem; cursor: pointer; border-radius: 8px; transition: 0.3s; padding: 0; box-sizing: border-box; }
.uf-qty-btn:hover { background: #fff; color: #000; }
.uf-qty-val { width: 30px; text-align: center; color: #fff; font-weight: 800; font-size: 1rem; }
.uf-item-price { font-size: 1.2rem; font-weight: 800; color: #fff; }
.uf-mc-footer { padding: clamp(20px, 3vw, 30px); background: rgba(0,0,0,0.7); border-top: 1px solid rgba(255,255,255,0.05); flex-shrink: 0; box-sizing: border-box; }
.uf-mc-total-container { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.uf-mc-total-label { font-size: 0.9rem; color: #999; text-transform: uppercase; letter-spacing: 2px; font-weight: 800; }
.uf-mc-total-amount { font-size: 2.2rem; color: #fff; font-weight: 800; line-height: 1; letter-spacing: -1px; }
.uf-mc-buttons-group { display: flex; flex-direction: column; gap: 15px; margin-bottom: 20px; }
.btn-mc-primary { display: flex; align-items: center; justify-content: center; height: 65px; width: 100%; border-radius: 16px; font-size: 1.1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; text-decoration: none; transition: 0.4s ease-out; background: #fff; color: #000; border: none; box-shadow: 0 10px 20px rgba(255,255,255,0.1); box-sizing: border-box; }
.btn-mc-primary:hover { background: #662d91; color: #fff; transform: translateY(-5px); box-shadow: 0 20px 40px rgba(102, 45, 145, 0.4); }
.btn-mc-secondary { display: flex; align-items: center; justify-content: center; height: 60px; width: 100%; border-radius: 16px; font-size: 0.9rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; transition: 0.4s; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.2); box-sizing: border-box; }
.btn-mc-secondary:hover { background: rgba(255,255,255,0.05); border-color: #fff; }
.uf-mc-secure-info { text-align: center; font-size: 0.8rem; color: #999; display: flex; align-items: center; justify-content: center; gap: 8px; }
.uf-mc-secure-info i { color: #662d91; font-size: 1rem; }
.uf-mc-empty { text-align: center; padding: 60px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #999; flex-grow: 1; box-sizing: border-box; }
.uf-mc-empty-icon { width: 100px; height: 100px; background: rgba(255,255,255,0.02); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 30px; border: 1px solid rgba(255,255,255,0.05); }
.uf-mc-empty-icon i { font-size: 3rem; color: rgba(255,255,255,0.1); }
.uf-mc-empty h3 { color: #fff; font-size: 1.5rem; margin: 0 0 15px 0; font-weight: 800; text-transform: uppercase; }
.uf-mc-empty p { font-size: 1rem; line-height: 1.6; margin: 0 0 30px 0; }

/* =========================================================
   🔥 CARTES ABONNEMENTS (FORCÉ ET BLINDÉ)
   ========================================================= */
/* La grille (3 colonnes sur PC) */
.uf-memberships-grid { 
    display: grid !important; 
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 40px !important; 
    max-width: 1400px !important; 
    margin: 0 auto !important; 
    width: 100% !important;
}

/* La carte en elle-même */
.uf-membership-card { 
    background: rgba(10, 10, 12, 0.4) !important; 
    border: 1px solid var(--lux-border, rgba(255,255,255,0.1)) !important; 
    border-radius: 32px !important; 
    padding: 60px 40px !important; 
    display: flex !important; 
    flex-direction: column !important; 
    position: relative !important; 
    transition: all 0.6s var(--lux-ease, ease-out) !important; 
    overflow: visible !important; 
    backdrop-filter: blur(20px) !important; 
    -webkit-backdrop-filter: blur(20px) !important; 
    text-align: left !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.uf-membership-card:hover { transform: translateY(-15px) !important; border-color: rgba(255,255,255,0.15) !important; box-shadow: 0 40px 80px rgba(0,0,0,0.6) !important; }
.uf-membership-card.is-premium { background: linear-gradient(180deg, rgba(102, 45, 145, 0.08) 0%, rgba(10,10,12,0.6) 100%) !important; border-color: rgba(102, 45, 145, 0.3) !important; }
.uf-membership-card.is-premium:hover { box-shadow: 0 40px 80px rgba(0,0,0,0.6), 0 0 40px var(--uf-purple-glow, rgba(102, 45, 145, 0.4)) !important; border-color: var(--uf-purple, #662d91) !important; }

.uf-card-glow { position: absolute !important; top: 0 !important; right: 0 !important; width: 100% !important; height: 50% !important; background: radial-gradient(circle at 100% 0%, var(--uf-purple-glow, rgba(102, 45, 145, 0.4)) 0%, transparent 70%) !important; opacity: 0 !important; transition: opacity 0.8s var(--lux-ease, ease-out) !important; pointer-events: none !important; border-radius: inherit !important; }
.uf-membership-card:hover .uf-card-glow { opacity: 1 !important; }

/* Badges & Icônes */
.uf-badge-top { position: absolute !important; top: -20px !important; right: 30px !important; background: var(--uf-purple, #662d91) !important; color: #fff !important; font-size: 0.85rem !important; font-weight: 800 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 10px 24px !important; border-radius: 100px !important; box-shadow: 0 10px 20px var(--uf-purple-glow, rgba(102, 45, 145, 0.4)) !important; z-index: 10 !important; }
.uf-promo-tag { display: inline-block !important; color: #ff6b81 !important; font-weight: 800 !important; font-size: 0.8rem !important; background: rgba(255, 107, 129, 0.1) !important; padding: 6px 16px !important; border-radius: 100px !important; border: 1px solid rgba(255, 107, 129, 0.3) !important; margin-bottom: 15px !important; }
.uf-card-icon { font-size: 2.5rem !important; color: var(--uf-purple, #662d91) !important; margin-bottom: 20px !important; transition: all 0.6s var(--lux-ease, ease-out) !important; }
.uf-membership-card:hover .uf-card-icon { transform: scale(1.1) rotate(5deg) !important; text-shadow: 0 0 20px var(--uf-purple-glow, rgba(102, 45, 145, 0.4)) !important; }

/* Entête & Textes intérieurs */
.uf-card-header { margin-bottom: 3rem !important; position: relative !important; z-index: 2 !important; width: 100% !important; display: block !important; }
.uf-card-title { font-size: clamp(2rem, 3vw, 2.5rem) !important; font-weight: 300 !important; text-transform: uppercase !important; margin-bottom: 10px !important; color: #fff !important; line-height: 1 !important; }
.uf-card-excerpt { font-size: 1rem !important; color: var(--text-muted, #999) !important; line-height: 1.6 !important; display: block !important; }
.uf-card-excerpt p { margin: 0 !important; padding: 0 !important; }

/* Prix */
.uf-promo-flash-price { margin-bottom: 5px !important; }
.uf-flash-amount { color: #ff6b81 !important; font-weight: 800 !important; font-size: 1.4rem !important; }
.uf-flash-text { color: #ff6b81 !important; font-size: 0.95rem !important; font-weight: 600 !important; text-transform: none !important; margin-left: 5px !important; }
.uf-flash-puis { opacity: 0.5 !important; font-size: 0.85rem !important; text-transform: uppercase !important; font-weight: 700 !important; letter-spacing: 1px !important; margin-bottom: 5px !important; }

/* Liste des avantages (Forcée en liste propre) */
.uf-card-features { list-style: none !important; padding: 0 !important; margin: 0 0 4rem 0 !important; flex-grow: 1 !important; position: relative !important; z-index: 2 !important; width: 100% !important; display: block !important; }
.uf-card-features li { font-size: clamp(0.95rem, 1vw, 1.05rem) !important; padding: 1.2rem 0 !important; border-bottom: 1px solid rgba(255,255,255,0.03) !important; display: flex !important; align-items: center !important; gap: 15px !important; color: var(--text-muted, #999) !important; margin: 0 !important; }
.uf-card-features li.feat-inclu { color: #fff !important; } 
.uf-card-features li.feat-inclu i { color: var(--uf-purple, #662d91) !important; } 
.uf-card-features li.feat-exclu { opacity: 0.3 !important; }

/* Footer & Bouton de la carte */
.uf-card-footer { margin-top: auto !important; position: relative !important; z-index: 2 !important; width: 100% !important; display: flex !important; justify-content: center !important; flex-direction: column !important; gap: 15px !important; }
.uf-card-footer .btn-primary, .uf-card-footer .lux-btn-outline { width: 100% !important; box-sizing: border-box !important; text-align: center !important; }

/* Carte Autonome (Paysage) */
.uf-landscape-card { background: rgba(10, 10, 12, 0.4) !important; border: 1px solid var(--lux-border, rgba(255,255,255,0.1)) !important; border-radius: 32px !important; padding: 40px 50px !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 50px !important; position: relative !important; transition: all 0.6s var(--lux-ease, ease-out) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; width: 100% !important; max-width: 1400px !important; margin: 40px auto 0 auto !important; box-sizing: border-box !important; text-align: left !important; }
.uf-landscape-card:hover { transform: translateY(-10px) !important; border-color: rgba(255,255,255,0.15) !important; box-shadow: 0 40px 80px rgba(0,0,0,0.6) !important; }
.uf-landscape-card .uf-card-header { margin-bottom: 0 !important; flex: 1 !important; min-width: 250px !important; }
.uf-landscape-card .uf-card-features { margin: 0 !important; flex: 2 !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0 30px !important; }
.uf-landscape-card .uf-card-features li { padding: 0.8rem 0 !important; font-size: clamp(0.95rem, 1vw, 1.05rem) !important; border-bottom: 1px solid rgba(255,255,255,0.03) !important; display: flex !important; align-items: center !important; gap: 15px !important; color: var(--text-muted, #999) !important; margin: 0 !important; }
.uf-landscape-card .uf-card-features li.feat-inclu { color: #fff !important; }
.uf-landscape-card .uf-card-features li.feat-inclu i { color: var(--uf-purple, #662d91) !important; }
.uf-landscape-card .uf-card-features li.feat-exclu { opacity: 0.3 !important; }
.uf-landscape-card .uf-card-footer { flex: 1 !important; min-width: 200px !important; margin-top: 0 !important; display: flex !important; flex-direction: column !important; }

/* =========================================================
   🔥 TEAM GRID
   ========================================================= */
.uf-team-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 30px; max-width: 1400px; margin: 0 auto; padding-bottom: 20px; scrollbar-width: none; }
.uf-team-grid::-webkit-scrollbar { display: none; }
.uf-portrait-card { flex: 0 0 300px; scroll-snap-align: start; display: block; text-decoration: none; color: #fff; }
.uf-portrait-img { margin: 0 0 1.5rem 0; aspect-ratio: 3/4; overflow: hidden; position: relative; border-radius: 12px; }
.uf-portrait-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--lux-ease, ease-out); display: block; }
.uf-portrait-card:hover .uf-portrait-img img { transform: scale(1.05); }
.uf-portrait-img::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: var(--uf-purple, #662d91); transform: scaleX(0); transform-origin: right; transition: transform 0.6s var(--lux-ease, ease-out); }
.uf-portrait-card:hover .uf-portrait-img::after { transform: scaleX(1); transform-origin: left; }
.uf-portrait-info h3 { font-size: 1.3rem; font-weight: 400; text-transform: uppercase; margin: 0 0 0.5rem 0; letter-spacing: -0.5px; }
.uf-portrait-info span { font-size: 0.8rem; font-weight: 700; color: var(--uf-purple, #662d91); text-transform: uppercase; letter-spacing: 2px; }

/* =========================================================
   📱 RESPONSIVE GLOBAL (TABLETTES & MOBILES)
   ========================================================= */
@media (max-width: 992px) {
    .uf-landscape-card { flex-direction: column !important; padding: 40px !important; gap: 30px !important; align-items: stretch !important; }
    .uf-landscape-card .uf-card-header, .uf-landscape-card .uf-card-footer { text-align: center !important; }
    .uf-landscape-card .uf-card-icon { display: flex !important; justify-content: center !important; }
    .uf-landscape-card .uf-card-features { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
    /* APPORT CORRECTIFS : SOURIS MASQUÉE SUR MOBILE */
    .uf-scroll-indicator { display: none !important; }

    /* Typo & Hero */
    .uf-premium-hero { min-height: 45vh !important; padding-bottom: 40px !important; margin-top: -80px !important; }
    .uf-kicker-line { width: 20px !important; }
    .uf-premium-hero .uf-kicker { font-size: 0.65rem !important; letter-spacing: 2px !important; }
    .uf-hero-subtitle-seo { padding: 8px 16px !important; font-size: 0.65rem !important; letter-spacing: 1px !important; line-height: 1.4 !important; white-space: normal !important; margin-top: 15px !important; }
    
    /* APPORT CORRECTIFS : ESPACEMENT ET TAILLE DES TITRES MAÎTRES SUR MOBILE */
    .uf-page-hero-title .uf-solid-title { 
        font-size: clamp(1.5rem, 6vw, 1.9rem) !important; 
        margin-bottom: 15px !important; 
        letter-spacing: 0px !important; 
        word-spacing: 0.2em !important; 
    }
    
    /* APPORT CORRECTIFS : ESPACEMENT ET STRUCTURE DE TOUS LES H2 SUR MOBILE */
    .uf-heading-2, .uf-heading-2-spaces { 
        font-size: 1.6rem !important; 
        line-height: 1.2 !important; 
        letter-spacing: 1px !important; 
        word-spacing: 0.15em !important; 
        text-align: center !important; 
        margin-bottom: 2rem !important;
    }

    /* Boutons & Utilities */
    .glass-effect { padding: 30px 20px; border-radius: 24px; }
    .btn-primary, .wpcf7-submit, .wpcf7-form input[type="submit"], .hero-evt-btn, .uf-btn-reserver, .btn-contact-coach, .btn-table-cta { width: 100%; height: auto; }
    .wpcf7-text, .wpcf7-email, .wpcf7-textarea, .wpcf7-select { font-size: 16px !important; }

    /* Modales & Panier Mobile */
    .uf-modal, .uf-custom-modal, .uf-cart-overlay { align-items: flex-end; padding: 0; }
    .uf-modal-content, .uf-modal-box, .uf-cart-panel { width: 100%; max-width: 100%; margin: 0; border-radius: 32px 32px 0 0; border-top: 1px solid var(--lux-border, rgba(255,255,255,0.15)); background: #0a0a0c; transform: translateY(100vh) !important; padding: 40px 25px calc(40px + env(safe-area-inset-bottom)) !important; max-height: 85dvh; overflow-y: auto; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s; }
    .uf-modal.active .uf-modal-content, .uf-custom-modal.active .uf-modal-content, .uf-cart-panel.active { transform: translateY(0) !important; }
    .uf-modal-content::before, .uf-modal-box::before, .uf-cart-header::before { content: ''; position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: 50px; height: 4px; background: rgba(255,255,255,0.2); border-radius: 10px; }
    .uf-modal-title, .uf-cart-header h3 { text-align: center; font-size: 1.5rem !important; margin-bottom: 20px !important; }
    .uf-cart-header { position: relative; padding-top: 30px; border-bottom: none; background: transparent; margin-bottom: 10px; }
    .uf-modal-close, #uf-cart-close { display: flex !important; position: absolute; top: 20px; right: 20px; width: 35px !important; height: 35px !important; font-size: 1rem !important; margin: 0 !important; }
    .uf-cart-panel { top: auto; bottom: 0; padding: 0 !important; }
    .uf-mini-cart-wrapper { padding: 10px 15px !important; width: 100%; }
    ul.woocommerce-mini-cart { width: 100%; margin: 0; padding: 0; }
    .uf-cart-item-row { width: 100%; padding: 15px; gap: 12px; border-radius: 16px; }
    
    /* Cartes Abonnements (Slider Mobile Parfait) */
    .uf-memberships-grid { display: flex !important; flex-direction: row !important; gap: 15px !important; padding: 20px 4vw 40px 4vw !important; margin: 0 -4vw !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scrollbar-width: none !important; width: auto !important; }
    .uf-memberships-grid::-webkit-scrollbar { display: none !important; }
    .uf-membership-card { flex: 0 0 85% !important; max-width: 320px !important; scroll-snap-align: center !important; padding: 30px 20px !important; border-radius: 24px !important; height: auto !important; }
    .uf-card-icon { font-size: 2rem !important; margin-bottom: 15px !important; }
    .uf-price-amount { font-size: 2.2rem !important; } 
    .uf-card-features { margin: 0 0 2rem 0 !important; }
    .uf-card-features li { padding: 0.8rem 0 !important; font-size: 0.9rem !important; }
    .uf-card-footer .btn-primary, .uf-card-footer .lux-btn-outline { padding: 12px 15px !important; font-size: 0.8rem !important; }
    
    /* Carte Paysage Mobile */
    .uf-landscape-card { padding: 25px 20px !important; border-radius: 20px !important; margin-top: 20px !important; gap: 20px !important; flex-direction: column !important; align-items: stretch !important;}
    .uf-landscape-card .uf-card-header, .uf-landscape-card .uf-card-footer { text-align: center !important; }

    /* 🔴 CORRECTIF : FORÇAGE DE L'ALIGNEMENT GAUCHE SUR MOBILE POUR LES WIDGETS */
    .uf-widget-header, 
    .uf-shop-header, 
    .uf-offers-header {
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .uf-widget-header .uf-heading-2,
    .uf-shop-header .uf-heading-2,
    .uf-offers-header .uf-heading-2,
    .uf-widget-header .uf-heading-2-spaces {
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}