/* Existing controls retain their markup, links, keyboard behavior and order.
 * The top row stays above the original logo/navigation group. The ancestor
 * selectors intentionally win the captured desktop/mobile and News cascade;
 * no body/root/main-content width or account permission is changed. */
body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  left: 0 !important;
  margin-inline: 0 !important;
  justify-self: start;
}

body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
  padding-block-start: 24px !important;
  box-sizing: border-box;
}
body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > :is(#comp-m0053uep, #comp-m0057y3k) {
  grid-area: 1 / 1 / 2 / 2 !important;
  margin-block: 0 16px !important;
  min-height: 44px;
  align-self: center !important;
  justify-self: end !important;
}
/* At intermediate widths reflow only the header. Native pages do not load
 * the News shell, so they need these same known header constraints directly. */
@media screen and (max-width: 1181px) {
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: 100% !important;
    grid-template-rows: auto auto auto auto !important;
    gap: 12px !important;
    padding: 24px 16px 16px !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > :is(#comp-llb7h2z5, #comp-m7fgb5ne, #comp-m7i02u8q) {
    position: relative !important;
    left: 0 !important;
    margin: 0 !important;
    min-width: 0;
    max-width: 100%;
    justify-self: center !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-llb7h2z5 {
    grid-area: 2 / 1 / 3 / 2 !important;
    width: 100% !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7fgb5ne {
    grid-area: 3 / 1 / 4 / 2 !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7i02u8q {
    grid-area: 4 / 1 / 5 / 2 !important;
    width: 100% !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="comp-llb7h2z5inlineContent"] {
    width: 100% !important;
    max-width: 100%;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="comp-llb7h2z5inlineContent-gridContainer"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="comp-llb7h2z5inlineContent-gridContainer"] > :is(#comp-lhl148a7, #comp-lhl148ae, #comp-llb79909) {
    position: relative !important;
    left: 0 !important;
    grid-area: auto !important;
    margin: 0 !important;
    min-width: 0;
    max-width: 100%;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148ae {
    width: 100% !important;
    height: auto;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148ae nav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148ae nav > ul > li > .itemShared2352141355__rootContainer > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148ae nav > ul > li > [data-testid="positionBox"] {
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    max-width: calc(100vw - 32px);
    box-sizing: border-box;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148ae [data-testid="positionBox"] a[data-item-label="true"] {
    display: flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7i02u8q h2 {
    font-size: clamp(24px, 4.1vw, 40px) !important;
    overflow-wrap: anywhere;
  }
}
/* A full-width account row prevents long names forming a narrow column.
 * Search gets its own full-width row on both captured DOM variants. */
@media screen and (max-width: 600px) {
  /* Keep the owner-approved mobile account/search alignment separate from
   * the desktop upper-right reference. */
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > :is(#comp-m0053uep, #comp-m0057y3k) {
    justify-self: start !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-m0057y491 [data-testid="search-box-form"] > div {
    flex-direction: row !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: 100% !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: 12px !important;
    padding: 24px 16px 16px !important;
    --oliveira-controls-inset: 0px;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-m0053uep {
    grid-area: 1 / 1 / 2 / 2 !important;
    margin: 0 !important;
    min-width: 0;
    max-width: 100% !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-m0053uep.oliveira-account-slot {
    width: 100% !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-m0053uep:not(.oliveira-account-slot) {
    width: 104px !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-m0057y3k {
    grid-area: 2 / 1 / 3 / 2 !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-llb7h2z5 {
    position: relative !important;
    left: 0 !important;
    grid-area: 3 / 1 / 4 / 2 !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="comp-llb7h2z5inlineContent"] {
    width: 100% !important;
    max-width: 100%;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #MENU_AS_CONTAINER_TOGGLE {
    position: relative !important;
    left: 0 !important;
    grid-area: 3 / 1 / 4 / 2 !important;
    margin: 0 !important;
    justify-self: start;
    align-self: start;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7fgb5ne {
    grid-area: 4 / 1 / 5 / 2 !important;
  }
  body.oliveira-header-positioned #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7i02u8q {
    position: relative !important;
    left: 0 !important;
    grid-area: 5 / 1 / 6 / 2 !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }
  /* True-mobile keeps its existing 50px hamburger beside the logo. Reserve
   * that control plus a gap, and shrink the captured logo proportionally only
   * when the viewport is too narrow for its original259px frame. */
  body.oliveira-header-positioned.device-mobile-optimized #SITE_CONTAINER #site-root #SITE_HEADER #comp-llb7h2z5 {
    width: min(259px, calc(100% - 62px)) !important;
    justify-self: end !important;
  }
  body.oliveira-header-positioned.device-mobile-optimized #SITE_CONTAINER #site-root #SITE_HEADER #comp-lhl148a7 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 259 / 146;
  }
  /* Match the intermediate desktop selectors' specificity so the narrow
   * account/search rows stay separate from logo, divider and tagline. */
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-llb7h2z5 {
    grid-area: 3 / 1 / 4 / 2 !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7fgb5ne {
    grid-area: 4 / 1 / 5 / 2 !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m7i02u8q {
    grid-area: 5 / 1 / 6 / 2 !important;
  }
}

/* Desktop reference: size the two visible controls together at the content
 * edge. An oversized account track previously left the painted name and
 * Search far to the left. Keep the other rows spanning their original frame. */
@media screen and (min-width: 601px) {
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    column-gap: 12px !important;
    --oliveira-desktop-account-inset: max(30px, calc((100vw - 1150px) / 2 - 14px));
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > :not(:is(#comp-m0053uep, #comp-m0057y3k)) {
    grid-column: 1 / -1 !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > :is(#comp-m0053uep, #comp-m0057y3k) {
    margin-block: 10px 6px !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-m0053uep {
    grid-area: 1 / 3 / 2 / 4 !important;
    margin-inline: 0 var(--oliveira-desktop-account-inset) !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER #comp-m0053uep.oliveira-account-slot {
    width: fit-content !important;
    max-width: 22rem !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-m0057y3k {
    grid-area: 1 / 2 / 2 / 3 !important;
    margin-inline: 0 !important;
    margin-block: 12px 4px !important;
    width: 174px !important;
  }
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER .oliveira-account__name {
    flex: 0 1 auto;
  }
}
@media screen and (min-width: 601px) and (max-width: 1181px) {
  body.oliveira-header-positioned:not(.device-mobile-optimized) #SITE_CONTAINER #site-root #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    --oliveira-desktop-account-inset: 14px;
  }
}
