/* 1.22.5 — approved particle-wave footer.
   Desktop keeps each page's existing geometry. All content remains HTML;
   original logo/QR assets and each page's QR visibility remain unchanged.
   The contact id deliberately scopes these overrides to the site footer. */
body footer.site-footer#contact{
  background-color:#031a3f;
  background-image:linear-gradient(to bottom,#031a3f 0%,rgba(3,26,63,.7) 24%,rgba(3,26,63,0) 60%),url('../assets/banner-refresh-1.22.5/footer-particle-wave.webp');
  background-position:center bottom;
  background-size:100% 80px,100% 80px;
  background-repeat:no-repeat;
  isolation:isolate;
}
body footer.site-footer#contact::before,
body footer.site-footer#contact::after{
  content:none;
  display:none;
}

/* 1.22.6 — preserve the artwork's 3:1 ratio on desktop. Crop its quiet upper
   area instead of squeezing the whole bitmap into an 80px strip. A dark
   overlay protects the existing contact copy without changing its geometry. */
@media(min-width:960px){
  body footer.site-footer#contact{
    background-image:linear-gradient(to bottom,#031a3f 0%,rgba(3,26,63,.96) 45%,rgba(3,26,63,.68) 65%,rgba(3,26,63,.12) 88%,rgba(3,26,63,0) 100%),url('../assets/banner-refresh-1.22.5/footer-particle-wave.webp');
    background-size:100% 100%,100% auto;
    background-position:center bottom,center calc(100% + clamp(20px,4.6vw,90px));
  }
}

@media(max-width:959px){
  body footer.site-footer#contact{
    height:auto;
    min-height:0;
    padding:28px 24px 72px;
    overflow:visible;
    background-image:linear-gradient(to bottom,#031a3f 0%,rgba(3,26,63,.7) 24%,rgba(3,26,63,0) 60%),url('../assets/banner-refresh-1.22.5/footer-particle-wave.webp');
    background-size:100% 210px,max(100%,630px) 210px;
    background-position:center bottom;
    border-top:1px solid #4e83b54d;
  }
  body footer.site-footer#contact :is(.footer-inner,.aav-footer-inner,.ad-footer-inner,.ov-footer-inner,.sc-footer-inner){
    position:relative;
    inset:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    width:100%;
    max-width:680px;
    min-width:0;
    height:auto;
    margin:0 auto;
    padding:0;
    transform:none;
  }
  body footer.site-footer#contact :is(.footer-brand,.aav-footer-brand,.ad-footer-brand,.ov-footer-brand,.sc-footer-brand){
    position:static;
    inset:auto;
    width:auto;
    min-width:0;
    height:auto;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
    transform:none;
  }
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity){
    position:static;
    inset:auto;
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    align-items:center;
    gap:14px;
    width:100%;
    min-width:0;
    height:auto;
    margin:0;
    padding:0;
    transform:none;
  }
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity)>.brand-image{
    display:contents;
  }
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity) img{
    position:static;
    inset:auto;
    display:block;
    grid-column:1;
    width:96px;
    max-width:100%;
    height:auto;
    margin:0;
    padding:0;
    object-fit:contain;
    transform:none;
    mask-image:none;
  }
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity)>div{
    position:static;
    inset:auto;
    grid-column:2;
    width:auto;
    min-width:0;
    height:auto;
    margin:0;
    padding:0;
    transform:none;
  }
  body footer.site-footer#contact .company-name{
    margin:0;
    font-size:14px;
    font-weight:700;
    line-height:1.55;
    letter-spacing:0;
    white-space:normal;
    overflow-wrap:break-word;
  }
  body footer.site-footer#contact .company-en{
    margin:3px 0 0;
    font-family:Arial,sans-serif;
    font-size:10px;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.1px;
    white-space:normal;
    overflow-wrap:break-word;
  }
  body footer.site-footer#contact :is(.slogan,.aav-footer-slogan,.ad-footer-slogan,.ov-footer-slogan,.sc-footer-slogan){
    position:static;
    inset:auto;
    width:auto;
    margin:16px 0 0!important;
    padding:0;
    font-size:13px;
    line-height:1.65;
    letter-spacing:0;
    text-align:left;
    white-space:normal;
    overflow-wrap:break-word;
    transform:none;
  }
  body footer.site-footer#contact :is(.slogan,.aav-footer-slogan,.ad-footer-slogan,.ov-footer-slogan,.sc-footer-slogan)>span{
    display:block;
    margin:3px 0 0;
    padding:0;
    border:0;
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.6;
    letter-spacing:0;
  }
  /* Preserve the existing English edition's duplicate-slogan suppression. */
  html[data-locale="en"] body footer.site-footer#contact .slogan>span{display:none}

  body footer.site-footer#contact :is(.contact-details,.aav-footer-contacts,.ad-footer-contacts,.ov-footer-contacts,.sc-footer-contacts){
    position:static;
    inset:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    gap:12px;
    width:100%;
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    font-style:normal;
    font-size:14px;
    line-height:1.65;
    transform:none;
  }
  body footer.site-footer#contact :is(.contact-details,.aav-footer-contacts,.ad-footer-contacts,.ov-footer-contacts,.sc-footer-contacts)>:is(a,div,p){
    position:static;
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:start;
    column-gap:12px;
    row-gap:0;
    min-width:0;
    min-height:24px;
    margin:0;
    padding:0;
    font-size:14px;
    line-height:1.65;
    text-align:left;
    white-space:normal;
    transform:none;
  }
  body footer.site-footer#contact :is(.contact-icon,.aav-footer-contact-icon,.ad-footer-contact-icon,.ov-footer-contact-icon,.sc-footer-contact-icon){
    position:static;
    display:grid;
    place-items:center;
    align-self:start;
    width:24px;
    height:24px;
    min-width:24px;
    margin:0;
    padding:0;
    border-radius:50%;
  }
  body footer.site-footer#contact :is(.contact-icon,.aav-footer-contact-icon,.ad-footer-contact-icon,.ov-footer-contact-icon,.sc-footer-contact-icon) svg{
    display:block;
    width:15px;
    height:15px;
    margin:0;
  }
  body footer.site-footer#contact :is(.contact-details,.aav-footer-contacts,.ad-footer-contacts,.ov-footer-contacts,.sc-footer-contacts)>:is(a,div,p)>span:last-child{
    position:static;
    min-width:0;
    margin:0;
    padding:0;
    font-size:14px;
    line-height:1.65;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  body footer.site-footer#contact :is(.contact-details,.aav-footer-contacts,.ad-footer-contacts,.ov-footer-contacts,.sc-footer-contacts) br{display:block}

  /* Do not set display here: footer QR is intentionally absent on some pages. */
  body footer.site-footer#contact .footer-qr{
    position:static;
    inset:auto;
    grid-column:auto;
    justify-self:start;
    width:auto;
    margin:0;
    padding:0;
    border:0;
    text-align:left;
    transform:none;
  }
  body footer.site-footer#contact .footer-qr::before{content:none;display:none}
  body footer.site-footer#contact .footer-qr img{
    display:block;
    width:100px;
    height:100px;
    margin:0;
    object-fit:contain;
    background:#fff;
    transform:none;
  }
  body footer.site-footer#contact .footer-qr p{
    margin:7px 0 0;
    padding:0;
    font-size:12px;
    line-height:1.5;
    white-space:normal;
    transform:none;
  }
}
@media(max-width:359px){
  body footer.site-footer#contact{padding-inline:20px}
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity){grid-template-columns:88px minmax(0,1fr);gap:12px}
  body footer.site-footer#contact :is(.footer-identity,.aav-footer-identity,.ad-footer-identity,.ov-footer-identity,.sc-footer-identity) img{width:88px}
  body footer.site-footer#contact .company-name{font-size:13px}
}
