:root {
  /* Detected gradient from the gold frame */
  /* cite: 20260126_125703.png */
  --gold-metallic: linear-gradient(
    145deg,
    #bf953f 0%,
    #fcf6ba 25%,
    #b38728 50%,
    #fbf5b7 75%,
    #aa771c 100%
  );
}

body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  background: linear-gradient(
    135deg, 
    #072a95 0%,   /* Bright Blue (Top-Left) */
    #020319 30%,  /* Deep Dark Center */
    #020319 70%,  /* Deep Dark Center */
    #bb3406 100%  /* Burnt Orange (Bottom-Right) */
  );
  background-attachment: fixed ;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 40px;
  /* Replicating the gradient from the image */
  background: linear-gradient(to right, #000c3b 0%, #001f8d 25%, #4a1d4b 60%, #b32d00 100%);
  height: 80px;
  color: white;
  border-bottom: 2px solid #001f8d;
}

/* Hamburger Icon Styling */
.menu-toggle {
  cursor: pointer;
}

.bar {
  display: block;
  width: 30px;
  height: 4px;
  margin: 6px 0;
  background-color: white;
  border-radius: 2px;
  transition: 0.3s;
}

/* Specific alignment for the "misaligned" middle bar in your image */
.bar:last-child {
  width: 20px; /* Making the bottom bar shorter like the image */
}

/* Logo Styling */
.logo-container {
  text-align: right;
}

.logo-text {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1;
}

.yellow-v {
  color: #ffcc00;
  /* Optional: Add a slight tilt to the V to match the logo style */
  display: inline-block;
  transform: skewX(-5deg);
}

.slogan {
  font-size: 12px;
  text-transform: capitalize;
  margin-top: 4px;
  font-weight: 300;
  letter-spacing: 1px;
}

/* Section Story starts here */

.stories-section {
  
  background-attachment: fixed; /* Keeps the gradient steady as you scroll */
  color: white;
  padding: 20px 0;
  color: white;
  font-family: 'Arial', sans-serif;
}

/* Header with Glowing Dot */
.stories-header {
  display: flex;
  align-items: center;
  padding: 0 40px;
  margin-bottom: 20px;
}

.live-indicator {
  height: 12px;
  width: 12px;
  background-color: #00ff00;
  border-radius: 50%;
  display: inline-block;
  margin-right: 10px;
  box-shadow: 0 0 10px #00ff00; /* Glow effect */
}

/* Horizontal Scroll Container */
.stories-container {
  max-width: 88%;
  display: flex;
  gap: 25px; /* Maintains the fixed gap between items */
  padding: 10px 40px 30px 40px; /* Extra bottom padding for the badge overlap */
  overflow-x: auto; /* Enables horizontal scroll */
  overflow-y: hidden; /* Prevents vertical jitter */
  scroll-behavior: smooth;

  /* Hide scrollbar for a cleaner look while keeping functionality */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.stories-container::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome/Safari */
}


/* Add Banner Styling here */

.slider-section {
  padding: 20px 5%;
  /* Ensuring background is transparent to let body gradient show */
  background: transparent; 
}

.slider-container {
  display: flex;
  gap: 20px;
  padding: 0 40px;
  overflow-x: auto;
  scroll-snap-type: x mandatory; /* Makes it feel like a real slider */
  scrollbar-width: none; /* Hide scrollbar for Firefox */
}

.slider-container::-webkit-scrollbar {
  display: none; /* Hide scrollbar for Chrome/Safari */
}

.slider-card {
  flex: 0 0 85%; /* Shows most of one card and a peek of the next */
  height: 300px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  overflow: hidden;
  scroll-snap-align: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.slider-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* Profile Image Styling */
.story-item {
  flex: 0 0 auto; /* Shorthand for: grow=0, shrink=0, basis=auto */
  width: 175px;   /* Set a fixed width for each item */
  text-align: center;
}

.profile-wrapper {
  position: relative;
  display: inline-block;
}

/* Profile Circle Animation Goes here */

/* 1. Define the rotation animation */
@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(180deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.profile-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Remove the old border from here to avoid double-borders */
  border: none; 
}

/* 2. Create the spinning border using a pseudo-element */
.profile-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%; /* Slightly larger than the image */
  height: 100%;
  border: 5px dotted #ffcc00; /* Your gold color */
  border-radius: 50%;
  
  /* Apply the infinite spin */
  animation: rotate 4s linear infinite;
  
  /* Ensure it rotates around its own center */
  transform-origin: center;
  box-sizing: border-box;
}

/* 3. Keep the image static and centered */
.profile-circle img {
  width: 95%;
  height: 95%;
  border-radius: 50%;
  object-fit: cover;
  z-index: 1; /* Sits above the spinning border background */
  position: relative;
}

/* Overlays */
.category-tag {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 8px;
  font-weight: bold;
  color: #ffcc00;
  text-shadow: 1px 1px 2px black;
}

/* 4. Marquee Logic */


.marquee-box {
  white-space: nowrap;
  display: block;
}

@keyframes marquee-anim {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

.marquee-active {
  display: inline-block;
  animation: marquee-anim 6s linear infinite;
}
/* Refining the badge for better text fit */
.birthday-badge {
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  background: #104a00;
  width: 180px; /* Fixed width to force marquee for long text */
  padding: 8px 0;
  border-radius: 15px;
  border: 1px solid #28a745;
  overflow: hidden;
  z-index: 2;
}



.profile-name {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 300;
}

/* Bottom Dotted Line */
.dotted-separator {
  margin-top: 30px;
  border-bottom: 8px dotted #FCB900;
  width: 100%;
  opacity: 0.6;
}

/* Events Section Starts Here */

/* Specific override for the Events section if needed */
.special-events {
  padding-top: 10px;
}

/* Reusing the badge style but adjusting for the "Meeting" text */
.event-badge {
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  background: #0d3b00; /* Slightly darker green */
  color: #fff;
  font-size: 11px;
  padding: 5px 20px;
  border-radius: 20px;
  white-space: nowrap;
  border: 1px solid #1e7e34;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

/* Solid gold border for Events vs dashed for Stories */
.special-events .profile-circle {
  border: 2px solid #ffcc00; 
}

/* Adjusting the name text for "By..." */
.special-events .profile-name {
  font-size: 13px;
  color: #cccccc; /* Slightly dimmed text for the author */
}

/* Button Section Starts here */

.welcome-section {
  padding: 10px 0;
}

/* Reusing your scroll logic but adjusting the gap */
.welcome-scroll-wrapper {
  gap: 25px;
  padding: 0 40px;
  display: flex;
  overflow-x: auto;
  margin-top: 30px;
}

.welcome-card {
  flex: 0 0 auto; /* Keeps card width stable */
  width: 250px;
  height: 400px;
  position: relative;
  border-radius: 40px; /* High radius for that 'squircle' look */
  padding: 2px; /* Space for the gradient border */
  
  /* The green glowing border effect */
  background: linear-gradient(135deg, #00ff00 0%, #004400 50%, #00ff00 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.welcome-content {
  background-color: #00020a; /* Matches the page background */
  width: 100%;
  height: 100%;
  border-radius: 38px; /* Slightly less than parent for perfect fit */
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
}

/* Subtle glow behind the cards */
.welcome-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  box-shadow: 5px 5px 15px rgba(0, 255, 0, 0.1);
  border-radius: 40px;
  z-index: -1;
}

/* Category Section Starts Here */

.quotes-section {
  padding: 20px;
}

.quotes-container-box {
  background: rgba(255, 255, 255, 0.05); /* Glass effect */
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Green Header Styling */
.quotes-header {
  background: linear-gradient(to right, #1a4a00, #0d2500);
  padding: 20px 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.header-left h2 {
  margin: 0;
  font-size: 30px;
  font-weight: 500;
}

.arrow-circle {
  width: 30px;
  height: 30px;
  border: 2px solid #00ff00;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #00ff00;
  font-weight: bold;
  cursor: pointer;
}

/* Banner Scrolling Area */
.banners-scroll-wrapper {
  display: flex;
  gap: 20px;
  padding: 25px 40px;
  overflow-x: auto;
  scrollbar-width: none;

  /* Applying the exact gradient from your image */
  background: linear-gradient(
    to right, 
    #ffffff 0%, 
    #512222 7%, 
    #512222 93%, 
    #ffffff 100%
  );
}

.banners-scroll-wrapper::-webkit-scrollbar {
  display: none;
}

.banner-item {
  flex: 0 0 auto;
  text-align: center;
}

.banner-square {
  width: 250px;
  height: 250px;
  border: 3px solid;
  border-image-source: var(--gold-metallic);
  border-image-slice: 1;
  /*border-radius: 8px;*/
  margin-bottom: 10px;
  background: rgba(0,0,0,0.3); /* Placeholder for actual image */
}

.banner-item p {
  color: white;
  margin: 0;
  font-size: 25px;
  padding: 5px 0;
}

/* Blink the dots */
/* Define the blinking keyframes */
@keyframes blink-animation {
  0% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 10px #00ff00;
  }
  50% {
    opacity: 0.3;
    transform: scale(0.9);
    box-shadow: 0 0 0px #00ff00;
  }
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 10px #00ff00;
  }
}

/* Apply it to your existing indicator class */
.live-indicator {
  height: 12px;
  width: 12px;
  background-color: #00ff00;
  border-radius: 50%;
  display: inline-block;
  margin-right: 10px;
  
  /* The magic happens here */
  animation: blink-animation 1200ms infinite ease-in-out;
}

/* Menu Design */

/* Sidebar Container */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 70%;
  height: 100%;
  background: linear-gradient(to bottom, #001f8d, #b32d00); /* Deep blue to reddish orange */
  z-index: 1000;
  transform: translateX(-100%); /* Start hidden */
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 5px 0 15px rgba(0,0,0,0.5);
  border-radius: 0 40px 40px 0;
}

.sidebar h1,h2,h3,h4,h5,h6{
    font-size: 35px;
}

.sidebar p{
    font-size: 25px;
}

.sidebar.active {
  transform: translateX(0); /* Move in */
}

/* Sidebar Header (Yellow Gradient) */
.sidebar-header {
  background: linear-gradient(to bottom right, #ffff00, #ffaa00);
  padding: 30px 20px;
  color: #001f8d;
  border-radius: 0 40px 0 0;
}

.profile-icon-large .material-symbols-outlined {
  font-size: 80px;
  color: white;
}

.user-name { margin: 10px 0 5px; font-weight: 700; }
.user-info { margin: 0; font-size: 12px; font-weight: 500; }

/* Menu Items */
.sidebar-menu {
  list-style: none;
  padding: 20px 0;
  margin: 0;
  overflow-y: auto;
}

.sidebar-menu li {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 25px;
  color: white;
  font-size: 15px;
  cursor: pointer;
}

.sidebar-menu p{
    font-size: 2vh;
}

.sidebar-menu li:hover { background: rgba(255, 255, 255, 0.1); }

.sidebar-menu .material-symbols-outlined { font-size: 60px; opacity: 0.8; }

/* Footer & Logout */
.sidebar-footer {
  margin-top: auto;
  padding: 20px;
  text-align: center;
  color: white;
  font-size: 12px;
}

.logout-btn {
  width: 100%;
  background: #ffcc00;
  border: none;
  padding: 12px;
  border-radius: 25px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  color: #000;
}

/* Overlay Styling */
.sidebar-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: none; /* Hidden by default */
  z-index: 999;
}

.sidebar-overlay.active { display: block; }