/*
 * V0LT V18.6 — responsive horizontal footer rail
 * Compact/mobile cards below 1101px; a clean draggable desktop rail prevents column collisions from 1101px to 1599px.
 */


/* Mid-size desktop and laptop layouts: keep the footer short and readable
   without squeezing five navigation groups into the newsletter column. */
@media (min-width:1101px) and (max-width:1599px){
  .site-footer{
    position:relative;
    overflow:hidden;
    margin-top:8px;
    padding:42px 0 18px!important;
  }

  .site-footer .footer-top{
    width:100%;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:flex-start!important;
    gap:18px!important;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0!important;
    padding:4px clamp(28px,2.5vw,40px) 26px!important;
    scroll-snap-type:x proximity;
    scroll-padding-inline:clamp(28px,2.5vw,40px);
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    scrollbar-width:none;
  }
  .site-footer .footer-top::-webkit-scrollbar{display:none}

  .site-footer .footer-brand-block{
    flex:0 0 220px;
    min-width:220px;
    scroll-snap-align:start;
  }
  .site-footer .footer-brand{
    width:100%;
    max-width:100%;
    gap:6px;
  }
  .site-footer .footer-brand>img{
    width:34px;
    height:40px;
  }
  .site-footer .footer-brand small{
    letter-spacing:.5px;
    white-space:nowrap;
  }

  .site-footer .footer-links{
    flex:1 0 636px;
    width:auto!important;
    min-width:636px;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
    scroll-snap-align:start;
  }
  .site-footer .footer-links>div{
    flex:0 0 116px;
    min-width:116px;
  }
  .site-footer .footer-links>div>a{
    width:auto;
    max-width:116px;
    white-space:normal;
    overflow-wrap:break-word;
  }
  .site-footer .footer-links h3{
    margin-bottom:14px!important;
  }

  .site-footer .footer-newsletter{
    flex:0 0 286px;
    min-width:286px;
    max-width:none!important;
    grid-column:auto!important;
    align-self:flex-start;
    padding-left:20px;
    border-left:1px solid #dedfe2;
    scroll-snap-align:start;
  }

  .site-footer .footer-bottom{
    width:auto!important;
    margin:0 clamp(28px,2.5vw,40px)!important;
    padding-top:18px!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:20px!important;
  }

  .site-footer .footer-top.is-footer-draggable{cursor:grab}
  .site-footer .footer-top.is-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
  }
  .site-footer .footer-top.is-dragging,
  .site-footer .footer-top.is-dragging *{
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  .site-footer .footer-top input,
  .site-footer .footer-top button,
  .site-footer .footer-top textarea,
  .site-footer .footer-top select{cursor:auto}
}

@media (max-width:1100px){
  .site-footer{
    position:relative;
    overflow:hidden;
    margin-top:8px;
    padding:32px 0 18px!important;
  }

  /* One compact horizontal footer instead of a long vertical stack. */
  .site-footer .footer-top{
    width:100%;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0!important;
    padding:4px 20px 20px!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:20px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    scrollbar-width:none;
  }
  .site-footer .footer-top::-webkit-scrollbar{display:none}

  .site-footer .footer-brand-block,
  .site-footer .footer-newsletter,
  .site-footer .footer-links>div{
    min-width:0;
    min-height:264px;
    padding:22px;
    border:1px solid #e1e5e8;
    border-radius:18px;
    background:rgba(255,255,255,.93);
    box-shadow:0 12px 28px rgba(17,20,25,.055);
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }

  .site-footer .footer-brand-block{
    flex:0 0 clamp(286px,82vw,330px);
  }
  .site-footer .footer-brand{
    width:100%;
    max-width:100%;
  }
  .site-footer .footer-brand small{
    letter-spacing:1.8px;
    white-space:nowrap;
  }

  /* Keep the nav landmark, but lay its groups in the same parent rail. */
  .site-footer .footer-links{
    flex:0 0 auto;
    width:auto;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  .site-footer .footer-links>div{
    flex:0 0 clamp(250px,72vw,282px);
  }
  .site-footer .footer-links h3{
    min-height:0!important;
    margin:0 0 18px!important;
  }
  .site-footer .footer-links>div>a{
    margin:0 0 11px!important;
  }

  .site-footer .footer-newsletter{
    flex:0 0 clamp(296px,84vw,344px);
    max-width:none!important;
    align-self:stretch;
    grid-column:auto!important;
  }

  /* The legal/local row is also a compact horizontal drag rail. */
  .site-footer .footer-bottom{
    width:100%;
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-items:initial!important;
    gap:10px!important;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0!important;
    padding:16px 20px 2px!important;
    border-top:1px solid #dedfe2;
    scroll-snap-type:x proximity;
    scroll-padding-inline:20px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y;
    scrollbar-width:none;
  }
  .site-footer .footer-bottom::-webkit-scrollbar{display:none}
  .site-footer .footer-bottom>span,
  .site-footer .footer-bottom>div{
    flex:0 0 auto;
    min-height:42px;
    display:flex!important;
    align-items:center;
    gap:16px!important;
    margin:0;
    padding:10px 14px;
    border:1px solid #e1e5e8;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .site-footer .footer-bottom>div{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
  }
  .site-footer .footer-local{
    justify-self:auto!important;
  }

  .site-footer .footer-top.is-footer-draggable,
  .site-footer .footer-bottom.is-footer-draggable{
    cursor:grab;
  }
  .site-footer .footer-top.is-dragging,
  .site-footer .footer-bottom.is-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
  }
  .site-footer .is-dragging,
  .site-footer .is-dragging *{
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  .site-footer input,
  .site-footer button,
  .site-footer textarea,
  .site-footer select{
    cursor:auto;
  }
}

@media (max-width:560px){
  .site-footer{
    padding-top:26px!important;
  }
  .site-footer .footer-top{
    gap:12px!important;
    padding:4px 16px 17px!important;
    scroll-padding-inline:16px;
  }
  .site-footer .footer-brand-block{
    flex-basis:min(96vw,318px);
  }
  .site-footer .footer-links{
    gap:12px!important;
  }
  .site-footer .footer-links>div{
    flex-basis:min(75vw,278px);
  }
  .site-footer .footer-newsletter{
    flex-basis:min(86vw,330px);
  }
  .site-footer .footer-bottom{
    padding:14px 16px 1px!important;
    scroll-padding-inline:16px;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-footer .footer-top,
  .site-footer .footer-bottom{
    scroll-behavior:auto!important;
  }
}
