/* FINAL chrome. Trust strip: FINAL v1 (page 16) 1364:62286. Footer and mobile menu: FINAL v2 (page 17)
   1673:13781 / 1674:15972 and Menu 1612:3092. Announcement and header live in header.php's inline block. Loaded after page styles. */

/* Trust strip: title + line on desktop, one short label with a light icon on mobile. */
.usr-trust-strip__item picture { display: block; flex: 0 0 26px; width: 26px; height: 26px; }
.usr-trust-strip__item picture img { display: block; width: 100%; height: 100%; }
.usr-trust-strip .usr-trust-strip__grid { width: 100%; max-width: var(--usr-container-max); margin-inline: auto; padding-left: 96px; padding-right: 96px; }
.usr-trust-strip__item h2 { font-size: 18px; font-weight: 500; line-height: 27px; }
.usr-trust-strip__item p { font-size: 14px; line-height: 20px; }
.usr-trust-strip__short { display: none; }

@media (min-width:721px) and (max-width:1279px) {
  .usr-trust-strip .usr-trust-strip__grid { padding-left: 32px; padding-right: 32px; }
}

@media (max-width:720px) {
  .usr-trust-strip .usr-trust-strip__grid { padding-left: 16px; padding-right: 16px; }
  .usr-trust-strip { min-height: 0; padding: 24px 0; box-shadow: none; border-top: 1px solid #e0d7c8; }
  .usr-trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: center; }
  .usr-trust-strip__item { flex-direction: row; justify-content: flex-start; align-items: center; gap: 10px; text-align: left; }
  .usr-trust-strip__item picture { flex-basis: 22px; width: 22px; height: 22px; }
  .usr-trust-strip__item h2 { color: #191919; font-size: 18px; font-weight: 500; line-height: 27px; }
  .usr-trust-strip__title, .usr-trust-strip__item p { display: none; }
  .usr-trust-strip__short { display: inline; }
  /* Collection frame 1364:61424: icon above title and line, no top rule. */
  .usr-trust-strip--full { border-top: 0; }
  .usr-trust-strip--full .usr-trust-strip__grid { gap: 18px 16px; align-items: start; }
  .usr-trust-strip--full .usr-trust-strip__item { flex-direction: column; align-items: flex-start; gap: 8px; }
  .usr-trust-strip--full .usr-trust-strip__item h2 { font-size: 18px; font-weight: 500; line-height: 27px; }
  .usr-trust-strip--full .usr-trust-strip__title { display: inline; }
  .usr-trust-strip--full .usr-trust-strip__short { display: none; }
  .usr-trust-strip--full .usr-trust-strip__item p { display: block; margin: 4px 0 0; color: #4a4a4a; font-size: 14px; line-height: 20px; }
}

/* The two short labels retain whole words on 320–374 px phones. */
@media (max-width:374px) {
  .usr-trust-strip__grid { column-gap: 8px; }
  .usr-trust-strip__item { gap: 8px; }
}

/* Keep each support address together when it fits; its only break is after @ (usr_support_email_html()).
   The sentence's full stop stays in the same inline box as the domain; the line height is the sentence's own. */
.usr-support-email { display: inline-block; min-height: 0; max-width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }
.usr-footer .usr-support-email, #usr-menu-drawer .usr-support-email { line-height: 27px; }
.usr-footer .usr-foot__list .usr-support-email a,
#usr-menu-drawer .usr-menu-v2__foot .usr-support-email a {
  display: inline-block; padding: 0; line-height: 27px; overflow-wrap: normal; word-break: normal;
}
.usr-support-email__domain { white-space: nowrap; }

/* Footer: the 1440 frame stays centred; its navy background spans the viewport.
   Page frames use the solid rule (the Kit's translucent variant is not used here). */
.usr-footer { width: 100%; margin: 0; padding: 0; background: #13266b; }
.usr-footer .usr-foot.usr-container { box-sizing: border-box; display: flex; flex-direction: column; gap: 48px; width: 100%; max-width: var(--usr-container-max); margin-inline: auto; padding: 64px var(--usr-gutter) 48px; }
:where(.usr-foot) :is(h2, p, ul) { margin: 0; }
.usr-foot__cols { display: grid; grid-template-columns: minmax(0, 360fr) minmax(0, 270fr) minmax(0, 270fr) minmax(0, 300fr); gap: 48px; min-height: 176px; }
.usr-foot__brand { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.usr-foot__logo { display: inline-flex; align-items: center; min-height: 44px; width: fit-content; margin: -5px 0; }
.usr-foot__logo img { display: block; width: 190.1773223876953px; height: 34px; }
.usr-foot__line { color: #fff; font-size: 24px; font-weight: 500; line-height: 30px; }
.usr-foot__col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.usr-footer .usr-foot__label { color: #fff; opacity: .6; font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: 0; text-transform: uppercase; }
.usr-foot__list { display: flex; flex-direction: column; gap: 18px; padding: 0; list-style: none; }
.usr-foot__list li { color: #fff; font-size: 18px; font-weight: 400; line-height: 27px; overflow-wrap: anywhere; }
.usr-footer .usr-foot__list a { position: relative; display: inline-block; min-height: 0; max-width: 100%; color: #fff; text-decoration: none; }
/* A 27 px line plus 18 px gap separates 44 px hit areas by one pixel, including fractional hit tests. */
.usr-footer .usr-foot__list a::before { content: ""; position: absolute; inset: -8.5px 0; min-width: 44px; }
.usr-footer .usr-foot__list .usr-support-email a { display: inline-block; }
.usr-footer .usr-foot__list a:hover { text-decoration: underline; }
.usr-foot__legal { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 48px; border-top: 1px solid #fff; }
.usr-foot__terms { display: flex; flex-direction: column; justify-content: center; gap: 0; min-width: 0; min-height: 60px; }
.usr-foot__terms p, .usr-foot__copy { color: #fff; opacity: .7; font-size: 14px; font-weight: 400; line-height: 20px; }
/* Legal links wrap as whole 44 px rows, so a second line cannot cover the first. */
.usr-foot__terms p:has(a) { display: flex; flex-wrap: wrap; align-items: center; gap: 1px 4px; }
.usr-footer .usr-foot__terms a { position: relative; display: inline-block; min-width: 44px; min-height: 44px; max-width: 100%; padding-block: 12px; color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.usr-foot__copy { flex: none; text-align: right; }

@media (max-width: 1100px) {
  .usr-foot__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
  .usr-foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .usr-foot__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .usr-foot__cols > :nth-child(2) { min-height: 176px; }
}
@media (max-width: 720px) {
  .usr-footer .usr-foot.usr-container { gap: 32px; padding: 40px var(--usr-gutter-mobile); }
  .usr-foot__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .usr-foot__legal { flex-direction: column; align-items: flex-start; gap: 20px; padding-top: 32px; }
  .usr-foot__copy { text-align: left; }
}

/* One keyboard focus ring across page controls, drawers and shared chrome.
   Navy surfaces use the same geometry with the existing contrasting sky token. */
html body :is(#usr-main, #usr-header, #usr-menu-drawer, #usr-cart-drawer, #usr-age-gate, .usr-footer)
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--usr-focus-ring, #13266b);
  outline-offset: 3px;
}
:is(.usr-header--field, .usr-footer, .usr-on-navy, .usr-hero-navy, .usr-stats, .usr-heroes, .usr-feature, .usr-proof, .usr-beyond, .usr-usa, .usr-testing, .usr-hero__band, .usr-aff-hero, .usr-feature-navy, .usr-cta-panel, .usr-panel-navy, .usr-pdp-volume__head) { --usr-focus-ring: #9fbeff; }
:where(input, select, textarea, .select2-selection--single) { --usr-focus-ring: #13266b; }

@media (max-width:720px) {
  .usr-home-hero { --usr-focus-ring: #9fbeff; }
}

/* The support launcher (usr-support-assistant plugin, fixed bottom-right above everything) stays out of the
   way: hidden while the bag or the menu is open, and lifted above the product page's fixed buy bar. */
html.usr-no-scroll .usrsa-launcher { visibility: hidden; }
.usrsa-launcher { transition: inset-block-end .2s ease; }
html.usr-pdp-sticky-shown .usrsa-launcher { inset-block-end: calc(var(--usr-pdp-sticky-h, 96px) + 12px); }
@media (prefers-reduced-motion: reduce) { .usrsa-launcher { transition: none; } }

/* Each legal-link separator travels with the link after it, so no line ends on a dangling dot. */
.usr-foot__legal-item { white-space: nowrap; }
/* Hover states for links and questions that showed no change on hover (hover audit, 26 Oct). */
:is(.usr-pdp-breadcrumb a, .usr-pdp-docs__list a, .usr-card__name a, .usr-home-product h3 a, .usr-learn-card__more, .usr-learn-ahead__all, .usr-card__view-product):hover { text-decoration: underline; text-underline-offset: 4px; }
:is(.usr-home-faq__item button, .usr-pdp-faq__q, .usr-help-qa > summary):hover { text-decoration: underline; text-underline-offset: 4px; }
:is(.usr-foot__legal-item a, .usr-help-head__contact a):hover { text-decoration-thickness: 2px; }
