/* Street Stand: stainless service hatch, safety orange and mint. */
:root {
    --ls-ink: #0a0c0b;
    --ls-paper: #d4d7d3;
    --ls-red: #ff4f1f;
    --ls-accent: #ff4f1f;
    --ls-secondary: #54e0ae;
    --ls-line: 1px solid rgb(10 12 11 / 28%);
}

.ls-collection--street { background: var(--ls-paper); }
.ls-collection--street .ls-header { border-bottom: 8px solid #aeb2ae; background: var(--ls-ink); }
.ls-collection--street .ls-header__signal { background: var(--ls-red); color: var(--ls-ink); }
.ls-collection--street .ls-header__inner { height: 76px; }
.ls-collection--street .ls-wordmark { background: var(--ls-secondary); color: var(--ls-ink); padding: 8px 12px; }
.ls-collection--street .ls-wordmark small { color: var(--ls-ink); }
.ls-collection--street .ls-nav a { color: #f8f7f2; }
.ls-collection--street .ls-nav a:hover,
.ls-collection--street .ls-nav a:focus-visible { color: var(--ls-secondary); }
.ls-collection--street .ls-account-link,
.ls-collection--street .ls-cart-link {
    border-color: rgb(255 255 255 / 28%);
    color: var(--ls-secondary);
}
.ls-collection--street .ls-menu-toggle span { background: var(--ls-secondary); }
.ls-collection--street .ls-header__order { background: var(--ls-red); color: var(--ls-ink) !important; }

.ls-street-rush {
    display: grid;
    width: var(--ls-page);
    min-height: 360px;
    margin-inline: auto;
    align-items: center;
    border-bottom: 2px solid var(--ls-ink);
    grid-template-columns: 170px minmax(0, 1fr) 280px;
}

.ls-street-rush__number {
    align-self: stretch;
    display: grid;
    place-items: center;
    border-right: 1px solid rgb(10 12 11 / 32%);
    color: var(--ls-red);
    font-family: var(--ls-display);
    font-size: clamp(5rem, 9vw, 8rem);
}

.ls-street-rush > div:nth-child(2) { padding: 56px clamp(32px, 5vw, 76px); }
.ls-street-rush h2 { max-width: 760px; font-size: clamp(3.3rem, 6vw, 5.8rem); line-height: .86; text-transform: uppercase; }
.ls-street-rush p { max-width: 58ch; margin-top: 22px; color: rgb(10 12 11 / 72%); }
.ls-street-rush > a {
    display: flex;
    min-height: 108px;
    align-items: center;
    justify-content: space-between;
    background: var(--ls-red);
    padding: 24px;
    color: var(--ls-ink);
    font-family: var(--ls-display);
    font-size: 1.45rem;
    text-transform: uppercase;
    transition: background-color 180ms ease, transform 180ms ease;
}
.ls-street-rush > a:hover { background: var(--ls-secondary); transform: translateY(-3px); }

.ls-street-counter {
    display: grid;
    min-height: 700px;
    background: var(--ls-ink);
    color: #fff;
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
}
.ls-street-counter figure { position: relative; min-height: 700px; overflow: hidden; }
.ls-street-counter figure img { width: 100%; height: 100%; object-fit: cover; }
.ls-street-counter figcaption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    background: var(--ls-secondary);
    padding: 10px 14px;
    color: var(--ls-ink);
    font-weight: 800;
    text-transform: uppercase;
}
.ls-street-counter__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 8px solid #aeb2ae;
    padding: clamp(48px, 7vw, 100px);
}
.ls-street-stamp {
    align-self: flex-start;
    border: 2px solid var(--ls-secondary);
    padding: 8px 12px;
    color: var(--ls-secondary);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    transform: rotate(-2deg);
}
.ls-street-counter h2 { max-width: 620px; margin-top: 32px; font-size: clamp(3.4rem, 5vw, 5rem); line-height: .9; text-transform: uppercase; }
.ls-street-counter__copy > p { max-width: 54ch; margin-top: 26px; color: rgb(255 255 255 / 72%); }
.ls-street-counter dl { margin-top: 42px; border-top: 1px solid rgb(255 255 255 / 28%); }
.ls-street-counter dl > div { display: grid; padding: 15px 0; border-bottom: 1px solid rgb(255 255 255 / 28%); grid-template-columns: 120px 1fr; }
.ls-street-counter dt { color: var(--ls-secondary); font-weight: 800; text-transform: uppercase; }
.ls-street-counter dd { color: #fff; }

.ls-street-lineup {
    display: grid;
    width: var(--ls-page);
    margin: 0 auto;
    padding: clamp(72px, 9vw, 126px) 0;
    grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr);
    gap: clamp(50px, 8vw, 120px);
}
.ls-street-lineup header > span { color: var(--ls-red); font-weight: 800; text-transform: uppercase; }
.ls-street-lineup h2 { margin-top: 18px; font-size: clamp(3.2rem, 5.5vw, 5.4rem); line-height: .88; text-transform: uppercase; }
.ls-street-lineup__list { border-top: 3px solid var(--ls-ink); }
.ls-street-lineup__list a {
    display: grid;
    min-height: 102px;
    align-items: center;
    border-bottom: 1px solid rgb(10 12 11 / 40%);
    grid-template-columns: 120px 1fr 50px;
    transition: background-color 180ms ease;
}
.ls-street-lineup__list a:hover { background: var(--ls-secondary); }
.ls-street-lineup__list a strong { transition: transform 180ms cubic-bezier(.22, 1, .36, 1); }
.ls-street-lineup__list a:hover strong { transform: translateX(8px); }
.ls-street-lineup__list small { color: rgb(10 12 11 / 62%); font-weight: 700; text-transform: uppercase; }
.ls-street-lineup__list strong { font-family: var(--ls-display); font-size: clamp(1.8rem, 3vw, 2.7rem); text-transform: uppercase; }
.ls-street-lineup__list span { color: var(--ls-red); font-family: var(--ls-display); font-size: 1.5rem; }

.ls-street-pickup {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: space-between;
    background: var(--ls-red);
    padding: 48px max(24px, calc((100vw - 1400px) / 2));
    color: var(--ls-ink);
    gap: 40px;
}
.ls-street-pickup p { font-weight: 800; text-transform: uppercase; }
.ls-street-pickup h2 { margin-top: 10px; font-size: clamp(3rem, 5vw, 5rem); line-height: .9; text-transform: uppercase; }
.ls-street-pickup a,
.ls-footer__order { display: inline-flex; min-height: 50px; align-items: center; justify-content: space-between; border-bottom: 2px solid currentColor; font-weight: 800; gap: 24px; }

.ls-menu-ticket { display: grid; min-height: 76px; background: #aeb2ae; grid-template-columns: repeat(3, 1fr); }
.ls-menu-ticket span { display: flex; align-items: center; border-right: 1px solid rgb(10 12 11 / 34%); padding: 16px 24px; font-weight: 700; gap: 14px; }
.ls-menu-ticket b { color: var(--ls-red); font-family: var(--ls-display); font-size: 1.4rem; }
.ls-collection--street .ls-order-context { background: var(--ls-paper); }
.ls-collection--street .ls-category-nav { border-block: 2px solid var(--ls-ink); background: var(--ls-ink); }
.ls-collection--street .ls-category-nav__inner > span { color: var(--ls-secondary); }
.ls-collection--street .ls-menu-layout { background: #c5c8c4; }
.ls-collection--street .ls-menu-category__head { border-bottom: 4px solid var(--ls-ink); }
.ls-collection--street .ls-menu-category__number { color: var(--ls-red); }
.ls-collection--street .ls-menu-item { min-height: 166px; background: transparent; }
.ls-collection--street .ls-menu-item:hover { background: var(--ls-secondary); }
.ls-collection--street .ls-menu-item__add { border: 0; background: var(--ls-red); color: var(--ls-ink); }
.ls-collection--street .ls-cart-dock { border-top-color: var(--ls-red); background: var(--ls-ink); }

.ls-collection--street .ls-system-mast {
    border: 0;
    background: #aeb2ae;
    color: var(--ls-ink);
}
.ls-collection--street .ls-system-mast h1,
.ls-collection--street .ls-system-mast p,
.ls-collection--street .ls-system-mast .ls-back-link { color: var(--ls-ink); }
.ls-collection--street .ls-system-mast > div > p:last-child { color: var(--ls-ink); }
.ls-collection--street .ls-system-mast__number { color: var(--ls-red); }
.ls-collection--street .ls-system-page,
.ls-collection--street .ls-cart-page,
.ls-collection--street .ls-checkout-page,
.ls-collection--street .ls-contact-page,
.ls-collection--street .ls-locations-page,
.ls-collection--street .ls-account-page,
.ls-collection--street .ls-auth-page { background: var(--ls-paper); }
.ls-collection--street .ls-cart-workspace__context,
.ls-collection--street .ls-contact-details {
    background: #aeb2ae;
    color: var(--ls-ink);
}
.ls-collection--street .ls-cart-workspace__context h2,
.ls-collection--street .ls-cart-workspace__context h3,
.ls-collection--street .ls-cart-workspace__context p,
.ls-collection--street .ls-cart-workspace__context address,
.ls-collection--street .ls-cart-workspace__context .ls-local-header__heading > span {
    color: var(--ls-ink);
}
.ls-collection--street .ls-cart-workspace__ticket,
.ls-collection--street .ls-contact-form,
.ls-collection--street .ls-auth-shell { border-radius: 0; background: #f3f4f1; }
.ls-collection--street .ls-checkout-steps .is-current,
.ls-collection--street .btn-primary { background: var(--ls-red) !important; color: var(--ls-ink) !important; }

.ls-collection--street .ls-footer { border-top: 10px solid #aeb2ae; background: var(--ls-ink); }
.ls-collection--street .ls-footer__marquee { background: var(--ls-red); color: var(--ls-ink); }
.ls-collection--street .ls-footer__main { grid-template-columns: 1.25fr .9fr .9fr .7fr; }
.ls-collection--street .ls-footer__brand { border-right: 1px solid rgb(255 255 255 / 22%); padding-right: 48px; }
.ls-collection--street .ls-wordmark--footer { display: inline-flex; }
.ls-collection--street .ls-footer__order { margin-top: 24px; color: var(--ls-secondary); }
.ls-collection--street .ls-footer__bottom { grid-template-columns: 1fr auto auto; gap: 28px; }

@media (max-width: 960px) {
    .ls-street-rush { grid-template-columns: 110px 1fr; }
    .ls-street-rush > a { grid-column: 1 / -1; }
    .ls-street-counter { grid-template-columns: 1fr; }
    .ls-street-counter figure { min-height: 520px; }
    .ls-street-counter__copy { border-top: 8px solid #aeb2ae; border-left: 0; }
    .ls-street-lineup { grid-template-columns: 1fr; }
    .ls-menu-ticket { overflow-x: auto; grid-template-columns: repeat(3, minmax(230px, 1fr)); }
    .ls-collection--street .ls-footer__main { grid-template-columns: 1fr 1fr; }
    .ls-collection--street .ls-footer__brand { grid-column: 1 / -1; border-right: 0; padding-right: 0; }
}

@media (max-width: 640px) {
    .ls-street-rush { width: calc(100% - 32px); grid-template-columns: 72px 1fr; }
    .ls-street-rush__number { font-size: 4rem; }
    .ls-street-rush > div:nth-child(2) { padding: 44px 22px; }
    .ls-street-rush h2,
    .ls-street-counter h2,
    .ls-street-lineup h2,
    .ls-street-pickup h2 { font-size: clamp(2.7rem, 13vw, 4rem); }
    .ls-street-counter figure { min-height: 390px; }
    .ls-street-counter__copy { padding: 48px 22px; }
    .ls-street-lineup { width: calc(100% - 32px); padding-block: 64px; gap: 38px; }
    .ls-street-lineup__list a { grid-template-columns: 74px 1fr 34px; }
    .ls-street-pickup { align-items: flex-start; flex-direction: column; }
    .ls-collection--street .ls-footer__main { grid-template-columns: 1fr; }
    .ls-collection--street .ls-footer__bottom { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .ls-street-rush > a,
    .ls-street-lineup__list a,
    .ls-street-lineup__list a strong { transition: none; }
}

/* QA 2026-07-25: contrast, readable type and touch targets */
:root { --ls-orange-text: #6f1c05; }

.ls-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

.ls-theme :focus-visible {
    outline: 3px solid var(--ls-ink) !important;
    outline-offset: 3px !important;
}

.ls-menu-toggle { color: var(--ls-secondary); }
.ls-menu-toggle span { background: currentColor; }
.ls-wordmark__name > span { color: var(--ls-ink); }
.ls-footer__bottom,
.ls-footer__bottom a { color: rgb(245 240 230 / 80%); font-size: .75rem; }

.ls-order-context__label,
.ls-local-header__link,
.ls-menu-category__count,
.ls-location-card__index,
.ls-location-card__service > span,
.ls-location-card__action,
.ls-location-picker .is-open,
.ls-contact-form .ls-kicker,
.ls-location-picker .ls-kicker {
    color: var(--ls-orange-text) !important;
}

.ls-menu-category__description,
.ls-menu-category__count,
.ls-location-card address,
.ls-location-card p { color: rgb(10 12 11 / 76%); }
.ls-menu-category__count { font-size: .75rem; }
.ls-theme .text-success { color: #075b35 !important; }

.ls-v2-street-rail a span,
.ls-street-lineup > header span,
.ls-street-lineup__list a > span,
.ls-menu-ticket b,
.ls-cart-workspace__ticket > header span,
.ls-contact-intro .ls-kicker {
    color: var(--ls-orange-text);
}

.ls-local-header__body > a,
.ls-order-context .text-primary,
.ls-cart-workspace__context a {
    color: var(--ls-orange-text) !important;
}

.ls-cart-dock .ls-cart-empty p { color: rgb(212 215 211 / 82%); }
.ls-cart-workspace__ticket .ls-cart-empty p { color: rgb(10 12 11 / 70%); }
.ls-cart-workspace__context .text-success { color: #004527 !important; }

.ls-contact-details {
    color: var(--ls-ink);
}
.ls-contact-details span,
.ls-contact-details a { color: var(--ls-orange-text) !important; }
.ls-contact-details address,
.ls-contact-details p { color: rgb(10 12 11 / 78%); }

.ls-map,
.ls-auth-shell > header,
.ls-mobile-order-bar,
.ls-checkout-button,
.ls-header__signal {
    color: var(--ls-ink) !important;
}
.ls-map :where(h1, h2, h3, p, address, span, a),
.ls-auth-shell > header :where(h1, h2, h3, p, address, span, a),
.ls-mobile-order-bar :where(span, strong, a) {
    color: var(--ls-ink) !important;
}
.ls-map .ls-button {
    border-color: var(--ls-ink);
    background: transparent;
    color: var(--ls-ink) !important;
}
.ls-contact-native__submit button,
.ls-button--orange {
    color: var(--ls-ink) !important;
}

.ls-cart-empty p { color: rgb(10 12 11 / 72%); }
.ls-checkout-steps li { color: rgb(10 12 11 / 72%); }
.ls-cart-workspace__note,
.ls-cart-box__title small,
.ls-footer__bottom { font-size: .75rem; }

.ls-cart-item__quantity {
    grid-template-columns: 44px minmax(34px, auto) 44px;
}
.ls-cart-item__quantity button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    font-size: .8rem;
}

.ls-checkout-button:disabled,
.ls-checkout-button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .74;
}

/* QA: operational copy stays readable on every viewport. */
.ls-wordmark small,
.ls-header__status,
.ls-header__signal,
.ls-mobile-menu__status,
.ls-mobile-menu__links span,
.ls-rating-rail__score > span,
.ls-rating-rail__score small,
.ls-rating-rail blockquote footer,
.ls-neighborhood__brand > p,
.ls-footer__hours small,
.ls-footer__bottom,
.ls-menu-hero__edition span,
.ls-menu-hero__edition small,
.ls-local-header__heading > span,
.ls-menu-category__count,
.ls-menu-item__availability,
.ls-menu-item__price s,
.ls-cart-dock__head small,
.ls-cart-item__quantity button,
.ls-cart-item__edit i,
.ls-cart-item__content p,
.ls-cart-item__content ul,
.ls-cart-item__price s,
.ls-cart-workspace__ticket > header span,
.ls-checkout-steps span,
.ls-location-search label,
.ls-contact-details span,
.ls-order-ticket dt {
    font-size: .75rem;
}

.ls-menu-item__description,
.ls-menu-item__body .menu-item-ingredients,
.ls-menu-item__body [class*="ingredient"] {
    font-size: .875rem !important;
}

.ls-order-context a.small.text-primary,
.ls-local-header a.small.text-primary {
    color: #6f1c05 !important;
}

.ls-cart-count {
    color: var(--ls-ink) !important;
}

.ls-cart-box__title > span {
    color: #6f1c05 !important;
    font-size: .875rem !important;
}
