/* ================================================================
PROJECT: MODERN GLOW & ESTHETICS
FOUNDER: KRISTINA HARRIS
VERSION: 1.0 (LAUNCH PREP)
----------------------------------------------------------------
TABLE OF CONTENTS:
1. GLOBAL BASE & FONT SCALE (62.5% RESET)
2. GLOBAL RESET & TYPOGRAPHY
3. MASTER NAVIGATION (STAY-SYNCED UI)
4. SHOP & SERVICES GRID
5. ABOUT PAGE STYLES (SPLIT-SCREEN BIOGRAPHY)
6. SKIN QUIZ STYLES (INTERACTIVE CONSULTATION)
7. GIFTING SECTION (DIGITAL GIFT CARDS)
8. LAYOUT SPACING (SUB-PAGE PADDING)
9. MOBILE RESPONSIVE OVERRIDES
10. DARK MODE & THEME SWITCH
================================================================
*//* Base font size & smooth scrolling 

*/html { font-size: 62.5%; scroll-behavior: smooth; }

/* COLOR VARIABLES */
:root {
  --glow-gold: #b59410;
  --espresso: #222;
  --spa-white: #fefcf8;
  --nav-bg: rgba(254,252,248,0.98);
}

/* Dark mode overrides */
html[data-theme="dark"] {
  --espresso: #fff;
  --spa-white: #111;
  --nav-bg: #111;
}

/* Global box sizing & reset */
* { box-sizing: border-box; margin:0; padding:0; }

/* BODY */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  /* Font Family is here - if still broken, check browser console for load errors */
  font-family:'Montserrat',sans-serif; 
  background: var(--spa-white);
  color: var(--espresso);
  transition: background 0.4s ease, color 0.4s ease;
}

/* NAVIGATION */
.main-nav {
  position: fixed;
  top:0; left:0;
  width: 100%;
  height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between; 
  padding:0 40px;
  background: var(--nav-bg);
  z-index:2000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.05);
}

.nav-left { flex:1; }
.nav-center { flex:2; display:flex; justify-content:center; align-items:center; gap:40px; }
.nav-right.desktop-items { 
  flex:1; 
  display:flex; 
  justify-content:flex-end; 
  align-items:center; 
  gap:20px; 
}

/* Logo / Initials */
.initials { font-size:1.4rem; letter-spacing:5px; text-transform:uppercase; color: var(--glow-gold); text-decoration:none; }

/* NAV LINKS */
.nav-links { display:flex; gap:3rem; list-style:none; }
.nav-links a { text-decoration:none; color:var(--espresso); font-size:11px; letter-spacing:0.25em; text-transform:uppercase; }
.nav-links a:hover { color: var(--glow-gold); }

/* Theme switch (General styles) */
.theme-switch { display:flex; align-items:center; gap:12px; color:var(--glow-gold); font-size:10px; text-transform:uppercase; }
/* FIX 1: Force hide the mobile toggle on desktop/large screens */
.theme-switch.mobile-theme { display: none !important; } 
.theme-switch.desktop-theme { display: flex; } /* Visible on desktop */

/* ... (rest of theme switch/slider styles unchanged) ... */
.theme-switch input { display:none; }
.slider {
  width:52px; height:26px;
  background: var(--glow-gold);
  border-radius:26px;
  position:relative;
  cursor:pointer;
}
.slider::after {
  content:"";
  width:22px; height:22px;
  background:#fff;
  border-radius:50%;
  position:absolute;
  top:2px; left:2px;
  transition: transform 0.3s ease;
}
html[data-theme="dark"] .slider::after { transform:translateX(26px); }
html[data-theme="dark"] .main-nav {
  background: var(--nav-bg);
}
/* HERO */
.hero {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top: 90px;
}
h1 { font-family:'Cormorant Garamond', serif; font-size:4.2rem; font-weight:300; }
h1 em {
  font-style:normal; display:inline-block; color:var(--espresso);
  transition: color 1.2s ease, text-shadow 1.2s ease, transform 1.2s ease;
}
h1 em:hover {
  color: var(--glow-gold);
  text-shadow: 0 0 14px rgba(181,148,16,0.35), 0 0 28px rgba(181,148,16,0.22);
  transform: scale(1.04);
}

/* Book Now Button */
.book-btn {
  padding: 12px 22px;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 1px solid var(--espresso);
  text-decoration: none;
  transition: all 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  color: var(--spa-white);
  text-align: center;
}
html[data-theme="light"] .book-btn { background: var(--espresso); border-color: var(--espresso); }
html[data-theme="light"] .book-btn:hover { background: var(--glow-gold); border-color: var(--glow-gold); transform: translateY(-2px) scale(1.03); box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
html[data-theme="dark"] .book-btn { background: var(--glow-gold); border-color: var(--glow-gold); }
html[data-theme="dark"] .book-btn:hover { background: var(--espresso); border-color: var(--espresso); transform: translateY(-2px) scale(1.03); box-shadow: 0 4px 12px rgba(0,0,0,0.12); }

/* Hamburger Menu */
.hamburger {
  display:none; 
  flex-direction:column; 
  gap:6px; 
  cursor:pointer;
}
.hamburger span {
  width:28px; height:1px; background: var(--espresso);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translateY(10px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translateY(-10px); }

/* MOBILE STYLES */
/* FIX 2: Increased breakpoint to 1300px for wider desktop compatibility (Edge fix) */
@media (max-width:1300px){
  /* FIX 3: Force hide the entire desktop container on mobile */
  .nav-right.desktop-items { display:none !important; }
  /* FIX 3: Force show the hamburger icon on mobile */
  .hamburger { display:flex !important; z-index:3000; }

  /* Full-screen sliding menu */
  .nav-center {
    position: fixed; top:0; left:0; width:100%; height:100vh;
    background: var(--spa-white);
    flex-direction: column; 
    justify-content: flex-start;
    align-items: center;
    padding-top: 15vh;
    gap: 4rem; 
    transform: translateX(-100%);
    transition: transform 0.5s cubic-bezier(0.77,0,0.175,1);
    z-index:2050;
  }
  .nav-center.active { transform: translateX(0); }

  .nav-links { flex-direction: column; gap: 3rem; }
  .nav-links a { font-size: 2.2rem; text-align: center; }

  /* Hides desktop toggle on mobile (redundant but safe) */
  .theme-switch.desktop-theme { display: none; } 
  /* Shows mobile toggle (inside the nav-center drawer) */
  .theme-switch.mobile-theme {
    display: flex !important;
    margin-top: 4rem;
    font-size: 1.4rem;
  }
}

/* FOOTER */
.main-footer {
  width: 100%;
  padding: 20px 40px;
  background: var(--nav-bg);
  box-shadow: 0 -2px 8px rgba(0,0,0,0.02);

  display: flex;            /* new */
  justify-content: center;  /* center horizontally */
  align-items: center;      /* center vertically if needed */
}

.footer-bottom {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.6;

  margin: 0;               /* remove any default margins */
  text-align: center;      /* ensures text is centered inside div */
}
/* AUTH BUTTONS — GLOBAL (PILL STYLE) */
.desktop-logout,
.mobile-logout {
  background: var(--espresso);
  color: #fff;
  border: none;
  border-radius: 50px;          /* ← pill shape */
  padding: 8px 18px;            /* ← elegant proportions */
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

/* Hover */
.desktop-logout:hover,
.mobile-logout:hover {
  background: var(--glow-gold);
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 14px rgba(181, 148, 16, 0.25);
}

/* Mobile reveal */
#nav-content.active .mobile-logout {
  display: block;
}

/* Dark mode text fix */
[data-theme="dark"] .desktop-logout,
[data-theme="dark"] .mobile-logout {
  color: #000;
}
/* Visibility control for auth buttons */
.mobile-logout {
  display: none;
}

@media (max-width: 768px) {
  .desktop-logout {
    display: none;
  }

  #nav-content.active .mobile-logout {
    display: inline-block;
  }
}


/* TOAST */
.toast {
  position: fixed; bottom:30px; left:50%;
  transform:translateX(-50%);
  background: var(--glow-gold);
  color: #fff;
  padding:12px 20px;
  border-radius:4px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  opacity:0;
  visibility:hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index:9000;
}
.toast.show {
  opacity:1;
  visibility:visible;
}
