/* Footer Templates 7.7.7 · Theme/WTDS owns composition; Footer Studio owns content. */
:is(body,.wapu-footer-preview-scope)[class*="wapu-pg-footer-template-"]{
  --wapu-pg-footer-bg:var(--wtds-ink);
  --wapu-pg-footer-text:var(--wtds-on-image);
  --wapu-pg-footer-primary:var(--wtds-accent);
  --wapu-pg-footer-primary-text:var(--wtds-on-image);
  --wapu-pg-footer-logo-size:2.5rem;
}
.wapu-footer-preview-scope,
.wapu-footer-preview-scope>.wapu-footer--official,
.wapu-footer-preview-scope .wapu-footer--official{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}

.wapu-footer--official[class*="wapu-pg-footer-template-"]{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:var(--wapu-pg-footer-bg,var(--wtds-ink));
  color:var(--wapu-pg-footer-text,var(--wtds-on-image));
}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__inner{position:relative;z-index:1;width:min(92.5rem,100%);margin-inline:auto}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__logo{max-height:var(--wapu-pg-footer-logo-size,2.5rem)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] :is(.wapu-footer-official__title,.wapu-footer-official__brand-text,.wapu-footer-official__service-title,.wapu-footer-official__notice-title){color:var(--wapu-pg-footer-text,var(--wtds-on-image))}
.wapu-footer--official[class*="wapu-pg-footer-template-"] :is(.wapu-footer-official__list a,.wapu-footer-official__contact a,.wapu-footer-official__contact span,.wapu-footer-official__notice-body,.wapu-footer-official__bottom){color:color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 76%,transparent)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] :is(.wapu-footer-official__list a,.wapu-footer-official__contact a):hover{color:var(--wapu-pg-footer-text,var(--wtds-on-image))}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__socials a{color:var(--wapu-pg-footer-text,var(--wtds-on-image));background:color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 10%,transparent)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__bottom{border-color:color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 18%,transparent)}

/* Shape remains independent from the layout template. */
.wapu-footer-official__wave{display:none;position:absolute;z-index:0;inset:auto 0 100%;height:clamp(2.25rem,5vw,5.375rem);color:var(--wapu-pg-footer-bg,var(--wtds-ink));pointer-events:none}
.wapu-footer-official__wave svg{display:block;width:100%;height:100%}
.wapu-footer-official__wave path{fill:currentColor}
.wapu-footer--official.wapu-pg-footer-shape-wave .wapu-footer-official__wave{display:block}
.wapu-footer--official.wapu-pg-footer-shape-wave{margin-top:clamp(2.25rem,5vw,5.375rem)}
.wapu-footer--official.wapu-pg-footer-shape-straight .wapu-footer-official__wave{display:none}

/* Shared brand-navigation-content hierarchy. */
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__brand{justify-content:center;text-align:center;margin-bottom:clamp(2rem,4vw,3.25rem)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__summary{padding-bottom:.85rem;border-bottom:var(--wtds-border-hairline) solid color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 16%,transparent)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__summary::after{color:color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 72%,transparent)}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__title{font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);letter-spacing:.14em;text-transform:uppercase}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__group-body{padding-top:1rem}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__list{gap:.7rem}
.wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__list a{font-size:var(--wtds-fs-footnote);line-height:1.4}

.wapu-footer-official__content{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.55fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.wapu-footer-official__service,.wapu-footer-official__notice{min-width:0}
.wapu-footer-official__service-title,.wapu-footer-official__notice-title{margin:0 0 1.25rem;font-family:var(--wtds-font-text);font-size:var(--wtds-fs-subhead);font-weight:var(--wtds-fw-semibold);line-height:1.25}
.wapu-footer-official__service-title{letter-spacing:.12em;text-transform:uppercase}
.wapu-footer-official__contact{margin-top:0;gap:.8rem}
.wapu-footer-official__contact-row{display:grid;gap:.15rem}
.wapu-footer-official__contact-label{font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 56%,transparent)}
.wapu-footer-official__contact :is(a,span){font-size:var(--wtds-fs-footnote);line-height:1.4}
.wapu-footer-official__socials{justify-content:flex-start;margin-top:1.25rem;gap:.55rem}
.wapu-footer-official__socials a{width:2.15rem;height:2.15rem}
.wapu-footer-official__social-icon,.wapu-footer-official__social-icon svg{display:block;width:1rem;height:1rem}

.wapu-footer-official__notice{max-width:52rem}
.wapu-footer-official__notice-title{font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:-.015em}
.wapu-footer-official__notice-body{font-size:var(--wtds-fs-footnote);line-height:1.55}
.wapu-footer-official__notice-body p{margin:0 0 .9rem}
.wapu-footer-official__notice-body p:last-child{margin-bottom:0}
.wapu-footer-official__notice-body :is(em,i){color:var(--wapu-pg-footer-text,var(--wtds-on-image))}
.wapu-footer-official__notice-body a{color:inherit;text-underline-offset:.2em}
.wapu-footer-official__bottom{margin-top:clamp(2.5rem,5vw,4.25rem);padding-top:1rem}

/* Editorial mirrors the reference: closed navigation headings + service/notice split. */
/* Columns keeps the same disclosure contract with left-aligned identity. */
.wapu-footer--official.wapu-pg-footer-template-footer_columns .wapu-footer-official__brand{justify-content:flex-start;text-align:left}

/* Minimal preserves the hierarchy with a reduced footprint. */
.wapu-footer--official.wapu-pg-footer-template-footer_minimal{padding-block:clamp(2rem,4vw,3.25rem) clamp(1.25rem,3vw,2rem)}
.wapu-footer--official.wapu-pg-footer-template-footer_minimal .wapu-footer-official__brand{justify-content:flex-start;text-align:left;margin-bottom:1.75rem}
.wapu-footer--official.wapu-pg-footer-template-footer_minimal .wapu-footer-official__nav-grid{gap:1.5rem;margin-bottom:2rem}
.wapu-footer--official.wapu-pg-footer-template-footer_minimal .wapu-footer-official__content{gap:2.5rem}
.wapu-footer--official.wapu-pg-footer-template-footer_minimal .wapu-footer-official__bottom{margin-top:2rem}


/* Official footer contract: the shared nav grid is horizontal on desktop.
   All three disclosures start closed and retain their + affordance in every template. */

@media(max-width:56.25rem){
  .wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__brand{justify-content:flex-start;text-align:left;margin-bottom:2rem}
  .wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__nav-grid{grid-template-columns:1fr;gap:0;margin-bottom:2.25rem}
  .wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__group{padding-block:.8rem;border-bottom:var(--wtds-border-hairline) solid color-mix(in srgb,var(--wapu-pg-footer-text,var(--wtds-on-image)) 16%,transparent)}
  .wapu-footer--official[class*="wapu-pg-footer-template-"] .wapu-footer-official__summary{border-bottom:0;padding-bottom:0}
  .wapu-footer-official__content{grid-template-columns:1fr;gap:2.25rem}
  .wapu-footer-official__notice{max-width:none}
  .wapu-footer-official__bottom{margin-top:2.5rem}
}
