/* BSV v4 dedicated header styling. No dependency on legacy .nav or .head-inner rules. */
.site-header.bsv-header {
  background:#fff;
  border-bottom:1px solid #e7eef4;
  position:sticky;
  top:0;
  z-index:90;
  box-shadow:0 10px 30px rgba(7,39,69,.08);
  isolation:isolate;
}
.bsv-header__inner {
  display:grid;
  grid-template-columns:236px minmax(0,1fr) auto;
  align-items:center;
  column-gap:24px;
  width:min(1280px,calc(100% - 44px));
  min-height:94px;
  padding:12px 0;
}
.bsv-header__brand {
  display:flex;
  width:236px;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  line-height:1;
}
.bsv-header__brand img {
  display:block;
  width:100%;
  max-width:236px;
  height:auto;
  max-height:75px;
  object-fit:contain;
  object-position:left center;
  filter:none;
}
.bsv-header__nav {display:block;min-width:0;max-width:100%;}
.bsv-header__menu {
  display:flex;
  flex-flow:row nowrap;
  justify-content:flex-start;
  align-items:center;
  gap:clamp(12px,1.55vw,24px);
  list-style:none;
  margin:0;
  padding:0;
}
.bsv-header__menu li {position:relative;margin:0;padding:0;list-style:none;flex:0 0 auto;}
.bsv-header__menu > li > a {
  display:block;
  padding:13px 0;
  color:#18334d;
  font-size:13.5px;
  font-weight:800;
  white-space:nowrap;
  line-height:1.35;
  transition:color .2s ease;
}
.bsv-header__menu a:hover,
.bsv-header__menu .current-menu-item > a,
.bsv-header__menu .current_page_item > a,
.bsv-header__menu a:focus-visible {color:#0869c7;}
.bsv-header__menu .sub-menu {
  position:absolute;
  left:0;
  top:100%;
  min-width:230px;
  margin:0;
  padding:10px;
  list-style:none;
  border:1px solid #e4eef6;
  border-radius:14px;
  box-shadow:0 18px 38px rgba(8,36,62,.14);
  background:#fff;
  display:none;
}
.bsv-header__menu .sub-menu li a {display:block;padding:10px 12px;font-size:13px;font-weight:700;white-space:normal;}
.bsv-header__menu li:hover > .sub-menu,
.bsv-header__menu li:focus-within > .sub-menu {display:block;}
.bsv-header__actions {display:flex;gap:10px;align-items:center;justify-content:flex-end;white-space:nowrap;}
.bsv-header__call,.bsv-header__whatsapp {
  display:inline-flex;
  min-height:43px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:12px;
  padding:10px 13px;
  font-size:13px;
  line-height:1.25;
  font-weight:850;
}
.bsv-header__call {color:#092e50;border:1px solid #dae7f1;background:#fff;}
.bsv-header__whatsapp {color:#fff;background:linear-gradient(135deg,#1376d5,#075ab6);box-shadow:0 9px 20px rgba(10,89,167,.15);}
.bsv-header__whatsapp:hover {filter:brightness(1.09);}
.bsv-header__toggle {display:none;}
.bsv-header__mobile-actions {display:none;}
@media(min-width:1161px) and (max-width:1280px) {
 .bsv-header__inner {grid-template-columns:205px minmax(0,1fr) auto;column-gap:12px;}
 .bsv-header__brand {width:205px;}
 .bsv-header__brand img {max-width:205px;}
 .bsv-header__menu {gap:12px;}
 .bsv-header__menu > li > a {font-size:12.5px;}
 .bsv-header__call,.bsv-header__whatsapp {font-size:12px;padding:9px 10px;}
}
@media(max-width:1160px) {
 .site-header.bsv-header {top:0;}
 .bsv-header__inner {
   display:flex;
   justify-content:space-between;
   align-items:center;
   width:min(100% - 36px,1280px);
   min-height:78px;
   padding:10px 0;
   gap:16px;
 }
 .bsv-header__brand {width:204px;min-width:0;}
 .bsv-header__brand img {max-width:204px;max-height:64px;}
 .bsv-header__actions {margin-left:auto;}
 .bsv-header__call {display:none;}
 .bsv-header__whatsapp {min-height:40px;font-size:13px;}
 .bsv-header__toggle {
   display:flex;
   width:43px;
   height:43px;
   justify-content:center;
   align-items:center;
   flex:0 0 43px;
   padding:0;
   background:#f1f7fb;
   color:#082d51;
   border:1px solid #dce9f3;
   border-radius:11px;
   margin:0;
 }
 .bsv-header__nav {
   display:none;
   position:absolute;
   top:100%;
   left:0;
   right:0;
   max-width:none;
   padding:9px 18px 20px;
   border-top:1px solid #e9eff6;
   background:white;
   box-shadow:0 20px 32px rgba(7,35,60,.15);
   max-height:calc(100dvh - 90px);
   overflow-y:auto;
 }
 .bsv-header__nav.is-open {display:block;}
 .bsv-header__menu {display:flex;flex-direction:column;align-items:stretch;gap:0;}
 .bsv-header__menu li {width:100%;}
 .bsv-header__menu > li > a {display:block;font-size:15px;white-space:normal;padding:12px 6px;border-bottom:1px solid #edf3f8;}
 .bsv-header__menu .sub-menu {position:static;display:block;box-shadow:none;min-width:0;border:0;padding:0 0 0 13px;}
 .bsv-header__menu .sub-menu li a {padding:9px 5px;}
 .bsv-header__mobile-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;}
 .bsv-header__mobile-actions a {display:flex;align-items:center;justify-content:center;text-align:center;background:#edf7ff;color:#0a4e8f;border:1px solid #d9eaf8;padding:11px 6px;border-radius:12px;font-size:13px;font-weight:800;}
 .bsv-header__mobile-actions a:last-child {background:#e9fbf2;color:#078953;border-color:#c8efdb;}
}
@media(max-width:540px) {
 .bsv-header__inner {width:calc(100% - 28px);min-height:68px;gap:8px;padding:8px 0;}
 .bsv-header__brand {width:178px;}
 .bsv-header__brand img {max-width:178px;max-height:56px;}
 .bsv-header__actions {display:none;}
 .bsv-header__toggle {width:42px;height:42px;flex-basis:42px;}
 .bsv-header__mobile-actions {grid-template-columns:1fr 1fr;}
}
@media(max-width:345px) {
 .bsv-header__brand {width:157px;}
 .bsv-header__brand img {max-width:157px;}
}
@media(prefers-reduced-motion:reduce) {
 .bsv-header__menu a {transition:none;}
}
/* WordPress admin toolbar compensation. */
@media(min-width:783px){body.admin-bar .site-header.bsv-header{top:32px;}}
@media(max-width:782px){body.admin-bar .site-header.bsv-header{top:46px;}}
@media(max-width:600px){body.admin-bar .site-header.bsv-header{top:0;}}

/* Keep the announcement legible immediately rather than starting offscreen. */
.announcement {display:flex;align-items:center;justify-content:center;height:32px;}
.announcement .ticker {padding:0;width:100%;text-align:center;animation:none;transform:none;}
.announcement .ticker span {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 14px;}
@media(max-width:540px){.announcement {height:28px;font-size:.66rem;letter-spacing:.045em;}}
