/* Footer */
.site-footer{background:linear-gradient(180deg,#071743,#04102e);color:#d7def5;padding:42px 0 19px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr) 1.8fr;gap:28px}
.footer-brand .brand-text{color:#fff}.site-footer h4{color:#fff;margin:0 0 11px}.site-footer a,.site-footer p{color:#b8c4e8;font-size:12px;margin:6px 0;display:block}.site-footer a:hover{color:#fff}.socials{display:flex;gap:9px;margin-top:18px}.socials a{width:28px;height:28px;border:1px solid rgba(255,255,255,.26);border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;margin:0}.socials span{margin:0;color:#fff}.newsletter{display:flex;margin-top:13px;background:#fff;border-radius:11px;overflow:hidden}.newsletter input{width:100%;border:0;padding:13px;outline:0}.newsletter button{border:0;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;padding:0 17px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#98a8d3;font-size:11px}.footer-bottom>span:last-child{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:22px;text-align:right}.footer-bottom a{display:inline-flex;align-items:center;margin:0;color:#d7def5;font-size:11px;line-height:1.2}.footer-logo-img{max-height:28px;width:auto}
@media (max-width:1180px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:780px){.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom>span:last-child{justify-content:flex-start;text-align:left;margin-top:14px}}

/* v2.2.38: footer brand and columns must keep the same style on translated pages. */
.site-footer .footer-brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  font-weight:950;
  letter-spacing:-.03em;
}
.site-footer .footer-brand .brand-logo-img,
.site-footer .footer-brand .footer-logo-img{
  display:block;
  width:auto;
  height:28px;
  max-height:28px;
  max-width:90px;
  object-fit:contain;
  object-position:left center;
  margin:0;
}
.site-footer .footer-brand .brand-mark{
  display:inline-block;
  font-size:25px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.14em;
  background:linear-gradient(135deg,#6aa8ff,#8c6cff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.site-footer .footer-brand .brand-text{
  display:inline-block;
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.03em;
  margin:0;
}
.footer-grid > div{min-width:0;}
@media (max-width:980px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr;}}


/* v2.2.39: keep bundled fallback logo visible on translated pages */
.site-footer .footer-brand img.brand-logo-img,
.site-footer .footer-brand img.footer-logo-img{
  opacity:1 !important;
  visibility:visible !important;
}

/* v2.2.54: modern editable footer/socials */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 0%, rgba(61,115,255,.26), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(126,45,255,.26), transparent 34%),
    linear-gradient(180deg,#071743,#04102e);
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 78%);
}
.site-footer>.container{position:relative;z-index:1;}
.site-footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff;}
.site-footer p{font-size:13px;line-height:1.7;max-width:320px;}
.site-footer a{transition:color .18s ease, transform .18s ease, background .18s ease, border-color .18s ease;}
.site-footer .footer-grid>div:not(:first-child) a:hover{transform:translateX(3px);}
.socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.socials a{
  width:auto;
  min-width:38px;
  height:38px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
  color:#fff;
  font-weight:900;
}
.socials a:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.36);
  transform:translateY(-2px);
}
.social-icon{display:inline-grid;place-items:center;font-size:13px;line-height:1;}
.social-label{display:none;font-size:11px;line-height:1;}
.newsletter{border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 48px rgba(0,0,0,.16);}
@media (min-width:980px){
  .socials a:hover .social-label{display:inline;}
}
@media (max-width:780px){
  .site-footer{padding-top:34px;}
  .footer-bottom{border-radius:18px;background:rgba(255,255,255,.05);padding:16px;margin-top:24px;}
}


/* v2.2.55: separate editable social fields, clean icon pills */
.site-footer .socials a{
  min-width:42px;
  width:42px;
  height:42px;
  padding:0;
  overflow:hidden;
}
.site-footer .socials .social-icon{
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  display:inline-grid;
  place-items:center;
  font-size:15px;
  line-height:1;
  margin:0;
}
.site-footer .socials .social-icon i{font-size:15px;line-height:1;}
.site-footer .socials .social-label{display:none !important;}
.site-footer .socials a:hover{width:auto;min-width:42px;padding:0 13px;}
.site-footer .socials a:hover .social-label{display:inline !important;font-size:12px;font-weight:900;white-space:nowrap;}
@media (max-width:780px){
  .site-footer .socials a{width:auto;min-width:44px;padding:0 13px;}
  .site-footer .socials .social-label{display:inline !important;font-size:12px;font-weight:900;}
}

.site-footer .socials .social-icon img{width:17px;height:17px;display:block;object-fit:contain;filter:none;}

/* v2.2.56: simple footer social icons: image + URL only */
.site-footer .socials{
  gap:12px;
  align-items:center;
}
.site-footer .socials a,
.site-footer .socials a:hover{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 !important;
  border-radius:16px;
  display:inline-grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 34px rgba(0,0,0,.14);
  transform:none;
}
.site-footer .socials a:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.34);
  transform:translateY(-2px);
}
.site-footer .socials .social-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
}
.site-footer .socials .social-icon img{
  width:22px !important;
  height:22px !important;
  max-width:22px;
  max-height:22px;
  object-fit:contain;
  display:block;
}
.site-footer .socials .social-label{display:none !important;}
.site-footer .footer-grid>div:not(:first-child):empty{display:none;}


/* v2.2.57: footer socials only icon + URL, no text */
.site-footer .socials a .social-label{display:none!important;}
.site-footer .socials a{font-size:0!important;}
.site-footer .socials .social-icon{font-size:0!important;}

/* v2.2.62: final hard fix for custom footer social images */
.site-footer .socials{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:18px!important;
  overflow:visible!important;
}
.site-footer .socials a{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
}
.site-footer .socials .social-icon,
.site-footer .socials .social-icon img{
  display:block!important;
  width:20px!important;
  height:20px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}


/* v2.2.63: keep footer social icons fixed on hover */
.site-footer .socials{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.site-footer .socials a,
.site-footer .socials a:hover,
.site-footer .socials a:focus{
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  transform:none!important;
  translate:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.site-footer .socials a:hover,
.site-footer .socials a:focus{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.06)!important;
}
.site-footer .socials .social-icon,
.site-footer .socials .social-icon img{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  display:block!important;
  object-fit:contain!important;
}
.site-footer .socials a .social-label{display:none!important;}
.site-footer .footer-grid>div:first-child a:hover{transform:none!important;}
