/* =========================================== */
/* FOOTER FIXES BUNDLE */
/* Generated: 2025-12-11T20:09:52.410Z */
/* Combines 6 footer fix CSS files */
/* =========================================== */

/* =========================================== */
/* 1. assets/css/footer/footer-columns-fix.css */
/* =========================================== */

/* =========================================== */
/* FOOTER COLUMNS VISIBILITY FIX */
/* Ensures Quick Links & Collections are always visible */
/* =========================================== */

/* Force Quick Links column to be visible - ALL SELECTORS */
footer .col-lg-4:nth-of-type(2),
footer .col-md-6:nth-of-type(2),
.footer-enhanced .col-lg-4:nth-of-type(2),
.footer-enhanced .col-md-6:nth-of-type(2),
.footer-enhanced .row .col-lg-4:nth-of-type(2),
.footer-enhanced .row .col-md-6:nth-of-type(2) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

/* Force Collections column to be visible - ALL SELECTORS */
footer .col-lg-4:nth-of-type(3),
footer .col-md-6:nth-of-type(3),
.footer-enhanced .col-lg-4:nth-of-type(3),
.footer-enhanced .col-md-6:nth-of-type(3),
.footer-enhanced .row .col-lg-4:nth-of-type(3),
.footer-enhanced .row .col-md-6:nth-of-type(3) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

/* Ensure Quick Links heading is visible on desktop */
.footer-enhanced .col-lg-4:nth-of-type(2) h4,
.footer-enhanced .col-lg-4:nth-of-type(2) .text-uppercase {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure Collections heading is visible on desktop */
.footer-enhanced .col-lg-4:nth-of-type(3) h4,
.footer-enhanced .col-lg-4:nth-of-type(3) .text-uppercase {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure lists are visible */
.footer-enhanced .col-lg-4:nth-of-type(2) ul,
.footer-enhanced .col-lg-4:nth-of-type(3) ul {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Override Bootstrap responsive classes */
.footer-enhanced .col-lg-4:nth-of-type(2) .d-none.d-md-block,
.footer-enhanced .col-lg-4:nth-of-type(3) .d-none.d-md-block {
  display: block !important;
}

/* Mobile: Hide Quick Links & Collections */
@media (max-width: 767px) {
  /* Hide Quick Links column on mobile */
  footer .col-lg-4:nth-of-type(2),
  footer .col-md-6:nth-of-type(2),
  .footer-enhanced .col-lg-4:nth-of-type(2),
  .footer-enhanced .col-md-6:nth-of-type(2),
  .footer-enhanced .row .col-lg-4:nth-of-type(2),
  .footer-enhanced .row .col-md-6:nth-of-type(2) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Hide Collections column on mobile */
  footer .col-lg-4:nth-of-type(3),
  footer .col-md-6:nth-of-type(3),
  .footer-enhanced .col-lg-4:nth-of-type(3),
  .footer-enhanced .col-md-6:nth-of-type(3),
  .footer-enhanced .row .col-lg-4:nth-of-type(3),
  .footer-enhanced .row .col-md-6:nth-of-type(3) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Tablet and Desktop: Show desktop view */
@media (min-width: 768px) {
  .footer-enhanced .col-lg-4:nth-of-type(2),
  .footer-enhanced .col-lg-4:nth-of-type(3) {
    display: block !important;
    visibility: visible !important;
  }
  
  .footer-enhanced .col-lg-4:nth-of-type(2) .d-md-none,
  .footer-enhanced .col-lg-4:nth-of-type(3) .d-md-none {
    display: none !important;
  }
  
  .footer-enhanced .col-lg-4:nth-of-type(2) .d-none.d-md-block,
  .footer-enhanced .col-lg-4:nth-of-type(3) .d-none.d-md-block {
    display: block !important;
  }
}



/* =========================================== */
/* 2. assets/css/footer/footer-orb-fix.css */
/* =========================================== */

/* =========================================== */
/* FOOTER ORB CIRCLE FADE FIX */
/* Ensures orb-test circle fade is not cut off */
/* =========================================== */

/* Ensure all footer parent containers allow overflow - prevent horizontal scroll */
footer,
.footer-enhanced {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

footer .container-fluid,
.footer-enhanced .container-fluid {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  max-width: 100% !important;
  width: 100% !important;
}

footer .row,
.footer-enhanced .row {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

footer .col-lg-4,
footer .col-md-6,
.footer-enhanced .col-lg-4,
.footer-enhanced .col-md-6 {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.footer-profile-header {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.footer-character-container {
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Ensure orb-test has proper positioning and isn't clipped */
.orb-test {
  position: absolute !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Ensure character container has padding for orb */
.footer-character-container {
  padding: 60px !important;
  overflow: visible !important;
}

/* =========================================== */
/* QUICK LINKS TITLE COLOR FIX */
/* =========================================== */

.footer-enhanced .col-lg-4:nth-of-type(2) h4,
.footer-enhanced .col-lg-4:nth-of-type(2) .text-uppercase,
.footer-enhanced .accordion-button h4,
.footer-enhanced .accordion-button .text-uppercase,
.footer-enhanced .accordion-button h4.text-uppercase {
  color: #ffffff !important;
}

/* =========================================== */
/* COLLECTIONS TITLE COLOR FIX */
/* =========================================== */

.footer-enhanced .col-lg-4:nth-of-type(3) h4,
.footer-enhanced .col-lg-4:nth-of-type(3) .text-uppercase,
.footer-enhanced #collectionsAccordion .accordion-button h4,
.footer-enhanced #collectionsAccordion .accordion-button .text-uppercase {
  color: #ffffff !important;
}

/* =========================================== */
/* TOOLTIP TEXT COLOR FIX */
/* =========================================== */

.tooltip .tooltiptext {
  color: #ffffff !important;
}

/* =========================================== */
/* TACO ANIMATION FIX */
/* =========================================== */

.taco-hover-image {
  position: fixed !important;
  z-index: 9999 !important;
  display: block !important;
}

.taco-hover-image.visible {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.taco-img {
  animation: tacoBob 2s ease-in-out infinite !important;
}

.taco-hover-image.visible .taco-img {
  animation: tacoBob 2s ease-in-out infinite, tacoEntrance 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

@keyframes tacoBob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes tacoEntrance {
  0% {
    transform: translateY(-20px) scale(0.9) rotate(-5deg);
    opacity: 0;
  }
  50% {
    transform: translateY(5px) scale(1.05) rotate(2deg);
    opacity: 0.9;
  }
  75% {
    transform: translateY(-2px) scale(0.98) rotate(-1deg);
  }
  100% {
    transform: translateY(0) scale(1) rotate(0deg);
    opacity: 1;
  }
}



/* =========================================== */
/* 3. assets/css/footer/footer-hover-fix.css */
/* =========================================== */

/* =========================================== */
/* FOOTER HOVER TEXT COLOR FIX */
/* Ensures ALL footer hover text is white */
/* =========================================== */

/* Footer Links - Force white on hover */
.footer-link:hover,
.footer-link:focus,
.footer-link:focus-visible,
.footer-enhanced .footer-link:hover,
.footer-enhanced .footer-link:focus,
.footer-enhanced .footer-link:focus-visible,
.footer-enhanced a.footer-link:hover,
.footer-enhanced a.footer-link:focus,
footer a.footer-link:hover,
footer a.footer-link:focus {
  color: #ffffff !important;
}

/* Footer Link Icons - Force white/light on hover */
.footer-link:hover i,
.footer-link:focus i,
.footer-enhanced .footer-link:hover i,
.footer-enhanced .footer-link:focus i,
footer a.footer-link:hover i,
footer a.footer-link:focus i {
  color: #ffffff !important;
}

/* Footer Bottom Links */
.footer-bottom-link:hover,
.footer-bottom-link:focus,
.footer-enhanced .footer-bottom-link:hover,
.footer-enhanced .footer-bottom-link:focus {
  color: #ffffff !important;
}

/* Footer Section Headings on Hover */
.footer-enhanced h4:hover,
.footer-enhanced h4:focus,
.footer-enhanced .accordion-button:hover h4,
.footer-enhanced .accordion-button:focus h4 {
  color: #ffffff !important;
}

/* Accordion Button Text */
.footer-enhanced .accordion-button:hover,
.footer-enhanced .accordion-button:focus,
.footer-enhanced .accordion-button:hover .text-uppercase,
.footer-enhanced .accordion-button:focus .text-uppercase {
  color: #ffffff !important;
}

/* All footer text elements on hover */
.footer-enhanced a:hover,
.footer-enhanced a:focus,
footer a:hover,
footer a:focus {
  color: #ffffff !important;
}

/* =========================================== */
/* TACO ANIMATION FIX */
/* =========================================== */

/* Ensure TACO is visible and properly positioned */
.taco-hover-image {
  position: fixed !important;
  right: 160px !important;
  bottom: 135px !important;
  z-index: 50 !important; /* Below purple blobs (z-index: 100) */
  display: block !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-300px) scale(0.8);
  pointer-events: none;
  transition: opacity 0.6s ease-out, 
              visibility 0.6s ease-out, 
              transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* TACO visible state */
.taco-hover-image.visible {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  transform: translateY(0) scale(1) !important;
  z-index: 50 !important; /* Below purple blobs (z-index: 100) */
}

/* TACO exiting state */
.taco-hover-image.exiting {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-300px) scale(0.8) !important;
  transition: opacity 0.4s ease-in, 
              transform 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) !important;
}

/* TACO Image */
.taco-img {
  width: 120px !important;
  height: auto !important;
  border-radius: 12px !important;
  animation: tacoBob 2s ease-in-out infinite !important;
  filter: none !important;
  display: block !important;
  transform-origin: center bottom !important;
  /* Remove white background */
  mix-blend-mode: multiply !important;
  background: transparent !important;
}

/* TACO Image when visible */
.taco-hover-image.visible .taco-img {
  animation: tacoBob 2s ease-in-out infinite, tacoEntrance 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.3)) !important;
  /* Remove white background when visible */
  mix-blend-mode: multiply !important;
  background: transparent !important;
}

/* TACO colored state */
.taco-img.taco-colored {
  filter: hue-rotate(240deg) saturate(1.5) brightness(0.8) !important;
}

/* TACO Animations */
@keyframes tacoBob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes tacoEntrance {
  0% {
    transform: translateY(-20px) scale(0.9) rotate(-5deg);
    opacity: 0;
  }
  50% {
    transform: translateY(5px) scale(1.05) rotate(2deg);
    opacity: 0.9;
  }
  75% {
    transform: translateY(-2px) scale(0.98) rotate(-1deg);
  }
  100% {
    transform: translateY(0) scale(1) rotate(0deg);
    opacity: 1;
  }
}

/* Mobile adjustments */
@media (max-width: 991px) {
  .taco-hover-image {
    right: 80px !important;
    bottom: 80px !important;
  }
}

@media (max-width: 576px) {
  .taco-hover-image {
    right: 20px !important;
    bottom: 60px !important;
  }
  
  .taco-img {
    width: 100px !important;
  }
}

/* =========================================== */
/* HIDE FAB MENU */
/* =========================================== */

.fab-backdrop,
.fab-container,
.fab-menu,
.fab-button,
.fab-menu-item {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}



/* =========================================== */
/* 4. assets/css/footer/footer-consistency.css */
/* =========================================== */

/* =========================================== */
/* FOOTER UX/UI CONSISTENCY SYSTEM */
/* Unified footer design tokens and patterns */
/* Ensures consistent footer UX/UI across all pages */
/* =========================================== */

/* ===== FOOTER DESIGN TOKENS (Using UX/UI Consistency Variables) ===== */
footer,
.footer-enhanced {
  /* Use consistent transition timing */
  --footer-transition-fast: var(--transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1));
  --footer-transition-base: var(--transition-base, 200ms cubic-bezier(0.4, 0, 0.2, 1));
  --footer-transition-slow: var(--transition-slow, 300ms cubic-bezier(0.4, 0, 0.2, 1));
  --footer-transition-slower: var(--transition-slower, 500ms cubic-bezier(0.4, 0, 0.2, 1));
  
  /* Use consistent easing */
  --footer-ease-in: var(--ease-in, cubic-bezier(0.4, 0, 1, 1));
  --footer-ease-out: var(--ease-out, cubic-bezier(0, 0, 0.2, 1));
  --footer-ease-in-out: var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1));
  --footer-ease-bounce: var(--ease-bounce, cubic-bezier(0.68, -0.55, 0.265, 1.55));
  
  /* Use consistent spacing (8px base unit) */
  --footer-spacing-xs: var(--spacing-xs, 0.25rem);   /* 4px */
  --footer-spacing-sm: var(--spacing-sm, 0.5rem);    /* 8px */
  --footer-spacing-md: var(--spacing-md, 1rem);      /* 16px */
  --footer-spacing-lg: var(--spacing-lg, 1.5rem);    /* 24px */
  --footer-spacing-xl: var(--spacing-xl, 2rem);      /* 32px */
  --footer-spacing-2xl: var(--spacing-2xl, 3rem);    /* 48px */
  
  /* Use consistent shadows */
  --footer-shadow-sm: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  --footer-shadow-md: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, 0.1));
  --footer-shadow-lg: var(--shadow-lg, 0 10px 15px rgba(0, 0, 0, 0.1));
  --footer-shadow-xl: var(--shadow-xl, 0 20px 25px rgba(0, 0, 0, 0.1));
  
  /* Use consistent focus ring */
  --footer-focus-ring-width: var(--focus-ring-width, 2px);
  --footer-focus-ring-offset: var(--focus-ring-offset, 2px);
  --footer-focus-ring-color: var(--focus-ring-color, rgba(99, 102, 241, 0.6));
  
  /* Use consistent z-index layering */
  --footer-z-base: var(--z-base, 1);
  --footer-z-overlay: 0;
  --footer-z-content: 20;
  --footer-z-brand: 100;
  --footer-z-brand-img: 101;
  --footer-z-profile-text: 50;
  --footer-z-dropdown: var(--z-dropdown, 1000);
  --footer-z-sticky: var(--z-sticky, 1020);
  --footer-z-fixed: var(--z-fixed, 1030);
  --footer-z-modal-backdrop: var(--z-modal-backdrop, 1040);
  --footer-z-modal: var(--z-modal, 1050);
  --footer-z-popover: var(--z-popover, 1060);
  --footer-z-tooltip: var(--z-tooltip, 1070);
}

/* ===== FOOTER BASE STYLES (Consistent Structure) ===== */
footer,
.footer-enhanced {
  position: relative;
  z-index: var(--footer-z-base);
  transition: all var(--footer-transition-base);
}

/* ===== FOOTER LINKS (Consistent Hover & Focus States) ===== */
footer a:not(.btn):not(.social-btn),
.footer-enhanced a:not(.btn):not(.social-btn) {
  transition: all var(--footer-transition-base);
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--footer-spacing-sm);
  padding: var(--footer-spacing-sm) var(--footer-spacing-md);
  margin: calc(var(--footer-spacing-sm) * -1) calc(var(--footer-spacing-md) * -1);
  border-radius: 0.5rem;
  min-height: 44px; /* Touch target size */
}

/* Footer link hover state (consistent with UX/UI system) */
footer a:not(.btn):not(.social-btn):hover,
.footer-enhanced a:not(.btn):not(.social-btn):hover {
  color: #ffffff;
  background: rgba(99, 102, 241, 0.15);
  transform: translateX(4px);
  box-shadow: var(--footer-shadow-sm);
}

/* Footer link focus state (consistent with UX/UI system) */
footer a:not(.btn):not(.social-btn):focus,
footer a:not(.btn):not(.social-btn):focus-visible,
.footer-enhanced a:not(.btn):not(.social-btn):focus,
.footer-enhanced a:not(.btn):not(.social-btn):focus-visible {
  outline: 3px solid var(--footer-focus-ring-color, rgba(99, 102, 241, 0.8));
  outline-offset: 3px;
  color: #ffffff;
  background: rgba(99, 102, 241, 0.2);
  border-radius: 0.5rem;
}

/* Footer link active state */
footer a:not(.btn):not(.social-btn):active,
.footer-enhanced a:not(.btn):not(.social-btn):active {
  transform: translateX(2px) scale(0.98);
  transition: all var(--footer-transition-fast);
}

/* Footer link underline animation */
footer a:not(.btn):not(.social-btn)::before,
.footer-enhanced a:not(.btn):not(.social-btn)::before {
  content: '';
  position: absolute;
  bottom: var(--footer-spacing-sm);
  left: var(--footer-spacing-md);
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
  border-radius: 2px;
  transition: width var(--footer-transition-base);
  z-index: -1;
}

footer a:not(.btn):not(.social-btn):hover::before,
.footer-enhanced a:not(.btn):not(.social-btn):hover::before {
  width: calc(100% - var(--footer-spacing-md) * 2);
}

/* ===== FOOTER BUTTONS (Consistent with UX/UI System) ===== */
footer .btn,
.footer-enhanced .btn {
  transition: all var(--footer-transition-base);
  border-radius: 0.5rem;
  font-weight: 600;
  padding: var(--footer-spacing-sm) var(--footer-spacing-lg);
  min-height: 44px; /* Touch target */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--footer-spacing-sm);
}

/* Footer button hover */
footer .btn:hover,
.footer-enhanced .btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--footer-shadow-lg);
}

/* Footer button focus */
footer .btn:focus,
.footer-enhanced .btn:focus {
  outline: var(--footer-focus-ring-width) solid var(--footer-focus-ring-color);
  outline-offset: var(--footer-focus-ring-offset);
}

/* Footer button active */
footer .btn:active,
.footer-enhanced .btn:active {
  transform: translateY(0) scale(0.98);
  transition: all var(--footer-transition-fast);
}

/* ===== FOOTER SOCIAL BUTTONS (Consistent Styling) ===== */
footer .social-btn,
.footer-enhanced .social-btn {
  transition: transform var(--footer-transition-base), 
              opacity var(--footer-transition-base),
              background-color var(--footer-transition-base),
              border-color var(--footer-transition-base),
              box-shadow var(--footer-transition-base);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  position: relative;
  overflow: hidden;
  will-change: transform, opacity;
}

/* Social button hover */
footer .social-btn:hover,
.footer-enhanced .social-btn:hover {
  transform: translateY(-4px) scale(1.1);
  box-shadow: var(--footer-shadow-lg);
  border-color: rgba(99, 102, 241, 0.6);
  background: rgba(99, 102, 241, 0.2);
  color: #ffffff;
}

/* Social button focus */
footer .social-btn:focus,
footer .social-btn:focus-visible,
.footer-enhanced .social-btn:focus,
.footer-enhanced .social-btn:focus-visible {
  outline: 3px solid var(--footer-focus-ring-color, rgba(99, 102, 241, 0.8));
  outline-offset: 3px;
}

/* Social button active */
footer .social-btn:active,
.footer-enhanced .social-btn:active {
  transform: translateY(-2px) scale(0.95);
  transition: all var(--footer-transition-fast);
}

/* ===== FOOTER HEADINGS (Consistent Typography) ===== */
footer h3,
footer h4,
footer h5,
.footer-enhanced h3,
.footer-enhanced h4,
.footer-enhanced h5 {
  transition: color var(--footer-transition-base);
  color: #ffffff;
  font-weight: 700;
  margin-bottom: var(--footer-spacing-lg);
  position: relative;
}

/* Footer heading hover */
footer h3:hover,
footer h4:hover,
footer h5:hover,
.footer-enhanced h3:hover,
.footer-enhanced h4:hover,
.footer-enhanced h5:hover {
  color: #a5b4fc;
}

/* Footer heading underline */
footer h3::after,
footer h4::after,
footer h5::after,
.footer-enhanced h3::after,
.footer-enhanced h4::after,
.footer-enhanced h5::after {
  content: '';
  position: absolute;
  bottom: calc(var(--footer-spacing-sm) * -1);
  left: 0;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
  border-radius: 2px;
  transition: width var(--footer-transition-base);
}

footer h3:hover::after,
footer h4:hover::after,
footer h5:hover::after,
.footer-enhanced h3:hover::after,
.footer-enhanced h4:hover::after,
.footer-enhanced h5:hover::after {
  width: 60px;
}

/* ===== FOOTER BADGES (Consistent Styling) ===== */
footer .badge,
.footer-enhanced .badge {
  transition: all var(--footer-transition-base);
  padding: var(--footer-spacing-sm) var(--footer-spacing-md);
  border-radius: 999px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: var(--footer-spacing-sm);
}

/* Footer badge hover */
footer .badge:hover,
.footer-enhanced .badge:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: var(--footer-shadow-md);
}

/* ===== FOOTER ACCORDION (Mobile - Consistent Interactions) ===== */
footer .accordion-button,
.footer-enhanced .accordion-button {
  transition: all var(--footer-transition-base);
  background: transparent !important;
  border: none !important;
  color: #ffffff;
  padding: var(--footer-spacing-md) 0;
}

/* Accordion button hover */
footer .accordion-button:hover,
.footer-enhanced .accordion-button:hover {
  color: #a5b4fc;
  background: transparent !important;
}

/* Accordion button focus */
footer .accordion-button:focus,
.footer-enhanced .accordion-button:focus {
  outline: var(--footer-focus-ring-width) solid var(--footer-focus-ring-color);
  outline-offset: var(--footer-focus-ring-offset);
  box-shadow: none !important;
}

/* Accordion button expanded */
footer .accordion-button:not(.collapsed),
.footer-enhanced .accordion-button:not(.collapsed) {
  color: #a5b4fc;
  background: transparent !important;
}

/* ===== FOOTER LIST ITEMS (Consistent Spacing) ===== */
footer .list-unstyled li,
.footer-enhanced .list-unstyled li {
  margin-bottom: var(--footer-spacing-md);
  transition: all var(--footer-transition-base);
  padding-left: var(--footer-spacing-sm);
  margin-left: calc(var(--footer-spacing-sm) * -1);
  border-radius: 0.375rem;
}

/* List item hover */
footer .list-unstyled li:hover,
.footer-enhanced .list-unstyled li:hover {
  background: rgba(99, 102, 241, 0.08);
  padding-left: var(--footer-spacing-md);
  margin-left: calc(var(--footer-spacing-md) * -1);
}

/* ===== FOOTER DIVIDERS (Consistent Styling) ===== */
footer hr,
.footer-enhanced hr {
  border-color: rgba(255, 255, 255, 0.1);
  margin: var(--footer-spacing-xl) 0;
  transition: border-color var(--footer-transition-base);
}

footer hr:hover,
.footer-enhanced hr:hover {
  border-color: rgba(99, 102, 241, 0.3);
}

/* ===== FOOTER TEXT (Consistent Typography) ===== */
footer p,
footer .text-muted,
.footer-enhanced p,
.footer-enhanced .text-muted {
  transition: color var(--footer-transition-base);
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.7;
}

footer p:hover,
footer .text-muted:hover,
.footer-enhanced p:hover,
.footer-enhanced .text-muted:hover {
  color: rgba(255, 255, 255, 0.9);
}

/* ===== FOOTER TEXT-WHITE-IMPORTANT (Override template-components.css) ===== */
/* This ensures text-white-important works consistently on all pages */
footer .text-white-important,
.footer-enhanced .text-white-important,
.footer-profile-text .text-white-important,
.footer-profile-text h3.text-white-important,
footer h3.text-white-important,
.footer-enhanced h3.text-white-important {
  color: #ffffff !important;
}

/* ===== FOOTER TEXT-MUTED OVERRIDE (Ensure white text in footer) ===== */
footer .text-muted,
.footer-enhanced .text-muted,
.footer-profile-text .text-muted,
.footer-profile-text p.text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* ===== FOOTER CHARACTER IMAGE (Consistent Interactions) ===== */
footer .footer-character,
.footer-enhanced .footer-character {
  transition: transform var(--footer-transition-slow);
  cursor: pointer;
}

footer .footer-character:hover,
.footer-enhanced .footer-character:hover {
  transform: scale(1.08) rotate(-5deg);
}

/* ===== FOOTER CONTAINER (Consistent Spacing) ===== */
footer .container-fluid,
.footer-enhanced .container-fluid {
  padding-left: var(--footer-spacing-xl);
  padding-right: var(--footer-spacing-xl);
}

@media (max-width: 768px) {
  footer .container-fluid,
  .footer-enhanced .container-fluid {
    padding-left: var(--footer-spacing-lg);
    padding-right: var(--footer-spacing-lg);
  }
}

/* ===== FOOTER ROWS & COLUMNS (Consistent Spacing) ===== */
footer .row,
.footer-enhanced .row {
  margin-bottom: var(--footer-spacing-xl);
}

footer .row:last-child,
.footer-enhanced .row:last-child {
  margin-bottom: 0;
}

footer [class*="col-"],
.footer-enhanced [class*="col-"] {
  margin-bottom: var(--footer-spacing-lg);
}

@media (min-width: 768px) {
  footer [class*="col-"]:last-child,
  .footer-enhanced [class*="col-"]:last-child {
    margin-bottom: 0;
  }
}

/* ===== FOOTER ANIMATIONS (Consistent Timing) ===== */
@keyframes footerFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

footer,
.footer-enhanced {
  animation: footerFadeIn var(--footer-transition-slower) var(--footer-ease-out) forwards;
}

/* ===== REDUCED MOTION SUPPORT ===== */
@media (prefers-reduced-motion: reduce) {
  footer,
  .footer-enhanced,
  footer *,
  .footer-enhanced * {
    animation: none !important;
    transition: none !important;
  }
  
  footer a:hover,
  .footer-enhanced a:hover,
  footer .btn:hover,
  .footer-enhanced .btn:hover,
  footer .social-btn:hover,
  .footer-enhanced .social-btn:hover {
    transform: none !important;
  }
}

/* ===== DARK MODE CONSISTENCY ===== */
[data-bs-theme="dark"] footer,
[data-bs-theme="dark"] .footer-enhanced {
  /* Dark mode styles inherit from base footer styles */
  /* Additional dark mode adjustments if needed */
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
footer a:focus-visible,
.footer-enhanced a:focus-visible,
footer .btn:focus-visible,
.footer-enhanced .btn:focus-visible,
footer .social-btn:focus-visible,
.footer-enhanced .social-btn:focus-visible {
  outline: var(--footer-focus-ring-width) solid var(--footer-focus-ring-color);
  outline-offset: var(--footer-focus-ring-offset);
}

/* ===== RESPONSIVE CONSISTENCY ===== */
@media (max-width: 768px) {
  footer,
  .footer-enhanced {
    padding: var(--footer-spacing-2xl) 0 var(--footer-spacing-xl);
  }
  
  footer .social-btn,
  .footer-enhanced .social-btn {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
  }
  
  footer a:not(.btn):not(.social-btn),
  .footer-enhanced a:not(.btn):not(.social-btn) {
    padding: var(--footer-spacing-sm);
    margin: calc(var(--footer-spacing-sm) * -1);
  }
}

/* ===== PRINT STYLES ===== */
@media print {
  footer,
  .footer-enhanced {
    background: #ffffff !important;
    color: #000000 !important;
    border-top: 2px solid #000000;
  }
  
  footer a,
  .footer-enhanced a {
    color: #000000 !important;
  }
  
  footer a:hover,
  .footer-enhanced a:hover {
    transform: none !important;
  }
}


/* ===== FORCE SOCIAL ICONS NAV TO BE VISIBLE ===== */
/* Ensure the nav element containing social icons is always visible */
.footer-enhanced .mb-4.d-flex.align-items-center.gap-4.flex-nowrap,
.footer-enhanced .mb-4.d-flex.align-items-center.gap-4.flex-nowrap nav[role="group"][aria-label="Social media links"],
.footer-enhanced nav[role="group"][aria-label="Social media links"],
.footer-enhanced .d-flex.gap-2.align-items-center[role="group"][aria-label="Social media links"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force social buttons to be visible */
.footer-enhanced .mb-4.d-flex.align-items-center.gap-4.flex-nowrap .social-btn,
.footer-enhanced nav[role="group"][aria-label="Social media links"] .social-btn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force icon elements to be visible */
.footer-enhanced .social-btn i,
.footer-enhanced nav[role="group"][aria-label="Social media links"] .social-btn i {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 1.4rem !important;
  color: #ffffff !important;
}


/* =========================================== */
/* 5. assets/css/footer/footer-height-reduction.css */
/* =========================================== */

/* =========================================== */
/* FOOTER HEIGHT REDUCTION - AGGRESSIVE */
/* Minimizes ALL vertical spacing sources */
/* =========================================== */

/* Reduce main footer padding - MINIMAL */
.footer-enhanced {
  padding: 1rem 0 0.5rem !important;
}

@media (min-width: 992px) {
  .footer-enhanced {
    padding: 1.25rem 0 0.5rem !important;
  }
}

/* Reduce row gap - MINIMAL */
.footer-enhanced .row.g-4.g-lg-5 {
  gap: 0.5rem !important;
}

@media (min-width: 992px) {
  .footer-enhanced .row.g-4.g-lg-5 {
    gap: 0.75rem !important;
  }
}

/* Remove ALL column margins */
.footer-enhanced .row > [class*="col-"] {
  margin-bottom: 0 !important;
}

/* Remove Bootstrap margin classes */
.footer-enhanced .mb-4,
.footer-enhanced .mb-md-0,
.footer-enhanced .mb-2,
.footer-enhanced .mb-3 {
  margin-bottom: 0 !important;
}

/* Reduce profile header spacing - MINIMAL */
.footer-profile-header {
  margin-bottom: 0.5rem !important;
  padding-bottom: 0 !important;
  padding: 0.5rem !important;
  gap: 0.5rem !important;
}

/* Reduce character container margin */
.footer-character-container {
  margin-bottom: 0.25rem !important;
}

/* Reduce character image size significantly */
.footer-character {
  width: 120px !important;
  height: auto !important;
  max-height: 200px !important;
}

/* Reduce profile text spacing */
.footer-profile-text {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.footer-profile-text h3 {
  margin-bottom: 0.125rem !important;
  line-height: 1.2 !important;
}

.footer-profile-text p {
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
  font-size: 0.875rem !important;
}

/* Remove profile divider margin */
.footer-profile-divider {
  margin: 0.5rem 0 !important;
}

/* Reduce badge/social container spacing */
.footer-enhanced .mb-4.d-flex.align-items-center {
  margin-bottom: 0.5rem !important;
  gap: 0.75rem !important;
}

/* Reduce badge padding */
.footer-badge-link {
  padding: 0.375rem 0.75rem !important;
}

/* Reduce social button size */
.footer-enhanced .social-btn {
  width: 2rem !important;
  height: 2rem !important;
  padding: 0 !important;
}

/* Reduce link list spacing - MINIMAL */
.footer-enhanced .list-unstyled li {
  margin-bottom: 0.25rem !important;
}

.footer-enhanced .list-unstyled li.mb-2,
.footer-enhanced .list-unstyled li.mb-3 {
  margin-bottom: 0.25rem !important;
}

/* Reduce Quick Links heading margin */
.footer-enhanced h4.text-uppercase {
  margin-bottom: 0.5rem !important;
  margin-top: 0 !important;
}

/* Reduce accordion button padding */
.footer-enhanced .accordion-button {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.footer-enhanced .accordion-body {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

/* Reduce bottom bar spacing - MINIMAL */
.footer-bottom-row {
  margin-top: 0.75rem !important;
  padding-top: 0.5rem !important;
}

.footer-hr-no-margin {
  margin: 0.75rem 0 0 !important;
}

/* Reduce container padding */
.footer-enhanced .container-fluid {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.footer-enhanced .container-fluid.px-4.px-lg-5 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

@media (min-width: 992px) {
  .footer-enhanced .container-fluid.px-4.px-lg-5 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* Reduce gap utilities */
.footer-enhanced .gap-4,
.footer-enhanced .gap-md-4 {
  gap: 0.5rem !important;
}

.footer-enhanced .gap-3,
.footer-enhanced .gap-md-3 {
  gap: 0.375rem !important;
}

.footer-enhanced .gap-2 {
  gap: 0.25rem !important;
}

/* Reduce line-height utilities */
.footer-enhanced .lh-lg {
  line-height: 1.3 !important;
}

/* Reduce all py- padding utilities */
.footer-enhanced .py-3 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

.footer-enhanced .py-2 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

/* Reduce text spacing */
.footer-enhanced small {
  line-height: 1.2 !important;
}

/* Remove any remaining vertical spacing */
.footer-enhanced .mb-0 {
  margin-bottom: 0 !important;
}

.footer-enhanced .pt-0 {
  padding-top: 0 !important;
}

.footer-enhanced .pb-0 {
  padding-bottom: 0 !important;
}



/* =========================================== */
/* 6. assets/css/footer/footer-link-spacing-fix.css */
/* =========================================== */

/* =========================================== */
/* FOOTER LINK SPACING FIX */
/* Moves links down and improves spacing */
/* while maintaining footer height */
/* =========================================== */

/* Move Quick Links and Collections columns down */
.footer-enhanced .col-lg-4:nth-of-type(2),
.footer-enhanced .col-lg-4:nth-of-type(3),
.footer-enhanced .col-md-6:nth-of-type(2),
.footer-enhanced .col-md-6:nth-of-type(3) {
  padding-top: 1.5rem !important;
}

/* Better spacing between links - Override footer-height-reduction */
.footer-enhanced .list-unstyled li,
.footer-enhanced .footer-links-list li {
  margin-bottom: 0.75rem !important;
}

.footer-enhanced .list-unstyled li.mb-2,
.footer-enhanced .list-unstyled li.mb-3,
.footer-enhanced .footer-links-list li.mb-2,
.footer-enhanced .footer-links-list li.mb-3 {
  margin-bottom: 0.75rem !important;
}

/* Ensure headings have proper spacing */
.footer-enhanced .col-lg-4:nth-of-type(2) h5,
.footer-enhanced .col-lg-4:nth-of-type(3) h5,
.footer-enhanced .col-lg-4:nth-of-type(2) h4,
.footer-enhanced .col-lg-4:nth-of-type(3) h4 {
  margin-bottom: 1rem !important;
  margin-top: 0 !important;
}

/* Adjust footer-nav spacing */
.footer-enhanced .footer-nav {
  margin-top: 0.5rem;
}

/* Mobile adjustments - maintain spacing on smaller screens */
@media (max-width: 991px) {
  .footer-enhanced .col-lg-4:nth-of-type(2),
  .footer-enhanced .col-lg-4:nth-of-type(3),
  .footer-enhanced .col-md-6:nth-of-type(2),
  .footer-enhanced .col-md-6:nth-of-type(3) {
    padding-top: 1rem !important;
  }
  
  .footer-enhanced .list-unstyled li {
    margin-bottom: 0.625rem !important;
  }
}



