/* Shared accessibility defaults; loaded after each page's existing styles. */
:root { --g: #117c3c; }
.skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 10000;
  transform: translateY(-200%); padding: 12px 18px;
  border: 2px solid #fff; border-radius: 8px;
  background: #173225; color: #fff; font: 700 16px/1.4 Arial,sans-serif;
}
.skip-link:focus { transform: translateY(0); }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #173225 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
#main-content { scroll-margin-top: 100px; }
:where(a,button,input,select,textarea,[tabindex]) { scroll-margin-block: 100px 110px; }
.field-error { color: #a33434; font-size: 13px; line-height: 1.5; }
.required-help { font-size: 13px; line-height: 1.5; color: #566059; }
[aria-invalid="true"] { border: 2px solid #a33434 !important; }
.progress-step { color: #59675c; }
.a11y-status {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip-path: inset(50%);
  white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (forced-colors: active) {
  :where(a,button,input,select,textarea,[tabindex]):focus-visible {
    outline-color: Highlight !important;
  }
  .sel, .selected, [aria-pressed="true"] { border-color: Highlight !important; }
}
:root { --muted: #5d6860; --green: #117c3c; }
.signature-heading-button {
  display: inline; padding: 0; border: 0; background: transparent;
  color: inherit; font: inherit; letter-spacing: inherit; line-height: inherit;
  text-transform: inherit; text-align: inherit; cursor: pointer;
}
.allergen-card-wrap { position: relative; display: grid; min-width: 0; }
.allergen-card-wrap > :is(.card,.choice-card,.topping-card,.drizzle-card) {
  width: 100% !important; min-width: 0 !important; height: 100%;
}
.allergen-card-wrap.allergen-open > .allergen-tooltip,
.allergen-card-wrap > .allergen-info-btn:focus-visible + .allergen-tooltip,
.allergen-card-wrap > .allergen-info-btn:hover + .allergen-tooltip { display: block; }
/* Preserve the established mobile card width and next-card peek. */
@media(max-width:650px) {
  :is(.grid,.choice-grid,.topping-grid,.drizzle-grid) > .allergen-card-wrap {
    flex: 0 0 75% !important; width: 75% !important; min-width: 75% !important;
  }
}
/* Small dots retain their appearance inside a larger touch target. */
.gb-carousel-dot, .gb-start-carousel-dot {
  min-width: 24px !important; min-height: 24px !important;
  width: 24px !important; height: 24px !important;
  padding: 8px !important; background-clip: content-box !important;
  box-sizing: border-box !important;
}
a.logo { display: inline-flex; align-items: center; min-height: 24px; }
.selection-card-wrap { position: relative; display: grid; min-width: 0; }
.selection-card-wrap > button:not(.allergen-info-btn) { width: 100% !important; min-width: 0 !important; height: 100%; }
.selection-card-wrap:has(> .unified-stepper:not([hidden])) > button:not(.allergen-info-btn) {
  padding-bottom: 56px !important;
}
.selection-card-wrap > .unified-stepper {
  position: absolute; bottom: 12px; left: 12px; right: 12px; z-index: 2;
}
@media(max-width:650px) {
  :is(.grid,.choice-grid,.base-grid,.topping-grid,.drizzle-grid) > .selection-card-wrap {
    flex: 0 0 75% !important; width: 75% !important; min-width: 75% !important;
  }
}
.gb-carousel-dots, .gb-start-carousel-dots {
  flex-wrap: wrap !important; max-width: 100%; gap: 4px !important;
}
@media(max-width:360px) {
  .group-head .hint, .gb-smoothie-ingredients-mobile-hint, .gb-smoothie-instruction {
    white-space: normal !important;
  }
}
.info-dismissed + :is(.allergen-tooltip,.gb-info-popup) {
  opacity: 0 !important; visibility: hidden !important;
}
/* Keep the visible dots small while enlarging only their invisible hit area. */
.gb-carousel-dots .gb-carousel-dot,
.gb-start-carousel-dots .gb-start-carousel-dot {
  position: relative; background: transparent !important; padding: 0 !important;
  min-width: 24px !important; min-height: 24px !important;
}
.gb-carousel-dots .gb-carousel-dot::before,
.gb-start-carousel-dots .gb-start-carousel-dot::before {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 7px; height: 7px; transform: translate(-50%,-50%);
  border-radius: 999px; background: #cfd6cc;
}
.gb-carousel-dots .gb-carousel-dot.is-active::before,
.gb-start-carousel-dots .gb-start-carousel-dot.is-active::before {
  width: 18px; background: var(--g);
}
.gb-carousel-dots .gb-carousel-dot.is-active,
.gb-start-carousel-dots .gb-start-carousel-dot.is-active { background: transparent !important; }
#smsMarketingEntry a {
  display: inline-flex !important; align-items: center;
  min-height: 24px; margin-block: 4px;
}
