/* VLF Magic Circle Editorial 12.14.38
 * PwC-inspired footer / sidebar on stable 12.14.31 architecture.
 * CSS only: does not move DOM nodes, inject content or create links.
 * Four columns desktop, two tablet, one phone. All languages use the same styles.
 */
:root {
  --vlf-editorial-gray:#f2f3f5;
  --vlf-editorial-gray-deep:#e9ebee;
  --vlf-editorial-ink:#151619;
  --vlf-editorial-copy:#33363b;
  --vlf-editorial-rule:#202126;
  --vlf-editorial-bordeaux:#812642;
  --vlf-editorial-copper:#aa7b5b;
}
/* Solid uninterrupted backgrounds. The site content styles are deliberately excluded. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-main,.footer-widgets,.footer-sidebar,.footer-bottom,.ast-footer-wrap,.ast-builder-footer-grid-columns,.ast-small-footer,.site-info) {
  background:var(--vlf-editorial-gray)!important;
  background-image:none!important;
  color:var(--vlf-editorial-ink)!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) {
  border-top:1px solid #d7d9dc!important;
}
/* Sidebar's background is integrated with the footer directory, no individual cards. */
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) {
  background:var(--vlf-editorial-gray)!important;
  background-image:none!important;
  color:var(--vlf-editorial-ink)!important;
  border:0!important;
  box-shadow:none!important;
}
/* Disable legacy pink tiles and vertical burgundy strokes at every known widget level. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget,.widget_block,.footer-widget,.elementor-widget-container) {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:var(--vlf-editorial-ink)!important;
  padding:0!important;
}
/* Restore deliberate spacing between sidebar rubrics without boxing them. */
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget,.widget_block) {
  margin-bottom:clamp(24px,3vw,42px)!important;
}
/* The four directory headings: black, compact, with a black horizontal rule above. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget-title,.wp-block-heading,.elementor-heading-title,h2,h3,h4) {
  color:var(--vlf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vlf-editorial-ink)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(17px,1.35vw,21px)!important;
  font-weight:700!important;
  line-height:1.26!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  background:transparent!important;
  border-top:2px solid var(--vlf-editorial-rule)!important;
  padding-top:14px!important;
  margin:0 0 20px!important;
  min-width:0!important;
  overflow-wrap:anywhere;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(.widget-title,.wp-block-heading,.elementor-heading-title,h2,h3,h4)::after {display:none!important;content:none!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) :is(p,li,span,small,em,strong,label) {
  color:var(--vlf-editorial-copy)!important;
  -webkit-text-fill-color:var(--vlf-editorial-copy)!important;
}
/* Black links everywhere in directory/sidebar; burgundy is a small interaction accent. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button):not(.wp-element-button),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button):not(.wp-element-button):visited {
  color:#111214!important;
  -webkit-text-fill-color:#111214!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(13px,1vw,15px)!important;
  line-height:1.55!important;
  font-weight:450!important;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,#secondary,#sidebar,.site-sidebar,.sidebar-primary,.widget-area,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button):not(.wp-element-button):hover {
  color:#111214!important;
  -webkit-text-fill-color:#111214!important;
  text-decoration:underline!important;
  text-decoration-color:var(--vlf-editorial-bordeaux)!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px!important;
}
/* The four already-existing footer directory groups, no rewriting their links. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar,.footer-widget-area,.footer-widget-wrapper,.footer-columns,.footer-grid,.ast-builder-footer-grid-columns,.ast-footer-widget-area) :is(.widget,.widget_block,.footer-widget) {
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
/* Only lay out a group when it visibly has at least four direct columns. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar,.footer-widget-area,.footer-widget-wrapper,.footer-columns,.footer-grid,.ast-builder-footer-grid-columns,.ast-footer-widget-area,.elementor-container,.e-con-inner,.row):has(> :nth-child(4):last-child),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > :is(.container,.row,.footer-widget-wrapper):has(> :nth-child(4):last-child),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > .container > .row:has(> :nth-child(4):last-child) {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(22px,3vw,46px)!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
/* Elementor and theme percentage-based columns must fill their grid tracks. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar,.footer-widget-area,.footer-widget-wrapper,.footer-columns,.footer-grid,.ast-builder-footer-grid-columns,.ast-footer-widget-area,.elementor-container,.e-con-inner,.row):has(> :nth-child(4):last-child) > *,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > :is(.container,.row,.footer-widget-wrapper):has(> :nth-child(4):last-child) > *,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > .container > .row:has(> :nth-child(4):last-child) > * {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex:initial!important;
  margin-inline:0!important;
}

/* Respect navigation-width container on desktop where a footer container exists. */
body:not(.wp-admin) :is(.site-footer,#colophon) > :is(.container,.ast-container,.footer-container),
body:not(.wp-admin) .elementor-location-footer > .elementor > .elementor-section > .elementor-container {
  width:calc(100% - 48px)!important;
  max-width:1440px!important;
  min-width:0!important;
  margin-inline:auto!important;
}
/* Nav columns are clean lists, not vertically centered tiles. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar) :is(ul,.menu,.wp-block-list) {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar) :is(li,.menu-item) {
  margin:0 0 9px!important;
  padding:0!important;
  line-height:1.55!important;
}
/* Secondary social and legal footer: separate, quiet horizontal bands. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-social,.social-links,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap,.footer-bottom,.site-info,.footer-legal,.footer-copyright,.ast-small-footer,.ast-builder-layout-element[data-section*="footer-menu"]) {
  background:var(--vlf-editorial-gray)!important;
  background-image:none!important;
  border:0!important;
  border-top:1px solid #d3d5d9!important;
  box-shadow:none!important;
  padding-top:22px!important;
  padding-bottom:22px!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap) {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
}
/* Small branded accents only: not a block or vertical stripe. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(a,button,input):focus-visible,
body:not(.wp-admin) :is(#secondary,#sidebar,.site-sidebar,.sidebar-primary) :is(a,button,input):focus-visible {
  outline:2px solid var(--vlf-editorial-bordeaux)!important;
  outline-offset:3px!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,#secondary,#sidebar,.site-sidebar,.sidebar-primary) :is(button,.button,a.button,input[type=submit],.wp-block-button__link,.elementor-button) {
  background:var(--vlf-editorial-bordeaux)!important;
  border:1px solid var(--vlf-editorial-bordeaux)!important;
  border-radius:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
  font-weight:700!important;
}
/* No forced mobile horizontal scrolling, no DOM relocation. */
@media(max-width:1024px){
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar,.footer-widget-area,.footer-widget-wrapper,.footer-columns,.footer-grid,.ast-builder-footer-grid-columns,.ast-footer-widget-area,.elementor-container,.e-con-inner,.row):has(> :nth-child(4):last-child),
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > :is(.container,.row,.footer-widget-wrapper):has(> :nth-child(4):last-child),
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > .container > .row:has(> :nth-child(4):last-child) {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:30px 24px!important;
  }
}
@media(max-width:640px){
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar,.footer-widget-area,.footer-widget-wrapper,.footer-columns,.footer-grid,.ast-builder-footer-grid-columns,.ast-footer-widget-area,.elementor-container,.e-con-inner,.row):has(> :nth-child(4):last-child),
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > :is(.container,.row,.footer-widget-wrapper):has(> :nth-child(4):last-child),
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.footer-widgets,.footer-sidebar) > .container > .row:has(> :nth-child(4):last-child) {
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
  }
  body:not(.wp-admin) :is(.site-footer,#colophon) > :is(.container,.ast-container,.footer-container) {
    width:calc(100% - 32px)!important;
  }
}

/* V12.14.43 — FINAL FOOTER TYPOGRAPHY AND SPACING
   Applies only to the existing site's footer. No content, DOM or JS changes.
   Each section remains independent: social; copyright; legal navigation. */
:root {
  --vlf-final-footer-bg:#f2f3f5;
  --vlf-final-footer-ink:#191a1e;
  --vlf-final-footer-muted:#45474d;
  --vlf-final-footer-bordeaux:#812642;
  --vlf-final-footer-border:#d5d7dc;
}
/* Footer background and 3 visually separate horizontal bands. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) {
  background:var(--vlf-final-footer-bg)!important;
  color:var(--vlf-final-footer-ink)!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,
      .footer-copyright,.copyright,.copyright-text,.site-info,.ast-footer-copyright,.footer-credits,
      .footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links) {
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--vlf-final-footer-border)!important;
  box-shadow:none!important;
  padding-block:clamp(22px,2.5vw,34px)!important;
  padding-inline:0!important;
  margin-block:0!important;
}
/* Social links, whether the footer renders them as menus or direct links. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,
      ul.social-links,ul.social-icons,ul.social-menu,ul.wp-block-social-links,
      .elementor-social-icons-wrapper,.ast-footer-social-1-wrap) {
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:flex-start!important;
  justify-content:center!important;
  column-gap:clamp(18px,2.6vw,34px)!important;
  row-gap:18px!important;
  max-width:100%!important;
  list-style:none!important;
  text-align:center!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons)
  :is(ul,.menu,.social-links,.social-icons,.social-menu),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(ul.social-links,ul.social-icons,ul.social-menu,ul.wp-block-social-links,ul[id*="social"],.elementor-social-icons-wrapper,.ast-footer-social-1-wrap) {
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:center!important;
  align-items:flex-start!important;
  column-gap:clamp(18px,2.6vw,34px)!important;
  row-gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  list-style:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,ul.social-links,ul.social-icons,ul.social-menu,ul.wp-block-social-links)
  :is(li,.menu-item,.wp-block-social-link,.elementor-grid-item) {
  flex:0 0 auto!important;
  width:auto!important;
  min-width:84px!important;
  max-width:118px!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  list-style:none!important;
}
/* A ::before circle avoids changing SVG dimensions or replacing brand icons. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"]) {
  display:inline-flex!important;
  position:relative!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  width:clamp(84px,7.6vw,110px)!important;
  min-width:84px!important;
  max-width:110px!important;
  min-height:84px!important;
  margin:0!important;
  padding:11px 4px 5px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--vlf-final-footer-ink)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-ink)!important;
  text-decoration:none!important;
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:600!important;
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:.015em!important;
  opacity:1!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a::before,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"])::before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:48px!important;
  height:48px!important;
  background:#fff!important;
  border:2px solid var(--vlf-final-footer-bordeaux)!important;
  border-radius:50%!important;
  box-shadow:0 2px 12px rgba(46,25,35,.09)!important;
  pointer-events:none!important;
  z-index:0!important;
  box-sizing:border-box!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a :is(i,svg,.fa,.fab,.icon,.elementor-social-icon,.wp-block-social-link-anchor),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"]) :is(i,svg,.fa,.fab,.icon) {
  position:relative!important;
  z-index:1!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:21px!important;
  height:21px!important;
  max-width:24px!important;
  max-height:24px!important;
  min-width:0!important;
  min-height:0!important;
  margin:2px 0 0!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1!important;
  color:var(--vlf-final-footer-bordeaux)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-bordeaux)!important;
  fill:currentColor!important;
  opacity:1!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a :is(.glyph,.social-icon-wrap) {
  position:relative!important;z-index:1!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:24px!important;height:24px!important;
  margin:0!important;padding:0!important;
}
/* Native SVGs stay small glyphs (never 48px SVG circles). */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a svg,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"]) svg {
  width:21px!important;height:21px!important;
  min-width:21px!important;min-height:21px!important;
  stroke:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap)
  a :is(.social-label,.social-title,span:not(.screen-reader-text):not(.elementor-screen-only):not(.icon):not(.glyph)),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"]) :is(.social-label,.social-title,span:not(.screen-reader-text):not(.elementor-screen-only):not(.icon):not(.glyph)) {
  display:block!important;
  position:relative!important;
  z-index:1!important;
  margin-top:12px!important;
  color:var(--vlf-final-footer-ink)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-ink)!important;
  font-size:11.5px!important;
  line-height:1.42!important;
  font-weight:600!important;
  letter-spacing:.015em!important;
  text-align:center!important;
  overflow-wrap:normal!important;
}
/* Name text on the anchor itself has natural line-height and stays within click area. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap) a:focus-visible {
  outline:2px solid var(--vlf-final-footer-bordeaux)!important;
  outline-offset:4px!important;
}
/* Copyright: quiet band centered between social and legal rows. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-copyright,.copyright,.copyright-text,.site-info,.ast-footer-copyright,.footer-credits) {
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  line-height:1.75!important;
  font-weight:400!important;
  color:var(--vlf-final-footer-muted)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-muted)!important;
  opacity:1!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-copyright,.copyright,.copyright-text,.site-info,.ast-footer-copyright,.footer-credits)
  :is(p,span,small,div):not(.screen-reader-text) {
  margin:0!important;
  color:var(--vlf-final-footer-muted)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-muted)!important;
  font-size:13px!important;
  line-height:1.75!important;
}
/* Legal navigation — real gap, responsive wrap and ample 44px click height. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links)
  :is(ul,.menu,.ast-footer-menu,.wp-block-navigation__container,.elementor-nav-menu),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(ul.footer-menu,ul.ast-footer-menu,ul.footer-legal-menu,ul.footer-bottom-menu,ul[id*="menu-footer"],nav[aria-label*="legal" i] ul) {
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:center!important;
  align-items:center!important;
  column-gap:clamp(20px,3.4vw,48px)!important;
  row-gap:12px!important;
  width:100%!important;
  max-width:1160px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  list-style:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links)
  :is(li,.menu-item,.wp-block-navigation-item),
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(ul.footer-menu,ul.ast-footer-menu,ul.footer-legal-menu,ul.footer-bottom-menu,ul[id*="menu-footer"]) > li {
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  max-width:100%!important;
  width:auto!important;
  list-style:none!important;
  text-align:center!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links) a,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(ul.footer-menu,ul.ast-footer-menu,ul.footer-legal-menu,ul.footer-bottom-menu,ul[id*="menu-footer"]) a {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:7px 0!important;
  background:transparent!important;
  border:0!important;
  color:var(--vlf-final-footer-ink)!important;
  -webkit-text-fill-color:var(--vlf-final-footer-ink)!important;
  text-decoration:none!important;
  text-transform:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(.footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links) a:hover,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
  :is(ul.footer-menu,ul.ast-footer-menu,ul.footer-legal-menu,ul.footer-bottom-menu,ul[id*="menu-footer"]) a:hover {
  text-decoration:underline!important;
  text-decoration-color:var(--vlf-final-footer-bordeaux)!important;
  text-underline-offset:5px!important;
}
/* Mobile: larger legibility, flexible rows; no horizontal scrolling. */
@media(max-width:767px){
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
    :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,
      ul.social-links,ul.social-icons,ul.social-menu,ul.wp-block-social-links,
      .elementor-social-icons-wrapper,.ast-footer-social-1-wrap){
    column-gap:12px!important;
    row-gap:20px!important;
  }
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
    :is(.footer-social,.footer-socials,.footer-social-links,.footer-social-icons,.social-links,.social-icons,.social-menu,.wp-block-social-links,.elementor-social-icons-wrapper,.ast-footer-social-1-wrap) a,
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
    a:is([href*="facebook.com"],[href*="instagram.com"],[href*="linkedin.com"],[href*="youtube.com"],[href*="twitter.com"],[href*="x.com"],[href*="tiktok.com"]){
    width:84px!important;min-width:84px!important;
  }
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
    :is(.footer-legal,.footer-legal-links,.footer-navigation,.footer-nav,.footer-menu-wrap,.ast-footer-menu-wrap,.footer-bottom-links)
    :is(ul,.menu,.ast-footer-menu,.wp-block-navigation__container,.elementor-nav-menu),
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer)
    :is(ul.footer-menu,ul.ast-footer-menu,ul.footer-legal-menu,ul.footer-bottom-menu,ul[id*="menu-footer"],nav[aria-label*="legal" i] ul){
    justify-content:center!important;
    column-gap:20px!important;
    row-gap:8px!important;
    padding-inline:0!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) a{transition:none!important}
}
