/* DCCC GLOBAL FOOTER + CTA STANDARD v4
   Home/approved compact footer is the visual master.
   The shared system controls presentation only; page-specific links/content/routes stay page-specific. */
:root{
  --dccc-footer-max:1480px;
  --dccc-footer-bg:#0d1319;
  --dccc-footer-bg-deep:#090d11;
  --dccc-footer-line:#313941;
  --dccc-footer-text:#f4f6f8;
  --dccc-footer-muted:#b9c0c7;
  --dccc-footer-yellow:#f6bf00;
  --dccc-footer-gap:28px;
  --dccc-footer-radius:14px;
  --dccc-footer-cta-h:clamp(215px,18vw,280px);
}

/* APPROVED CTA STANDARD — one or two compact banners only. */
[data-dccc-global-cta="1"]{
  box-sizing:border-box!important;
  width:min(var(--dccc-footer-max),calc(100% - 36px))!important;
  min-height:var(--dccc-footer-cta-h)!important;
  height:var(--dccc-footer-cta-h)!important;
  max-height:280px!important;
  margin:16px auto 0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--dccc-footer-radius)!important;
}
[data-dccc-global-cta="1"] img,
[data-dccc-global-cta="1"] video,
[data-dccc-global-cta="1"] picture,
[data-dccc-global-cta="1"] canvas,
[data-dccc-global-cta="1"] [data-dccc-cta-media="1"]{
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
[data-dccc-global-cta="1"] [data-dccc-cta-media-extra="1"]{display:none!important}
[data-dccc-global-cta="1"] h1,
[data-dccc-global-cta="1"] h2{
  margin:0 0 8px!important;
  font-size:clamp(24px,2.25vw,40px)!important;
  line-height:1.04!important;
}
[data-dccc-global-cta="1"] p{
  max-width:680px!important;
  margin:0 0 12px!important;
  font-size:clamp(11px,.85vw,13px)!important;
  line-height:1.42!important;
}
[data-dccc-global-cta="1"] a,
[data-dccc-global-cta="1"] button{
  min-height:42px!important;
  max-height:46px!important;
  padding-block:0!important;
  border-radius:8px!important;
}

/* ONE FINAL FOOTER ONLY. */
[data-dccc-global-footer="1"]{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:10px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid var(--dccc-footer-line)!important;
  background:var(--dccc-footer-bg)!important;
  color:var(--dccc-footer-text)!important;
  text-align:left!important;
}

/* Company identity is text-only: suppress logo/media only inside the brand/company block. */
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] img,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] video,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] picture,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] canvas,
[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] svg,
[data-dccc-global-footer="1"] [class*="footer-brand"] img,
[data-dccc-global-footer="1"] [class*="footer-brand"] video,
[data-dccc-global-footer="1"] [class*="footer-brand"] picture,
[data-dccc-global-footer="1"] [class*="footer-brand"] canvas,
[data-dccc-global-footer="1"] [class*="footer-brand"] svg,
[data-dccc-global-footer="1"] [class*="footer-company"] img,
[data-dccc-global-footer="1"] [class*="footer-company"] video,
[data-dccc-global-footer="1"] [class*="footer-company"] picture,
[data-dccc-global-footer="1"] [class*="footer-company"] canvas,
[data-dccc-global-footer="1"] [class*="footer-company"] svg{display:none!important}

[data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
[data-dccc-global-footer="1"] .footer-inner,
[data-dccc-global-footer="1"] .dccc-v6-footer-inner,
[data-dccc-global-footer="1"] .dact-footer-main,
[data-dccc-global-footer="1"] .dbiz-footer-main,
[data-dccc-global-footer="1"] .des4-footer-grid,
[data-dccc-global-footer="1"] .dest2-footer-grid,
[data-dccc-global-footer="1"] .dest-footer-main,
[data-dccc-global-footer="1"] .dmsg-footer-main,
[data-dccc-global-footer="1"] .dos-footer-main,
[data-dccc-global-footer="1"] .dos-footer-grid{
  box-sizing:border-box!important;
  width:min(var(--dccc-footer-max),calc(100% - 36px))!important;
  max-width:var(--dccc-footer-max)!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:28px 0 24px!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(180px,1fr))!important;
  gap:22px var(--dccc-footer-gap)!important;
  align-items:start!important;
  justify-items:stretch!important;
  background:transparent!important;
  text-align:left!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-main="1"]>*,
[data-dccc-global-footer="1"] .footer-inner>*,
[data-dccc-global-footer="1"] .dccc-v6-footer-inner>*,
[data-dccc-global-footer="1"] .dact-footer-main>*,
[data-dccc-global-footer="1"] .dbiz-footer-main>*,
[data-dccc-global-footer="1"] .des4-footer-grid>*,
[data-dccc-global-footer="1"] .dest2-footer-grid>*,
[data-dccc-global-footer="1"] .dest-footer-main>*,
[data-dccc-global-footer="1"] .dmsg-footer-main>*,
[data-dccc-global-footer="1"] .dos-footer-main>*,
[data-dccc-global-footer="1"] .dos-footer-grid>*{
  min-width:0!important;
  align-self:start!important;
  margin:0!important;
  text-align:left!important;
}

/* Heading hierarchy stays consistent across all columns. */
[data-dccc-global-footer="1"] h2,
[data-dccc-global-footer="1"] h3,
[data-dccc-global-footer="1"] h4,
[data-dccc-global-footer="1"] .footer-title,
[data-dccc-global-footer="1"] [class*="footer-title"]{
  margin:0 0 10px!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
[data-dccc-global-footer="1"] h2::after,
[data-dccc-global-footer="1"] h3::after,
[data-dccc-global-footer="1"] h4::after{
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:var(--dccc-footer-yellow);
}

[data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] strong,
[data-dccc-global-footer="1"] [class*="footer-brand"] strong,
[data-dccc-global-footer="1"] [class*="footer-company"] strong{
  display:block!important;
  max-width:300px!important;
  margin:0!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.18!important;
}
[data-dccc-global-footer="1"] p{
  max-width:330px!important;
  margin:8px 0 0!important;
  color:var(--dccc-footer-muted)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-align:left!important;
}

/* Footer link system: same font, same row height, same yellow arrow, same baseline. */
[data-dccc-global-footer="1"] nav{
  display:grid!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  min-height:28px!important;
  margin:0!important;
  padding:3px 0!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  color:#dce1e5!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]::before{
  content:"→"!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  width:16px!important;
  height:16px!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--dccc-footer-yellow)!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1!important;
  transform:translateY(-.25px)!important;
  transition:transform .16s ease,color .16s ease!important;
}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:hover,
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible{color:#fff!important}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:hover::before,
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible::before{transform:translate(2px,-.25px)!important}
[data-dccc-global-footer="1"] [data-dccc-footer-link="1"]:focus-visible{
  outline:2px solid var(--dccc-footer-yellow)!important;
  outline-offset:3px!important;
  border-radius:3px!important;
}
[data-dccc-global-footer="1"] [data-dccc-legacy-arrow="1"]{display:none!important}
[data-dccc-global-footer="1"] [aria-current="page"][data-dccc-footer-link="1"]{color:#fff!important;font-weight:700!important}

/* Existing Message footer visual stage is not part of the compact final footer. Keep its useful text only. */
[data-dccc-global-footer="1"] .dmsg-footer-visual{
  position:static!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
}
[data-dccc-global-footer="1"] .dmsg-footer-visual-stage{display:none!important}
[data-dccc-global-footer="1"] .dmsg-footer-visual>p{position:static!important;margin:0!important;text-shadow:none!important}

/* A merged section is created only when a suppressed legacy footer contains a unique valid route. */
[data-dccc-global-footer="1"] .dccc-global-merged-section{min-width:0!important}

/* Integrated copyright/legal strip — never a second footer. */
[data-dccc-global-footer="1"] [data-dccc-footer-legal="1"],
[data-dccc-global-footer="1"] .footer-legal,
[data-dccc-global-footer="1"] .dccc-v6-footer-bottom,
[data-dccc-global-footer="1"] .dact-footer-bottom,
[data-dccc-global-footer="1"] .dbiz-footer-bottom,
[data-dccc-global-footer="1"] .des4-footer-bottom,
[data-dccc-global-footer="1"] .dest2-footer-bottom,
[data-dccc-global-footer="1"] .dest-footer-bottom,
[data-dccc-global-footer="1"] .dmsg-footer-bottom,
[data-dccc-global-footer="1"] .dos-footer-bottom{
  box-sizing:border-box!important;
  min-height:42px!important;
  height:auto!important;
  margin:0!important;
  padding:11px max(18px,calc((100% - var(--dccc-footer-max))/2))!important;
  border-top:1px solid var(--dccc-footer-line)!important;
  background:var(--dccc-footer-bg-deep)!important;
  color:#949da5!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:left!important;
}
[data-dccc-footer-duplicate="1"]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

@media(max-width:1024px){
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:1.15fr 1fr!important;
    gap:20px 28px!important;
    padding:24px 0 20px!important;
  }
}

@media(max-width:600px){
  :root{--dccc-footer-cta-h:230px;--dccc-footer-radius:10px}
  [data-dccc-global-cta="1"]{
    width:calc(100% - 20px)!important;
    max-height:230px!important;
    margin-top:10px!important;
  }
  [data-dccc-global-footer="1"]{margin-top:8px!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:18px 16px!important;
    padding:20px 0 17px!important;
  }
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"],
  [data-dccc-global-footer="1"] [class*="footer-brand"],
  [data-dccc-global-footer="1"] [class*="footer-company"]{grid-column:1/-1!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{font-size:12px!important;min-height:27px!important;gap:8px!important}
  [data-dccc-global-footer="1"] h2,
  [data-dccc-global-footer="1"] h3,
  [data-dccc-global-footer="1"] h4,
  [data-dccc-global-footer="1"] .footer-title,
  [data-dccc-global-footer="1"] [class*="footer-title"]{font-size:15px!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"] strong,
  [data-dccc-global-footer="1"] [class*="footer-brand"] strong,
  [data-dccc-global-footer="1"] [class*="footer-company"] strong{font-size:18px!important}
}

@media(max-width:560px){
  /* Compatibility checkpoint for the existing deployment QA. The approved mobile layout is inherited from the 600px rule above. */
  [data-dccc-global-footer="1"]{--dccc-footer-qa-compatible:1}
}

@media(max-width:390px){
  [data-dccc-global-footer="1"] [data-dccc-footer-main="1"],
  [data-dccc-global-footer="1"] .footer-inner,
  [data-dccc-global-footer="1"] .dccc-v6-footer-inner,
  [data-dccc-global-footer="1"] .dact-footer-main,
  [data-dccc-global-footer="1"] .dbiz-footer-main,
  [data-dccc-global-footer="1"] .des4-footer-grid,
  [data-dccc-global-footer="1"] .dest2-footer-grid,
  [data-dccc-global-footer="1"] .dest-footer-main,
  [data-dccc-global-footer="1"] .dmsg-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-main,
  [data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  [data-dccc-global-footer="1"] [data-dccc-footer-brand="1"],
  [data-dccc-global-footer="1"] [class*="footer-brand"],
  [data-dccc-global-footer="1"] [class*="footer-company"]{grid-column:auto!important}
  [data-dccc-global-footer="1"] [data-dccc-footer-link="1"]{white-space:normal!important}
}

/* ONLINE SERVICE FOOTER ONLY — geometry/alignment correction. No routing, screen, CTA, backend or page logic is touched here. */
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid{
  width:calc(100% - 24px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:clamp(10px,2.2vw,32px)!important;
  row-gap:0!important;
  align-items:stretch!important;
  padding:20px 0 18px!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main>* ,
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid>*{
  min-width:0!important;
  align-self:stretch!important;
  margin:0!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column nav{
  display:grid!important;
  grid-auto-rows:28px!important;
  min-height:196px!important;
  align-content:start!important;
  gap:0!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column h3{
  min-height:28px!important;
  margin:0 0 8px!important;
}
body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]{
  min-height:28px!important;
  height:28px!important;
  padding:3px 0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-main,
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos-footer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:8px!important;
    width:calc(100% - 16px)!important;
    padding:16px 0 14px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column h3{
    min-height:24px!important;
    font-size:10px!important;
    margin-bottom:5px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column nav{
    grid-auto-rows:25px!important;
    min-height:175px!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]{
    min-height:25px!important;
    height:25px!important;
    font-size:9px!important;
    gap:4px!important;
    padding:2px 0!important;
  }
  body.dccc-online-services-v2 .dos-footer[data-dccc-global-footer="1"] .dos2-footer-column [data-dccc-footer-link="1"]::before{
    width:10px!important;
    height:12px!important;
    font-size:12px!important;
  }
}
