/* Agent 2 polish: contemporary evening lounge */
@font-face {
    font-family: "LOOB Lounge";
    src: url("../fonts/manrope-latin.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 400 800;
}

:root {
    --lp2-black: #0a0909;
    --lp2-panel: #151011;
    --lp2-oxblood: #641d20;
    --lp2-amber: #d6a955;
    --lp2-bone: #f2eee8;
    --lp2-muted: #c8beb4;
    --lp2-line: rgb(214 169 85 / 30%);
    --lp2-page: min(1360px, calc(100% - 48px));
    --lp2-ease: cubic-bezier(.22, 1, .36, 1);
}

.lp-theme {
    background: var(--lp2-black);
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", "Barlow", Arial, sans-serif;
}

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

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

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

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

.lp-header {
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp-header__signal {
    min-height: 28px;
    border-bottom: 1px solid var(--lp2-line);
    background: var(--lp2-oxblood);
    color: var(--lp2-bone);
}

.lp-header__signal span:last-child {
    color: var(--lp2-amber);
}

.lp-header__inner {
    width: var(--lp2-page);
    border-bottom: 1px solid var(--lp2-line);
    background: transparent;
}

.lp-header.is-scrolled {
    background: rgb(10 9 9 / 96%);
    box-shadow: 0 6px 8px rgb(0 0 0 / 24%);
}

.lp-wordmark,
.lp-nav a,
.lp-account-link,
.lp-cart-link {
    color: var(--lp2-bone);
}

.lp-wordmark__name {
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -.035em;
}

.lp-wordmark__name > span {
    color: var(--lp2-amber);
}

.lp-wordmark small,
.lp-nav a {
    letter-spacing: .06em;
}

.lp-nav a::after {
    background: var(--lp2-amber);
}

.lp-header__order,
.lp-button--orange,
.lp-button--red {
    border: 1px solid var(--lp2-amber);
    background: transparent;
    color: var(--lp2-bone);
}

.lp-header__order:hover,
.lp-button--orange:hover,
.lp-button--red:hover {
    background: var(--lp2-amber);
    color: var(--lp2-black);
}

.lp-cart-count {
    background: var(--lp2-amber);
    color: var(--lp2-black);
}

.lp-mobile-menu {
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp-mobile-menu__links a,
.lp-mobile-menu__head button {
    border-color: var(--lp2-line);
    color: var(--lp2-bone);
}

.lp-menu-overlay {
    background: rgb(4 3 3 / 72%);
}

/* Home */
.lp-v2-lounge-hero {
    min-height: min(820px, calc(100svh - 104px));
    border-bottom: 1px solid var(--lp2-line);
}

.lp-v2-lounge-hero::after {
    background: linear-gradient(90deg, rgb(7 5 5 / 78%) 0%, rgb(7 5 5 / 30%) 52%, rgb(7 5 5 / 8%) 100%);
}

.lp-v2-lounge-copy {
    bottom: clamp(62px, 9vh, 110px);
    max-width: 620px;
}

.lp-v2-lounge-copy > span,
.lp-v2-lounge-status span {
    color: var(--lp2-amber);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.lp-v2-lounge-copy h1 {
    max-width: 7ch;
    margin-block: 18px 24px;
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-size: clamp(3.7rem, 7.2vw, 6rem);
    font-weight: 650;
    letter-spacing: -.04em;
    line-height: .9;
}

.lp-v2-lounge-copy p {
    max-width: 46ch;
    color: rgb(242 238 232 / 82%);
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.7;
}

.lp-v2-lounge-copy a {
    min-height: 52px;
    margin-top: 32px;
    border-color: var(--lp2-amber);
    transition: background-color 180ms ease, color 180ms ease, transform 180ms var(--lp2-ease);
}

.lp-v2-lounge-copy a:hover {
    background: var(--lp2-amber);
    color: var(--lp2-black);
    transform: translateY(-2px);
}

.lp-v2-lounge-status {
    border-color: var(--lp2-amber);
}

.lp-v2-lounge-status strong.is-open {
    color: var(--lp2-amber);
}

.lp-v2-lounge-menu {
    border-color: var(--lp2-line);
    background: var(--lp2-black);
}

.lp-v2-lounge-menu a {
    border-color: var(--lp2-line);
    color: var(--lp2-bone);
    transition: background-color 180ms ease, color 180ms ease;
}

.lp-v2-lounge-menu a:hover {
    background: var(--lp2-oxblood);
}

.lp-v2-lounge-menu span {
    color: var(--lp2-amber);
    letter-spacing: .06em;
}

.lp-v2-lounge-menu strong {
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-weight: 650;
}

.lp2-salon {
    display: grid;
    min-height: 680px;
    border-bottom: 1px solid var(--lp2-line);
    background: var(--lp2-panel);
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
}

.lp2-salon figure {
    position: relative;
    min-height: 680px;
    margin: 0;
    overflow: hidden;
}

.lp2-salon figure::after {
    position: absolute;
    inset: 0;
    background: rgb(10 9 9 / 10%);
    content: "";
    pointer-events: none;
}

.lp2-salon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp2-salon figcaption {
    position: absolute;
    z-index: 1;
    bottom: 24px;
    left: 24px;
    border: 1px solid rgb(242 238 232 / 24%);
    background: rgb(10 9 9 / 74%);
    padding: 9px 12px;
    color: var(--lp2-bone);
    font-size: .72rem;
}

.lp2-salon__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(52px, 7vw, 104px);
}

.lp2-salon__copy > p:first-child {
    color: var(--lp2-amber);
    font-size: .72rem;
    font-weight: 700;
}

.lp2-salon__copy h2 {
    max-width: 13ch;
    margin: 18px 0 34px;
    font-size: clamp(2.5rem, 4vw, 4.35rem);
    font-weight: 550;
    letter-spacing: -.035em;
    line-height: 1;
}

.lp2-salon__columns {
    display: grid;
    max-width: 680px;
    border-block: 1px solid var(--lp2-line);
    grid-template-columns: 1fr 1fr;
}

.lp2-salon__columns p {
    margin: 0;
    padding: 24px 24px 24px 0;
    color: var(--lp2-muted);
    line-height: 1.7;
}

.lp2-salon__columns p + p {
    border-left: 1px solid var(--lp2-line);
    padding-left: 24px;
}

.lp2-salon__copy > a {
    align-self: flex-start;
    margin-top: 30px;
    border-bottom: 1px solid var(--lp2-amber);
    padding-bottom: 6px;
    color: var(--lp2-bone);
}

.lp2-ledger {
    display: grid;
    width: var(--lp2-page);
    margin: 0 auto;
    padding-block: clamp(78px, 10vw, 138px);
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
    gap: clamp(46px, 8vw, 120px);
}

.lp2-ledger header {
    position: sticky;
    top: 150px;
    align-self: start;
}

.lp2-ledger h2 {
    max-width: 9ch;
    margin: 0;
    font-size: clamp(2.8rem, 5vw, 5rem);
    font-weight: 550;
    letter-spacing: -.04em;
    line-height: .98;
}

.lp2-ledger header p {
    margin-top: 22px;
    color: var(--lp2-amber);
}

.lp2-ledger__rows {
    border-top: 1px solid var(--lp2-line);
}

.lp2-ledger__rows a {
    display: grid;
    min-height: 126px;
    align-items: center;
    border-bottom: 1px solid var(--lp2-line);
    color: var(--lp2-bone);
    grid-template-columns: minmax(170px, .8fr) minmax(220px, 1fr) 44px;
    gap: 24px;
    transition: background-color 180ms ease;
}

.lp2-ledger__rows a:hover {
    background: var(--lp2-oxblood);
}

.lp2-ledger__rows i {
    transition: transform 180ms var(--lp2-ease);
}

.lp2-ledger__rows a:hover i {
    transform: translateX(5px);
}

.lp2-ledger__rows span {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 650;
}

.lp2-ledger__rows small {
    color: var(--lp2-muted);
}

.lp2-evening {
    display: flex;
    min-height: 360px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
    border-top: 1px solid var(--lp2-line);
    background: var(--lp2-oxblood);
    padding: clamp(54px, 8vw, 112px) max(24px, calc((100vw - 1360px) / 2));
}

.lp2-evening h2 {
    max-width: 14ch;
    margin-top: 14px;
    font-size: clamp(2.8rem, 5vw, 5rem);
    font-weight: 550;
    letter-spacing: -.04em;
    line-height: .96;
}

.lp2-evening p,
.lp2-evening__actions strong {
    color: rgb(242 238 232 / 78%);
}

.lp2-evening__actions {
    display: flex;
    min-width: min(100%, 360px);
    align-items: flex-end;
    flex-direction: column;
    gap: 20px;
}

.lp2-evening__actions a {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--lp2-amber);
    padding: 14px 24px;
    color: var(--lp2-bone);
}

.lp2-evening__actions a:hover {
    background: var(--lp2-amber);
    color: var(--lp2-black);
}

/* Menu */
.lp-v2-menu-body .lp-menu-page {
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp-v2-menu-hero::after {
    background: linear-gradient(90deg, rgb(5 4 4 / 82%) 0%, rgb(5 4 4 / 28%) 68%, transparent 100%);
}

.lp-v2-menu-hero__copy > span {
    color: var(--lp2-amber);
    letter-spacing: .08em;
}

.lp-v2-menu-hero__copy h1 {
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-weight: 600;
    letter-spacing: -.04em;
}

.lp-order-context {
    border-block: 1px solid var(--lp2-line);
    background: var(--lp2-panel);
    color: var(--lp2-bone);
}

.lp-order-context__location,
.lp-order-context__fulfillment {
    border-color: var(--lp2-line);
}

.lp-order-context__label,
.lp-local-header__state,
.lp-local-header__link {
    color: var(--lp2-amber);
}

.lp-local-header__address,
.lp-local-header__order {
    color: var(--lp2-muted);
}

.lp-category-nav {
    border-bottom: 1px solid var(--lp2-line);
    background: rgb(10 9 9 / 96%);
    box-shadow: none;
}

.lp-category-nav__inner > span {
    color: var(--lp2-amber);
}

.lp-category-nav a {
    min-height: 48px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent !important;
    color: var(--lp2-muted) !important;
}

.lp-category-nav a:hover,
.lp-category-nav a.active {
    border-bottom-color: var(--lp2-amber);
    color: var(--lp2-bone) !important;
}

.lp-menu-layout {
    width: var(--lp2-page);
    gap: clamp(34px, 5vw, 72px);
}

.lp-menu-category__head {
    border-color: var(--lp2-line) !important;
}

.lp-menu-category__head h2 {
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-size: clamp(2rem, 3.5vw, 3.4rem);
    font-weight: 600;
    letter-spacing: -.035em;
}

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

.lp-menu-item {
    min-height: 142px;
    border-color: var(--lp2-line) !important;
    background: transparent;
    color: var(--lp2-bone);
    grid-template-columns: 116px minmax(0, 1fr) 100px 58px !important;
}

.lp-menu-item:hover {
    background: var(--lp2-panel);
    transform: none;
}

.lp-menu-item__media {
    width: 100px !important;
    height: 100px !important;
    border: 1px solid var(--lp2-line);
    border-radius: 0;
}

.lp-menu-item__body h3 {
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    font-weight: 650;
    letter-spacing: -.02em;
}

.lp-menu-item__price strong {
    color: var(--lp2-amber);
}

.lp-menu-item__add {
    min-width: 48px !important;
    width: 48px !important;
    height: 48px;
    border: 1px solid var(--lp2-amber) !important;
    border-radius: 50%;
    background: transparent !important;
    color: var(--lp2-bone) !important;
}

.lp-menu-item__add:hover {
    background: var(--lp2-amber) !important;
    color: var(--lp2-black) !important;
}

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

.lp-cart-dock {
    top: 150px;
    border: 1px solid var(--lp2-line);
    border-radius: 0;
    background: var(--lp2-panel);
    color: var(--lp2-bone);
    box-shadow: none;
}

.lp-cart-dock__head {
    border-color: var(--lp2-line);
}

.lp-cart-dock__head small,
.lp-cart-dock__head > span {
    color: var(--lp2-amber);
}

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

.lp-system-mast {
    width: var(--lp2-page);
    min-height: 360px;
    border-color: var(--lp2-line);
    background: var(--lp2-black);
}

.lp-system-mast h1 {
    max-width: 13ch;
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-size: clamp(2.7rem, 5vw, 5rem);
    font-weight: 550;
    letter-spacing: -.04em;
    line-height: .98;
}

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

.lp-kicker,
.lp-system-mast__number {
    color: var(--lp2-amber);
}

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

.lp-cart-workspace {
    align-items: start;
    grid-template-columns: minmax(290px, .78fr) minmax(0, 1.42fr);
}

.lp-cart-workspace__context {
    position: sticky;
    top: 150px;
    border: 1px solid var(--lp2-line);
    background: var(--lp2-panel);
}

.lp-cart-workspace__context h2,
.lp-cart-workspace__ticket h2 {
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
}

.lp-cart-workspace__ticket {
    border: 1px solid var(--lp2-line);
    background: var(--lp2-bone);
    color: var(--lp2-black);
}

.lp-cart-workspace__ticket > header {
    border-color: rgb(10 9 9 / 20%);
}

.lp-cart-workspace__ticket > header small {
    display: block;
    margin-bottom: 5px;
    color: var(--lp2-oxblood);
    font-size: .7rem;
    font-weight: 700;
}

.lp-cart-workspace__ticket > header h2 {
    color: var(--lp2-black);
}

.lp-cart-item,
.lp-cart-totals > *,
.lp-cart-coupon {
    border-color: rgb(10 9 9 / 18%);
}

.lp-cart-item__quantity button,
.lp-cart-coupon button {
    border-color: var(--lp2-black);
    background: transparent;
    color: var(--lp2-black);
}

.lp-checkout-button {
    min-height: 54px;
    border: 1px solid var(--lp2-oxblood) !important;
    border-radius: 0 !important;
    background: var(--lp2-oxblood) !important;
    color: var(--lp2-bone) !important;
}

.lp-checkout-button:hover {
    border-color: var(--lp2-black) !important;
    background: var(--lp2-black) !important;
}

.lp-checkout-steps {
    width: var(--lp2-page);
    border-color: var(--lp2-line);
    background: var(--lp2-panel);
}

.lp-checkout-steps li {
    color: var(--lp2-muted);
}

.lp-checkout-steps .is-current,
.lp-checkout-steps .is-complete {
    color: var(--lp2-bone);
}

.lp-checkout-steps .is-current span,
.lp-checkout-steps .is-complete span {
    border-color: var(--lp2-amber);
    background: var(--lp2-amber);
    color: var(--lp2-black);
}

.lp-checkout-system,
.lp-checkout-summary,
.lp-account-workspace > *,
.lp-contact-form,
.lp-contact-details,
.lp-location-picker__native {
    border-color: var(--lp2-line);
    background: var(--lp2-panel);
    color: var(--lp2-bone);
    box-shadow: none;
}

.lp-theme :where(.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 52px;
    border: 1px solid rgb(242 238 232 / 30%);
    border-radius: 0;
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp-theme :where(.form-control, .form-select, input, select, textarea)::placeholder {
    color: rgb(242 238 232 / 62%);
}

.lp-theme :where(.form-control, .form-select, input, select, textarea):focus {
    border-color: var(--lp2-amber);
    background: var(--lp2-black);
    color: var(--lp2-bone);
    box-shadow: 0 0 0 3px rgb(214 169 85 / 18%);
}

.lp-theme :where(.modal-content, .dropdown-menu) {
    border: 1px solid var(--lp2-line);
    border-radius: 0;
    background: var(--lp2-panel);
    color: var(--lp2-bone);
    box-shadow: 0 8px 8px rgb(0 0 0 / 26%);
}

.lp-theme :where(.modal-header, .modal-footer) {
    border-color: var(--lp2-line);
}

.lp-theme :where(.modal-title, .dropdown-item, .card-title) {
    color: var(--lp2-bone);
}

.lp-theme .dropdown-item:hover,
.lp-theme .dropdown-item:focus {
    background: var(--lp2-oxblood);
    color: var(--lp2-bone);
}

.lp-checkout-native .card,
.lp-auth-shell .card,
.lp-contact-form .card,
.lp-account-page .card {
    border-color: var(--lp2-line);
    border-radius: 0;
    background: var(--lp2-panel);
    color: var(--lp2-bone);
    box-shadow: none;
}

.lp-theme :where(.alert, .list-group-item, .table) {
    border-color: var(--lp2-line);
    background: var(--lp2-panel);
    color: var(--lp2-bone);
}

.lp-auth-page {
    min-height: calc(100svh - var(--lp-header-height));
    padding: clamp(48px, 8vw, 100px) 24px;
    background-image: url("../images/loob-night-hero.webp") !important;
    background-position: center;
    background-size: cover !important;
}

.lp-auth-page::before {
    position: absolute;
    inset: 0;
    background: rgb(8 6 6 / 78%);
    content: "";
}

.lp-auth-shell {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    border: 1px solid var(--lp2-line);
    border-radius: 0;
    background: var(--lp2-panel);
    box-shadow: none;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
}

.lp-auth-shell > header {
    border-right: 1px solid var(--lp2-line);
    background: var(--lp2-oxblood);
    color: var(--lp2-bone);
}

.lp-auth-shell > header > span {
    display: block;
    margin-top: 54px;
    color: var(--lp2-amber);
    font-size: .72rem;
    font-weight: 700;
}

.lp-auth-shell h1 {
    margin-top: 12px;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 550;
    letter-spacing: -.035em;
}

.lp-auth-shell__native {
    background: var(--lp2-panel);
}

.lp-auth-shell__native :where(h2, h3, label, a) {
    color: var(--lp2-bone);
}

.lp-contact-intro {
    width: var(--lp2-page);
    border-color: var(--lp2-line);
    background: var(--lp2-black);
}

.lp-contact-intro h1,
.lp-contact-form h2,
.lp-location-hero__copy h1,
.lp-location-picker h2 {
    color: var(--lp2-bone);
    font-family: "LOOB Lounge", Arial, sans-serif;
    font-weight: 550;
    letter-spacing: -.04em;
}

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

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

.lp-contact-details > div > span,
.lp-contact-details a,
.lp-contact-native label {
    color: var(--lp2-amber);
}

.lp-map {
    border-color: var(--lp2-line);
    background: var(--lp2-oxblood);
}

.lp-location-hero {
    min-height: 650px;
    background: var(--lp2-panel);
}

.lp-location-hero__copy {
    border-color: var(--lp2-line);
    background: var(--lp2-panel);
}

.lp-location-card {
    border-color: var(--lp2-line);
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp-location-card:hover {
    background: var(--lp2-oxblood);
}

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

/* Footer */
.lp-footer {
    border-top: 1px solid var(--lp2-line);
    background: var(--lp2-black);
    color: var(--lp2-bone);
}

.lp2-footer-invitation {
    display: flex;
    min-height: 118px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-bottom: 1px solid var(--lp2-line);
    background: var(--lp2-oxblood);
    padding: 24px max(24px, calc((100vw - 1360px) / 2));
}

.lp2-footer-invitation span,
.lp2-footer-invitation strong {
    display: block;
}

.lp2-footer-invitation span {
    color: var(--lp2-amber);
    font-size: .72rem;
}

.lp2-footer-invitation strong {
    margin-top: 6px;
}

.lp2-footer-invitation a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    border: 1px solid var(--lp2-amber);
    padding: 12px 18px;
    color: var(--lp2-bone);
    gap: 22px;
}

.lp2-footer-invitation a:hover {
    background: var(--lp2-amber);
    color: var(--lp2-black);
}

.lp-footer__marquee {
    border-color: var(--lp2-line);
    background: var(--lp2-oxblood);
    color: var(--lp2-bone);
}

.lp-footer__main,
.lp-footer__bottom {
    width: var(--lp2-page);
}

.lp-footer__main > * + *,
.lp-footer__bottom {
    border-color: var(--lp2-line);
}

.lp-footer h2,
.lp-footer small {
    color: var(--lp2-amber);
}

.lp-footer a,
.lp-footer p {
    color: var(--lp2-muted);
}

.lp-footer a:hover {
    color: var(--lp2-bone);
}

@media (max-width: 1080px) {
    .lp2-salon {
        grid-template-columns: 1fr;
    }

    .lp2-salon figure {
        min-height: 520px;
    }

    .lp2-salon__copy {
        padding-inline: max(24px, calc((100vw - 860px) / 2));
    }

    .lp2-ledger {
        grid-template-columns: 1fr;
    }

    .lp2-ledger header {
        position: static;
    }

    .lp2-ledger h2 {
        max-width: 13ch;
    }
}

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

    .lp-header__inner {
        width: var(--lp2-page);
    }

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

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

    .lp-auth-shell > header {
        border-right: 0;
        border-bottom: 1px solid var(--lp2-line);
    }
}

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

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

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

    .lp-v2-lounge-hero {
        min-height: 700px;
    }

    .lp-v2-lounge-hero::after {
        background: linear-gradient(0deg, rgb(7 5 5 / 86%) 0%, rgb(7 5 5 / 18%) 78%);
    }

    .lp-v2-lounge-copy {
        right: 18px;
        bottom: 108px;
        left: 18px;
    }

    .lp-v2-lounge-copy h1 {
        font-size: clamp(3.2rem, 15vw, 4.6rem);
    }

    .lp-v2-lounge-status {
        bottom: 36px;
        left: 18px;
    }

    .lp2-salon figure {
        min-height: 420px;
    }

    .lp2-salon__copy {
        padding: 54px 20px 64px;
    }

    .lp2-salon__columns {
        grid-template-columns: 1fr;
    }

    .lp2-salon__columns p + p {
        border-top: 1px solid var(--lp2-line);
        border-left: 0;
        padding-left: 0;
    }

    .lp2-ledger {
        padding-block: 70px;
    }

    .lp2-ledger__rows a {
        min-height: 108px;
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 12px;
    }

    .lp2-ledger__rows small {
        grid-column: 1;
    }

    .lp2-ledger__rows i {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    .lp2-evening {
        min-height: 390px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding-inline: 20px;
    }

    .lp2-evening__actions {
        width: 100%;
        align-items: stretch;
    }

    .lp2-footer-invitation {
        align-items: flex-start;
        flex-direction: column;
    }

    .lp-menu-item {
        min-height: 132px;
        grid-template-columns: 88px minmax(0, 1fr) 44px !important;
        gap: 12px;
    }

    .lp-menu-item__media {
        width: 82px !important;
        height: 88px !important;
    }

    .lp-menu-item__price {
        grid-column: 2 !important;
    }

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

    .lp-system-mast {
        min-height: 300px;
    }

    .lp-auth-page {
        padding-inline: 14px;
    }

    .lp-auth-shell > header,
    .lp-auth-shell__native {
        padding-inline: 24px;
    }
}

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

/* QA 2026-07-25: contrast, readable type and touch targets */
.lp-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;
}

.lp-skip-link {
    background: var(--lp-paper) !important;
    color: var(--lp-ink) !important;
}

.lp-theme :focus-visible {
    outline: 3px solid var(--lp2-amber) !important;
    outline-offset: 3px !important;
}

.lp-menu-toggle { color: var(--lp-paper); }
.lp-menu-toggle span { background: currentColor; }
.lp-footer__bottom,
.lp-footer__bottom a { color: rgb(245 240 230 / 78%); font-size: .75rem; }

.lp-order-context,
.lp-cart-workspace__context,
.lp-location-picker,
.lp-location-card,
.lp-contact-details {
    color: var(--lp-paper);
}

.lp-order-context address,
.lp-local-header address,
.lp-location-picker > header > p,
.lp-location-card address,
.lp-location-card p,
.lp-contact-details address,
.lp-contact-details p {
    color: rgb(242 238 232 / 82%);
}

.lp-order-context__label,
.lp-local-header__link,
.lp-cart-workspace__context a,
.lp-contact-details > div > span,
.lp-contact-details a,
.lp-location-card__index,
.lp-location-card__service > span,
.lp-location-card__action,
.lp-location-picker .is-open {
    color: var(--lp2-amber) !important;
}

.lp-local-header__body > a,
.lp-order-context .text-primary { color: var(--lp2-amber) !important; }
.lp-location-picker > header > p:last-child { color: rgb(242 238 232 / 82%); }
.lp-cart-dock .lp-cart-empty p { color: rgb(242 238 232 / 80%); }
.lp-cart-workspace__ticket .lp-cart-empty p { color: rgb(17 17 17 / 68%); }
.lp-theme .text-success { color: #126b31 !important; }
.lp-order-context .text-success,
.lp-cart-workspace__context .text-success { color: #d9b168 !important; }
.lp-checkout-steps li { color: rgb(17 17 17 / 70%); }
.lp-cart-workspace__ticket > header small,
.lp-cart-workspace__note,
.lp-footer__bottom { font-size: .75rem; }

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

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

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

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

.lp-order-context a.small.text-primary,
.lp-local-header a.small.text-primary {
    color: #d6a955 !important;
}

.lp-v2-lounge-copy > span,
.lp-v2-lounge-status span,
.lp-v2-lounge-menu span,
.lp2-salon figcaption,
.lp2-salon__copy > p:first-child,
.lp-auth-shell__intro > span,
.lp-auth-shell__form-head > span,
.lp-footer > div > div > span {
    font-size: .875rem !important;
}

.lp-auth-shell > header > span {
    font-size: .875rem !important;
}

.lp-cart-box table td,
.lp-cart-workspace__ticket table td {
    color: var(--lp-paper) !important;
}
