/* Radio Integral — V12 global visual polish
   Global footer brand rail + more visible back-to-top control. */

/* Brand rail: readable on every page, original brand colours, one continuous moving strip. */
.ri-footer-brand-marquee{
  width:100%!important;
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  margin:0 0 34px!important;
  padding:16px 18px!important;
  border:1px solid rgba(11,29,56,.11)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%)!important;
  box-shadow:0 12px 34px rgba(5,20,42,.09)!important;
  overflow:hidden!important;
}
.ri-footer-brand-label{
  margin:0!important;
  color:#53657e!important;
  font-size:.69rem!important;
  line-height:1.25!important;
  font-weight:850!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.ri-footer-brand-viewport{
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  padding:2px 0!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)!important;
}
.ri-footer-brand-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:max-content!important;
  animation:riFooterBrandScrollV12 34s linear infinite!important;
  will-change:transform!important;
}
.ri-footer-brand-marquee:hover .ri-footer-brand-track,
.ri-footer-brand-marquee:focus-within .ri-footer-brand-track{animation-play-state:paused!important}
.ri-footer-brand-set{
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  padding-right:22px!important;
  flex:0 0 auto!important;
}
.ri-footer-brand-item{
  width:160px!important;
  height:50px!important;
  flex:0 0 160px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:7px 12px!important;
  border:1px solid #e3e8ef!important;
  border-radius:12px!important;
  background:#fff!important;
  text-decoration:none!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.ri-footer-brand-item:hover,.ri-footer-brand-item:focus-visible{
  border-color:#bdc9d9!important;
  box-shadow:0 7px 18px rgba(5,20,42,.09)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.ri-footer-brand-item img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:132px!important;
  max-height:31px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:.92!important;
  transform:none!important;
  animation:none!important;
}
.ri-footer-brand-item:hover img,.ri-footer-brand-item:focus-visible img{opacity:1!important;filter:none!important}
@keyframes riFooterBrandScrollV12{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* More visible back-to-top: larger hit target and a real thick arrow, not a thin font glyph. */
.back-to-top{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  z-index:900!important;
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  border:2px solid rgba(255,255,255,.92)!important;
  background:#e51d2a!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(229,29,42,.34),0 2px 7px rgba(6,18,37,.18)!important;
  cursor:pointer!important;
  font-size:0!important;
  line-height:0!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.back-to-top::before{
  content:"";
  position:absolute;
  left:50%;
  top:16px;
  width:12px;
  height:12px;
  border-right:4px solid #fff;
  border-bottom:4px solid #fff;
  border-radius:1px;
  transform:translateX(-50%) rotate(-135deg);
}
.back-to-top::after{
  content:"";
  position:absolute;
  left:50%;
  top:24px;
  width:4px;
  height:16px;
  border-radius:4px;
  background:#fff;
  transform:translateX(-50%);
}
.back-to-top:hover,.back-to-top:focus-visible{
  background:#c91824!important;
  transform:translateY(-3px)!important;
  box-shadow:0 14px 34px rgba(229,29,42,.42),0 3px 8px rgba(6,18,37,.2)!important;
  outline:3px solid rgba(255,255,255,.62)!important;
  outline-offset:2px!important;
}
.back-to-top:active{transform:translateY(-1px)!important}

@media(max-width:780px){
  .ri-footer-brand-marquee{
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-bottom:28px!important;
    padding:15px 14px!important;
    border-radius:15px!important;
  }
  .ri-footer-brand-label{text-align:left!important;white-space:normal!important}
  .ri-footer-brand-set{gap:14px!important;padding-right:14px!important}
  .ri-footer-brand-item{width:132px!important;flex-basis:132px!important;height:46px!important;padding:6px 10px!important}
  .ri-footer-brand-item img{max-width:108px!important;max-height:27px!important}
  .ri-footer-brand-track{animation-duration:27s!important}
  .back-to-top{right:16px!important;bottom:16px!important;width:50px!important;height:50px!important}
  .back-to-top::before{top:14px;width:11px;height:11px;border-right-width:4px;border-bottom-width:4px}
  .back-to-top::after{top:22px;height:15px}
}
@media(prefers-reduced-motion:reduce){
  .ri-footer-brand-track{animation:none!important}
  .ri-footer-brand-viewport{overflow-x:auto!important;-webkit-mask-image:none!important;mask-image:none!important;scrollbar-width:thin!important}
  .ri-footer-brand-set[aria-hidden="true"]{display:none!important}
  .back-to-top{transition:none!important}
}


/* V12.1 footer legal-row cleanup */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.footer-bottom .footer-copy{display:inline-flex;align-items:center;white-space:nowrap}
.footer-legal{display:inline-flex;align-items:center;margin-left:auto}
.footer-legal a{display:inline-flex;align-items:center;margin:0;padding:6px 0;color:#cbd5e1;font-size:12px;line-height:1.2;text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
@media(max-width:760px){.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-bottom .footer-copy{white-space:normal}.footer-legal{margin-left:0}}
