/* Shared foundation: retain each brand's typography, palette and composition. */
:root { --fw-focus: #a17a35; --fw-target-size: 44px; }
html { scroll-padding-top: 120px; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--fw-focus); outline-offset: 4px;
}
.fw-skip-link { position: fixed; top: 12px; left: 12px; z-index: 100000; padding: 12px 20px;
  background: #fff; color: #111; transform: translateY(-160%); border: 2px solid var(--fw-focus); }
.fw-skip-link:focus { transform: none; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
  max-width: 100%; font-size: max(16px, 1em); min-height: var(--fw-target-size);
}
button, [role="button"], input[type="submit"], input[type="button"], summary {
  min-height: var(--fw-target-size); touch-action: manipulation;
}
.l-footer .l-footer__nav a,
.fw-footer-links a { min-height: var(--fw-target-size); padding-block: 10px; }
.fw-home-hero .carousel-control-prev, .fw-home-hero .carousel-control-next {
  min-width: var(--fw-target-size); min-height: var(--fw-target-size);
}
@media (min-width:768px) and (max-width:991px) {
  .home .f-wrapper, .home .f-wrapper > main { width:100%; min-width:0; }
  .home .l-banner__column { width:calc(100% - 80px) !important; max-width:calc(100% - 80px); }
  .home .l-banner__entry__box { width:100% !important; max-width:100%; }
}
.carousel-indicators li, .carousel-indicators button { min-width: 24px; min-height: 24px; }
@media (max-width: 767px) {
  input, textarea, select { font-size: 16px !important; }
  th, td, p { overflow-wrap: break-word; }
  .fw-time-model, .fw-goal-card, .program-card { min-width: 0; }
  .fw-skip-link { max-width: calc(100vw - 24px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; }
}
@media (max-width:991px) {
  .info_nutrition .f-wrapper, .info_nutrition .f-wrapper > main { width:100%; min-width:0; }
  .info_nutrition .l-banner__entry__box { width:100%!important; max-width:100%; }
  .info_nutrition .l-banner__column { width:calc(100% - 80px)!important; max-width:calc(100% - 80px); }
}
