/* ============================================================
   VISIONARY ELITE MARRAKECH — common.css
   Variables CSS + Glassmorphisme + Composants partagés
   ============================================================ */

/* ── 1. VARIABLES CSS ─────────────────────────────────── */
:root {
  --bg-main:       linear-gradient(135deg, #E8EFFF 0%, #FFFFFF 30%, #FEF9ED 65%, #EAF5FF 100%);
  --overlay-hero:  linear-gradient(135deg, rgba(5,13,31,0.75) 0%, rgba(10,22,40,0.55) 60%, rgba(212,160,23,0.20) 100%);
  --gradient-gold-soft: linear-gradient(135deg, rgba(212,160,23,0.08) 0%, rgba(232,184,53,0.04) 100%);

  --gold:          #D4A017;
  --gold-light:    #E8B835;
  --gold-dark:     #B8860B;
  --navy:          #050D1F;
  --navy-2:        #0A1628;
  --navy-3:        #1A2B4A;
  --cyan:          #00B4D8;
  --cyan-dark:     #0077B6;

  --radius-full:   9999px;
  --transition:    0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── 2. BODY ─────────────────────────────────────────── */
body {
  background: var(--bg-main);
  color: var(--navy-3);
}

/* ── 3. GLASSMORPHISME ───────────────────────────────── */
.glass-card {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px) saturate(200%);
  -webkit-backdrop-filter: blur(18px) saturate(200%);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 20px;
  box-shadow:
    0 8px 40px rgba(5, 13, 31, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -1px 0 rgba(5, 13, 31, 0.03);
  transition: all 0.3s ease;
}
.glass-card:hover {
  background: rgba(255, 255, 255, 0.92);
  transform: translateY(-5px);
  box-shadow: 0 15px 45px rgba(5, 13, 31, 0.10);
}

.glass-card-gold {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(212, 160, 23, 0.40);
  border-radius: 20px;
  box-shadow:
    0 12px 48px rgba(212, 160, 23, 0.15),
    0 4px 16px rgba(5, 13, 31, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.glass-card-dark {
  background: rgba(5, 13, 31, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 160, 23, 0.25);
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  color: #FFFFFF;
  transition: transform 0.3s ease;
}
.glass-card-dark:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 160, 23, 0.50);
}

/* ── 4. NAVBAR ───────────────────────────────────────── */
.navbar-glass {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(212, 160, 23, 0.15);
  box-shadow: 0 4px 24px rgba(5, 13, 31, 0.06);
}

#mobile-menu {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
#mobile-menu.open {
  max-height: 500px;
  opacity: 1;
}

/* ── 5. BOUTONS ──────────────────────────────────────── */
.btn-primary {
  background: linear-gradient(135deg, #B8860B 0%, #D4A017 50%, #E8B835 100%);
  color: #050D1F;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9rem 2rem;
  border-radius: var(--radius-full);
  border: none;
  box-shadow: 0 6px 24px rgba(212, 160, 23, 0.40);
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(212, 160, 23, 0.55);
  background: linear-gradient(135deg, #D4A017 0%, #E8B835 50%, #F0C840 100%);
}

.btn-secondary {
  background: transparent;
  color: #050D1F;
  border: 2px solid #050D1F;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.85rem 1.8rem;
  border-radius: var(--radius-full);
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn-secondary:hover {
  background: #050D1F;
  color: #FFFFFF;
}

.btn-outline-white {
  background: transparent;
  color: #FFFFFF;
  border: 2px solid rgba(255,255,255,0.7);
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.85rem 1.8rem;
  border-radius: var(--radius-full);
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn-outline-white:hover {
  background: #FFFFFF;
  color: #050D1F;
  border-color: #FFFFFF;
}

.btn-whatsapp {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  color: #FFFFFF;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.9rem 2.2rem;
  border-radius: var(--radius-full);
  border: none;
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.40);
  transition: all var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.btn-whatsapp:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(37, 211, 102, 0.55);
}
.btn-whatsapp-small {
  padding: 0.6rem 1.4rem;
  font-size: 0.8rem;
}

/* ── 6. BADGES ───────────────────────────────────────── */
.badge-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(212, 160, 23, 0.12);
  color: #B8860B;
  border: 1px solid rgba(212, 160, 23, 0.30);
  border-radius: var(--radius-full);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.4rem 1rem;
}

.badge-guarantee {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: linear-gradient(135deg, #D4A017, #E8B835);
  color: #050D1F;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-full);
}

/* ── 7. SÉPARATEUR DÉCORATIF ─────────────────────────── */
.title-divider {
  width: 56px;
  height: 3px;
  background: linear-gradient(90deg, #D4A017, #E8B835);
  border-radius: var(--radius-full);
  margin: 1.5rem 0;
}

/* ── 8. TEXTE GRADIENT OR ────────────────────────────── */
.text-gradient-gold {
  background: linear-gradient(135deg, #D4A017 0%, #E8B835 50%, #F0C840 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── 9. SCROLLBAR CACHÉE ─────────────────────────────── */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ── 10. FOOTER BORDER GRADIENT ──────────────────────── */
.footer-border-gradient {
  border-top: 1px solid;
  border-image: linear-gradient(90deg, transparent, #D4A017, transparent) 1;
}
