/* --- 1. COZY BRAND VARIABLES --- */

:root {
  --primary: #ff5252; /* Softer, warm red/orange from the logo kimchi */
  --primary-dark: #d32f2f;
  --bg: #fff8e1; /* Warm Cream/Beige background */
  --text: #4e342e; /* Dark Brown (matches logo text) */
  --card-bg: #ffffff;
  --shadow: 0 8px 20px rgba(78, 52, 46, 0.08); /* Softer brown shadow */
  --radius: 24px; /* Extra rounded corners */
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: "Nunito", sans-serif; /* Applied the new cute font */
  margin: 0;
  padding: 0;
  background-color: var(--bg);
  color: var(--text);
  padding-bottom: 80px;
}

/* --- 1a. SCROLLING ANNOUNCEMENT BAR (CLEANER) --- */
.announcement-bar {
  background-color: #4e342e;
  color: #fff8e1;
  font-family: "Nunito", sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 12px 0;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  /* This must be lower than the side menu and overlay */
  z-index: 3001;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.marquee-content {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 20s linear infinite; /* Slower, smoother scroll */
}

@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}

/* --- 2. HEADER (Sticky & Animated) --- */
/* --- FIXED HEADER --- */
header {
  background: transparent;
  padding: 5px 20px;
  /* --- THE FIX IS HERE --- */
  position: sticky;
  top: 0;
  /* ----------------------- */
  z-index: 1000; /* Increased to stay above hero content */
  display: grid;
  align-items: center;
  transition: all 0.4s ease;
  grid-template-columns: 1fr auto 1fr;
  width: 100%;
}

body.scrolled header {
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* Prevent the profile image from becoming huge */
.profile-logo-btn {
  height: 40px;
  width: 40px;
  object-fit: contain;
  border-radius: 50%;
}

.nav-links {
  display: flex;
  gap: 20px;
  align-items: center;
}

/* Center column contains both nav and mobile mascot */
header > div:nth-child(2) {
  justify-self: center;
}

@media (max-width: 768px) {
  header {
    grid-template-columns: 50px 1fr 50px;
  }
  .desktop-only {
    display: none;
  }
}

/* --- LOGO ANIMATIONS --- */

/* A. DESKTOP LOGO (Jumps to Top-Left) */
.desktop-brand-area {
  justify-self: start;
  display: flex;
  align-items: center;
  opacity: 0; /* Hidden initially */

  /* START POSITION: Down and to the Right (from center) */
  transform: translate(50px, 150px) scale(0.6);

  /* The "Jump" Bounce Physics */
  transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
}

.header-mascot-img {
  height: 50px;
  width: auto;
}

/* Jump In State */
body.scrolled .desktop-brand-area {
  opacity: 1;
  transform: translate(0, 0) scale(1); /* Lands in top left */
  pointer-events: auto;
}

/* B. MOBILE LOGO (Climbs Ladder to Top-Center) */
.mobile-brand-area {
  display: none; /* Hidden on desktop */
}

/* --- NAVIGATION --- */
.nav-links {
  justify-self: center;
  display: flex;
  gap: 30px;
}
.header-right {
  justify-self: end;
}

/* --- HERO SECTION (The Main Big Mascot) --- */
.hero {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  text-align: center;
  background: linear-gradient(180deg, #fff8e1 0%, #ffccbc 100%);
  padding: 120px 20px 160px 20px;
  margin-top: -85px;
  z-index: 1;
  border-radius: 0 0 50px 50px;
}

/* The Big Mascot Image */
.hero-logo-img {
  width: 180px;
  height: 180px;
  object-fit: contain;
  margin-bottom: 10px;
  transition: all 0.4s ease; /* Smooth fade out */
  transform-origin: center center;
}

/* When scrolled, the Big Mascot shrinks and disappears */
body.scrolled .hero-logo-img {
  opacity: 0;
  transform: scale(0); /* Poof! Gone */
}

/* --- MEDIA QUERY: MOBILE ANIMATIONS --- */
@media (max-width: 768px) {
  header {
    /* Mobile Layout: Burger(Left) | Logo(Center) | Profile(Right) */
    grid-template-columns: 50px 1fr 50px;
  }

  .desktop-brand-area {
    display: none;
  } /* Hide Desktop Jump */

  /* Configure Mobile Climb Area */
  .mobile-brand-area {
    display: flex;
    justify-self: center;
    align-items: center;
    justify-content: center;
    opacity: 0;

    /* START POSITION: "Down the ladder" */
    transform: translateY(120px);
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275),
      opacity 0.3s ease;
  }

  /* Climb Up State */
  body.scrolled .mobile-brand-area {
    opacity: 1;
    transform: translateY(0); /* Reaches the top */
  }

  /* Wiggle Animation while climbing */
  body.scrolled .mobile-brand-area img {
    animation: climbShake 0.6s ease-in-out;
  }

  @keyframes climbShake {
    0% {
      transform: rotate(0deg);
    }
    25% {
      transform: rotate(-10deg);
    } /* Left hand up */
    50% {
      transform: rotate(10deg);
    } /* Right hand up */
    75% {
      transform: rotate(-5deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
}

/* --- 3. PRODUCT GRID --- */
main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  width: 100%;
}
h2 {
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 700;
  color: #333;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 15px;
}

/* --- 4. PRODUCT CARD --- */
.product-card {
  background: var(--card-bg);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
}
.product-card:active {
  transform: scale(0.98);
}

.img-container {
  width: 100%;
  height: 160px;
  background: #eee;
  position: relative;
  overflow: hidden;
}
.product-img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* This crops the photo to fit perfectly in the square */
}
.product-emoji {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 60px;
  background: #fafafa;
}

.card-details {
  padding: 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
h3 {
  margin: 0 0 5px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  min-height: 42px;
}
.price {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 12px;
}

/* --- 5. SMART BUTTONS --- */
.add-btn {
  background-color: var(--text);
  color: white;
  border: none;
  padding: 10px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  width: 100%;
  margin-top: auto;
}
.qty-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 4px;
  margin-top: auto;
}
.qty-btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: none;
  background: white;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  color: var(--text);
  font-weight: bold;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qty-number {
  font-weight: 700;
  font-size: 14px;
}

/* --- SKELETON LOADING ANIMATION --- */
.skeleton-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(78, 52, 46, 0.08);
}

.skeleton-img {
  width: 100%;
  height: 160px;
  background: #ececec;
}

.skeleton-text {
  height: 15px;
  background: #ececec;
  margin: 12px;
  border-radius: 4px;
  width: 80%;
}

.skeleton-price {
  height: 15px;
  background: #ececec;
  margin: 0 12px 12px 12px;
  border-radius: 4px;
  width: 40%;
}

/* The Shimmer Effect */
.shimmer {
  background: linear-gradient(90deg, #ececec 25%, #f5f5f5 50%, #ececec 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* --- 6. STICKY CART BAR --- */
.sticky-cart {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: var(--text);
  color: white;
  padding: 15px 20px;
  border-radius: 50px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  z-index: 999;
  transform: translateY(150%);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.sticky-cart.visible {
  transform: translateY(0);
}
.cart-total {
  font-weight: 700;
  font-size: 16px;
}

/* --- 7. MODALS --- */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(5px);
  justify-content: center;
  align-items: flex-end;
  z-index: 2000;
}
.modal-content {
  background: white;
  width: 100%;
  max-width: 500px;
  border-radius: 20px 20px 0 0;
  padding: 25px;
  max-height: 90vh;
  overflow-y: auto;
  animation: slideUp 0.3s ease;
}
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.modal-title {
  font-size: 20px;
  font-weight: 800;
}
.close-icon {
  font-size: 24px;
  cursor: pointer;
  color: #888;
  background: none;
  border: none;
}

.form-group {
  margin-bottom: 15px;
  position: relative;
}
.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 13px;
  color: #555;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 16px;
  font-family: inherit;
  outline: none;
}
.form-group input:focus,
.form-group select:focus {
  border-color: var(--primary);
}

/* --- PHONE INPUT GROUP FIX --- */
.phone-group {
  display: flex;
  gap: 10px;
  width: 100%;
}

.phone-code {
  width: 100px !important; /* Forces the dropdown to be narrow */
  min-width: 100px; /* Prevents it from getting too small */
  flex-shrink: 0; /* Stops it from shrinking */
}

.phone-number {
  flex-grow: 1; /* Forces the number input to fill the rest of the space */
  width: auto !important; /* Overrides any default width */
}
/* PASSWORD EYE ICON STYLE */
.password-wrapper {
  position: relative;
}
.password-toggle {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #888;
}

.confirm-btn {
  background: #25d366;
  color: white;
  border: none;
  padding: 16px;
  width: 100%;
  border-radius: 12px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}
.save-profile-btn {
  background: var(--text);
  color: white;
  border: none;
  padding: 16px;
  width: 100%;
  border-radius: 12px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
}
.switch-link {
  text-align: center;
  margin-top: 15px;
  font-size: 14px;
  color: var(--primary);
  cursor: pointer;
  font-weight: 600;
}

/* MEMBER CARD */
.member-card {
  text-align: center;
}
.member-avatar {
  width: 80px;
  height: 80px;
  background: #eee;
  border-radius: 50%;
  margin: 0 auto 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
}
.member-badge {
  background: #e8f5e9;
  color: #2e7d32;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 15px;
}
.member-details {
  background: #f9f9f9;
  text-align: left;
  padding: 15px;
  border-radius: 12px;
  margin-bottom: 20px;
}
.detail-row {
  display: flex;
  margin-bottom: 10px;
  font-size: 14px;
}
.detail-label {
  width: 80px;
  font-weight: 600;
  color: #666;
}
.detail-val {
  flex: 1;
  font-weight: 500;
  color: #333;
}
.outline-btn {
  background: white;
  border: 1px solid #ccc;
  padding: 12px;
  width: 100%;
  border-radius: 12px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  margin-bottom: 10px;
}
.logout-btn {
  background: white;
  border: 1px solid #d32f2f;
  padding: 12px;
  width: 100%;
  border-radius: 12px;
  font-weight: 600;
  color: #d32f2f;
  cursor: pointer;
}

@media (min-width: 768px) {
  .modal {
    align-items: center;
  }
  .modal-content {
    border-radius: 20px;
    width: 450px;
  }
  .product-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

/* --- 8. TOAST NOTIFICATIONS --- */
#toast-container {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  /* z-index 9999 ensures it sits ON TOP of the modal (which is 2000) */
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 90%;
  max-width: 400px;
  pointer-events: none;
}

.toast {
  background: #323232;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 10px;
  animation: slideUpFade 0.3s ease forwards;
  pointer-events: auto;
}

.toast.success {
  border-left: 4px solid #25d366;
}
.toast.error {
  border-left: 4px solid #d32f2f;
}

@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOut {
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* --- 9. LOADING BUTTON STATES --- */
button:disabled {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed;
  transform: none !important; /* Stop the button from clicking down */
  box-shadow: none !important;
}

/* --- 10. NEW NAVIGATION & PAGES --- */
.nav-links {
  display: flex;
  gap: 30px;
  font-weight: 600;
  font-size: 14px;
}

.nav-item {
  cursor: pointer;
  text-decoration: none;
  position: relative; /* Anchors the overlapping layers */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px; /* Fixed width keeps spacing perfect */
  height: 60px;
}

/* 1. THE IMAGE (Visible by default) */
.home-nav-icon {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 1; /* Fully visible */
  position: absolute; /* Stack it on top */
  transform: scale(1);
  height: 40px; /* Default size */
  width: auto;
}

/* 2. THE TEXT (Hidden by default) */
.nav-label {
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  position: absolute;

  /* --- UPDATED FONT STYLE --- */
  font-family: "Chewy", cursive;
  font-size: 18px;
  font-weight: 400;
  color: #4e342e; /* <--- NEW DARK BROWN COLOR */
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
  transform: translateY(10px);

  /* Optional: Add a white outline so it pops against any background */
  text-shadow: 2px 2px 0px white;
}
/* --- 3. THE HOVER MAGIC (GLOBAL FIX) --- */

/* Hide standard Nav Icons on Hover */
.nav-item:hover .home-nav-icon {
  opacity: 0 !important;
  transform: scale(0.5) !important;
}

/* Hide Profile Icon on Hover */
.profile-item:hover .profile-logo-btn {
  opacity: 0 !important;
  transform: scale(0.5) !important;
  pointer-events: none;
}

/* Show the Text Labels on Hover for both Nav and Profile */
.nav-item:hover .nav-label,
.profile-item:hover .nav-label {
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10;
}

/* Show the "MY PAGE" text on Hover */
.profile-item:hover .nav-label {
  opacity: 1;
  /* This overrides the initial hidden transform to move it to dead-center */
  transform: translate(-50%, -50%) !important;
}

/* Add this to your CSS to trigger the profile transition */
.profile-item:hover .profile-logo-btn {
  opacity: 0;
  transform: scale(0.5);
}

.profile-item:hover .profile-label {
  opacity: 1;
  transform: translateY(0);
}

/* When hovering, show the text */
.nav-item:hover .nav-label {
  opacity: 1;
  transform: translateY(0); /* Floats up into place */
}

/* --- UPDATED HERO (Full Width Breakout) --- */
.hero {
  /* 1. THE BREAKOUT MAGIC (Forces full width inside a container) */
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;

  /* 2. Style & Colors */
  text-align: center;
  background: linear-gradient(180deg, #fff8e1 0%, #ffccbc 100%);

  /* 3. Spacing adjustments */
  padding: 120px 20px 160px 20px; /* Extra top padding for the transparent header */
  margin-top: -85px; /* Pulls the background UP behind the header */

  z-index: 1; /* Ensures it sits behind the header text */
  border-radius: 0 0 50px 50px; /* Nice curved bottom */
}

.hero h1 {
  font-size: 38px;
  margin: 15px 0;
  color: #bf360c; /* Deep warm orange/red text */
  font-weight: 800;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.4);
}

/* This creates the floating cute logo effect */
.hero-logo-img {
  width: 180px;
  height: 180px;
  object-fit: contain;
  margin-bottom: 10px;
  animation: float 3s ease-in-out infinite;

  /* --- THE MAGIC FIX --- */
  /* This makes the white box transparent! */
}

.hero h1 {
  font-size: 36px;
  margin: 10px 0;
  color: var(--text);
  font-weight: 800; /* Extra bold for the cute font */
  line-height: 1.1;
}

/* The Custom Wave Shape at the bottom */
.custom-shape-divider-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-bottom svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 50px;
}

.custom-shape-divider-bottom .shape-fill {
  fill: var(--bg); /* Matches the body background color */
}

/* Floating Animation for the Character */
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

/* Feature Cards (The 3 icons) */
.feature-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: -40px; /* Pulls it up into the wave area */
  padding: 0 20px;
  position: relative;
  z-index: 10;
}

.feature-card {
  background: white;
  padding: 15px 10px;
  border-radius: 20px;
  box-shadow: var(--shadow);
  text-align: center;
}
.feature-icon {
  font-size: 32px;
  margin-bottom: 5px;
  display: block;
}
.feature-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
}

/* FAQ SECTION */
.faq-container {
  background: white;
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--shadow);
}
.faq-item {
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}
.faq-item:last-child {
  border-bottom: none;
}
.faq-q {
  font-weight: 700;
  margin-bottom: 5px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
.faq-a {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
  display: none;
  margin-top: 10px;
}
.faq-item.open .faq-a {
  display: block;
}
.faq-icon {
  transition: transform 0.3s;
}
.faq-item.open .faq-icon {
  transform: rotate(180deg);
}

/* HIDE PAGES BY DEFAULT */
.page-view {
  display: none;
  animation: fadeIn 0.4s ease;
}
.page-view.active {
  display: block;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- HOME ICON STYLE --- */
.home-nav-icon {
  /* <--- FIXED: Matches your HTML class name */
  height: 40px;
  width: auto;
  vertical-align: middle;
  transition: transform 0.2s;
  margin-bottom: -5px;
}

/* Make it pop BIG when you hover or when it's active */
.nav-item:hover .home-nav-icon,
.nav-item.active .home-nav-icon {
  transform: scale(1.5) rotate(-5deg);
}

/* Optional: Hide the underline for the image only */
#nav-home.active::after,
#nav-menu.active::after {
  display: none;
}

/* --- MOBILE LAYOUT TRANSFORMATION --- */

/* Default: Hide Hamburger & Side Menu on Desktop */
.hamburger-btn {
  display: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--text);
}
/* --- UPDATE: Side Menu Layering --- */

/* Align menu exactly under the 45px brown bar */

.side-menu {
  position: fixed;
  top: 0; /* ← THIS IS THE FIX */
  left: -280px;
  width: 280px;
  height: 100vh; /* Full screen height */
  background: white;
  z-index: 10001;
  padding: 20px;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
  transition: left 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.side-menu.open {
  left: 0;
}

.side-menu.open {
  left: 0;
} /* Slide in */

.mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mobile-menu-overlay.open {
  display: block;
  opacity: 1;
}

/* IMPORTANT: Delete the 'body.scrolled' rules for side-menu 
   that you currently have around line 448 and 467. 
   They are forcing the menu to jump to 45px. */

/* FIX: Make Ban-Chan and FAQ icons slightly bigger */
#nav-menu .home-nav-icon,
#nav-faq .home-nav-icon {
  height: 48px;
  margin-top: -5px;
}

.side-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;

  font-family: "Chewy", cursive;
  font-size: 24px;
  color: #4e342e;
  /* This aligns the text height with your header content */
  height: 40px;
}

/* Update the side-link style for better spacing */
.side-link {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* Image Left, Text Right */
  font-family: "Chewy", cursive;
  font-size: 22px;
  letter-spacing: 1px;
  color: #4e342e;
  padding: 15px;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s;
  margin-bottom: 5px;
}

.side-link img {
  flex-shrink: 0; /* Prevents the image from getting squashed */
  transition: transform 0.2s ease;
}

.side-link:active img {
  transform: scale(1.1); /* Little pop effect when clicked */
}

/* --- MEDIA QUERY: TABLETS & PHONES (Max Width 768px) --- */
@media (max-width: 768px) {
  /* 1. Header Grid: Left(Burger) | Center(Brand) | Right(Profile) */
  header {
    grid-template-columns: 40px 1fr 40px;
  }

  /* 2. Show Hamburger */
  .hamburger-btn {
    display: block;
    justify-self: start;
  }

  /* 3. Center The Brand */
  .brand {
    justify-self: center;
    font-size: 18px;
  } /* Slightly smaller text for mobile safety */

  /* 4. Hide Desktop Nav */
  .desktop-only {
    display: none;
  }
}
/* --- SOCIAL LOGIN & DIVIDER --- */
.social-login-container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px 0;
    color: #888;
    font-size: 14px;
    font-weight: 600;
}

.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e0e0e0;
}

.auth-divider::before {
    margin-right: 10px;
}

.auth-divider::after {
    margin-left: 10px;
}