/* Consolidated footer styles extracted from portal.css */
/* Ensure the page uses a column flex layout so footer sits at the bottom */
html, body { height: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; }

:root{--footer-bg:#1a1a1a;--footer-accent:#0092CF}
/* Reduce margin-top on footer when using flex layout so spacing is consistent */
.footer-custom{background:var(--footer-bg);color:#fff;padding:2.5rem 0 1.5rem;margin-top:0;position:relative;overflow:hidden;border-top:4px solid var(--footer-accent);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;width:100%;clear:both}
.footer-custom .container{max-width:100%;padding-left:1rem;padding-right:1rem}
.footer-main{margin-bottom:2rem}
.footer-main .row{margin-left:-0.75rem;margin-right:-0.75rem}
.footer-main .row > [class*="col-"]{padding:0.75rem 1rem}
.footer-logo{height:50px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1);opacity:0.95;transition:var(--transition)}
.footer-logo:hover{opacity:1}
.footer-brand-title{color:#fff;font-weight:700;font-size:1.35rem;margin-bottom:1rem;letter-spacing:-0.3px}
.footer-description{color:rgba(255,255,255,0.8);font-size:0.95rem;line-height:1.7;margin-bottom:2rem}
.footer-section-title{color:#fff!important;font-weight:600;font-size:1rem;margin-bottom:0.8rem;text-transform:uppercase;letter-spacing:1px;position:relative;padding-bottom:0.5rem;display:block!important;z-index:2;visibility:visible!important;opacity:1!important}
.footer-section-title::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--footer-accent);z-index:1;pointer-events:none}
.footer-links-list{list-style:none;padding:0.5rem 0.75rem;margin:0}
.footer-links-list li{margin-bottom:0.45rem}
.footer-links-list a{color:rgba(255,255,255,0.75);text-decoration:none;transition:all 0.3s ease;font-size:0.95rem;display:inline-block;padding:0.25rem 0;position:relative;letter-spacing:0.01em}
.footer-links-list a::before{content:"\2192";position:absolute;left:-20px;opacity:0;transition:all 0.3s ease;color:var(--footer-accent);font-family:inherit}
.footer-links-list a:hover{color:#fff;padding-left:20px}
.footer-links-list a:hover::before{opacity:1;left:0}
.social-media-links{display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;text-decoration:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);font-size:1.3rem;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.social-link i{position:relative;z-index:2;transition:all 0.3s ease}
.social-link.facebook{background:#1877F2;color:#fff;border:2px solid #1877F2}
.social-link.facebook:hover{background:#166FE5;box-shadow:0 6px 20px rgba(24,119,242,0.4)}
.social-link.youtube{background:#FF0000;color:#fff;border:2px solid #FF0000}
.social-link.youtube:hover{background:#E60000;box-shadow:0 6px 20px rgba(255,0,0,0.4)}
.social-link.instagram{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;border:2px solid transparent}
.social-link.instagram:hover{box-shadow:0 6px 20px rgba(188,24,136,0.4)}
.social-link.linkedin{background:#0077B5;color:#fff;border:2px solid #0077B5}
.social-link.linkedin:hover{background:#006399;box-shadow:0 6px 20px rgba(0,119,181,0.4)}
.footer-contact-info{display:flex;align-items:flex-start;gap:0.75rem;color:rgba(255,255,255,0.8);font-size:0.9rem;line-height:1.6;margin-top:0}
.footer-contact-info i{color:var(--footer-accent);font-size:1.1rem;margin-top:0.15rem;flex-shrink:0;width:20px;text-align:center}
.footer-contact-info>div{flex:1}
.footer-contact-info strong{color:#fff;display:block;margin-bottom:0.4rem;font-weight:600;font-size:0.95rem}
.footer-contact-info span{color:rgba(255,255,255,0.7);display:block;line-height:1.5}
.footer-bottom{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,0.1)}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,0.15);margin:0 0 1.5rem}
.footer-text{color:rgba(255,255,255,0.7);font-size:0.875rem;margin:0;line-height:1.7}
.footer-copyright{color:rgba(255,255,255,0.7);font-size:0.875rem;margin:0;font-weight:500}
@media (max-width:767px){.footer-bottom{padding-top:1rem;margin-top:1rem}.footer-divider{margin:0 0 1rem}}
/* Mobile specific condensed rules kept to preserve layout */
@media (max-width:575px){
  .footer-custom{padding:1.5rem 0.75rem 1rem;margin-top:1rem}
  .footer-custom .container{padding-left:0.75rem;padding-right:0.75rem}
  .footer-main{margin-bottom:1rem;width:100%}
  .footer-main .row{display:flex!important;flex-direction:column!important;gap:1rem!important;margin-left:0!important;margin-right:0!important;width:100%!important}
  .footer-main .row>[class*="col-"]{width:100%!important;padding-left:1rem!important;padding-right:1rem!important;text-align:center!important}
  .footer-section-title{font-size:0.85rem!important;margin-bottom:0.4rem!important;text-align:center!important}
  .footer-links-list{padding:0!important;margin:0!important;text-align:center}
  .footer-links-list a:hover::before{display:none}
  .footer-links-list a:hover{padding-left:0}
  .social-media-links{justify-content:center!important;margin-bottom:0.7rem!important}
  .footer-contact-info{margin-top:0.4rem;font-size:0.85rem;text-align:center;flex-direction:column;align-items:center}
  .footer-text,.footer-copyright{text-align:center;font-size:0.8rem}
}
