/* V26: top bar 10px + final button readability guard
   Keep structure/content untouched, only fix visual readability. */
:root{
  --fg-blue:#005BAC;
  --fg-blue-hover:#004C95;
  --fg-text:#1d2433;
  --fg-border:#d8e4f2;
}
/* Top black information bar */
.top-bar,
.top-bar .container,
.top-bar-left,
.top-bar-right{
  font-size:10px!important;
  line-height:1.4!important;
}
.top-bar a,
.top-bar span{
  font-size:10px!important;
  line-height:1.4!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
@media (min-width:769px){
  .top-bar{height:28px!important;min-height:28px!important;}
  .top-bar .container{height:28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
}
/* Universal button visibility baseline */
a.btn,button.btn,.btn,
a[class*="btn"],button[class*="btn"],
.nav-consult-btn,
.filter-tab,.filter-tabs a,.filter-tabs button,
.pagination a,.pager a,
.fg-cta-btn,.fg-v9-case-visit,
.contact-modal-submit,button[type="submit"]{
  position:relative!important;
  z-index:1!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.2!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  text-indent:0!important;
  letter-spacing:0!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
a.btn *,button.btn *,.btn *,
a[class*="btn"] *,button[class*="btn"] *,
.nav-consult-btn *,
.filter-tab *,.filter-tabs a *,.filter-tabs button *,
.pagination a *,.pager a *,
.fg-cta-btn *,.fg-v9-case-visit *,
.contact-modal-submit *,button[type="submit"] *{
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
}
/* Filled primary buttons */
.nav-consult-btn,
.btn-primary,.btn.btn-primary,a.btn-primary,button.btn-primary,
.contact-modal-submit,button[type="submit"],
.filter-tab.active,.filter-tabs a.active,.filter-tabs button.active,
.pagination .active a,.pagination li.thisclass a,.pager .active a,
.fg-v9-case-visit,
a[style*="background:#0057B3"],a[style*="background: #0057B3"],
a[style*="background:#005BAC"],a[style*="background: #005BAC"],
a[style*="background:var(--primary)"],a[style*="background: var(--primary)"]{
  background:var(--fg-blue)!important;
  border-color:var(--fg-blue)!important;
  color:#fff!important;
}
.nav-consult-btn:hover,
.btn-primary:hover,.btn.btn-primary:hover,a.btn-primary:hover,button.btn-primary:hover,
.contact-modal-submit:hover,button[type="submit"]:hover,
.filter-tab.active:hover,.filter-tabs a.active:hover,.filter-tabs button.active:hover,
.pagination .active a:hover,.pagination li.thisclass a:hover,.pager .active a:hover,
.fg-v9-case-visit:hover,
a[style*="background:#0057B3"]:hover,a[style*="background: #0057B3"]:hover,
a[style*="background:#005BAC"]:hover,a[style*="background: #005BAC"]:hover,
a[style*="background:var(--primary)"]:hover,a[style*="background: var(--primary)"]:hover{
  background:var(--fg-blue-hover)!important;
  border-color:var(--fg-blue-hover)!important;
  color:#fff!important;
}
/* White / light buttons on dark or blue sections: always blue text */
.btn-white,.btn.btn-white,a.btn-white,button.btn-white,
.hero-section .btn-white,.ai-hero .btn-white,.cta-section .btn-white,.fg-blue-cta .btn-white,
.hero-section .btn:not(.btn-outline):not(.btn-primary),
.ai-hero .btn:not(.btn-outline):not(.btn-primary),
.cta-section .btn:not(.btn-outline):not(.btn-primary),
.fg-blue-cta .btn:not(.btn-outline):not(.btn-primary),
.cta-section a[href^="tel"],.fg-blue-cta a[href^="tel"],
a[style*="background:var(--white)"],a[style*="background: var(--white)"],
a[style*="background:#fff"],a[style*="background: #fff"],
a[style*="background:white"],a[style*="background: white"]{
  background:#fff!important;
  border:1px solid #fff!important;
  color:var(--fg-blue)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
}
.btn-white:hover,.btn.btn-white:hover,a.btn-white:hover,button.btn-white:hover,
.hero-section .btn-white:hover,.ai-hero .btn-white:hover,.cta-section .btn-white:hover,.fg-blue-cta .btn-white:hover,
.hero-section .btn:not(.btn-outline):not(.btn-primary):hover,
.ai-hero .btn:not(.btn-outline):not(.btn-primary):hover,
.cta-section .btn:not(.btn-outline):not(.btn-primary):hover,
.fg-blue-cta .btn:not(.btn-outline):not(.btn-primary):hover,
.cta-section a[href^="tel"]:hover,.fg-blue-cta a[href^="tel"]:hover,
a[style*="background:var(--white)"]:hover,a[style*="background: var(--white)"]:hover,
a[style*="background:#fff"]:hover,a[style*="background: #fff"]:hover,
a[style*="background:white"]:hover,a[style*="background: white"]:hover{
  background:#f4f9ff!important;
  border-color:#f4f9ff!important;
  color:var(--fg-blue-hover)!important;
}
/* Outline buttons/tabs: blue text by default, white text on hover/active */
.btn-outline,.btn.btn-outline,a.btn-outline,button.btn-outline,
.filter-tab:not(.active),.filter-tabs a:not(.active),.filter-tabs button:not(.active),
.pagination a,.pager a,
.fg-cta-btn.ghost{
  background:#fff!important;
  border:1px solid var(--fg-blue)!important;
  color:var(--fg-blue)!important;
}
.btn-outline:hover,.btn.btn-outline:hover,a.btn-outline:hover,button.btn-outline:hover,
.filter-tab:not(.active):hover,.filter-tabs a:not(.active):hover,.filter-tabs button:not(.active):hover,
.pagination a:hover,.pager a:hover{
  background:var(--fg-blue)!important;
  border-color:var(--fg-blue)!important;
  color:#fff!important;
}
/* Ghost buttons on image/dark backgrounds */
.hero-section .btn-outline,.ai-hero .btn-outline,.page-banner .btn-outline,.fg-cta-btn.ghost{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
}
.hero-section .btn-outline:hover,.ai-hero .btn-outline:hover,.page-banner .btn-outline:hover,.fg-cta-btn.ghost:hover{
  background:rgba(255,255,255,.18)!important;
  border-color:#fff!important;
  color:#fff!important;
}
/* Last-resort readability for CTA areas */
.cta-section a,.fg-blue-cta a,.ai-hero a,.hero-section a{opacity:1!important;visibility:visible!important;}
.cta-section a:not(.btn-outline):not(.fg-cta-btn.ghost),
.fg-blue-cta a:not(.btn-outline):not(.fg-cta-btn.ghost){color:var(--fg-blue)!important;}
/* Mobile top bar remains hidden as before; only desktop text size affected */
