/* VLF 12.14.35 — editorial footer and sidebar; PwC-inspired structure, own VLF brand. */
:root{--vlf-pwc-bg:#f1f2f3;--vlf-pwc-ink:#161616;--vlf-pwc-bordeaux:#7b2844;--vlf-pwc-line:#242424}
/* Theme footer base, not plugin homepage components. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-sidebar,.footer-main,.footer-bottom,.site-info,.ast-footer-overlay){
  background:#f1f2f3!important;color:#171717!important;border:0!important;box-shadow:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(p,li,small,span,strong,em,label){color:#232323!important;-webkit-text-fill-color:#232323!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) a:not(.button):not(.wp-block-button__link):not(.elementor-button){color:#151515!important;-webkit-text-fill-color:#151515!important;text-decoration:none!important;font-weight:400!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) a:not(.button):not(.wp-block-button__link):not(.elementor-button):hover{text-decoration:underline!important;text-decoration-color:#7b2844!important;text-underline-offset:4px!important}
/* Recognized directory: no four colored panels, thick left rails, or forced min widths. */
body:not(.wp-admin) .vlf-pwc-directory-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(20px,3vw,46px)!important;align-items:start!important;
  max-width:1440px;width:min(calc(100% - 64px),1440px)!important;
  padding:62px 0 84px!important;margin:0 auto!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  text-align:left!important;box-sizing:border-box!important;
}
body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col,
body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col :is(.widget,.widget_block,.footer-widget,.elementor-widget-container,.wp-block-group){
  display:block!important;width:100%!important;min-width:0!important;max-width:none!important;
  float:none!important;position:relative!important;left:auto!important;right:auto!important;
  padding:0!important;margin:0!important;
  background:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  color:#161616!important;
}
body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col{
  border-top:2px solid #232323!important;padding-top:15px!important;
}
body:not(.wp-admin) .vlf-pwc-directory-col :is(h2,h3,h4,.widget-title,.wp-block-heading),
body:not(.wp-admin) .vlf-pwc-directory-col > :is(h2,h3,h4){
  font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;
  font-size:clamp(17px,1.45vw,21px)!important;line-height:1.25!important;letter-spacing:-.015em!important;
  color:#111!important;-webkit-text-fill-color:#111!important;
  text-transform:none!important;border:0!important;background:transparent!important;
  padding:0!important;margin:0 0 21px!important;
}
body:not(.wp-admin) .vlf-pwc-directory-col :is(h2,h3,h4,.widget-title,.wp-block-heading)::after{display:none!important;content:none!important}
body:not(.wp-admin) .vlf-pwc-directory-grid .vlf-pwc-directory-col :is(h2,h3,h4,.widget-title,.wp-block-heading) > a:not(.button):not(.wp-block-button__link):not(.elementor-button){font:700 clamp(17px,1.45vw,21px)/1.25 Arial,Helvetica,sans-serif!important;color:#111!important;-webkit-text-fill-color:#111!important;text-transform:none!important;letter-spacing:-.015em!important}
body:not(.wp-admin) .vlf-pwc-directory-col :is(ul,ol,.menu,.wp-block-navigation__container){display:block!important;list-style:none!important;margin:0!important;padding:0!important;columns:auto!important}
body:not(.wp-admin) .vlf-pwc-directory-col :is(li,.menu-item,.wp-block-navigation-item){display:block!important;width:auto!important;float:none!important;break-inside:avoid!important;margin:0 0 9px!important;padding:0!important;line-height:1.5!important;border:0!important;background:transparent!important}
body:not(.wp-admin) .vlf-pwc-directory-col a:not(.button):not(.wp-block-button__link):not(.elementor-button),
body:not(.wp-admin) .vlf-pwc-directory-col a:not(.button):not(.wp-block-button__link):not(.elementor-button) :is(span,strong){
  font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:400!important;
  line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;
  color:#141414!important;-webkit-text-fill-color:#141414!important;
  padding:0!important;margin:0!important;white-space:normal!important;overflow-wrap:break-word!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
}
body:not(.wp-admin) .vlf-pwc-directory-col a:hover{text-decoration:underline!important;text-decoration-color:#7b2844!important}
body:not(.wp-admin) .vlf-pwc-directory-col :is(p,span,small){font-size:14px!important;line-height:1.55!important;color:#252525!important}
body:not(.wp-admin) .vlf-pwc-directory-col .sub-menu{padding-left:12px!important}
body:not(.wp-admin) .vlf-pwc-directory-col:first-child > :is(ul,.menu),
body:not(.wp-admin) .vlf-pwc-directory-col:first-child :is(.widget_nav_menu,.menu-widget) > ul{
  columns:1!important;column-gap:0!important;
}
/* Exactly four top-level columns: no accidental second link column. */
body:not(.wp-admin) .vlf-pwc-directory-col:first-child :is(.menu,ul):first-of-type{columns:1!important;column-gap:0!important}
/* Hide only empty original columns after their widgets were moved into the grid. */
body:not(.wp-admin) .vlf-pwc-empty-column{display:none!important}
/* Independent sidebar modules: no card panels, no thick side borders. */
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar){
  background:#f1f2f3!important;color:#181818!important;box-shadow:none!important;border:0!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) :is(.widget,.widget_block,.elementor-widget-container){
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:0 0 28px!important;margin:0 0 36px!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) :is(.widget-title,.wp-block-heading,h2,h3){
  color:#171717!important;-webkit-text-fill-color:#171717!important;
  font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;font-size:19px!important;
  border-top:2px solid #232323!important;padding:13px 0 0!important;margin:0 0 17px!important;
}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) :is(.widget-title,.wp-block-heading,h2,h3)::after{display:none!important;content:none!important}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) a:not(.button):not(.wp-block-button__link):not(.elementor-button){color:#151515!important;-webkit-text-fill-color:#151515!important;font-weight:400!important;text-decoration:none!important}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) a:not(.button):hover{text-decoration:underline!important;text-decoration-color:#7b2844!important}
body:not(.wp-admin) :is(#secondary,#sidebar,#sidebar-primary,#right-sidebar,.site-sidebar,.sidebar-primary,.primary-sidebar,.elementor-widget-sidebar,.elementor-location-sidebar,.ast-sidebar-wrapper,.ast-sidebar,.sidebar-main,.kadence-sidebar,.generate-sidebar,.vlf-pwc-sidebar) :is(button,.button,a.button,.wp-block-button__link,.elementor-button,input[type=submit]){
  background:#7b2844!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  font-size:14px!important;font-weight:700!important;padding:12px 16px!important;
}
/* Social and legal bottom: separated from site-directory, not cards. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.site-info,.footer-bottom,.footer-copyright,.copyright,.social-links,.social-icons,.footer-social,.footer-legal){
  background:transparent!important;border:0!important;border-top:1px solid #d4d6d8!important;
  padding-top:20px!important;color:#303030!important;box-shadow:none!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.social-links,.social-icons,.footer-social) a{color:#7b2844!important;-webkit-text-fill-color:#7b2844!important}
/* Four columns remain side-by-side at every viewport width. On smaller
   screens the directory alone scrolls horizontally; the page never overflows. */
@media(max-width:1100px){
  body:not(.wp-admin) .vlf-pwc-directory-grid{
    grid-template-columns:repeat(4,minmax(215px,1fr))!important;
    gap:24px!important;
    width:calc(100% - 48px)!important;
    max-width:100%!important;
    padding:42px 0 60px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col{scroll-snap-align:start}
  body:not(.wp-admin) .vlf-pwc-directory-col:first-child :is(.menu,ul):first-of-type{columns:1!important}
}
@media(max-width:600px){
  body:not(.wp-admin) .vlf-pwc-directory-grid{
    grid-template-columns:repeat(4,minmax(230px,1fr))!important;
    width:calc(100% - 42px)!important;
    gap:22px!important;
    padding:36px 0 48px!important;
  }
  body:not(.wp-admin) .vlf-pwc-directory-col :is(h2,h3,h4,.widget-title,.wp-block-heading){font-size:19px!important;margin-bottom:16px!important}
  body:not(.wp-admin) .vlf-pwc-directory-col a:not(.button):not(.elementor-button){font-size:15px!important;line-height:1.55!important}
  body:not(.wp-admin) .vlf-pwc-directory-col :is(li,.menu-item){margin-bottom:11px!important}
}

/* 12.14.35: ensure an English /en/ footer grid spans older theme column wrappers. */
body:not(.wp-admin) .vlf-pwc-directory-grid[data-vlf-pwc-built="1"]{
  grid-column:1 / -1!important;
  flex:1 0 100%!important;
  float:none!important;
  clear:both!important;
  max-width:1440px!important;
  position:relative!important;
  min-width:0!important;
  z-index:1;
}
body:not(.wp-admin) .vlf-pwc-directory-grid[data-vlf-pwc-built="1"] > [data-vlf-footer-group]{
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
  min-width:0!important;
}
body:not(.wp-admin) .vlf-pwc-directory-grid[data-vlf-pwc-built="1"] > [data-vlf-footer-group] :is(a,li){
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
