/*
Theme Name: AMT Theme
Theme URI: https://allmediatraining.com
Author: Elangé Bakambo
Description: Thème custom All Media Training
Version: 1.0
*/

:root {
  --vert: #5a7a5a; --vert-clair: #7a9e7a; --vert-pale: #e8f0e8;
  --or: #c9a84c; --or-clair: #e8c97a; --beige: #ede5d8;
  --noir: #111; --gris: #fafaf8; --blanc: #fff; --texte: #3a3a3a;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--texte); background: var(--blanc); overflow-x: hidden; }
h1, h2, h3, h4 { font-family: 'Cormorant Garamond', serif; font-weight: 300; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }

/* ===== CACHER LOGO/TITRE ASTRA ===== */
.ast-site-identity, .site-branding, .ast-logo-svg,
.custom-logo-link, .site-title, .site-description,
header .site-title, header .site-branding,
.ast-header-custom-item .site-branding,
#masthead .site-branding, #masthead .ast-site-identity,
.ast-primary-header-bar .site-branding,
.main-header-bar .site-branding {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ===== BOUTONS ===== */
.btn-primary { padding: 14px 32px; background: var(--vert); color: white !important; border-radius: 8px; font-size: 14px; font-weight: 500; display: inline-block; transition: all 0.3s; font-family: 'DM Sans', sans-serif; border: none; cursor: pointer; }
.btn-primary:hover { background: var(--vert-clair); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(90,122,90,0.25); color: white !important; }
.btn-secondary { font-size: 13px; color: var(--texte); display: inline-flex; align-items: center; gap: 8px; font-weight: 400; transition: color 0.2s; font-family: 'DM Sans', sans-serif; background: none; border: none; cursor: pointer; }
.btn-secondary:hover { color: var(--vert); }
.btn-secondary::after { content: '→'; transition: transform 0.2s; }
.btn-secondary:hover::after { transform: translateX(4px); }
.btn-noir { padding: 10px 22px; background: var(--noir); color: white !important; border-radius: 8px; font-size: 13px; font-weight: 500; display: inline-block; transition: background 0.2s; font-family: 'DM Sans', sans-serif; border: none; cursor: pointer; }
.btn-noir:hover { background: #333; color: white !important; }

/* ===== NAV ===== */
.amt-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; background: rgba(255,255,255,0.97); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(200,200,200,0.2); height: 72px; display: flex; align-items: center; padding: 0 48px; justify-content: space-between; transition: all 0.3s; }
.amt-nav.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.amt-nav-logo { display: flex; align-items: center; }
.amt-nav-logo img { height: 28px !important; width: auto !important; display: block !important; visibility: visible !important; opacity: 1 !important; max-width: none !important; }
.amt-nav-links { display: flex; align-items: center; gap: 36px; list-style: none; }
.amt-nav-links a { font-size: 13px; color: #666; letter-spacing: 0.3px; transition: color 0.2s; position: relative; }
.amt-nav-links a:hover { color: var(--noir); }
.amt-nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1.5px; background: var(--vert); transition: width 0.3s ease; }
.amt-nav-links a:hover::after { width: 100%; }
.amt-nav-right { display: flex; align-items: center; gap: 14px; }
.amt-jetons-badge { display: flex; align-items: center; gap: 6px; background: var(--vert-pale); color: var(--vert); font-size: 12px; font-weight: 500; padding: 6px 12px; border-radius: 20px; white-space: nowrap; }
.amt-jetons-badge::before { content: ''; width: 7px; height: 7px; background: var(--vert); border-radius: 50%; }
.amt-panier-btn { background: #f7f7f5 !important; border: 1.5px solid #e8e8e4 !important; color: #333 !important; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; text-decoration: none; transition: all 0.2s; position: relative; }
.amt-panier-btn:hover { background: #f0f0ec !important; }
.amt-panier-count { position: absolute; top: -4px; right: -4px; background: var(--vert); color: white; font-size: 10px; font-weight: 600; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.amt-avatar-wrap { position: relative; }
.amt-avatar-btn { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, var(--vert), var(--vert-clair)) !important; color: white !important; font-size: 16px; font-weight: 500; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(90,122,90,0.3); transition: all 0.25s; font-family: 'Cormorant Garamond', serif; }
.amt-avatar-btn:hover { transform: scale(1.06); box-shadow: 0 4px 16px rgba(90,122,90,0.4); }
.amt-dropdown { position: absolute; top: calc(100% + 12px); right: 0; width: 240px; background: #fff; border: 1px solid #e8e8e4; border-radius: 16px; box-shadow: 0 16px 48px rgba(0,0,0,0.12); overflow: hidden; opacity: 0; transform: translateY(-8px) scale(0.97); pointer-events: none; transition: all 0.22s cubic-bezier(0.4,0,0.2,1); z-index: 99999; }
.amt-dropdown.visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: all; }
.amt-dd-header { padding: 16px 18px 12px; border-bottom: 1px solid #f0f0ec; display: flex; align-items: center; gap: 10px; }
.amt-dd-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--vert), var(--vert-clair)); color: white; font-size: 18px; font-family: 'Cormorant Garamond', serif; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.amt-dd-bonjour { font-size: 13px; font-weight: 500; color: var(--noir); }
.amt-dd-email { font-size: 11px; color: #aaa; margin-top: 2px; }
.amt-dd-heures { margin: 10px 14px; background: var(--vert-pale); border-radius: 10px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; }
.amt-dd-heures-label { font-size: 11px; color: var(--vert); font-weight: 500; }
.amt-dd-heures-sub { font-size: 10px; color: var(--vert-clair); margin-top: 2px; }
.amt-dd-heures-count { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 700; color: var(--vert); line-height: 1; }
.amt-dd-heures-count span { font-size: 14px; font-weight: 400; }
.amt-dd-items { padding: 8px; }
.amt-dd-item { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 8px; color: #3a3a3a; font-size: 13px; transition: background 0.15s; }
.amt-dd-item:hover { background: #f5f5f3; }
.amt-dd-divider { height: 1px; background: #f0f0ec; margin: 4px 8px; }
.amt-dd-danger { color: #c0392b; }
.amt-dd-danger:hover { background: #fff5f5; }
.amt-nav-login { display: flex; align-items: center; gap: 10px; }
.amt-btn-connexion { font-size: 13px; color: var(--vert); font-weight: 500; background: none; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; padding: 0; transition: opacity 0.2s; }
.amt-btn-connexion:hover { opacity: 0.7; }
.amt-btn-inscription { padding: 9px 18px; background: var(--vert) !important; color: white !important; border-radius: 8px; font-size: 13px; font-weight: 500; transition: background 0.2s; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; }
.amt-btn-inscription:hover { background: var(--vert-clair) !important; }

/* ===== FOOTER ===== */
.amt-footer { background: var(--noir); color: rgba(255,255,255,0.6); padding: 60px 80px 40px; }
.amt-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 48px; }
.amt-footer-logo img { height: 32px; width: auto; filter: brightness(0) invert(1); opacity: 0.8; margin-bottom: 16px; display: block; }
.amt-footer-desc { font-size: 13px; line-height: 1.8; max-width: 280px; }
.amt-footer-col-title { font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: white; margin-bottom: 20px; }
.amt-footer-links { list-style: none; }
.amt-footer-links li { margin-bottom: 10px; }
.amt-footer-links a { font-size: 13px; color: rgba(255,255,255,0.5); transition: color 0.2s; }
.amt-footer-links a:hover { color: var(--vert-clair); }
.amt-footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; }

/* ===== HERO ===== */
.amt-hero { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: var(--blanc); }
.amt-hero-left { display: flex; flex-direction: column; justify-content: center; padding: 80px 48px 80px 80px; position: relative; background: var(--blanc); }
.amt-hero-left::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 50%, rgba(90,122,90,0.04) 0%, transparent 60%); pointer-events: none; }
.amt-hero-tag { font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: var(--vert); margin-bottom: 28px; display: flex; align-items: center; gap: 10px; }
.amt-hero-tag::before { content: ''; width: 24px; height: 1px; background: var(--vert); }
.amt-hero-subtitle { font-size: 13px; font-weight: 500; color: var(--vert); letter-spacing: 0.5px; margin-bottom: 16px; text-transform: uppercase; }
.amt-hero-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 5vw, 68px); font-weight: 300; line-height: 1.05; color: var(--noir); margin-bottom: 20px; overflow: hidden; }
.amt-hero-title em { font-style: italic; color: var(--vert); }
.amt-hero-desc { font-size: 15px; color: #666; line-height: 1.8; max-width: 460px; margin-bottom: 44px; font-weight: 300; }
.amt-hero-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.amt-hero-stats { display: flex; gap: 40px; margin-top: 60px; padding-top: 40px; border-top: 1px solid #eee; flex-wrap: wrap; }
.amt-stat-num { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 600; color: var(--noir); line-height: 1; }
.amt-stat-num span { color: var(--vert); font-size: 22px; }
.amt-stat-label { font-size: 11px; color: #999; letter-spacing: 1px; text-transform: uppercase; margin-top: 4px; }
.amt-hero-right { position: relative; overflow: hidden; }
.amt-hero-right img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.amt-hero-badge { position: absolute; bottom: 40px; left: 30px; background: white; border-radius: 12px; padding: 16px 20px; box-shadow: 0 12px 40px rgba(0,0,0,0.12); display: flex; align-items: center; gap: 12px; animation: floatBadge 3s ease-in-out infinite; }
@keyframes floatBadge { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.amt-badge-icon { width: 36px; height: 36px; border-radius: 8px; background: var(--vert-pale); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.amt-badge-text { font-size: 12px; font-weight: 500; color: var(--noir); }
.amt-badge-sub { font-size: 10px; color: #999; margin-top: 1px; }

/* ===== À PROPOS ===== */
.amt-apropos { padding: 120px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; background: var(--gris); }
.amt-section-tag { font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: var(--vert); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.amt-section-tag::before { content: ''; width: 24px; height: 1px; background: var(--vert); }
.amt-section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(32px, 3vw, 48px); font-weight: 300; color: var(--noir); line-height: 1.15; margin-bottom: 24px; }
.amt-section-title em { font-style: italic; color: var(--vert); }
.amt-apropos-text { font-size: 15px; color: #666; line-height: 1.9; font-weight: 300; margin-bottom: 16px; }
.amt-apropos-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.amt-apropos-photo { width: 100%; height: 220px; object-fit: cover; border-radius: 12px; object-position: center 15%; }
.amt-apropos-photo:first-child { object-position: center 5%; }
.amt-apropos-card { background: var(--blanc); border-radius: 16px; padding: 32px; box-shadow: 0 8px 40px rgba(0,0,0,0.06); border: 1px solid #f0ede8; }
.amt-apropos-card-title { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 500; color: var(--noir); margin-bottom: 16px; }
.amt-obj-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 13px; color: #555; line-height: 1.6; }
.amt-obj-dot { width: 6px; height: 6px; background: var(--vert); border-radius: 50%; margin-top: 6px; flex-shrink: 0; }

/* ===== ATHLÈTES ===== */
.amt-athletes { background: var(--blanc); overflow: hidden; }
.amt-athletes-title-wrap { padding: 60px 80px 0; text-align: center; }
.amt-athletes-bg-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(60px, 10vw, 130px); font-weight: 700; color: var(--noir); letter-spacing: 8px; text-transform: uppercase; line-height: 1; opacity: 0.06; user-select: none; }
.amt-athletes-content { padding: 20px 80px 100px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.amt-athletes-photo { border-radius: 16px; overflow: hidden; height: 500px; }
.amt-athletes-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 10%; }
.amt-quote-mark { font-family: 'Cormorant Garamond', serif; font-size: 80px; font-weight: 700; color: #ddd; line-height: 0.6; margin-bottom: 24px; }
.amt-quote-text { font-family: 'Cormorant Garamond', serif; font-size: clamp(14px, 1.3vw, 18px); font-weight: 400; color: #444; line-height: 1.9; letter-spacing: 0.3px; margin-bottom: 32px; text-transform: none; }
.amt-quote-author { display: flex; align-items: center; gap: 14px; padding-top: 28px; border-top: 1px solid #e8e8e4; }
.amt-quote-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--vert), var(--vert-clair)); color: white; font-family: 'Cormorant Garamond', serif; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.amt-quote-name { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 500; color: var(--noir); }
.amt-quote-role { font-size: 11px; color: #aaa; letter-spacing: 2px; text-transform: uppercase; margin-top: 2px; }

/* ===== PROGRAMMES ===== */
.amt-programmes { padding: 120px 48px; background: var(--blanc); }
.amt-section-header { text-align: center; margin-bottom: 56px; }
.amt-section-desc { font-size: 15px; color: #777; font-weight: 300; max-width: 480px; margin: 12px auto 0; line-height: 1.7; }
.amt-tab-nav { display: flex; justify-content: center; border: 1.5px solid #e0e0dc; border-radius: 50px; padding: 5px; width: fit-content; margin: 0 auto 52px; background: var(--gris); }
.amt-tab-btn { padding: 11px 28px; border: none; background: transparent; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 400; color: #888; cursor: pointer; border-radius: 50px; transition: all 0.3s; white-space: nowrap; }
.amt-tab-btn.active { background: var(--vert); color: white; font-weight: 500; box-shadow: 0 4px 16px rgba(90,122,90,0.25); }
.amt-tab-panel { display: none; animation: amtFadeUp 0.4s ease forwards; }
.amt-tab-panel.active { display: block; }
@keyframes amtFadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.amt-cards-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1200px; margin: 0 auto; }
.amt-cards-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; }
.amt-card { background: var(--blanc); border: 1px solid #f0ede8; border-radius: 16px; padding: 32px 28px; position: relative; transition: all 0.3s; overflow: hidden; display: flex; flex-direction: column; will-change: transform; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.amt-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--vert), var(--vert-clair)); opacity: 0; transition: opacity 0.3s; }
.amt-card:hover { border-color: var(--vert-clair); transform: translateY(-5px); box-shadow: 0 24px 56px rgba(90,122,90,0.1); }
.amt-card:hover::before { opacity: 1; }
.amt-card.dark { background: var(--noir); border-color: var(--noir); }
.amt-card.dark::before { opacity: 1; }
.amt-card.dark .amt-card-tag { color: var(--vert-clair); }
.amt-card.dark .amt-card-title, .amt-card.dark .amt-card-duration, .amt-card.dark .amt-features li { color: rgba(255,255,255,0.88); }
.amt-card.dark .amt-card-price { color: #a0c4a0; }
.amt-card.dark .amt-dot { background: #a0c4a0; }
.amt-card.dark .amt-card-divider { background: rgba(255,255,255,0.12); }
.amt-card.dark .amt-card-price-note { color: rgba(255,255,255,0.4); }
.amt-card.dark .amt-card-btn { background: white; color: var(--noir); }
.amt-card.gold { background: linear-gradient(145deg, #2a2218, #1a1a0e); border-color: var(--or); }
.amt-card.gold::before { opacity: 1; background: linear-gradient(90deg, var(--or), var(--or-clair)); }
.amt-card.gold:hover { box-shadow: 0 24px 56px rgba(201,168,76,0.2); }
.amt-card.gold .amt-card-tag { color: var(--or-clair); }
.amt-card.gold .amt-card-title, .amt-card.gold .amt-card-duration, .amt-card.gold .amt-features li { color: rgba(255,255,255,0.88); }
.amt-card.gold .amt-card-price { color: var(--or-clair); }
.amt-card.gold .amt-dot { background: var(--or); }
.amt-card.gold .amt-card-divider { background: rgba(201,168,76,0.2); }
.amt-card.gold .amt-card-price-note { color: rgba(255,255,255,0.4); }
.amt-badge-pop { position: absolute; top: 16px; right: 16px; background: linear-gradient(135deg, var(--vert), var(--vert-clair)); color: white; font-size: 10px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; }
.amt-card.gold .amt-badge-pop { background: linear-gradient(135deg, var(--or), var(--or-clair)); color: #1a1100; }
.amt-card-tag { font-size: 10px; font-weight: 500; letter-spacing: 2.5px; text-transform: uppercase; color: var(--vert); margin-bottom: 14px; display: block; }
.amt-card-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 500; color: var(--noir); margin-bottom: 4px; }
.amt-card-duration { font-size: 11px; color: #999; margin-bottom: 14px; font-weight: 300; }
.amt-card-price { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 600; color: var(--vert); margin-bottom: 2px; line-height: 1; }
.amt-card-price span { font-size: 16px; font-weight: 300; }
.amt-card-price-note { font-size: 11px; color: #aaa; margin-bottom: 18px; }
.amt-card-divider { height: 1px; background: #e8e8e4; margin-bottom: 16px; opacity: 0.6; }
.amt-features { list-style: none; margin-bottom: 24px; flex: 1; }
.amt-features li { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #555; margin-bottom: 8px; line-height: 1.5; }
.amt-dot { width: 4px; height: 4px; background: var(--vert); border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.amt-card-btn { display: block; width: 100%; padding: 12px 20px; background: var(--vert); color: white !important; border: none; border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; text-align: center; text-decoration: none; transition: all 0.3s; margin-top: auto; position: relative; overflow: hidden; }
.amt-card-btn:hover { background: var(--vert-clair); transform: translateY(-1px); color: white !important; }
.amt-card-btn.outline { background: transparent; border: 1.5px solid var(--vert); color: var(--vert) !important; }
.amt-card-btn.outline:hover { background: var(--vert-pale); color: var(--vert) !important; }
.amt-card-btn.gold-btn { background: var(--or); color: #1a1100 !important; font-weight: 600; }
.amt-card-btn.gold-btn:hover { background: var(--or-clair); }

/* ===== TÉMOIGNAGES ===== */
.amt-temoignages { padding: 120px 80px; background: var(--noir); position: relative; overflow: hidden; }
.amt-temoignages::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 50%, rgba(90,122,90,0.15) 0%, transparent 60%); }
.amt-temoignages .amt-section-header { position: relative; margin-bottom: 64px; }
.amt-temoignages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; position: relative; }
.amt-temoignage { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 32px; transition: all 0.3s; }
.amt-temoignage:hover { background: rgba(255,255,255,0.08); transform: translateY(-4px); }
.amt-temoignage-stars { color: var(--or); font-size: 14px; margin-bottom: 16px; letter-spacing: 2px; }
.amt-temoignage-text { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-weight: 300; font-style: italic; color: rgba(255,255,255,0.85); line-height: 1.7; margin-bottom: 24px; }
.amt-temoignage-author { display: flex; align-items: center; gap: 12px; }
.amt-temoignage-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--vert), var(--vert-clair)); color: white; font-family: 'Cormorant Garamond', serif; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.amt-temoignage-name { font-size: 13px; font-weight: 500; color: white; }
.amt-temoignage-role { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 2px; }

/* ===== CTA ===== */
.amt-cta { padding: 120px 80px; text-align: center; background: var(--gris); }
.amt-cta-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(36px, 4vw, 56px); font-weight: 300; color: var(--noir); line-height: 1.1; margin-bottom: 20px; }
.amt-cta-title em { font-style: italic; color: var(--vert); }
.amt-cta-desc { font-size: 15px; color: #777; font-weight: 300; max-width: 480px; margin: 0 auto 40px; line-height: 1.7; }
.amt-cta-actions { display: flex; gap: 16px; justify-content: center; align-items: center; flex-wrap: wrap; }

/* ===== POPUP ===== */
.amt-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(6px); z-index: 9998; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.amt-modal-overlay.visible { opacity: 1; pointer-events: all; }
.amt-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-48%) scale(0.96); z-index: 9999; background: white; border-radius: 20px; padding: 40px; width: 100%; max-width: 420px; box-shadow: 0 32px 80px rgba(0,0,0,0.2); opacity: 0; pointer-events: none; transition: all 0.35s cubic-bezier(0.4,0,0.2,1); }
.amt-modal.visible { opacity: 1; pointer-events: all; transform: translate(-50%,-50%) scale(1); }
.amt-modal-close { position: absolute; top: 16px; right: 16px; background: #f5f5f3; border: none; border-radius: 50%; width: 32px; height: 32px; cursor: pointer; font-size: 13px; color: #666; display: flex; align-items: center; justify-content: center; }
.amt-modal-header { text-align: center; margin-bottom: 28px; }
.amt-modal-title { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 300; color: var(--noir); margin-bottom: 8px; }
.amt-modal-title em { font-style: italic; color: var(--vert); }
.amt-modal-desc { font-size: 13px; color: #999; font-weight: 300; }
.amt-modal-form { display: flex; flex-direction: column; gap: 16px; }
.amt-form-group { display: flex; flex-direction: column; gap: 6px; }
.amt-form-group label { font-size: 11px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: #888; }
.amt-form-group input { padding: 12px 16px; border: 1.5px solid #e8e8e4; border-radius: 10px; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--noir); outline: none; transition: border-color 0.2s; }
.amt-form-group input:focus { border-color: var(--vert); }
.amt-form-group textarea { padding: 12px 16px; border: 1.5px solid #e8e8e4; border-radius: 10px; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--noir); outline: none; resize: vertical; min-height: 110px; width: 100%; box-sizing: border-box; display: block; transition: border-color 0.2s; }
.amt-form-group textarea:focus { border-color: var(--vert); }
.amt-form-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #666; }
.amt-modal-btn { padding: 14px; background: var(--vert); color: white !important; border: none; border-radius: 10px; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s; }
.amt-modal-btn:hover { background: var(--vert-clair); }
.amt-modal-footer { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: #999; }
.amt-modal-footer a { color: var(--vert); }

/* ===== POPUPS RÉSERVATION ===== */
#amt-overlay-reservation { position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);z-index:9998;opacity:0;pointer-events:none;transition:opacity 0.3s; }
#amt-overlay-reservation.visible { opacity:1;pointer-events:all; }
.amt-popup-reservation { position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(0.96);z-index:9999;background:white;border-radius:24px;padding:44px 40px;width:100%;max-width:400px;box-shadow:0 32px 80px rgba(0,0,0,0.15);opacity:0;pointer-events:none;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);text-align:center; }
.amt-popup-reservation.visible { opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1); }
.amt-popup-close { position:absolute;top:16px;right:16px;background:#f5f5f3;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:13px;color:#666;display:flex;align-items:center;justify-content:center; }
.amt-popup-icon { width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 20px; }
.amt-popup-icon.orange { background:#fff4e8; }
.amt-popup-icon.red { background:#fff0f0; }
.amt-popup-label { font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:12px; }
.amt-popup-title { font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:#111;line-height:1.2;margin-bottom:12px; }
.amt-popup-title em { font-style:italic;color:#5a7a5a; }
.amt-popup-desc { font-size:13px;color:#888;font-weight:300;line-height:1.8;margin-bottom:28px;max-width:280px;margin-left:auto;margin-right:auto; }
.amt-heures-badge-red { display:inline-flex;align-items:center;gap:8px;background:#fff0f0;border-radius:50px;padding:8px 16px;margin-bottom:16px;font-size:13px;color:#c0392b;font-weight:500; }
.amt-heures-badge-red::before { content:'';width:8px;height:8px;background:#c0392b;border-radius:50%; }
.amt-popup-btns { display:flex;flex-direction:column;gap:10px; }
.amt-popup-btn-main { padding:14px;background:#5a7a5a;color:white !important;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s;text-decoration:none;display:block; }
.amt-popup-btn-main:hover { background:#7a9e7a; }
.amt-popup-btn-main.or { background:#c9a84c;color:#1a1100 !important; }
.amt-popup-btn-main.or:hover { background:#e8c97a; }
.amt-popup-btn-sec { padding:12px;background:transparent;border:1.5px solid #e8e8e4;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;color:#888;cursor:pointer;transition:all 0.2s;text-decoration:none;display:block; }
.amt-popup-btn-sec:hover { border-color:#5a7a5a;color:#5a7a5a; }

/* ===== ANIMATIONS SCROLL ===== */
.amt-hero-left, .amt-apropos-left, .amt-athletes-quote, .amt-cta-title, .amt-cta-desc { opacity: 0; transform: translateX(-60px); transition: opacity 0.8s ease, transform 0.8s ease; }
.amt-hero-right, .amt-apropos-right, .amt-athletes-photo { opacity: 0; transform: translateX(60px); transition: opacity 0.8s ease, transform 0.8s ease; }
.amt-card, .amt-temoignage, .amt-stat, .amt-apropos-photo { opacity: 0; transform: translateY(40px); transition: opacity 0.7s ease, transform 0.7s ease; }
.amt-hero-left, .amt-hero-right, .amt-apropos-left, .amt-apropos-right, .amt-athletes-photo, .amt-athletes-quote, .amt-card, .amt-temoignage, .amt-stat, .amt-apropos-photo, .amt-cta-title, .amt-cta-desc { animation: amtForceVisible 0.1s 2s forwards; }
@keyframes amtForceVisible { to { opacity: 1; transform: translate(0,0); } }
.amt-card:nth-child(1) { transition-delay: 0s; }
.amt-card:nth-child(2) { transition-delay: 0.1s; }
.amt-card:nth-child(3) { transition-delay: 0.2s; }
.amt-card:nth-child(4) { transition-delay: 0.3s; }
.amt-temoignage:nth-child(1) { transition-delay: 0s; }
.amt-temoignage:nth-child(2) { transition-delay: 0.15s; }
.amt-temoignage:nth-child(3) { transition-delay: 0.3s; }
.amt-stat:nth-child(1) { transition-delay: 0s; }
.amt-stat:nth-child(2) { transition-delay: 0.1s; }
.amt-stat:nth-child(3) { transition-delay: 0.2s; }
.amt-apropos-photo:nth-child(1) { transition-delay: 0s; }
.amt-apropos-photo:nth-child(2) { transition-delay: 0.15s; }
.amt-hero-right { transition-delay: 0.2s; }
.amt-athletes-quote { transition-delay: 0.15s; }
.amt-visible { opacity: 1 !important; transform: translate(0, 0) !important; }

/* ===== NOTIFICATION PANIER ===== */
.amt-cart-notif { position:fixed;top:90px;right:24px;width:320px;background:white;border-radius:16px;padding:18px 20px;box-shadow:0 16px 48px rgba(0,0,0,0.12);border:1px solid #f0f0ec;display:flex;align-items:center;gap:14px;transform:translateX(0);transition:all 0.4s cubic-bezier(0.4,0,0.2,1);z-index:9997;overflow:hidden; }
.amt-cart-notif.hidden { transform:translateX(380px);opacity:0;pointer-events:none; }
.amt-notif-icon { width:44px;height:44px;background:#e8f0e8;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0; }
.amt-notif-content { flex:1;min-width:0; }
.amt-notif-title { font-size:12px;font-weight:500;color:#5a7a5a;margin-bottom:2px;text-transform:uppercase;letter-spacing:1px; }
.amt-notif-product { font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:500;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.amt-notif-price { font-size:12px;color:#aaa;margin-top:2px; }
.amt-notif-actions { display:flex;flex-direction:column;gap:6px;flex-shrink:0; }
.amt-notif-btn-panier { padding:7px 14px;background:#5a7a5a;color:white !important;border:none;border-radius:8px;font-size:11px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;text-decoration:none;display:block;text-align:center;transition:background 0.2s; }
.amt-notif-btn-panier:hover { background:#7a9e7a; }
.amt-notif-btn-continuer { font-size:11px;color:#aaa;text-align:center;cursor:pointer;background:none;border:none;font-family:'DM Sans',sans-serif;transition:color 0.2s; }
.amt-notif-btn-continuer:hover { color:#5a7a5a; }
.amt-notif-progress { position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#5a7a5a,#7a9e7a);border-radius:0 0 16px 16px;animation:amtProgress 4s linear forwards; }
@keyframes amtProgress { from{width:100%} to{width:0%} }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .amt-cards-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .amt-cards-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .amt-nav { padding: 0 20px; height: 60px; }
  .amt-nav-links { display: none; }
  .amt-jetons-badge { display: none; }
  .amt-hero { grid-template-columns: 1fr; min-height: auto; }
  .amt-hero-left { padding: 100px 24px 48px; }
  .amt-hero-right { height: 300px; }
  .amt-hero-stats { gap: 24px; }
  .amt-apropos { grid-template-columns: 1fr; padding: 60px 24px; gap: 40px; }
  .amt-apropos-photos { grid-template-columns: 1fr 1fr; }
  .amt-athletes-title-wrap { padding: 40px 24px 0; }
  .amt-athletes-content { grid-template-columns: 1fr; padding: 20px 24px 60px; gap: 40px; }
  .amt-athletes-photo { height: 280px; }
  .amt-programmes { padding: 60px 16px; }
  .amt-cards-grid-4 { grid-template-columns: 1fr; }
  .amt-cards-grid-3 { grid-template-columns: 1fr; }
  .amt-tab-nav { flex-direction: column; border-radius: 12px; width: 90%; }
  .amt-temoignages { padding: 60px 24px; }
  .amt-temoignages-grid { grid-template-columns: 1fr; }
  .amt-cta { padding: 60px 24px; }
  .amt-cta-actions { flex-direction: column; }
  .amt-footer { padding: 48px 24px 32px; }
  .amt-footer-top { grid-template-columns: 1fr; gap: 32px; }
  .amt-footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .amt-modal { padding: 28px 20px; max-width: calc(100% - 32px); }
  .amt-popup-reservation { padding: 32px 24px; max-width: calc(100% - 32px); }
}
@media (max-width: 480px) {
  #amt-modal-contact .amt-modal-form > div[style*="grid"] { grid-template-columns: 1fr !important; }
  .amt-modal { padding: 28px 16px !important; }
}