.xb-header-v2 { position: relative; z-index: 100; }
.xb-header-v2-inner { padding-inline: var(--xb-gutter); display: flex; align-items: center; gap: 1rem; min-height: 5rem; }
/* Compact square-logo slot with the established clipped overlap into the hero. */
.xb-header-v2-brand { position: relative; align-self: stretch; display: flex; align-items: center; justify-content: flex-start; flex: 0 0 6.5rem; background: var(--xb-background); }
.xb-header-v2-brand::before { content: ""; position: absolute; inset: 0 -.75rem -.5rem calc(-1 * var(--xb-gutter)); background: var(--xb-background); clip-path: polygon(0 0, 100% 0, 100% calc(100% - .75rem), calc(100% - .75rem) 100%, 0 100%); }
.xb-header-v2-brand img { position: relative; display: block; width: 4.75rem; height: 4.75rem; object-fit: contain; object-position: left center; }
.xb-header-v2-navigation { margin-left: auto; display: flex; align-items: center; gap: 1rem; }
.xb-header-v2-links, .xb-header-v2-language ul { list-style: none; padding: 0; margin: 0; }
.xb-header-v2-links { display: flex; align-items: center; }
.xb-header-v2-links li + li { border-inline-start: 1px solid var(--xb-accent-gold); }
.xb-header-v2-links a, .xb-header-v2-pending { display: flex; flex-direction: column; justify-content: center; min-height: 2.75rem; padding: .25rem .65rem; font-size: .75rem; text-transform: uppercase; }
.xb-header-v2 a { color: var(--xb-text-primary); text-decoration: none; }
.xb-header-v2-pending { color: var(--xb-text-muted); }
.xb-header-v2-pending small { font-size: .625rem; text-transform: none; }
.xb-header-v2-social { display: flex; align-items: center; }
.xb-header-v2-social a { display: grid; place-items: center; width: 3.25rem; height: 2.75rem; border-inline-start: 1px solid var(--xb-accent-gold); font-size: 1.5rem; color: var(--xb-accent-gold); }
.xb-header-v2-language { position: relative; flex-shrink: 0; border-inline-start: 1px solid var(--xb-accent-gold); padding-inline-start: .5rem; }
.xb-header-v2-language summary, .xb-header-v2-toggle { cursor: pointer; border: 0; background: transparent; color: var(--xb-accent-gold); padding: .6rem; min-width: 2.75rem; min-height: 2.75rem; font: inherit; font-size: .8125rem; }
.xb-header-v2-language summary { list-style: none; display: flex; align-items: center; gap: .5rem; color: var(--xb-text-primary); }
.xb-header-v2-language summary svg { color: var(--xb-accent-gold); }
.xb-header-v2-toggle { display: grid; place-items: center; }
.xb-header-v2-language summary::-webkit-details-marker { display: none; }
.xb-header-v2-language ul { position: absolute; inset-inline-end: 0; top: calc(100% + .5rem); background: var(--xb-background); border: 1px solid var(--xb-border-subtle); min-width: 5rem; }
.xb-header-v2-language a { display: block; padding: .75rem 1rem; }
.xb-header-v2 a:hover, .xb-header-v2 a[aria-current="page"] { color: var(--xb-accent-gold); }
.xb-header-v2 :is(a, button, summary):focus-visible { outline: 2px solid var(--xb-accent-gold); outline-offset: 3px; }
.xb-header-v2-toggle[hidden] { display: none; }
@media (max-width: 1199px) {
  .xb-header-v2-inner { flex-wrap: wrap; gap: .5rem; min-height: 4.5rem; }
  .xb-header-v2-brand { flex-basis: 5.5rem; margin-right: auto; }
  .xb-header-v2-brand img { width: 4.25rem; height: 4.25rem; }
  .xb-header-v2-navigation { order: 4; width: 100%; margin: 0; padding-block: 1rem; flex-direction: column; align-items: stretch; }
  .xb-header-v2.is-enhanced .xb-header-v2-navigation:not(.is-open) { display: none; }
  .xb-header-v2-links { flex-direction: column; align-items: stretch; }
  .xb-header-v2-links li + li { border-inline-start: 0; border-block-start: 1px solid var(--xb-border-subtle); }
  .xb-header-v2-links a, .xb-header-v2-pending { padding: .75rem; font-size: .875rem; }
  .xb-header-v2-social { border-inline-start: 0; border-block-start: 1px solid var(--xb-accent-gold); padding: .75rem 0 0; }
  .xb-header-v2-social a:first-child { border-inline-start: 0; }
}
@media (max-width: 599px) {
  .xb-header-v2-brand { flex-basis: 4.75rem; }
  .xb-header-v2-brand::before { inset-inline-end: -.5rem; inset-block-end: -.35rem; }
  .xb-header-v2-brand img { width: 3.75rem; height: 3.75rem; }
}
@media (min-width: 1200px) {
  .xb-header-v2 .xb-header-v2-toggle { display: none; }
}
