/* Agent 2 polish: digital order terminal */
:root {
    --lm2-black: #090a08;
    --lm2-white: #f8f9f6;
    --lm2-chartreuse: #c6ff3f;
    --lm2-muted: #60655c;
    --lm2-line: rgb(9 10 8 / 22%);
    --lm2-page: min(1440px, calc(100% - 40px));
    --lm2-ease: cubic-bezier(.22, 1, .36, 1);
}

.lm-theme {
    background: var(--lm2-white);
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
}

.lm-theme :where(h1, h2, h3, p) {
    letter-spacing: 0;
}

.lm-theme :where(h1, h2, h3) {
    text-wrap: balance;
}

.lm-theme :where(p, address) {
    text-wrap: pretty;
}

.lm-theme :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid var(--lm2-black);
    outline-offset: 3px;
}

.lm-header {
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-header__signal {
    min-height: 30px;
    border: 0;
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-header__signal span {
    color: var(--lm2-black) !important;
}

.lm-header__inner {
    width: var(--lm2-page);
    border: 0;
    background: transparent;
}

.lm-header.is-scrolled {
    background: rgb(248 249 246 / 96%);
    box-shadow: 0 3px 0 var(--lm2-black);
}

.lm-wordmark,
.lm-nav a,
.lm-account-link,
.lm-cart-link {
    color: var(--lm2-black);
}

.lm-wordmark__name {
    font-family: "Barlow", Arial, sans-serif;
    font-weight: 800;
    letter-spacing: -.04em;
}

.lm-wordmark__name > span {
    color: var(--lm2-black);
}

.lm-wordmark small,
.lm-nav a {
    letter-spacing: .04em;
}

.lm-nav a {
    min-height: 44px;
}

.lm-nav a::after {
    height: 3px;
    background: var(--lm2-chartreuse);
}

.lm-header__order {
    min-height: 46px;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm-header__order:hover {
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-cart-count {
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-mobile-menu {
    border-left: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-mobile-menu__links a,
.lm-mobile-menu__head button {
    border-color: var(--lm2-line);
    color: var(--lm2-black);
}

.lm-mobile-menu__foot .lm-button {
    border: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-menu-overlay {
    background: rgb(9 10 8 / 58%);
}

/* Home */
.lm-v2-digital-hero {
    position: relative;
    display: grid;
    min-height: min(780px, calc(100svh - 104px));
    overflow: hidden;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    grid-template-columns: minmax(380px, .82fr) minmax(0, 1.18fr);
}

.lm-v2-digital-hero > img {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 680px;
    object-fit: cover;
    object-position: center;
}

.lm2-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--lm2-black);
    padding: clamp(48px, 7vw, 108px) max(24px, calc((100vw - 1440px) / 2));
}

.lm2-hero-copy > span {
    font-size: .74rem;
    font-weight: 800;
}

.lm2-hero-copy h1 {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    max-width: 7ch;
    margin: 24px 0;
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(3.5rem, 6.6vw, 6rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: .88;
    white-space: normal;
    transform: none;
}

.lm2-hero-copy p {
    max-width: 35ch;
    color: var(--lm2-muted);
    font-size: 1rem;
}

.lm-v2-digital-index {
    z-index: 3;
    top: 36px;
    right: 24px;
    bottom: auto;
    left: auto;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-white);
}

.lm-v2-digital-index a {
    display: flex;
    min-width: 170px;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--lm2-line);
    padding: 9px 12px;
    color: var(--lm2-black);
    font-size: .78rem;
}

.lm-v2-digital-index a::after {
    content: "↗";
}

.lm-v2-digital-index a:last-child {
    border-bottom: 0;
}

.lm-v2-digital-index a:hover,
.lm-v2-digital-index a.is-current {
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-v2-digital-status {
    z-index: 3;
    right: 24px;
    bottom: 24px;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    padding: 12px 14px;
    color: var(--lm2-black);
}

.lm-v2-digital-status span {
    color: var(--lm2-muted);
}

.lm-v2-digital-status strong.is-open {
    color: var(--lm2-black);
}

.lm-v2-command-dock {
    position: relative;
    bottom: auto;
    display: grid;
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    grid-template-columns: 1fr 1.5fr 1fr;
    box-shadow: none;
}

.lm-v2-command-dock a {
    min-height: 82px;
    border-right: 1px solid var(--lm2-black);
    border-radius: 0;
    background: transparent;
    color: var(--lm2-black);
    padding-inline: clamp(16px, 3vw, 42px);
}

.lm-v2-command-dock a:last-child {
    border-right: 0;
}

.lm-v2-command-dock a:nth-child(2) {
    background: var(--lm2-chartreuse);
}

.lm-v2-command-dock a:hover {
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm2-catalog {
    display: grid;
    width: var(--lm2-page);
    margin: 0 auto;
    padding-block: clamp(72px, 9vw, 126px);
    grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr);
    gap: clamp(40px, 7vw, 104px);
}

.lm2-catalog > header {
    align-self: start;
}

.lm2-catalog > header > span,
.lm2-flow > header > span {
    display: inline-block;
    background: var(--lm2-chartreuse);
    padding: 6px 8px;
    color: var(--lm2-black);
    font-size: .72rem;
    font-weight: 800;
}

.lm2-catalog h2,
.lm2-flow h2 {
    max-width: 9ch;
    margin: 20px 0;
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(2.8rem, 5.5vw, 5.6rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: .9;
}

.lm2-catalog header p,
.lm2-flow header p {
    color: var(--lm2-muted);
}

.lm2-catalog__list {
    display: grid;
    border-top: 1px solid var(--lm2-black);
    border-left: 1px solid var(--lm2-black);
    grid-template-columns: 1fr 1fr;
}

.lm2-catalog__list a {
    position: relative;
    display: grid;
    min-height: 320px;
    overflow: hidden;
    border-right: 1px solid var(--lm2-black);
    border-bottom: 1px solid var(--lm2-black);
    color: var(--lm2-black);
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr auto;
}

.lm2-catalog__list img {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 240px;
    object-fit: cover;
    filter: saturate(.9);
    transition: transform 260ms var(--lm2-ease), filter 260ms ease;
}

.lm2-catalog__list a:hover img {
    filter: saturate(1.08);
    transform: scale(1.025);
}

.lm2-catalog__list strong,
.lm2-catalog__list small {
    display: flex;
    min-height: 70px;
    align-items: center;
    padding: 12px 16px;
}

.lm2-catalog__list strong {
    font-size: 1.2rem;
}

.lm2-catalog__list small {
    border-left: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    font-weight: 800;
}

.lm2-catalog__code {
    position: absolute;
    z-index: 2;
    top: 10px;
    left: 10px;
    min-width: 38px;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    padding: 5px;
    text-align: center;
    font-size: .72rem;
    font-weight: 800;
}

.lm2-flow {
    display: grid;
    border-block: 1px solid var(--lm2-black);
    background: var(--lm2-black);
    padding: clamp(70px, 9vw, 120px) max(20px, calc((100vw - 1440px) / 2));
    color: var(--lm2-white);
    grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
    gap: clamp(40px, 7vw, 104px);
}

.lm2-flow ol {
    display: grid;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgb(248 249 246 / 30%);
    list-style: none;
}

.lm2-flow li {
    display: grid;
    min-height: 126px;
    align-items: center;
    border-bottom: 1px solid rgb(248 249 246 / 30%);
    grid-template-columns: 60px minmax(170px, .6fr) minmax(0, 1fr);
    gap: 20px;
}

.lm2-flow li > span {
    color: var(--lm2-chartreuse);
    font-size: .78rem;
    font-weight: 800;
}

.lm2-flow li strong {
    font-size: 1.2rem;
}

.lm2-flow li p {
    margin: 0;
    color: rgb(248 249 246 / 70%);
}

.lm2-location-line {
    display: flex;
    min-height: 170px;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 32px max(20px, calc((100vw - 1440px) / 2));
}

.lm2-location-line span,
.lm2-location-line strong {
    display: block;
}

.lm2-location-line span {
    color: var(--lm2-muted);
    font-size: .76rem;
}

.lm2-location-line strong {
    margin-top: 7px;
    font-size: clamp(1rem, 2vw, 1.35rem);
}

.lm2-location-line a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    padding: 12px 18px;
    color: var(--lm2-black);
    gap: 20px;
}

/* Menu console */
.lm2-menu-console {
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-v2-menu-hero {
    display: grid;
    min-height: 460px;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
    grid-template-columns: minmax(340px, .7fr) minmax(0, 1.3fr);
}

.lm-v2-menu-hero::after {
    display: none;
}

.lm-v2-menu-hero figure {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    border-left: 1px solid var(--lm2-black);
}

.lm-v2-menu-hero__copy {
    position: relative;
    display: flex;
    min-height: 460px;
    grid-column: 1;
    grid-row: 1;
    width: auto;
    margin: 0;
    padding: 60px max(24px, calc((100vw - 1440px) / 2));
    color: var(--lm2-black);
}

.lm-v2-menu-hero__copy > span {
    align-self: flex-start;
    background: var(--lm2-chartreuse);
    padding: 6px 8px;
    color: var(--lm2-black);
    letter-spacing: 0;
}

.lm-v2-menu-hero__copy h1 {
    max-width: 8ch;
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(3rem, 5.4vw, 5.6rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: .9;
}

.lm-v2-menu-hero__copy p {
    max-width: 40ch;
    color: var(--lm2-muted);
}

.lm-order-context {
    display: grid;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
    grid-template-columns: 1fr 1fr;
}

.lm-order-context__location,
.lm-order-context__fulfillment {
    border-color: var(--lm2-black);
}

.lm-order-context__label {
    color: var(--lm2-muted);
}

.lm-local-header__state,
.lm-local-header__link {
    color: var(--lm2-black);
}

.lm2-menu-workbench {
    display: grid;
    width: var(--lm2-page);
    margin: 0 auto;
    padding-block: 52px 100px;
    grid-template-columns: 210px minmax(0, 1fr) minmax(300px, 340px);
    gap: 32px;
}

.lm-category-nav {
    position: sticky;
    z-index: 1;
    top: 130px;
    align-self: start;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    box-shadow: none;
}

.lm-category-nav__inner {
    display: block;
    width: auto;
    padding: 0;
}

.lm-category-nav__inner > span {
    display: block;
    min-height: 44px;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-black);
    padding: 12px 14px;
    color: var(--lm2-white);
}

.lm-category-nav ul,
.lm-category-nav .nav {
    display: block;
    overflow: visible;
}

.lm-category-nav a {
    display: flex;
    min-height: 46px;
    align-items: center;
    border: 0;
    border-bottom: 1px solid var(--lm2-line);
    border-radius: 0;
    background: transparent !important;
    padding: 10px 14px;
    color: var(--lm2-black) !important;
    white-space: normal;
}

.lm-category-nav a:hover,
.lm-category-nav a.active {
    background: var(--lm2-chartreuse) !important;
    color: var(--lm2-black) !important;
}

.lm-menu-group {
    border-top: 1px solid var(--lm2-black);
}

.lm-menu-category {
    margin: 0;
}

.lm-menu-category__head {
    min-height: 130px;
    border-bottom: 1px solid var(--lm2-black) !important;
    background: var(--lm2-white);
}

.lm-menu-category__number {
    color: var(--lm2-muted);
}

.lm-menu-category__head h2 {
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.lm-menu-category__description,
.lm-menu-category__count,
.lm-menu-item__description,
.lm-menu-item__body [class*="ingredient"] {
    color: var(--lm2-muted);
}

.lm-menu-item {
    position: relative;
    min-height: 124px;
    border-bottom: 1px solid var(--lm2-line) !important;
    background: transparent;
    color: var(--lm2-black);
    grid-template-columns: minmax(0, 1fr) 90px 98px 48px !important;
    gap: 14px;
    padding-block: 12px;
}

.lm-menu-item:hover {
    background: rgb(198 255 63 / 16%);
    transform: none;
}

.lm-menu-item__body {
    grid-column: 1 !important;
}

.lm-menu-item__body h3 {
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight: 700;
    letter-spacing: -.015em;
}

.lm-menu-item__price {
    grid-column: 2 !important;
    color: var(--lm2-black);
}

.lm-menu-item__media {
    grid-column: 3 !important;
    width: 88px !important;
    height: 88px !important;
    border: 1px solid var(--lm2-black);
    border-radius: 0;
}

.lm-menu-item__add {
    grid-column: 4 !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px;
    border: 1px solid var(--lm2-black) !important;
    border-radius: 0;
    background: var(--lm2-chartreuse) !important;
    color: var(--lm2-black) !important;
}

.lm-menu-item__add:hover {
    background: var(--lm2-black) !important;
    color: var(--lm2-white) !important;
}

.lm-menu-item__add span {
    display: none;
}

.lm-cart-dock {
    top: 130px;
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
    box-shadow: none;
}

.lm-cart-dock__head {
    border-color: var(--lm2-black);
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm-cart-dock__head small,
.lm-cart-dock__head > span {
    color: var(--lm2-chartreuse);
}

/* System pages */
.lm-system-page,
.lm-cart-page,
.lm-checkout-page,
.lm-contact-page,
.lm-locations-page,
.lm-account-page,
.lm-auth-page {
    background: var(--lm2-white) !important;
    color: var(--lm2-black);
}

.lm-system-mast {
    display: grid;
    width: var(--lm2-page);
    min-height: 300px;
    border: 0;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    grid-template-columns: 170px minmax(0, 1fr) auto;
}

.lm-system-mast h1 {
    max-width: 14ch;
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
    font-size: clamp(2.7rem, 5vw, 5.4rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: .9;
}

.lm-system-mast p,
.lm-back-link {
    color: var(--lm2-muted);
}

.lm-kicker {
    display: inline-block;
    background: var(--lm2-chartreuse);
    padding: 5px 7px;
    color: var(--lm2-black);
}

.lm-system-mast__number {
    color: var(--lm2-black);
    font-size: clamp(3rem, 8vw, 8rem);
    font-weight: 800;
    opacity: .08;
}

.lm-cart-workspace,
.lm-checkout-native,
.lm-account-workspace,
.lm-location-picker,
.lm-contact-split {
    width: var(--lm2-page);
}

.lm-cart-workspace {
    align-items: start;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
}

.lm-cart-workspace__context {
    position: sticky;
    top: 130px;
    border: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
}

.lm-cart-workspace__context h2,
.lm-cart-workspace__ticket h2 {
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
}

.lm-cart-workspace__ticket {
    border: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-cart-workspace__ticket > header {
    border-color: var(--lm2-black);
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm-cart-workspace__ticket > header small {
    display: block;
    color: var(--lm2-chartreuse);
    font-size: .7rem;
}

.lm-cart-workspace__ticket > header h2 {
    color: var(--lm2-white);
}

.lm-cart-item,
.lm-cart-totals > *,
.lm-cart-coupon {
    border-color: var(--lm2-line);
}

.lm-cart-item__quantity button,
.lm-cart-coupon button {
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: transparent;
    color: var(--lm2-black);
}

.lm-checkout-button {
    min-height: 54px;
    border: 1px solid var(--lm2-black) !important;
    border-radius: 0 !important;
    background: var(--lm2-chartreuse) !important;
    color: var(--lm2-black) !important;
}

.lm-checkout-button:hover {
    background: var(--lm2-black) !important;
    color: var(--lm2-white) !important;
}

.lm-checkout-steps {
    width: var(--lm2-page);
    border: 1px solid var(--lm2-black);
    background: var(--lm2-white);
}

.lm-checkout-steps li {
    border-color: var(--lm2-line);
    color: var(--lm2-muted);
}

.lm-checkout-steps .is-current,
.lm-checkout-steps .is-complete {
    color: var(--lm2-black);
}

.lm-checkout-steps .is-current span,
.lm-checkout-steps .is-complete span {
    border-color: var(--lm2-black);
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-checkout-system,
.lm-checkout-summary,
.lm-account-workspace > *,
.lm-contact-form,
.lm-contact-details,
.lm-location-picker__native {
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
    box-shadow: none;
}

.lm-theme :where(.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 52px;
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-theme :where(.form-control, .form-select, input, select, textarea)::placeholder {
    color: #545950;
}

.lm-theme :where(.form-control, .form-select, input, select, textarea):focus {
    border-color: var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
    box-shadow: 0 0 0 4px var(--lm2-chartreuse);
}

.lm-theme :where(.modal-content, .dropdown-menu) {
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
    box-shadow: 4px 4px 0 var(--lm2-black);
}

.lm-theme :where(.modal-header, .modal-footer) {
    border-color: var(--lm2-black);
}

.lm-theme :where(.modal-title, .dropdown-item, .card-title) {
    color: var(--lm2-black);
}

.lm-theme .dropdown-item:hover,
.lm-theme .dropdown-item:focus {
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-checkout-native .card,
.lm-auth-shell .card,
.lm-contact-form .card,
.lm-account-page .card {
    border-color: var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
    box-shadow: none;
}

.lm-theme :where(.alert, .list-group-item, .table) {
    border-color: var(--lm2-black);
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-auth-page {
    display: grid;
    min-height: calc(100svh - var(--lm-header-height));
    place-items: center;
    padding: clamp(44px, 8vw, 96px) 20px;
}

.lm-auth-shell {
    width: min(760px, 100%);
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    box-shadow: none;
    grid-template-columns: 250px minmax(0, 1fr);
}

.lm-auth-shell > header {
    border-right: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
}

.lm-auth-shell > header > span {
    display: block;
    margin-top: 48px;
    font-size: .72rem;
    font-weight: 800;
}

.lm-auth-shell h1 {
    margin-top: 10px;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 800;
    letter-spacing: -.04em;
}

.lm-auth-shell__native {
    background: var(--lm2-white);
}

.lm-contact-intro {
    display: grid;
    width: var(--lm2-page);
    min-height: 330px;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
    grid-template-columns: 180px minmax(0, 1fr) minmax(260px, .55fr);
}

.lm-contact-intro h1,
.lm-contact-form h2,
.lm-location-hero__copy h1,
.lm-location-picker h2 {
    color: var(--lm2-black);
    font-family: "Barlow", Arial, sans-serif;
    font-weight: 800;
    letter-spacing: -.04em;
}

.lm-contact-intro > p:last-child,
.lm-contact-details p,
.lm-contact-details address,
.lm-location-hero__copy address,
.lm-location-picker > header > p {
    color: var(--lm2-muted);
}

.lm-contact-details > div {
    border-color: var(--lm2-line);
}

.lm-contact-details > div > span {
    color: var(--lm2-muted);
}

.lm-contact-details a,
.lm-contact-native label {
    color: var(--lm2-black);
}

.lm-contact-native__submit,
.lm-button--orange,
.lm-button--red,
.lm-button--paper {
    border: 1px solid var(--lm2-black) !important;
    background: var(--lm2-chartreuse) !important;
    color: var(--lm2-black) !important;
}

.lm-map {
    border-block: 1px solid var(--lm2-black);
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm-location-hero {
    min-height: 580px;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-white);
}

.lm-location-hero > figure {
    border-right: 1px solid var(--lm2-black);
}

.lm-location-hero__copy {
    border: 0;
    background: var(--lm2-white);
}

.lm-location-card {
    border: 1px solid var(--lm2-black);
    border-radius: 0;
    background: var(--lm2-white);
    color: var(--lm2-black);
}

.lm-location-card:hover {
    background: var(--lm2-chartreuse);
}

.lm-location-card address,
.lm-location-card p {
    color: var(--lm2-muted);
}

/* Footer */
.lm-footer {
    border-top: 1px solid var(--lm2-black);
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm2-footer-command {
    display: grid;
    min-height: 84px;
    align-items: center;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    padding-inline: max(20px, calc((100vw - 1440px) / 2));
    color: var(--lm2-black);
    grid-template-columns: 1fr 1fr auto;
    gap: 24px;
}

.lm2-footer-command > span {
    font-size: .74rem;
    font-weight: 800;
}

.lm2-footer-command > strong {
    justify-self: center;
}

.lm2-footer-command > a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    border: 1px solid var(--lm2-black);
    padding: 10px 14px;
    color: var(--lm2-black);
    gap: 18px;
}

.lm2-footer-command > a:hover {
    background: var(--lm2-black);
    color: var(--lm2-white);
}

.lm-footer__marquee {
    border: 0;
    border-bottom: 1px solid var(--lm2-black);
    background: var(--lm2-chartreuse);
    color: var(--lm2-black);
}

.lm-footer__main,
.lm-footer__bottom {
    width: var(--lm2-page);
}

.lm-footer__main > * + *,
.lm-footer__bottom {
    border-color: rgb(248 249 246 / 22%);
}

.lm-footer h2,
.lm-footer small {
    color: var(--lm2-chartreuse);
}

.lm-footer a,
.lm-footer p {
    color: rgb(248 249 246 / 76%);
}

.lm-footer a:hover {
    color: var(--lm2-white);
}

@media (max-width: 1180px) {
    .lm2-menu-workbench {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .lm-cart-dock {
        display: none !important;
    }
}

@media (max-width: 960px) {
    :root {
        --lm2-page: calc(100% - 32px);
    }

    .lm-header__inner {
        width: var(--lm2-page);
    }

    .lm2-catalog,
    .lm2-flow {
        grid-template-columns: 1fr;
    }

    .lm2-catalog h2,
    .lm2-flow h2 {
        max-width: 12ch;
    }

    .lm-cart-workspace__context {
        position: static;
    }

    .lm-auth-shell {
        grid-template-columns: 1fr;
    }

    .lm-auth-shell > header {
        border-right: 0;
        border-bottom: 1px solid var(--lm2-black);
    }
}

@media (max-width: 760px) {
    :root {
        --lm2-page: calc(100% - 24px);
    }

    .lm-v2-digital-hero {
        display: flex;
        min-height: auto;
        flex-direction: column;
    }

    .lm2-hero-copy {
        min-height: auto;
        order: 1;
        border-right: 0;
        padding: 54px 20px 46px;
    }

    .lm2-hero-copy h1 {
        max-width: 6ch;
        font-size: clamp(3.05rem, 15vw, 4.35rem);
    }

    .lm-v2-digital-hero > img {
        order: 2;
        width: 100%;
        height: 330px;
        min-height: 330px;
        max-height: 330px;
        object-position: 61% center;
    }

    .lm-v2-digital-index {
        position: static;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        display: grid;
        width: 100%;
        order: 3;
        grid-template-columns: 1fr 1fr;
    }

    .lm-v2-digital-index a {
        min-width: 0;
        border-right: 1px solid var(--lm2-line);
    }

    .lm-v2-digital-index a:last-child {
        grid-column: 1 / -1;
    }

    .lm-v2-digital-status {
        display: none;
    }

    .lm-v2-command-dock {
        grid-template-columns: .85fr 1.15fr;
    }

    .lm-v2-command-dock a {
        min-height: 62px;
        border-right: 1px solid var(--lm2-black);
        border-bottom: 1px solid var(--lm2-black);
    }

    .lm-cart-workspace {
        grid-template-columns: minmax(0, 1fr);
    }

    .lm-cart-workspace > * {
        width: 100%;
        min-width: 0;
    }

    .lm2-catalog {
        padding-block: 64px;
    }

    .lm2-catalog__list {
        grid-template-columns: 1fr;
    }

    .lm2-catalog__list a {
        min-height: 280px;
    }

    .lm2-catalog__list img {
        height: 210px;
    }

    .lm2-flow li {
        min-height: 140px;
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .lm2-flow li p {
        grid-column: 2;
    }

    .lm2-location-line {
        align-items: flex-start;
        flex-direction: column;
    }

    .lm2-footer-command {
        min-height: 156px;
        align-items: flex-start;
        grid-template-columns: 1fr;
        padding-block: 24px;
        gap: 12px;
    }

    .lm2-footer-command > strong {
        justify-self: start;
    }

    .lm-v2-menu-hero {
        display: flex;
        min-height: auto;
        flex-direction: column;
    }

    .lm-v2-menu-hero__copy {
        min-height: 340px;
        order: 1;
        padding: 50px 20px;
    }

    .lm-v2-menu-hero figure {
        min-height: 300px;
        order: 2;
        border-top: 1px solid var(--lm2-black);
        border-left: 0;
    }

    .lm-order-context {
        grid-template-columns: 1fr;
    }

    .lm-order-context__location {
        border-right: 0;
        border-bottom: 1px solid var(--lm2-black);
    }

    .lm2-menu-workbench {
        display: block;
        width: 100%;
        padding: 0 12px 96px;
    }

    .lm-category-nav {
        position: sticky;
        top: 88px;
        margin-inline: -12px;
        border-inline: 0;
    }

    .lm-category-nav__inner {
        display: flex;
        align-items: center;
        overflow-x: auto;
    }

    .lm-category-nav__inner > span {
        flex: 0 0 auto;
        border-right: 1px solid var(--lm2-black);
        border-bottom: 0;
    }

    .lm-category-nav ul,
    .lm-category-nav .nav {
        display: flex;
        flex: 0 0 auto;
    }

    .lm-category-nav a {
        border-right: 1px solid var(--lm2-line);
        border-bottom: 0;
        white-space: nowrap;
    }

    .lm-menu-group {
        margin-top: 36px;
    }

    .lm-menu-item {
        min-height: 130px;
        grid-template-columns: minmax(0, 1fr) 70px 44px !important;
        gap: 10px;
    }

    .lm-menu-item__body {
        grid-column: 1 !important;
    }

    .lm-menu-item__price {
        grid-column: 1 !important;
        grid-row: 2;
        justify-self: start;
    }

    .lm-menu-item__media {
        grid-column: 2 !important;
        grid-row: 1 / 3;
        width: 68px !important;
        height: 76px !important;
    }

    .lm-menu-item__add {
        grid-column: 3 !important;
        grid-row: 1 / 3;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px;
    }

    .lm-system-mast {
        min-height: 300px;
        grid-template-columns: 1fr auto;
    }

    .lm-system-mast .lm-back-link {
        grid-column: 1 / -1;
    }

    .lm-auth-page {
        padding-inline: 12px;
    }

    .lm-auth-shell > header,
    .lm-auth-shell__native {
        padding-inline: 22px;
    }
}

@media (max-width: 760px) {
    .lm-contact-intro {
        display: grid;
        width: calc(100% - 24px);
        min-height: 0;
        padding: 52px 0 32px;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .lm-contact-intro .lm-kicker {
        width: max-content;
        max-width: 100%;
    }

    .lm-contact-intro > p:last-child {
        max-width: 32ch;
    }

    .lm-contact-split {
        width: calc(100% - 24px);
        grid-template-columns: minmax(0, 1fr);
    }

    .lm-contact-details,
    .lm-contact-form {
        width: 100%;
        min-width: 0;
    }

    .lm-contact-details__phone {
        font-size: clamp(1.35rem, 7vw, 1.8rem);
        overflow-wrap: anywhere;
    }
}

/* The native local header carries dark-theme text colors. Keep every visible
   cart state legible on the chartreuse parameter panel. */
.lm-system-mast > div > p:not(.lm-kicker) {
    color: var(--lm2-muted) !important;
}

.lm-system-mast .lm-kicker {
    color: var(--lm2-black) !important;
}

.lm-cart-workspace__context,
.lm-cart-workspace__context p,
.lm-cart-workspace__context address,
.lm-cart-workspace__context small,
.lm-cart-workspace__context a,
.lm-cart-workspace__context h3,
.lm-cart-workspace__context .text-muted,
.lm-cart-workspace__context [class*="text-"] {
    color: var(--lm2-black) !important;
}

.lm-cart-workspace__context .nav-link.active {
    border-color: var(--lm2-black) !important;
    background: var(--lm2-black) !important;
    color: var(--lm2-white) !important;
}

.lm-cart-workspace__context a:not(.nav-link) {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .lm-theme *,
    .lm-theme *::before,
    .lm-theme *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* QA 2026-07-25: chartreuse always carries dark text */
.lm-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;
}

.lm-header__signal span { color: #343832; }
.lm-menu-toggle { color: var(--lm2-black); }
.lm-menu-toggle span { background: currentColor; }

.lm-mobile-menu .lm-button,
.lm-mobile-order-bar,
.lm-mobile-order-bar :where(span, strong, a),
.lm-auth-shell > header,
.lm-auth-shell > header :where(.lm-wordmark__name, .lm-wordmark__name > span, h1, h2, h3, p, span, small),
.lm-theme .btn-primary,
.lm-theme .nav-tabs .nav-link.active,
.lm-theme .pagination .active .page-link {
    color: var(--lm2-black) !important;
}

.lm-mobile-menu__foot .lm-button,
.lm2-footer-command a {
    color: var(--lm2-black) !important;
}
.lm-v2-command-dock > span,
.lm-v2-menu-hero__copy > span { color: #354000; }

.lm-footer { color: var(--lm2-white); }
.lm-collection--minimal .lm-footer .lm-wordmark__name { color: var(--lm2-white) !important; }
.lm-collection--minimal .lm-footer .lm-wordmark__name > span,
.lm-collection--minimal .lm-footer h2 { color: var(--lm2-chartreuse) !important; }
.lm-collection--minimal .lm-footer :where(p, a, small, span),
.lm-footer__bottom,
.lm-footer__bottom a { color: #b7bcb3 !important; }
.lm-footer small,
.lm-footer__bottom { font-size: .75rem; }

.lm-order-context__label,
.lm-local-header__link,
.lm-contact-details span,
.lm-contact-details a,
.lm-location-card__index,
.lm-location-card__service > span,
.lm-location-card__action,
.lm-location-picker .is-open {
    color: #345000 !important;
}

.lm-local-header__body > a,
.lm-order-context .text-primary,
.lm-theme a.text-primary {
    color: #345000 !important;
}
.lm-theme .nav-link.active,
.lm-theme .pagination .active .page-link {
    color: var(--lm2-black) !important;
}

.lm-cart-empty p,
.lm-cart-workspace__ticket .lm-cart-empty p,
.lm-cart-workspace__ticket .lm-cart-item__content p,
.lm-cart-workspace__ticket .lm-cart-item__content ul {
    color: rgb(9 10 8 / 72%);
}
.lm-back-link { color: var(--lm2-black) !important; }
.lm-theme .text-success { color: #126b31 !important; }
.lm-checkout-steps li { color: rgb(9 10 8 / 72%); }
.lm-menu-category__count,
.lm-cart-box__title small,
.lm-cart-workspace__note { font-size: .75rem; }
.lm-menu-category__count { color: rgb(9 10 8 / 72%); }

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

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

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

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

.lm-collection--minimal .lm-mobile-menu__foot .lm-button,
.lm-collection--minimal .lm-footer .lm2-footer-command a,
.lm-collection--minimal .lm-footer .lm2-footer-command span,
.lm-collection--minimal .lm-v2-menu-hero__copy > span,
.lm-collection--minimal .lm-v2-command-dock > a:last-child span {
    color: var(--lm2-black) !important;
}

.lm-v2-command-dock > a:last-child span,
.lm-v2-menu-hero__copy > span,
.lm2-footer-command span,
.lm2-catalog__code,
.lm2-catalog > header span,
.lm2-order-flow > header span,
.lm-auth-shell__intro > span,
.lm-auth-shell__form-head > span {
    font-size: .875rem !important;
}

.lm2-hero-copy > span,
.lm2-flow > header > span,
.lm-cart-workspace__ticket > header small,
.lm-auth-shell > header > span {
    font-size: .875rem !important;
}

.lm-cart-box__title > span {
    color: #345000 !important;
    font-size: .875rem !important;
}
