/* FOOTER OVERRIDE - SUPER AGGRESSIVE - DARK TEAL BLUE */

/* Remove ALL margins and padding */
* {
  box-sizing: border-box !important;
}

html {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
  width: 100% !important;
}

/* SUPER AGGRESSIVE FOOTER STYLING - DARK BLUE */
html body footer.holographic-footer,
html body .holographic-footer,
body footer.holographic-footer,
body .holographic-footer,
footer.holographic-footer,
.holographic-footer {
  background: #003366 !important;
  background-color: #003366 !important;
  background-image: none !important;
  color: #ffffff !important;
  padding: 50px 0 0 0 !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.footer-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 30px 40px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 40px !important;
  align-items: start !important;
  background: transparent !important;
  background-color: transparent !important;
  box-sizing: border-box !important;
  width: 100% !important;
  overflow-x: hidden !important;
}

.footer-logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.footer-logo img {
  width: 100px !important;
  height: 100px !important;
  margin-bottom: 20px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: none !important;
  box-shadow: none !important;
}

.footer-logo h3 {
  color: #ffffff !important;
  margin-bottom: 10px !important;
  font-size: 1.3rem !important;
}

.footer-logo p {
  color: #ffc107 !important;
  font-style: italic !important;
  font-size: 1rem !important;
}

.footer-links {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 30px !important;
}

.footer-section h4 {
  font-size: 1.3rem !important;
  margin-bottom: 20px !important;
  position: relative !important;
  padding-bottom: 10px !important;
  color: #ffc107 !important;
}

.footer-section h4::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 50px !important;
  height: 3px !important;
  background: #ffc107 !important;
}

.footer-section ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-section ul li {
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  font-size: 1rem !important;
}

.footer-section ul li a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.footer-section ul li a:hover {
  color: #ffc107 !important;
}

.footer-section ul li i,
.footer-section ul li svg {
  color: #ffc107 !important;
  margin-right: 10px !important;
}

.footer-bottom {
  text-align: center !important;
  padding: 30px 0 30px 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(0, 0, 0, 0.3) !important;
  width: 100% !important;
  display: block !important;
}

.footer-bottom p {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
}

/* Remove glass effect */
.holographic-footer::before {
  display: none !important;
  content: none !important;
}

/* Remove any space after footer */
.holographic-footer ~ * {
  display: none !important;
}

footer:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Body flexbox */
body {
  display: flex !important;
  flex-direction: column !important;
}

body > *:not(script):not(style) {
  flex-shrink: 0 !important;
}

.holographic-footer {
  margin-top: auto !important;
}

/* Remove all spacing */
html, body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 768px) {
  .footer-container {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  
  .footer-links {
    grid-template-columns: 1fr !important;
  }
}


/* FORCE FOOTER TO STICK TO BOTTOM - NO GAP - NOT STICKY */
html {
  margin: 0 !important;
  padding: 0 !important;
}

body {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Make all content before footer take available space */
body > *:not(footer):not(script):not(style) {
  flex-shrink: 0 !important;
}

footer.holographic-footer,
.holographic-footer {
  position: static !important;
  bottom: auto !important;
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

/* Remove any bottom spacing */
body::after,
html::after {
  display: none !important;
  content: none !important;
}

/* Ensure no margin/padding after footer */
footer.holographic-footer::after,
.holographic-footer::after {
  display: none !important;
  content: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Force no space after body */
body {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

html {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Ensure footer is last element with no space */
body > footer:last-child,
body > .holographic-footer:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* PREVENT HORIZONTAL SCROLLBAR */
html, body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* Ensure footer doesn't cause overflow */
footer.holographic-footer,
.holographic-footer {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}


/* COMPREHENSIVE RESPONSIVE FOOTER FOR ALL SCREEN SIZES */

/* Extra Large Screens (1920px and above) */
@media (min-width: 1920px) {
  .footer-container {
    max-width: 1800px !important;
    padding: 0 50px 50px !important;
    gap: 60px !important;
  }
  
  .footer-logo img {
    width: 120px !important;
    height: 120px !important;
  }
  
  .footer-logo h3 {
    font-size: 1.6rem !important;
  }
  
  .footer-logo p {
    font-size: 1.2rem !important;
  }
  
  .footer-section h4 {
    font-size: 1.5rem !important;
  }
  
  .footer-section ul li {
    font-size: 1.1rem !important;
    margin-bottom: 15px !important;
  }
  
  .footer-bottom p {
    font-size: 1.1rem !important;
  }
}

/* Large Screens (1440px - 1919px) */
@media (min-width: 1440px) and (max-width: 1919px) {
  .footer-container {
    max-width: 1600px !important;
    padding: 0 40px 45px !important;
  }
  
  .footer-logo img {
    width: 110px !important;
    height: 110px !important;
  }
}

/* Desktop (1200px - 1439px) */
@media (min-width: 1200px) and (max-width: 1439px) {
  .footer-container {
    max-width: 1400px !important;
    padding: 0 35px 40px !important;
  }
}

/* Laptop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
  .footer-container {
    max-width: 1200px !important;
    padding: 0 30px 35px !important;
    gap: 35px !important;
  }
  
  .footer-logo img {
    width: 90px !important;
    height: 90px !important;
  }
  
  .footer-logo h3 {
    font-size: 1.2rem !important;
  }
  
  .footer-section h4 {
    font-size: 1.2rem !important;
  }
  
  .footer-section ul li {
    font-size: 0.95rem !important;
  }
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .footer-container {
    grid-template-columns: 1fr 1fr !important;
    padding: 0 25px 30px !important;
    gap: 30px !important;
  }
  
  .footer-logo {
    grid-column: 1 / -1 !important;
    align-items: center !important;
    text-align: center !important;
  }
  
  .footer-logo img {
    width: 85px !important;
    height: 85px !important;
  }
  
  .footer-links {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr 1fr !important;
  }
  
  .footer-section h4 {
    font-size: 1.1rem !important;
  }
  
  .footer-section ul li {
    font-size: 0.9rem !important;
  }
  
  .footer-bottom p {
    font-size: 0.9rem !important;
  }
}

/* Mobile Large (576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
  .footer-container {
    grid-template-columns: 1fr !important;
    padding: 0 20px 25px !important;
    gap: 25px !important;
  }
  
  .footer-logo {
    align-items: center !important;
    text-align: center !important;
  }
  
  .footer-logo img {
    width: 80px !important;
    height: 80px !important;
  }
  
  .footer-logo h3 {
    font-size: 1.1rem !important;
  }
  
  .footer-logo p {
    font-size: 0.9rem !important;
  }
  
  .footer-links {
    grid-template-columns: 1fr !important;
  }
  
  .footer-section {
    text-align: center !important;
  }
  
  .footer-section ul li {
    justify-content: center !important;
    font-size: 0.9rem !important;
  }
  
  .footer-section h4 {
    font-size: 1.1rem !important;
  }
  
  .footer-section h4::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  
  .footer-bottom {
    padding: 25px 0 !important;
  }
  
  .footer-bottom p {
    font-size: 0.85rem !important;
  }
}

/* Mobile Small (320px - 575px) */
@media (max-width: 575px) {
  footer.holographic-footer,
  .holographic-footer {
    padding: 30px 0 0 0 !important;
  }
  
  .footer-container {
    grid-template-columns: 1fr !important;
    padding: 0 15px 20px !important;
    gap: 20px !important;
  }
  
  .footer-logo {
    align-items: center !important;
    text-align: center !important;
  }
  
  .footer-logo img {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 15px !important;
  }
  
  .footer-logo h3 {
    font-size: 1rem !important;
  }
  
  .footer-logo p {
    font-size: 0.85rem !important;
  }
  
  .footer-links {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .footer-section {
    text-align: center !important;
  }
  
  .footer-section h4 {
    font-size: 1rem !important;
    margin-bottom: 15px !important;
  }
  
  .footer-section h4::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  
  .footer-section ul li {
    justify-content: center !important;
    font-size: 0.85rem !important;
    margin-bottom: 10px !important;
  }
  
  .footer-bottom {
    padding: 20px 0 !important;
  }
  
  .footer-bottom p {
    font-size: 0.8rem !important;
    padding: 0 10px !important;
  }
}

/* Extra Small Mobile (below 320px) */
@media (max-width: 319px) {
  .footer-container {
    padding: 0 10px 15px !important;
  }
  
  .footer-logo img {
    width: 60px !important;
    height: 60px !important;
  }
  
  .footer-logo h3 {
    font-size: 0.9rem !important;
  }
  
  .footer-logo p {
    font-size: 0.75rem !important;
  }
  
  .footer-section h4 {
    font-size: 0.9rem !important;
  }
  
  .footer-section ul li {
    font-size: 0.75rem !important;
  }
  
  .footer-bottom p {
    font-size: 0.7rem !important;
  }
}

/* ABSOLUTE BOTTOM POSITIONING - NO SPACE */
html {
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body {
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

footer.holographic-footer,
.holographic-footer {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove any trailing space */
body > *:last-child {
  margin-bottom: 0 !important;
}

/* Ensure footer bottom has no extra space */
.footer-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 30px !important;
}
